├── .devcontainer.json ├── .gitignore ├── .tool-versions ├── LICENSE ├── README.md ├── Scarb.lock ├── Scarb.toml ├── docker-compose.yml ├── package-lock.json ├── package.json ├── scripts ├── deploy.ts ├── multi-branch-commit.sh └── utils.ts ├── src ├── counter.cairo └── lib.cairo ├── target ├── CACHEDIR.TAG └── dev │ ├── snforge │ └── workshop.snforge_sierra.json │ ├── workshop.starknet_artifacts.json │ ├── workshop_KillSwitch.compiled_contract_class.json │ ├── workshop_KillSwitch.contract_class.json │ ├── workshop_counter_contract.compiled_contract_class.json │ ├── workshop_counter_contract.contract_class.json │ ├── workshop_kill_switch_KillSwitch.compiled_contract_class.json │ ├── workshop_kill_switch_KillSwitch.contract_class.json │ ├── workshop_workshop_KillSwitch.compiled_contract_class.json │ └── workshop_workshop_KillSwitch.contract_class.json └── tsconfig.json /.devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dev", 3 | "image": "starknetfoundation/starknet-dev:2.8.0", 4 | "customizations": { 5 | "vscode": { 6 | "extensions": [ 7 | "StarkWare.cairo1", 8 | "esbenp.prettier-vscode", 9 | "ms-azuretools.vscode-docker", 10 | "tamasfe.even-better-toml" 11 | ] 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | .env 4 | .snfoundry_cache 5 | .DS_Store 6 | -------------------------------------------------------------------------------- /.tool-versions: -------------------------------------------------------------------------------- 1 | starknet-foundry 0.27.0 2 | scarb 2.8.0 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 starknet-edu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Starknet's Counter Workshop 2 | 3 | In this workshop, you will learn how to create a simple Starknet smart contract, implement public functions, and events, access external contracts, and use OpenZeppelin's Ownable contract. 4 | 5 | After completing each step, run the associated script to verify it has been implemented correctly. 6 | 7 | Use the [Cairo book](https://book.cairo-lang.org/ch00-00-introduction.html) and the [Starknet docs](https://docs.starknet.io/documentation/) as a reference. 8 | 9 | ## Setup 10 | 11 | Clone this repository and choose whether you prefer using Docker to manage global dependencies or not in the following steps: 12 | 13 | ### Option 1: Without Docker 14 | 15 | 1. Install `asdf` ([instructions](https://asdf-vm.com/guide/getting-started.html)) 16 | 2. Install Scarb `2.8.0` via `asdf` ([instructions](https://docs.swmansion.com/scarb/download.html#install-via-asdf)) 17 | 3. Install Starknet Foundry `0.27.0` via `asdf` ([instructions](https://foundry-rs.github.io/starknet-foundry/getting-started/installation.html)) 18 | 4. Install the Cairo 1.0 extension for VSCode ([marketplace](https://foundry-rs.github.io/starknet-foundry/getting-started/installation.html#installation-via-asdf)) 19 | 20 | ### Option 2: With Docker 21 | 22 | 4. Make sure Docker is installed and running 23 | 5. Install the Dev Containers extension for VSCode ([marketplace](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)) 24 | 6. Launch an instance of VSCode inside of the container by going to **View -> Command Palette -> Dev Containers: Rebuild and Reopen in Container** 25 | 26 | > **Note:** All the commands shown from this point on will assume that you are using the integrated terminal of a VSCode instance running inside the container. If you want to run the tests on a different terminal you'll need to use the command `docker compose run test`. 27 | 28 | ## Step 1 29 | 30 | Switch to the `step1` branch to enable the verification tests: 31 | 32 | ```bash 33 | git checkout -b step1 origin/step1 34 | ``` 35 | 36 | ### Goal 37 | 38 | Initialize the project structure within the cloned repository by using the `Scarb` package manager and enable compilation of Starknet Contracts. 39 | 40 | ### Requirements 41 | 42 | - When initializing the project with `Scarb`, name the package as `workshop` 43 | - Create a new Cairo file under the `src` directory named `counter.cairo`, and add the following starting code: 44 | ```rust 45 | #[starknet::contract] 46 | pub mod counter_contract { 47 | #[storage] 48 | struct Storage {} 49 | } 50 | ``` 51 | - In the `lib.cairo` file remove the code and define the `counter` module 52 | 53 | > **Note:** Using any other name will disrupt upcoming steps. 54 | 55 | ### Verification 56 | 57 | When completed, build your project by running the following command: 58 | 59 | ```bash 60 | scarb build 61 | ``` 62 | 63 | ### Hints 64 | 65 | - Check out the `scarb init` command to initialize a project. In case you want to initialize the project with a specific name, you can use the `scarb init --name PACKAGE_NAME` command. 66 | - Refer to the [Cheat Sheet](https://docs.swmansion.com/scarb/docs/cheatsheet.html) for essential `Scarb` commands 67 | - To enable Starknet Contract compilation: 68 | - Target `starknet-contract`. 69 | - Specify the Cairo version in the `Scarb.toml`. 70 | - Learn more in the [Starknet Contract Target](https://docs.swmansion.com/scarb/docs/extensions/starknet/contract-target.html) documentation. 71 | 72 | ## Step 2 73 | 74 | Switch to the `step2` branch to enable the verification tests: 75 | 76 | ```bash 77 | git checkout -b step2 origin/step2 78 | ``` 79 | 80 | ### Goal 81 | 82 | Add `snforge` as a dependency within your `Scarb.toml` file to allow execution of tests with Starknet Foundry. 83 | 84 | ### Requirements 85 | 86 | - In your `Scarb.toml`, declare the `snforge_std` package as your project dependency and enable `casm` contract class generation 87 | - In your `Scarb.toml`, define a script named `test` to be able to run `snforge test` command 88 | - In your `Scarb.toml`, set your `edition` to target `2023_01` 89 | 90 | ### Verification 91 | 92 | When completed, execute the test suite to verify you've met all the requirements for this section. 93 | 94 | ```bash 95 | scarb test 96 | ``` 97 | 98 | ### Hints 99 | 100 | - Specify the version of Starknet Foundry that the project currently uses 101 | - Refer to the [Starknet Foundry Documention](https://foundry-rs.github.io/starknet-foundry/getting-started/first-steps.html#using-snforge-with-existing-scarb-projects) for more information. 102 | - Refer to the [Scarb Running Scripts Documentation](https://docs.swmansion.com/scarb/docs/reference/scripts.html#running-scripts) for more information. 103 | - `edition = "2024_07"` is a default configuration from Scarb that targets the July 2024 version of Cairo prelude. However, in our workshop we will work with `2023_01` for simplicity. Refer to the [Prelude Documentation](https://book.cairo-lang.org/appendix-04-cairo-prelude.html#prelude) for more information. 104 | 105 | ## Step 3 106 | 107 | Switch to the `step3` branch to enable the verification tests: 108 | 109 | ```bash 110 | git checkout -b step3 origin/step3 111 | ``` 112 | 113 | ### Goal 114 | 115 | Implement the constructor function to initialize an input number and store a variable named `counter` within the contract. 116 | 117 | ### Requirements 118 | 119 | - Store a variable named `counter` as `u32` type in the `Storage` struct. 120 | - Implement the constructor function that initializes the `counter` variable with a given input value. 121 | - The input variable of the constructor function should be named `initial_value` 122 | 123 | ### Verification 124 | 125 | When completed, execute the test suite to verify you've met all the requirements for this section. 126 | 127 | ```bash 128 | scarb test 129 | ``` 130 | 131 | ### Hints 132 | 133 | - Storage variables are the most common way to interact with your contract storage. You can read more about it in [Chapter 14 - Contract Storage](https://book.cairo-lang.org/ch14-01-00-contract-storage.html#contract-storage). 134 | - The constructor function is a special type of function that runs only once. You can read more about it in [Chapter 14 - Constructors](https://book.cairo-lang.org/ch14-02-contract-functions.html#1-constructors). 135 | 136 | ## Step 4 137 | 138 | Switch to the `step4` branch to enable the verification tests: 139 | 140 | ```bash 141 | git checkout -b step4 origin/step4 142 | ``` 143 | 144 | ### Goal 145 | 146 | Implement an interface for the contract which contains the `get_counter()` function. This function should return the value of the stored `counter` variable within the contract. 147 | 148 | ### Requirements 149 | 150 | - Implement an interface for a function named `get_counter()` which returns the value of the `counter` variable. 151 | - The `get_counter()` function must be within the contract's interface named `ICounter`. 152 | 153 | > **Note:** Any other given name to the contract's interface would break the test, be sure to have to correct name! 154 | 155 | ### Verification 156 | 157 | When completed, execute the test suite to verify you've met all the requirements for this section. 158 | 159 | ```bash 160 | scarb test 161 | ``` 162 | 163 | ### Hints 164 | 165 | - To create a contract interface, you will need to define a trait with the name `ICounter` (otherwise the tests will fail) and mark the trait with the `[starknet::interface]` attribute. You can read more about it in [Chapter 13 Anatomy of a Simple Contract](https://book.cairo-lang.org/ch13-02-anatomy-of-a-simple-contract.html#the-interface-the-contracts-blueprint). 166 | - The `get_counter()` function should only be able to read the state of the contract and not modify it. You can read more about it in [Chapter 14 - View Functions](https://book.cairo-lang.org/ch14-02-contract-functions.html#view-functions). 167 | 168 | ## Step 5 169 | 170 | Switch to the `step5` branch to enable the verification tests: 171 | 172 | ```bash 173 | git checkout -b step5 origin/step5 174 | ``` 175 | 176 | ### Goal 177 | 178 | Within the same interface created in the previous step, implement a function called `increase_counter()` that can increment the current value of the `counter` by `1` each time it is invoked. 179 | 180 | ### Requirements 181 | 182 | - Implement a function named `increase_counter()` which increments the `counter` value by `1`. 183 | - The `increase_counter()` function must be within the contract's interface named `ICounter`. 184 | 185 | ### Verification 186 | 187 | When completed, execute the test suite to verify you've met all the requirements for this section. 188 | 189 | ```bash 190 | scarb test 191 | ``` 192 | 193 | ### Hints 194 | 195 | - The `increase_counter()` function should be able to modify the state of the contract (also called an external function) and update the `counter` value within the `Storage`. You can read more about it in [Chapter 14 - External Functions](https://book.cairo-lang.org/ch14-02-contract-functions.html#external-functions). 196 | 197 | ## Step 6 198 | 199 | Switch to the `step6` branch to enable the verification tests: 200 | 201 | ```bash 202 | git checkout -b step6 origin/step6 203 | ``` 204 | 205 | ### Goal 206 | 207 | Implement an event named `CounterIncreased` that emits the current value of the `counter` variable, every time the value is increased. 208 | 209 | ### Requirements 210 | 211 | - Define a variant named `CounterIncreased` in the `Event` enum. 212 | - Defining the `value` variable within the `CounterIncrease` struct. 213 | - Emit the event in the `increase_counter()` function with the new value, once the `counter` value has been incremented. 214 | 215 | ### Verification 216 | 217 | When completed, execute the test suite to verify you've met all the requirements for this section. 218 | 219 | ```bash 220 | scarb test 221 | ``` 222 | 223 | ### Hints 224 | 225 | - Events are custom data structures that are emitted by a contract. More information about Events can be found in [Chapter 14 - Contract Events](https://book.cairo-lang.org/ch14-03-contract-events.html). 226 | - To emit an event, you can use the `self.emit()` function as show [here](https://book.cairo-lang.org/ch14-03-contract-events.html#emitting-events). 227 | 228 | --- 229 | 230 | > **Note:** CHECKPOINT Reached ⛳️! Switch to the `step15-js` branch to get a deployment script based on starknet.js. 231 | > 232 | > ```bash 233 | > git checkout -b step15-js origin/step15-js 234 | > ``` 235 | 236 | --- 237 | 238 | ## Step 7 239 | 240 | Switch to the `step7` branch to enable the verification tests: 241 | 242 | ```bash 243 | git checkout -b step7 origin/step7 244 | ``` 245 | 246 | ### Goal 247 | 248 | In this step, we will introduce an external smart contract that acts as a kill switch for a specific function. Your task is to add the external `KillSwitch` contract as a dependency within your project. 249 | 250 | > **Note:** The `KillSwitch` contract can be found [here](https://github.com/starknet-edu/kill-switch). 251 | 252 | ### Requirements 253 | 254 | - In your `Scarb.toml` file, declare the `kill_switch` package as your project dependency under the `[dependencies]` section. 255 | - In your `Scarb.toml` file, to allow compilation of external contracts for Starknet Foundry, add the following line under the `[[target.starknet-contract]]` section. 256 | ```toml 257 | build-external-contracts = ["kill_switch::KillSwitch"] 258 | ``` 259 | 260 | ### Verification 261 | 262 | When completed, execute the test suite to verify you've met all the requirements for this section. 263 | 264 | ```bash 265 | scarb test 266 | ``` 267 | 268 | ### Hints 269 | 270 | - Refer to the [Scarb Managing Dependencies Documention](https://docs.swmansion.com/scarb/docs/guides/dependencies.html) for more information. 271 | - Refer to the [Compiling External Cotnract](https://docs.swmansion.com/scarb/docs/extensions/starknet/contract-target.html#compiling-external-contracts) for more information. 272 | 273 | ## Step 8 274 | 275 | Switch to the `step8` branch to enable the verification tests: 276 | 277 | ```bash 278 | git checkout -b step8 origin/step8 279 | ``` 280 | 281 | ### Goal 282 | 283 | Initialize the `KillSwitch` contract by storing the contract's address given as an input variable in the constructor function. 284 | 285 | ### Requirements 286 | 287 | 1. Store a variable named `kill_switch` as type `ContractAddress`. 288 | 2. Update the constructor function to initialize the `kill_switch` variable. 289 | 290 | ### Verification 291 | 292 | When completed, execute the test suite to verify you've met all the requirements for this section. 293 | 294 | ```bash 295 | scarb test 296 | ``` 297 | 298 | ### Hints 299 | 300 | - The task is similar to Step 3. Refer to it for more information. 301 | 302 | ## Step 9 303 | 304 | Switch to the `step9` branch to enable the verification tests: 305 | 306 | ```bash 307 | git checkout -b step9 origin/step9 308 | ``` 309 | 310 | ### Goal 311 | 312 | Implement the `KillSwitch` mechanism in the `increase_counter()` by calling the `is_active()` function from the `KillSwitch` contract. 313 | 314 | ### Requirements 315 | 316 | - If the function `is_active()` from the `KillSwitch` contract returns `false`, then allow the `increase_counter()` function to increment the value; otherwise, return without incrementing. 317 | 318 | > **Note:** Analyze the `KillSwitch` code to understand the interface and the contract structure from [here](https://github.com/starknet-edu/kill-switch/blob/master/src/lib.cairo). 319 | 320 | ### Verification 321 | 322 | When completed, execute the test suite to verify you've met all the requirements for this section. 323 | 324 | ```bash 325 | scarb test 326 | ``` 327 | 328 | ### Hints 329 | 330 | - You need to import the `Dispatcher` and `DispatcherTrait` of the `KillSwitch` contract. These dispatchers are automatically created and exported by the compiler. More information about Contract Dispatcher can be found in [Chapter 15.2 - Contract Dispatcher](https://book.cairo-lang.org/ch15-02-interacting-with-another-contract.html#calling-contracts-using-the-contract-dispatcher). 331 | - You can access the `is_active()` function from your `KillSwitch` contract dispatcher. 332 | - You can use an `if` expression to implement the mechanism. Refer to the [Cairo Book](https://book.cairo-lang.org/ch02-05-control-flow.html) to learn more. 333 | 334 | > **Note:** If you want to deploy the `Counter` contract, you can use the following deployed `KillSwitch` contract address. 335 | > 336 | > ## **Sepolia** 337 | > 338 | > Contract Address: `0x05f7151ea24624e12dde7e1307f9048073196644aa54d74a9c579a257214b542` 339 | > 340 | > - [Voyager](https://sepolia.voyager.online/contract/0x05f7151ea24624e12dde7e1307f9048073196644aa54d74a9c579a257214b542) 341 | > - [Starkscan](https://sepolia.starkscan.co/contract/0x05f7151ea24624e12dde7e1307f9048073196644aa54d74a9c579a257214b542) 342 | 343 | ## Step 10 344 | 345 | Switch to the `step10` branch to enable the verification tests: 346 | 347 | ```bash 348 | git checkout -b step10 origin/step10 349 | ``` 350 | 351 | ### Goal 352 | 353 | Protect the `increase_counter()` function by reverting the transaction if `KillSwitch` mechanism is enabled. 354 | 355 | ### Requirements 356 | 357 | - Create the condition to revert the transaction if the `KillSwith` contract is enabled 358 | - Revert the transaction with the following message `Kill Switch is active` 359 | 360 | ### Verification 361 | 362 | When completed, execute the test suite to verify you've met all the requirements for this section. 363 | 364 | ```bash 365 | scarb test 366 | ``` 367 | 368 | ### Hints 369 | 370 | - You can stop and revert a transaction with an error message using the `assert!()` macro. Refer to the [Cairo Book documentation](https://book.cairo-lang.org/ch10-01-how-to-write-tests.html#checking-results-with-the-assert-macro) to learn more. 371 | - You can replace the `if` expression with the `assert!()` macro instead. 372 | 373 | ## Step 11 374 | 375 | Switch to the `step11` branch to enable the verification tests: 376 | 377 | ```bash 378 | git checkout -b step11 origin/step11 379 | ``` 380 | 381 | ### Goal 382 | 383 | Add the external `OpenZeppelin` contracts as a dependency within your project. 384 | 385 | > **Note:** The `OpenZeppelin` contracts can be found [here](https://github.com/OpenZeppelin/cairo-contracts). 386 | 387 | ### Requirements 388 | 389 | - In your `Scarb.toml` file, declare the `openzeppelin` package as your project dependency under the `[dependencies]` section. 390 | 391 | ### Verification 392 | 393 | When completed, execute the test suite to verify you've met all the requirements for this section. 394 | 395 | ```bash 396 | $ scarb test 397 | ``` 398 | 399 | ### Hints 400 | 401 | - Specify the OpenZeppelin `tag` version as `v0.16.0` in `Scarb.toml`. 402 | - Refer to the [OZ Contracts for Cairo Documention](https://docs.openzeppelin.com/contracts-cairo/0.16.0/) for more information. 403 | 404 | ## Step 12 405 | 406 | Switch to the `step12` branch to enable the verification tests: 407 | 408 | ```bash 409 | git checkout -b step12 origin/step12 410 | ``` 411 | 412 | ### Goal 413 | 414 | Initialize the `Ownable` component from the OpenZeppelin contracts. 415 | 416 | Before working on this step, make sure to read [Chapter 16.2: Composability and Components](https://book.cairo-lang.org/ch16-02-00-composability-and-components.html) and see how Components work. 417 | 418 | ### Requirements 419 | 420 | - Declare the component inside your contract using the `component!()` macro. 421 | - Add the path to the component's storage and events to the contract's `Storage` and `Event`. 422 | - Embed the component's logic into your contract by creating an instance of the component's generic implementation with a specific `ContractState`. 423 | 424 | ### Verification 425 | 426 | When completed, execute the test suite to verify you've met all the requirements for this section. 427 | 428 | ```bash 429 | scarb test 430 | ``` 431 | 432 | ### Hints 433 | 434 | - Refer to the [Using Components Inside a Contract](https://book.cairo-lang.org/ch16-02-00-composability-and-components.html#using-components-inside-a-contract) documentation to learn how to implement a component within a contract. 435 | 436 | ## Step 13 437 | 438 | Switch to the `step13` branch to enable the verification tests: 439 | 440 | ```bash 441 | git checkout -b step13 origin/step13 442 | ``` 443 | 444 | ### Goal 445 | 446 | Modify the constructor function to call the `initializer()` function within the `Ownable` component to initialize the owner. 447 | 448 | ### Requirements 449 | 450 | - The input variable of the constructor function should be named `initial_owner` 451 | 452 | ### Verification 453 | 454 | When completed, execute the test suite to verify you've met all the requirements for this section. 455 | 456 | ```bash 457 | scarb test 458 | ``` 459 | 460 | ### Hint 461 | 462 | - To call the `initializer()` function you can look at what functions `self.ownable` exposes. 463 | - Refer to the [Ownable Component](https://github.com/OpenZeppelin/cairo-contracts/blob/main/packages/access/src/ownable/ownable.cairo) to learn more about the accessible function. 464 | 465 | ## Step 14 466 | 467 | Switch to the `step14` branch to enable the verification tests 468 | : 469 | 470 | ```bash 471 | git checkout -b step14 origin/step14 472 | ``` 473 | 474 | ### Goal 475 | 476 | Protect the `increase_counter()` function so that only the owner of the contract can call this. 477 | 478 | ### Requirements 479 | 480 | - Use the `assert_only_owner()` function from the Ownable Component. 481 | 482 | ### Verification 483 | 484 | When completed, execute the test suite to verify you've met all the requirements for this section. 485 | 486 | ```bash 487 | scarb test 488 | ``` 489 | 490 | ### Hints 491 | 492 | - To call the `assert_only_owner()` function you can look at what functions `self.ownable` exposes. 493 | - Check out the `assert_only_owner()` function from the [Ownable Component](https://github.com/OpenZeppelin/cairo-contracts/blob/main/packages/access/src/ownable/ownable.cairo) for more information. 494 | 495 | ## Step 15 496 | 497 | Switch to the `step15-js` branch to get a deployment script based on [`starknet.js`](https://www.starknetjs.com/). 498 | 499 | ```bash 500 | git checkout -b step15-js origin/step15-js 501 | ``` 502 | 503 | ### Goal 504 | 505 | To deploy your account contract to Starknet's testnet using the `deploy.ts` script found in the `scripts` folder. 506 | 507 | ### Dependencies 508 | 509 | Run the command below from the project's root folder to install the deployment script dependencies. 510 | 511 | ```bash 512 | npm install 513 | ``` 514 | 515 | ### Deployer Wallet 516 | 517 | Create a wallet that the script can use to pay for the declaration of your account contract. 518 | 519 | ### Steps 520 | 521 | 1. Create a wallet on Starknet testnet using the [Argent X](https://www.argent.xyz/argent-x/) or [Braavos](https://braavos.app/) browser extension. 522 | 2. Fund the wallet by using the [Faucet](https://starknet-faucet.vercel.app/) or the [Bridge](https://sepolia.starkgate.starknet.io/). 523 | 3. Create a file in the project's root folder called `.env` 524 | 4. Export the private key of the funded wallet and paste it into the `.env` file using the key `DEPLOYER_PRIVATE_KEY`. 525 | 526 | ```bash 527 | DEPLOYER_PRIVATE_KEY= 528 | ``` 529 | 530 | 5. Export the public key of the funded wallet and paste it into the `.env` file using the key `DEPLOYER_ADDRESS` 531 | 532 | ```bash 533 | DEPLOYER_ADDRESS= 534 | ``` 535 | 536 | ### RPC Endpoint 537 | 538 | To successfully deploy the contract with the script on the Starknet Testnet, you will need to provide an RPC URL. For our workshop, we will use Blast's Public RPC Endpoint. 539 | 540 | Add the following line in your `.env` file: 541 | 542 | ```bash 543 | RPC_ENDPOINT=https://starknet-sepolia.public.blastapi.io/ 544 | ``` 545 | 546 | Refer to [Blast](https://blastapi.io/public-api/starknet) to learn more about their Starknet RPC Endpoints. 547 | 548 | ### Run the Script 549 | 550 | Run the script that will declare and deploy your smart contract on the Starknet Testnet and ensure that you adjust the constructor inputs in your `deploy.ts` file appropriately. 551 | 552 | > **Note:** If you are deploying the smart contract from the CHECKPOINT, in the `deploy.ts` file, you will only need the `initial_counter` in the `constructor` variable. Ensure that you remove or comment out the `kill_switch_address` and `initial_onwer` variables. 553 | > 554 | > Additionally, ensure that the variable names in the `deploy.ts` constructor are the same as in the `counter.cairo` constructor function. 555 | 556 | ```typescript 557 | const constructor = myCallData.compile("constructor", { 558 | initial_counter: 100, 559 | address: "0x05f7151ea24624e12dde7e1307f9048073196644aa54d74a9c579a257214b542", 560 | initial_owner: process.env.DEPLOYER_ADDRESS, 561 | }); 562 | ``` 563 | 564 | #### Steps 565 | 566 | 1. From the project's root folder run `npm run deploy` 567 | 2. Follow the instructions from the terminal 568 | 569 | If the script finishes successfully your smart contract is ready to be used on Starknet testnet. Congratulations! 570 | # Starknet-workshop 571 | # Starknet-workshop 572 | -------------------------------------------------------------------------------- /Scarb.lock: -------------------------------------------------------------------------------- 1 | # Code generated by scarb DO NOT EDIT. 2 | version = 1 3 | 4 | [[package]] 5 | name = "kill_switch" 6 | version = "0.1.0" 7 | source = "git+https://github.com/starknet-edu/kill-switch.git?branch=master#eb11d5580807280f0c7e7a38db1f468e7f50dad8" 8 | 9 | [[package]] 10 | name = "openzeppelin" 11 | version = "0.16.0" 12 | source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb" 13 | dependencies = [ 14 | "openzeppelin_access", 15 | "openzeppelin_account", 16 | "openzeppelin_governance", 17 | "openzeppelin_introspection", 18 | "openzeppelin_merkle_tree", 19 | "openzeppelin_presets", 20 | "openzeppelin_security", 21 | "openzeppelin_token", 22 | "openzeppelin_upgrades", 23 | "openzeppelin_utils", 24 | ] 25 | 26 | [[package]] 27 | name = "openzeppelin_access" 28 | version = "0.16.0" 29 | source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb" 30 | dependencies = [ 31 | "openzeppelin_introspection", 32 | "openzeppelin_utils", 33 | ] 34 | 35 | [[package]] 36 | name = "openzeppelin_account" 37 | version = "0.16.0" 38 | source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb" 39 | dependencies = [ 40 | "openzeppelin_introspection", 41 | "openzeppelin_utils", 42 | ] 43 | 44 | [[package]] 45 | name = "openzeppelin_governance" 46 | version = "0.16.0" 47 | source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb" 48 | dependencies = [ 49 | "openzeppelin_access", 50 | "openzeppelin_introspection", 51 | ] 52 | 53 | [[package]] 54 | name = "openzeppelin_introspection" 55 | version = "0.16.0" 56 | source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb" 57 | 58 | [[package]] 59 | name = "openzeppelin_merkle_tree" 60 | version = "0.16.0" 61 | source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb" 62 | 63 | [[package]] 64 | name = "openzeppelin_presets" 65 | version = "0.16.0" 66 | source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb" 67 | dependencies = [ 68 | "openzeppelin_access", 69 | "openzeppelin_account", 70 | "openzeppelin_introspection", 71 | "openzeppelin_token", 72 | "openzeppelin_upgrades", 73 | ] 74 | 75 | [[package]] 76 | name = "openzeppelin_security" 77 | version = "0.16.0" 78 | source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb" 79 | 80 | [[package]] 81 | name = "openzeppelin_token" 82 | version = "0.16.0" 83 | source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb" 84 | dependencies = [ 85 | "openzeppelin_account", 86 | "openzeppelin_governance", 87 | "openzeppelin_introspection", 88 | ] 89 | 90 | [[package]] 91 | name = "openzeppelin_upgrades" 92 | version = "0.16.0" 93 | source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb" 94 | 95 | [[package]] 96 | name = "openzeppelin_utils" 97 | version = "0.16.0" 98 | source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb" 99 | 100 | [[package]] 101 | name = "snforge_std" 102 | version = "0.27.0" 103 | source = "git+https://github.com/foundry-rs/starknet-foundry?tag=v0.27.0#2d99b7c00678ef0363881ee0273550c44a9263de" 104 | 105 | [[package]] 106 | name = "workshop" 107 | version = "0.1.0" 108 | dependencies = [ 109 | "kill_switch", 110 | "openzeppelin", 111 | "snforge_std", 112 | ] 113 | -------------------------------------------------------------------------------- /Scarb.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "workshop" 3 | version = "0.1.0" 4 | edition = "2023_01" 5 | 6 | # See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html 7 | 8 | [dependencies] 9 | starknet = ">=2.8.0" 10 | snforge_std = {git = "https://github.com/foundry-rs/starknet-foundry", tag="v0.27.0"} 11 | kill_switch = { git = "https://github.com/starknet-edu/kill-switch.git", branch="master" } 12 | openzeppelin = { git = "https://github.com/OpenZeppelin/cairo-contracts.git", tag = "v0.16.0" } 13 | 14 | 15 | [scripts] 16 | test = "snforge test" 17 | 18 | [[target.starknet-contract]] 19 | sierra = true 20 | casm = true 21 | build-external-contracts = ["kill_switch::KillSwitch"] 22 | 23 | 24 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.8" 2 | services: 3 | test: 4 | image: starknetfoundation/starknet-dev:2.8.0 5 | volumes: 6 | - .:/app 7 | command: scarb test 8 | deploy: 9 | image: starknetfoundation/starknet-dev:2.8.0 10 | volumes: 11 | - .:/app 12 | command: npm run deploy 13 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "counter-workshop", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "name": "counter-workshop", 8 | "dependencies": { 9 | "@tsconfig/node21": "21.0.3", 10 | "dotenv": "^16.4.5", 11 | "starknet": "^7.0.0", 12 | "ts-node": "^10.9.2", 13 | "tslib": "^2.7.0", 14 | "typescript": "^5.5.4" 15 | } 16 | }, 17 | "node_modules/@cspotcode/source-map-support": { 18 | "version": "0.8.1", 19 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", 20 | "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", 21 | "dependencies": { 22 | "@jridgewell/trace-mapping": "0.3.9" 23 | }, 24 | "engines": { 25 | "node": ">=12" 26 | } 27 | }, 28 | "node_modules/@jridgewell/resolve-uri": { 29 | "version": "3.1.2", 30 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 31 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 32 | "engines": { 33 | "node": ">=6.0.0" 34 | } 35 | }, 36 | "node_modules/@jridgewell/sourcemap-codec": { 37 | "version": "1.5.0", 38 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 39 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" 40 | }, 41 | "node_modules/@jridgewell/trace-mapping": { 42 | "version": "0.3.9", 43 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", 44 | "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", 45 | "dependencies": { 46 | "@jridgewell/resolve-uri": "^3.0.3", 47 | "@jridgewell/sourcemap-codec": "^1.4.10" 48 | } 49 | }, 50 | "node_modules/@noble/curves": { 51 | "version": "1.4.2", 52 | "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", 53 | "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", 54 | "dependencies": { 55 | "@noble/hashes": "1.4.0" 56 | }, 57 | "funding": { 58 | "url": "https://paulmillr.com/funding/" 59 | } 60 | }, 61 | "node_modules/@noble/curves/node_modules/@noble/hashes": { 62 | "version": "1.4.0", 63 | "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", 64 | "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", 65 | "engines": { 66 | "node": ">= 16" 67 | }, 68 | "funding": { 69 | "url": "https://paulmillr.com/funding/" 70 | } 71 | }, 72 | "node_modules/@noble/hashes": { 73 | "version": "1.5.0", 74 | "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.5.0.tgz", 75 | "integrity": "sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==", 76 | "engines": { 77 | "node": "^14.21.3 || >=16" 78 | }, 79 | "funding": { 80 | "url": "https://paulmillr.com/funding/" 81 | } 82 | }, 83 | "node_modules/@scure/base": { 84 | "version": "1.1.8", 85 | "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.8.tgz", 86 | "integrity": "sha512-6CyAclxj3Nb0XT7GHK6K4zK6k2xJm6E4Ft0Ohjt4WgegiFUHEtFb2CGzmPmGBwoIhrLsqNLYfLr04Y1GePrzZg==", 87 | "funding": { 88 | "url": "https://paulmillr.com/funding/" 89 | } 90 | }, 91 | "node_modules/@scure/starknet": { 92 | "version": "1.0.0", 93 | "resolved": "https://registry.npmjs.org/@scure/starknet/-/starknet-1.0.0.tgz", 94 | "integrity": "sha512-o5J57zY0f+2IL/mq8+AYJJ4Xpc1fOtDhr+mFQKbHnYFmm3WQrC+8zj2HEgxak1a+x86mhmBC1Kq305KUpVf0wg==", 95 | "dependencies": { 96 | "@noble/curves": "~1.3.0", 97 | "@noble/hashes": "~1.3.3" 98 | }, 99 | "funding": { 100 | "url": "https://paulmillr.com/funding/" 101 | } 102 | }, 103 | "node_modules/@scure/starknet/node_modules/@noble/curves": { 104 | "version": "1.3.0", 105 | "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz", 106 | "integrity": "sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==", 107 | "dependencies": { 108 | "@noble/hashes": "1.3.3" 109 | }, 110 | "funding": { 111 | "url": "https://paulmillr.com/funding/" 112 | } 113 | }, 114 | "node_modules/@scure/starknet/node_modules/@noble/hashes": { 115 | "version": "1.3.3", 116 | "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", 117 | "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", 118 | "engines": { 119 | "node": ">= 16" 120 | }, 121 | "funding": { 122 | "url": "https://paulmillr.com/funding/" 123 | } 124 | }, 125 | "node_modules/@tsconfig/node10": { 126 | "version": "1.0.11", 127 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", 128 | "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==" 129 | }, 130 | "node_modules/@tsconfig/node12": { 131 | "version": "1.0.11", 132 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", 133 | "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" 134 | }, 135 | "node_modules/@tsconfig/node14": { 136 | "version": "1.0.3", 137 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", 138 | "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" 139 | }, 140 | "node_modules/@tsconfig/node16": { 141 | "version": "1.0.4", 142 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", 143 | "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" 144 | }, 145 | "node_modules/@tsconfig/node21": { 146 | "version": "21.0.3", 147 | "resolved": "https://registry.npmjs.org/@tsconfig/node21/-/node21-21.0.3.tgz", 148 | "integrity": "sha512-qTX4pGNfnRTutaiRPx+c4GFL1DB1u6GHkwfoYSNn/KelE9m86Mkn3RpFBhhxDh6yHeqaVuAx0tz+n7LrjBUEpw==" 149 | }, 150 | "node_modules/@types/node": { 151 | "version": "22.5.4", 152 | "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz", 153 | "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==", 154 | "peer": true, 155 | "dependencies": { 156 | "undici-types": "~6.19.2" 157 | } 158 | }, 159 | "node_modules/abi-wan-kanabi": { 160 | "version": "2.2.3", 161 | "resolved": "https://registry.npmjs.org/abi-wan-kanabi/-/abi-wan-kanabi-2.2.3.tgz", 162 | "integrity": "sha512-JlqiAl9CPvTm5kKG0QXmVCWNWoC/XyRMOeT77cQlbxXWllgjf6SqUmaNqFon72C2o5OSZids+5FvLdsw6dvWaw==", 163 | "dependencies": { 164 | "ansicolors": "^0.3.2", 165 | "cardinal": "^2.1.1", 166 | "fs-extra": "^10.0.0", 167 | "yargs": "^17.7.2" 168 | }, 169 | "bin": { 170 | "generate": "dist/generate.js" 171 | } 172 | }, 173 | "node_modules/acorn": { 174 | "version": "8.12.1", 175 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", 176 | "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", 177 | "bin": { 178 | "acorn": "bin/acorn" 179 | }, 180 | "engines": { 181 | "node": ">=0.4.0" 182 | } 183 | }, 184 | "node_modules/acorn-walk": { 185 | "version": "8.3.3", 186 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", 187 | "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", 188 | "dependencies": { 189 | "acorn": "^8.11.0" 190 | }, 191 | "engines": { 192 | "node": ">=0.4.0" 193 | } 194 | }, 195 | "node_modules/ansi-regex": { 196 | "version": "5.0.1", 197 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 198 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 199 | "engines": { 200 | "node": ">=8" 201 | } 202 | }, 203 | "node_modules/ansi-styles": { 204 | "version": "4.3.0", 205 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 206 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 207 | "dependencies": { 208 | "color-convert": "^2.0.1" 209 | }, 210 | "engines": { 211 | "node": ">=8" 212 | }, 213 | "funding": { 214 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 215 | } 216 | }, 217 | "node_modules/ansicolors": { 218 | "version": "0.3.2", 219 | "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", 220 | "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" 221 | }, 222 | "node_modules/arg": { 223 | "version": "4.1.3", 224 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 225 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" 226 | }, 227 | "node_modules/cardinal": { 228 | "version": "2.1.1", 229 | "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", 230 | "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", 231 | "dependencies": { 232 | "ansicolors": "~0.3.2", 233 | "redeyed": "~2.1.0" 234 | }, 235 | "bin": { 236 | "cdl": "bin/cdl.js" 237 | } 238 | }, 239 | "node_modules/cliui": { 240 | "version": "8.0.1", 241 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", 242 | "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", 243 | "dependencies": { 244 | "string-width": "^4.2.0", 245 | "strip-ansi": "^6.0.1", 246 | "wrap-ansi": "^7.0.0" 247 | }, 248 | "engines": { 249 | "node": ">=12" 250 | } 251 | }, 252 | "node_modules/color-convert": { 253 | "version": "2.0.1", 254 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 255 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 256 | "dependencies": { 257 | "color-name": "~1.1.4" 258 | }, 259 | "engines": { 260 | "node": ">=7.0.0" 261 | } 262 | }, 263 | "node_modules/color-name": { 264 | "version": "1.1.4", 265 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 266 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 267 | }, 268 | "node_modules/create-require": { 269 | "version": "1.1.1", 270 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", 271 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" 272 | }, 273 | "node_modules/diff": { 274 | "version": "4.0.2", 275 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 276 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 277 | "engines": { 278 | "node": ">=0.3.1" 279 | } 280 | }, 281 | "node_modules/dotenv": { 282 | "version": "16.4.5", 283 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", 284 | "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", 285 | "engines": { 286 | "node": ">=12" 287 | }, 288 | "funding": { 289 | "url": "https://dotenvx.com" 290 | } 291 | }, 292 | "node_modules/emoji-regex": { 293 | "version": "8.0.0", 294 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 295 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 296 | }, 297 | "node_modules/escalade": { 298 | "version": "3.2.0", 299 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 300 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 301 | "engines": { 302 | "node": ">=6" 303 | } 304 | }, 305 | "node_modules/esprima": { 306 | "version": "4.0.1", 307 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 308 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 309 | "bin": { 310 | "esparse": "bin/esparse.js", 311 | "esvalidate": "bin/esvalidate.js" 312 | }, 313 | "engines": { 314 | "node": ">=4" 315 | } 316 | }, 317 | "node_modules/fetch-cookie": { 318 | "version": "3.0.1", 319 | "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-3.0.1.tgz", 320 | "integrity": "sha512-ZGXe8Y5Z/1FWqQ9q/CrJhkUD73DyBU9VF0hBQmEO/wPHe4A9PKTjplFDLeFX8aOsYypZUcX5Ji/eByn3VCVO3Q==", 321 | "dependencies": { 322 | "set-cookie-parser": "^2.4.8", 323 | "tough-cookie": "^4.0.0" 324 | } 325 | }, 326 | "node_modules/fs-extra": { 327 | "version": "10.1.0", 328 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", 329 | "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", 330 | "dependencies": { 331 | "graceful-fs": "^4.2.0", 332 | "jsonfile": "^6.0.1", 333 | "universalify": "^2.0.0" 334 | }, 335 | "engines": { 336 | "node": ">=12" 337 | } 338 | }, 339 | "node_modules/get-caller-file": { 340 | "version": "2.0.5", 341 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 342 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 343 | "engines": { 344 | "node": "6.* || 8.* || >= 10.*" 345 | } 346 | }, 347 | "node_modules/graceful-fs": { 348 | "version": "4.2.11", 349 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 350 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 351 | }, 352 | "node_modules/is-fullwidth-code-point": { 353 | "version": "3.0.0", 354 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 355 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 356 | "engines": { 357 | "node": ">=8" 358 | } 359 | }, 360 | "node_modules/isomorphic-fetch": { 361 | "version": "3.0.0", 362 | "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", 363 | "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", 364 | "dependencies": { 365 | "node-fetch": "^2.6.1", 366 | "whatwg-fetch": "^3.4.1" 367 | } 368 | }, 369 | "node_modules/jsonfile": { 370 | "version": "6.1.0", 371 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 372 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 373 | "dependencies": { 374 | "universalify": "^2.0.0" 375 | }, 376 | "optionalDependencies": { 377 | "graceful-fs": "^4.1.6" 378 | } 379 | }, 380 | "node_modules/lossless-json": { 381 | "version": "4.0.1", 382 | "resolved": "https://registry.npmjs.org/lossless-json/-/lossless-json-4.0.1.tgz", 383 | "integrity": "sha512-l0L+ppmgPDnb+JGxNLndPtJZGNf6+ZmVaQzoxQm3u6TXmhdnsA+YtdVR8DjzZd/em58686CQhOFDPewfJ4l7MA==" 384 | }, 385 | "node_modules/make-error": { 386 | "version": "1.3.6", 387 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 388 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" 389 | }, 390 | "node_modules/node-fetch": { 391 | "version": "2.7.0", 392 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", 393 | "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", 394 | "dependencies": { 395 | "whatwg-url": "^5.0.0" 396 | }, 397 | "engines": { 398 | "node": "4.x || >=6.0.0" 399 | }, 400 | "peerDependencies": { 401 | "encoding": "^0.1.0" 402 | }, 403 | "peerDependenciesMeta": { 404 | "encoding": { 405 | "optional": true 406 | } 407 | } 408 | }, 409 | "node_modules/pako": { 410 | "version": "2.1.0", 411 | "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", 412 | "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" 413 | }, 414 | "node_modules/psl": { 415 | "version": "1.9.0", 416 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", 417 | "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" 418 | }, 419 | "node_modules/punycode": { 420 | "version": "2.3.1", 421 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 422 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 423 | "engines": { 424 | "node": ">=6" 425 | } 426 | }, 427 | "node_modules/querystringify": { 428 | "version": "2.2.0", 429 | "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", 430 | "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" 431 | }, 432 | "node_modules/redeyed": { 433 | "version": "2.1.1", 434 | "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", 435 | "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", 436 | "dependencies": { 437 | "esprima": "~4.0.0" 438 | } 439 | }, 440 | "node_modules/require-directory": { 441 | "version": "2.1.1", 442 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 443 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 444 | "engines": { 445 | "node": ">=0.10.0" 446 | } 447 | }, 448 | "node_modules/requires-port": { 449 | "version": "1.0.0", 450 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", 451 | "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" 452 | }, 453 | "node_modules/set-cookie-parser": { 454 | "version": "2.7.0", 455 | "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.0.tgz", 456 | "integrity": "sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==" 457 | }, 458 | "node_modules/starknet": { 459 | "version": "7.0.0", 460 | "resolved": "https://registry.npmjs.org/starknet/-/starknet-7.0.0.tgz", 461 | "integrity": "sha512-TF4OhkouJuTvSniATB+rxjsiuaicjb5IPPwc2NhcYfIVM6FA+eNnacE9o54IFUNh7CAvltjfDqyvEXM99VIBpA==", 462 | "dependencies": { 463 | "@noble/curves": "~1.4.0", 464 | "@noble/hashes": "^1.4.0", 465 | "@scure/base": "~1.1.3", 466 | "@scure/starknet": "~1.0.0", 467 | "abi-wan-kanabi": "^2.2.2", 468 | "fetch-cookie": "^3.0.0", 469 | "isomorphic-fetch": "^3.0.0", 470 | "lossless-json": "^4.0.1", 471 | "pako": "^2.0.4", 472 | "starknet-types-07": "npm:@starknet-io/types-js@^0.7.7", 473 | "ts-mixer": "^6.0.3", 474 | "url-join": "^4.0.1" 475 | } 476 | }, 477 | "node_modules/starknet-types-07": { 478 | "name": "@starknet-io/types-js", 479 | "version": "0.7.7", 480 | "resolved": "https://registry.npmjs.org/@starknet-io/types-js/-/types-js-0.7.7.tgz", 481 | "integrity": "sha512-WLrpK7LIaIb8Ymxu6KF/6JkGW1sso988DweWu7p5QY/3y7waBIiPvzh27D9bX5KIJNRDyOoOVoHVEKYUYWZ/RQ==" 482 | }, 483 | "node_modules/string-width": { 484 | "version": "4.2.3", 485 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 486 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 487 | "dependencies": { 488 | "emoji-regex": "^8.0.0", 489 | "is-fullwidth-code-point": "^3.0.0", 490 | "strip-ansi": "^6.0.1" 491 | }, 492 | "engines": { 493 | "node": ">=8" 494 | } 495 | }, 496 | "node_modules/strip-ansi": { 497 | "version": "6.0.1", 498 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 499 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 500 | "dependencies": { 501 | "ansi-regex": "^5.0.1" 502 | }, 503 | "engines": { 504 | "node": ">=8" 505 | } 506 | }, 507 | "node_modules/tough-cookie": { 508 | "version": "4.1.4", 509 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", 510 | "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", 511 | "dependencies": { 512 | "psl": "^1.1.33", 513 | "punycode": "^2.1.1", 514 | "universalify": "^0.2.0", 515 | "url-parse": "^1.5.3" 516 | }, 517 | "engines": { 518 | "node": ">=6" 519 | } 520 | }, 521 | "node_modules/tough-cookie/node_modules/universalify": { 522 | "version": "0.2.0", 523 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", 524 | "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", 525 | "engines": { 526 | "node": ">= 4.0.0" 527 | } 528 | }, 529 | "node_modules/tr46": { 530 | "version": "0.0.3", 531 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 532 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 533 | }, 534 | "node_modules/ts-mixer": { 535 | "version": "6.0.4", 536 | "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz", 537 | "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==" 538 | }, 539 | "node_modules/ts-node": { 540 | "version": "10.9.2", 541 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", 542 | "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", 543 | "dependencies": { 544 | "@cspotcode/source-map-support": "^0.8.0", 545 | "@tsconfig/node10": "^1.0.7", 546 | "@tsconfig/node12": "^1.0.7", 547 | "@tsconfig/node14": "^1.0.0", 548 | "@tsconfig/node16": "^1.0.2", 549 | "acorn": "^8.4.1", 550 | "acorn-walk": "^8.1.1", 551 | "arg": "^4.1.0", 552 | "create-require": "^1.1.0", 553 | "diff": "^4.0.1", 554 | "make-error": "^1.1.1", 555 | "v8-compile-cache-lib": "^3.0.1", 556 | "yn": "3.1.1" 557 | }, 558 | "bin": { 559 | "ts-node": "dist/bin.js", 560 | "ts-node-cwd": "dist/bin-cwd.js", 561 | "ts-node-esm": "dist/bin-esm.js", 562 | "ts-node-script": "dist/bin-script.js", 563 | "ts-node-transpile-only": "dist/bin-transpile.js", 564 | "ts-script": "dist/bin-script-deprecated.js" 565 | }, 566 | "peerDependencies": { 567 | "@swc/core": ">=1.2.50", 568 | "@swc/wasm": ">=1.2.50", 569 | "@types/node": "*", 570 | "typescript": ">=2.7" 571 | }, 572 | "peerDependenciesMeta": { 573 | "@swc/core": { 574 | "optional": true 575 | }, 576 | "@swc/wasm": { 577 | "optional": true 578 | } 579 | } 580 | }, 581 | "node_modules/tslib": { 582 | "version": "2.7.0", 583 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", 584 | "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" 585 | }, 586 | "node_modules/typescript": { 587 | "version": "5.5.4", 588 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", 589 | "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", 590 | "bin": { 591 | "tsc": "bin/tsc", 592 | "tsserver": "bin/tsserver" 593 | }, 594 | "engines": { 595 | "node": ">=14.17" 596 | } 597 | }, 598 | "node_modules/undici-types": { 599 | "version": "6.19.8", 600 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", 601 | "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", 602 | "peer": true 603 | }, 604 | "node_modules/universalify": { 605 | "version": "2.0.1", 606 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", 607 | "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", 608 | "engines": { 609 | "node": ">= 10.0.0" 610 | } 611 | }, 612 | "node_modules/url-join": { 613 | "version": "4.0.1", 614 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", 615 | "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" 616 | }, 617 | "node_modules/url-parse": { 618 | "version": "1.5.10", 619 | "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", 620 | "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", 621 | "dependencies": { 622 | "querystringify": "^2.1.1", 623 | "requires-port": "^1.0.0" 624 | } 625 | }, 626 | "node_modules/v8-compile-cache-lib": { 627 | "version": "3.0.1", 628 | "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", 629 | "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" 630 | }, 631 | "node_modules/webidl-conversions": { 632 | "version": "3.0.1", 633 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 634 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 635 | }, 636 | "node_modules/whatwg-fetch": { 637 | "version": "3.6.20", 638 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", 639 | "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" 640 | }, 641 | "node_modules/whatwg-url": { 642 | "version": "5.0.0", 643 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 644 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 645 | "dependencies": { 646 | "tr46": "~0.0.3", 647 | "webidl-conversions": "^3.0.0" 648 | } 649 | }, 650 | "node_modules/wrap-ansi": { 651 | "version": "7.0.0", 652 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 653 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 654 | "dependencies": { 655 | "ansi-styles": "^4.0.0", 656 | "string-width": "^4.1.0", 657 | "strip-ansi": "^6.0.0" 658 | }, 659 | "engines": { 660 | "node": ">=10" 661 | }, 662 | "funding": { 663 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 664 | } 665 | }, 666 | "node_modules/y18n": { 667 | "version": "5.0.8", 668 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 669 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 670 | "engines": { 671 | "node": ">=10" 672 | } 673 | }, 674 | "node_modules/yargs": { 675 | "version": "17.7.2", 676 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", 677 | "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", 678 | "dependencies": { 679 | "cliui": "^8.0.1", 680 | "escalade": "^3.1.1", 681 | "get-caller-file": "^2.0.5", 682 | "require-directory": "^2.1.1", 683 | "string-width": "^4.2.3", 684 | "y18n": "^5.0.5", 685 | "yargs-parser": "^21.1.1" 686 | }, 687 | "engines": { 688 | "node": ">=12" 689 | } 690 | }, 691 | "node_modules/yargs-parser": { 692 | "version": "21.1.1", 693 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", 694 | "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", 695 | "engines": { 696 | "node": ">=12" 697 | } 698 | }, 699 | "node_modules/yn": { 700 | "version": "3.1.1", 701 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 702 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 703 | "engines": { 704 | "node": ">=6" 705 | } 706 | } 707 | } 708 | } 709 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "counter-workshop", 3 | "private": "true", 4 | "scripts": { 5 | "deploy": "ts-node scripts/deploy.ts" 6 | }, 7 | "dependencies": { 8 | "@tsconfig/node21": "21.0.3", 9 | "dotenv": "^16.4.5", 10 | "starknet": "^7.0.0", 11 | "ts-node": "^10.9.2", 12 | "tslib": "^2.7.0", 13 | "typescript": "^5.5.4" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /scripts/deploy.ts: -------------------------------------------------------------------------------- 1 | import { Account, CallData, Contract, RpcProvider, stark } from "starknet"; 2 | import * as dotenv from "dotenv"; 3 | import { getCompiledCode } from "./utils"; 4 | dotenv.config(); 5 | 6 | async function main() { 7 | const provider = new RpcProvider({ 8 | nodeUrl: process.env.RPC_ENDPOINT, 9 | }); 10 | 11 | // initialize existing predeployed account 0 12 | console.log("ACCOUNT_ADDRESS=", process.env.DEPLOYER_ADDRESS); 13 | console.log("ACCOUNT_PRIVATE_KEY=", process.env.DEPLOYER_PRIVATE_KEY); 14 | const privateKey0 = process.env.DEPLOYER_PRIVATE_KEY ?? ""; 15 | const accountAddress0: string = process.env.DEPLOYER_ADDRESS ?? ""; 16 | const account0 = new Account(provider, accountAddress0, privateKey0); 17 | console.log("Account connected.\n"); 18 | 19 | // Declare & deploy contract 20 | let sierraCode, casmCode; 21 | 22 | try { 23 | ({ sierraCode, casmCode } = await getCompiledCode( 24 | "workshop_counter_contract" 25 | )); 26 | } catch (error: any) { 27 | console.log("Failed to read contract files"); 28 | process.exit(1); 29 | } 30 | 31 | const myCallData = new CallData(sierraCode.abi); 32 | const constructor = myCallData.compile("constructor", { 33 | initial_value: 100, 34 | kill_switch_address: 35 | "0x05f7151ea24624e12dde7e1307f9048073196644aa54d74a9c579a257214b542", 36 | initial_owner: process.env.DEPLOYER_ADDRESS ?? "", 37 | }); 38 | 39 | const deployResponse = await account0.declareAndDeploy({ 40 | contract: sierraCode, 41 | casm: casmCode, 42 | constructorCalldata: constructor, 43 | salt: stark.randomAddress(), 44 | }); 45 | 46 | 47 | const myTestContract = new Contract( 48 | sierraCode.abi, 49 | deployResponse.deploy.contract_address, 50 | provider 51 | ); 52 | console.log( 53 | `✅ Contract has been deploy with the address: ${myTestContract.address}` 54 | ); 55 | } 56 | main() 57 | .then(() => process.exit(0)) 58 | .catch((error) => { 59 | console.error(error); 60 | process.exit(1); 61 | }); 62 | -------------------------------------------------------------------------------- /scripts/multi-branch-commit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Prompt the user to enter the commit hash to cherry-pick 4 | read -p "Enter commit hash to cherry-pick: " COMMIT_HASH 5 | 6 | # List of branches to cherry-pick to 7 | BRANCHES=("step1" "step2" "step3" "step4" "step5" "step6" "step7" "step8" "step9" "step10" "step11" "step12" "step13" "step14" "step15-js") 8 | 9 | # Store the current branch to return to it later 10 | CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) 11 | 12 | # Loop through each branch and apply the cherry-pick 13 | for BRANCH in "${BRANCHES[@]}" 14 | do 15 | echo "Cherry-picking to $BRANCH" 16 | 17 | # Checkout the branch 18 | git checkout "$BRANCH" 19 | 20 | # Cherry-pick the commit 21 | git cherry-pick "$COMMIT_HASH" 22 | 23 | # Push the changes 24 | git push origin "$BRANCH" 25 | 26 | echo "Cherry-picked to $BRANCH successfully" 27 | done 28 | 29 | # Return to the original branch 30 | git checkout "$CURRENT_BRANCH" -------------------------------------------------------------------------------- /scripts/utils.ts: -------------------------------------------------------------------------------- 1 | import { promises as fs } from "fs"; 2 | import path from "path"; 3 | 4 | export async function getCompiledCode(filename: string) { 5 | const sierraFilePath = path.join( 6 | __dirname, 7 | `../target/dev/${filename}.contract_class.json` 8 | ); 9 | const casmFilePath = path.join( 10 | __dirname, 11 | `../target/dev/${filename}.compiled_contract_class.json` 12 | ); 13 | 14 | const code = [sierraFilePath, casmFilePath].map(async (filePath) => { 15 | const file = await fs.readFile(filePath); 16 | return JSON.parse(file.toString("ascii")); 17 | }); 18 | 19 | const [sierraCode, casmCode] = await Promise.all(code); 20 | 21 | return { 22 | sierraCode, 23 | casmCode, 24 | }; 25 | } 26 | -------------------------------------------------------------------------------- /src/counter.cairo: -------------------------------------------------------------------------------- 1 | 2 | #[starknet::interface] 3 | pub trait ICounter { 4 | fn get_counter(self: @TContractState) -> u32; 5 | fn increase_counter(ref self: TContractState); 6 | } 7 | 8 | #[starknet::contract] 9 | mod counter_contract { 10 | use super::ICounter; 11 | use kill_switch::{IKillSwitchDispatcher, IKillSwitchDispatcherTrait}; 12 | use starknet::{ContractAddress, get_caller_address}; 13 | use openzeppelin::access::ownable::OwnableComponent; 14 | component!(path: OwnableComponent, storage: ownable, event: OwnableEvent); 15 | 16 | #[abi(embed_v0)] 17 | impl OwnableImpl = OwnableComponent::OwnableImpl; 18 | impl OwnableInternalImpl = OwnableComponent::InternalImpl; 19 | 20 | #[storage] 21 | struct Storage { 22 | counter: u32, 23 | kill_switch: ContractAddress, 24 | #[substorage(v0)] 25 | ownable: OwnableComponent::Storage 26 | } 27 | 28 | #[event] 29 | #[derive(Drop, starknet::Event)] 30 | enum Event { 31 | CounterIncreased: CounterIncreased, 32 | #[flat] 33 | OwnableEvent: OwnableComponent::Event 34 | } 35 | 36 | #[derive(Drop, starknet::Event)] 37 | struct CounterIncreased { 38 | #[key] 39 | value: u32, 40 | } 41 | //step-1 intial declaration 42 | #[constructor] 43 | fn constructor(ref self: ContractState, initial_value: u32, kill_switch_address: ContractAddress,initial_owner: ContractAddress) { 44 | self.ownable.initializer(initial_owner); 45 | self.counter.write(initial_value); 46 | self.kill_switch.write(kill_switch_address); 47 | } 48 | 49 | #[abi(embed_v0)] 50 | impl counter_contract of super::ICounter { 51 | fn get_counter(self: @ContractState) -> u32 { 52 | self.counter.read() 53 | } 54 | fn increase_counter(ref self: ContractState) { 55 | self.ownable.assert_only_owner(); 56 | let kill_switch_address = self.kill_switch.read(); 57 | let kill_switch = IKillSwitchDispatcher { contract_address: kill_switch_address }; 58 | assert!(!kill_switch.is_active(), "Kill Switch is active"); 59 | 60 | let current_value = self.counter.read(); 61 | let new_value = current_value + 1; 62 | 63 | self.counter.write(new_value); 64 | self.emit(Event::CounterIncreased(CounterIncreased { value: new_value })); 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /src/lib.cairo: -------------------------------------------------------------------------------- 1 | mod counter; 2 | -------------------------------------------------------------------------------- /target/CACHEDIR.TAG: -------------------------------------------------------------------------------- 1 | Signature: 8a477f597d28d172789f06886806bc55 2 | # This file is a cache directory tag created by scarb. 3 | # For information about cache directory tags see https://bford.info/cachedir/ 4 | -------------------------------------------------------------------------------- /target/dev/snforge/workshop.snforge_sierra.json: -------------------------------------------------------------------------------- 1 | [{"sierra_program":{"version":1,"type_declarations":[],"libfunc_declarations":[],"statements":[],"funcs":[]},"test_cases":[],"tests_location":"Lib"}] -------------------------------------------------------------------------------- /target/dev/workshop.starknet_artifacts.json: -------------------------------------------------------------------------------- 1 | {"version":1,"contracts":[{"id":"8hgvc9ls6e4uc","package_name":"kill_switch","contract_name":"KillSwitch","module_path":"kill_switch::KillSwitch","artifacts":{"sierra":"workshop_KillSwitch.contract_class.json","casm":"workshop_KillSwitch.compiled_contract_class.json"}},{"id":"etes001cgrgim","package_name":"workshop","contract_name":"counter_contract","module_path":"workshop::counter::counter_contract","artifacts":{"sierra":"workshop_counter_contract.contract_class.json","casm":"workshop_counter_contract.compiled_contract_class.json"}}]} -------------------------------------------------------------------------------- /target/dev/workshop_KillSwitch.compiled_contract_class.json: -------------------------------------------------------------------------------- 1 | {"prime":"0x800000000000011000000000000000000000000000000000000000000000001","compiler_version":"2.8.0","bytecode":["0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x75","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x10b","0x482480017fff8000","0x10a","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x1158","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x40","0x4824800180007ff8","0x1158","0x400080007ff87fff","0x480680017fff8000","0x0","0x480680017fff8000","0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","0x482480017ff68000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x25","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0x20680017fff7ffd","0x6","0x480680017fff8000","0x1","0x10780017fff7fff","0x4","0x480680017fff8000","0x0","0x40780017fff7fff","0x1","0x480680017fff8000","0x1","0x48307ffd80007fff","0x20680017fff7fff","0x6","0x480680017fff8000","0x0","0x10780017fff7fff","0x4","0x480680017fff8000","0x1","0x400080007ffc7fff","0x48127ff57fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ff87fff8000","0x482480017ff78000","0x1","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480280047ffb8000","0x482680017ffb8000","0x8","0x480680017fff8000","0x1","0x480280067ffb8000","0x480280077ffb8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x8d","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x65","0x480080007fff8000","0x20680017fff7fff","0x6","0x480680017fff8000","0x1","0x10780017fff7fff","0x4","0x480680017fff8000","0x0","0x48307ffa80007ffb","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ff57fff8000","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x64","0x482480017fff8000","0x63","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff1","0x1284","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff07fff","0x10780017fff7fff","0x2c","0x4824800180007ff1","0x1284","0x400080007ff17fff","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","0x48307ff580007ffd","0x482480017fed8000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ff9","0x400280027ffb7ffb","0x400280037ffb7ffc","0x400280047ffb7ffd","0x480280067ffb8000","0x20680017fff7fff","0xd","0x40780017fff7fff","0x1","0x48127ffc7fff8000","0x480280057ffb8000","0x482680017ffb8000","0x7","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480280057ffb8000","0x482680017ffb8000","0x9","0x480680017fff8000","0x1","0x480280077ffb8000","0x480280087ffb8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017fee8000","0x1","0x48127fec7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x48127ff87fff8000","0x48127ff67fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe"],"bytecode_segment_lengths":[137,161],"hints":[[0,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[17,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[36,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x1158"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[60,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[75,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[107,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[122,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[137,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[184,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[203,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x1284"},"rhs":{"Deref":{"register":"AP","offset":-14}},"dst":{"register":"AP","offset":0}}}]],[231,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[234,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[254,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[269,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[283,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]]],"entry_points_by_type":{"EXTERNAL":[{"selector":"0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","offset":0,"builtins":["range_check"]}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","offset":137,"builtins":["range_check"]}]}} -------------------------------------------------------------------------------- /target/dev/workshop_KillSwitch.contract_class.json: -------------------------------------------------------------------------------- 1 | {"sierra_program":["0x1","0x6","0x0","0x2","0x8","0x0","0x9c","0x64","0x1b","0x52616e6765436865636b","0x800000000000000100000000000000000000000000000000","0x436f6e7374","0x800000000000000000000000000000000000000000000002","0x1","0xd","0x2","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x426f78","0x800000000000000700000000000000000000000000000001","0x537472756374","0x800000000000000f00000000000000000000000000000001","0x0","0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3","0x456e756d","0x800000000000000700000000000000000000000000000003","0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7","0x3","0x4f7574206f6620676173","0x4172726179","0x800000000000000300000000000000000000000000000001","0x536e617073686f74","0x6","0x800000000000000700000000000000000000000000000002","0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62","0x7","0x8","0x3288d594b9a45d15bb2fcb7903f06cdb06b27f0ba88186ec4cfaa98307cb972","0x66656c74323532","0x800000000000000700000000000000000000000000000000","0x4e6f6e5a65726f","0x10","0x753332","0x53746f7261676541646472657373","0x53746f726167654261736541646472657373","0x28a1868d4e0a4c6ae678a74db4e55a60b628ba8668dc128cf0c8e418d0a7945","0x12","0x4275696c74696e436f737473","0x53797374656d","0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672","0x800000000000000300000000000000000000000000000003","0x16","0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6","0x9","0x17","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x4761734275696c74696e","0x40","0x7265766f6b655f61705f747261636b696e67","0x77697468647261775f676173","0x6272616e63685f616c69676e","0x7374727563745f6465636f6e737472756374","0x73746f72655f74656d70","0x61727261795f736e617073686f745f706f705f66726f6e74","0x64726f70","0x61727261795f6e6577","0x636f6e73745f61735f696d6d656469617465","0x19","0x61727261795f617070656e64","0x7374727563745f636f6e737472756374","0x656e756d5f696e6974","0x18","0x1a","0x15","0x6765745f6275696c74696e5f636f737473","0x14","0x77697468647261775f6761735f616c6c","0x73746f726167655f626173655f616464726573735f636f6e7374","0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","0x13","0x736e617073686f745f74616b65","0x72656e616d65","0x73746f726167655f616464726573735f66726f6d5f62617365","0xf","0x11","0x73746f726167655f726561645f73797363616c6c","0x656e61626c655f61705f747261636b696e67","0x66656c743235325f69735f7a65726f","0xc","0x6a756d70","0xe","0x626f6f6c5f6e6f745f696d706c","0x656e756d5f6d61746368","0xb","0xa","0x64697361626c655f61705f747261636b696e67","0x5","0x4","0x756e626f78","0x626f6f6c5f746f5f66656c74323532","0x73746f726167655f77726974655f73797363616c6c","0xf9","0xffffffffffffffff","0x66","0x59","0x1c","0x1d","0x1e","0x1f","0x20","0x21","0x50","0x22","0x23","0x24","0x32","0x25","0x26","0x27","0x28","0x37","0x29","0x2a","0x2b","0x2c","0x2d","0x2e","0x2f","0x30","0x44","0x31","0x33","0x34","0x35","0x36","0x38","0x39","0x3a","0x3b","0x3c","0x3d","0x3e","0x3f","0x41","0x42","0x43","0x45","0x46","0xeb","0x80","0x85","0xdb","0x90","0x95","0xa7","0xcd","0xc4","0x47","0x48","0x49","0x4a","0x4b","0x4c","0x4d","0x74","0x915","0x13070605040312050705110d100f0e0d0c0b06050a09080706050403020100","0x7060504030507060504031b050e0d180b1a05190d180b17050a1606051514","0x240d180b1e231e221e210d072005040306050a1f1e1d120512051c0d100f0d","0x7060504032d052c052b0d290f17052a050e0d290b280d0c0b02271e262505","0x38070505371a050537060505360d0505351b0505340d330d320d3130022f2e","0x53505073e05073d2d05053c2a05053c0605053b060505353a050539060505","0x37460505474605053c450705440d43420505350d413e050535400505353f05","0xd4e0d4d0d4c4b050535200505354a0505390d492505054846050534460505","0x505530d520d074f05073d510505370d504f05053505074f05073d1205053c","0x2c05053c1b05053c17050537170505470d565505053954050539120505374f","0x5073d580505351a0505350d075805073d1b050537570505390d073e05073d","0xd0d0d5c050505390d5b0d5a4f050537060505480605055958050553050758","0x1b055d051205120d0d5d050d070d1a17075e5758075d07050d07050d0d5d05","0x52c05170d0d5d050d070d540540552c075d071b05570d58055d055805580d","0x6055d050605550d06055d050d2c0d4f055d050d1b0d0d5d0555051a0d0d5d","0x5d052005510d20055d05514a07060d4a055d050d4f0d51055d05064f07540d","0x54b054b0d07055d050705200d57055d0557054a0d58055d055805580d4b05","0x460d25055d050d250d0d5d055405170d0d5d050d070d4b07575858054b055d","0x50d400d0d5d050d070d2a40075f4246075d0725575812420d25055d052505","0x3f053a0d0d5d053a053e0d3f3a075d053e052d0d3e055d052d052a0d2d055d","0x6205610d62055d050d600d61055d056005000d60055d0500053f0d00055d05","0x63125d076162074258630d46055d054605580d61055d056105620d62055d05","0x63054a0d65055d056505550d0d5d050d640d0d5d050d070d69686712666564","0xd670d0d5d050d070d6b056a0d5d076505650d64055d056405200d63055d05","0x5d050d070d0d6f050d6b0d6e055d056d05690d6d055d056c05680d6c055d05","0x6e055d057105690d71055d0570056d0d70055d050d670d0d5d056b056c0d0d","0x74055d077305700d73055d057305690d73055d056e056e0d72055d050d1b0d","0x77055d057605550d76055d050d720d0d5d057405710d0d5d050d070d750530","0x57905550d79055d050d730d0d5d057505710d0d5d050d070d0d78050d6b0d","0x7a05760d7b7a075d056a05750d6a055d05777207540d0d5d050d740d77055d","0x4605580d6f055d057d056a0d7d055d057c05790d7c055d057b05770d0d5d05","0x4658056f055d056f054b0d64055d056405200d63055d0563054a0d46055d05","0x5d057f05510d7f055d05697e07060d7e055d050d4f0d0d5d050d070d6f6463","0x580054b0d68055d056805200d67055d0567054a0d46055d054605580d8005","0x550d82055d050d7a0d81055d050d1b0d0d5d050d070d80686746580580055d","0x85055d05838407060d84055d050d4f0d83055d05828107540d82055d058205","0x55d050705200d2a055d052a054a0d40055d054005580d30055d058505510d","0xd1b0d0d5d0512057b0d0d5d050d070d30072a40580530055d0530054b0d07","0xd4f0d88055d05878607540d87055d058705550d87055d050d7a0d86055d05","0x4a0d17055d051705580d8a055d058905510d89055d05887807060d78055d05","0xd0d0d8a071a1758058a055d058a054b0d07055d050705200d1a055d051a05","0x1b055d051205120d0d5d050d070d1a17078b5758075d07050d07050d0d5d05","0x5d050d070d54058c552c075d071b05570d58055d055805580d0d5d050d640d","0xd8d050d6b0d51055d054f056f0d06055d052c057d0d4f055d0555057c0d0d","0x6f0d06055d0554057d0d20055d054a057e0d4a055d050d670d0d5d050d070d","0x46055d054b05800d0d5d050d070d25058e4b055d0751057f0d51055d052005","0x5d050d070d40058f0d5d074205650d42055d054205550d42055d054605810d","0xd0d90050d6b0d3e055d052d05690d2d055d052a05680d2a055d050d670d0d","0x3f05690d3f055d053a056d0d3a055d050d670d0d5d0540056c0d0d5d050d07","0x5170d0d5d050d740d0d5d050d070d6105916000075d070605570d3e055d05","0x55d050d2c0d62055d050d1b0d0d5d053e05820d0d5d0560051a0d0d5d0500","0x5646507060d65055d050d4f0d64055d05636207540d63055d056305550d63","0x705200d57055d0557054a0d58055d055805580d68055d056705510d67055d","0xd0d5d050d740d0d5d050d070d68075758580568055d0568054b0d07055d05","0x6b075d0769575812420d69055d056905460d69055d050d250d0d5d05610517","0x57105830d71055d053e056e0d70055d050d400d0d5d050d070d6e6d07926c","0x57305620d74055d057405610d74055d050d600d73055d057005000d72055d","0x75075d07727374076c57840d6b055d056b05580d72055d057205550d73055d","0x5760d7c7b075d057a05750d7a055d050d1b0d0d5d050d070d6a7977129376","0x5580d7e055d056f056a0d6f055d057d05790d7d055d057c05770d0d5d057b","0x58057e055d057e054b0d76055d057605200d75055d0575054a0d6b055d056b","0x58005510d80055d056a7f07060d7f055d050d4f0d0d5d050d070d7e76756b","0x81054b0d79055d057905200d77055d0577054a0d6b055d056b05580d81055d","0xd82055d050d1b0d0d5d053e05820d0d5d050d070d8179776b580581055d05","0xd85055d050d4f0d84055d05838207540d83055d058305550d83055d050d7a","0x55d056e054a0d6d055d056d05580d86055d053005510d30055d0584850706","0x740d0d5d050d070d86076e6d580586055d0586054b0d07055d050705200d6e","0x55d050d850d87055d050d1b0d0d5d050605170d0d5d052505710d0d5d050d","0x5788907060d89055d050d4f0d78055d05888707540d88055d058805550d88","0x705200d57055d0557054a0d58055d055805580d94055d058a05510d8a055d","0xd5d0512057b0d0d5d050d070d94075758580594055d0594054b0d07055d05","0x97055d05969507540d96055d059605550d96055d050d7a0d95055d050d1b0d","0x55d051705580d9a055d059905510d99055d05979807060d98055d050d4f0d","0x9a071a1758059a055d059a054b0d07055d050705200d1a055d051a054a0d17","0x9b1207050d3e403f0d581b403f0d580d1207050d3e403f0d581b403f0d5807"],"sierra_program_debug_info":{"type_names":[[0,"RangeCheck"],[1,"Const"],[2,"Box"],[3,"Unit"],[4,"core::option::Option::>"],[5,"Const"],[6,"Array"],[7,"Snapshot>"],[8,"core::array::Span::"],[9,"Tuple>"],[10,"Const"],[11,"Const"],[12,"core::bool"],[13,"felt252"],[14,"NonZero"],[15,"Const"],[16,"u32"],[17,"StorageAddress"],[18,"StorageBaseAddress"],[19,"core::starknet::storage::StoragePointer0Offset::"],[20,"BuiltinCosts"],[21,"System"],[22,"core::panics::Panic"],[23,"Tuple>"],[24,"core::panics::PanicResult::<(core::array::Span::,)>"],[25,"Const"],[26,"GasBuiltin"]],"libfunc_names":[[0,"revoke_ap_tracking"],[1,"withdraw_gas"],[2,"branch_align"],[3,"struct_deconstruct>"],[4,"store_temp"],[5,"array_snapshot_pop_front"],[6,"drop>>"],[7,"drop>"],[8,"array_new"],[9,"const_as_immediate>"],[10,"store_temp"],[11,"array_append"],[12,"struct_construct"],[13,"struct_construct>>"],[14,"enum_init,)>, 1>"],[15,"store_temp"],[16,"store_temp"],[17,"store_temp,)>>"],[18,"get_builtin_costs"],[19,"store_temp"],[20,"withdraw_gas_all"],[21,"storage_base_address_const<1153431758152617002674809172345379817267606445825896141478041208762844152223>"],[22,"struct_construct>"],[23,"snapshot_take>"],[24,"drop>"],[25,"struct_deconstruct>"],[26,"rename"],[27,"storage_address_from_base"],[28,"const_as_immediate>"],[29,"store_temp"],[30,"store_temp"],[31,"storage_read_syscall"],[32,"enable_ap_tracking"],[33,"felt252_is_zero"],[34,"struct_construct"],[35,"enum_init"],[36,"store_temp"],[37,"jump"],[38,"drop>"],[39,"enum_init"],[40,"bool_not_impl"],[41,"enum_match"],[42,"drop"],[43,"const_as_immediate>"],[44,"const_as_immediate>"],[45,"disable_ap_tracking"],[46,"snapshot_take>"],[47,"drop>"],[48,"struct_construct>"],[49,"struct_construct>>"],[50,"enum_init,)>, 0>"],[51,"const_as_immediate>"],[52,"drop>"],[53,"enum_init>, 0>"],[54,"store_temp>>"],[55,"store_temp>>"],[56,"enum_init>, 1>"],[57,"enum_match>>"],[58,"unbox"],[59,"rename"],[60,"drop"],[61,"bool_to_felt252"],[62,"storage_write_syscall"],[63,"const_as_immediate>"]],"user_func_names":[[0,"kill_switch::KillSwitch::__wrapper__KillSwitchImpl__is_active"],[1,"kill_switch::KillSwitch::__wrapper__constructor"]]},"contract_class_version":"0.1.0","entry_points_by_type":{"EXTERNAL":[{"selector":"0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","function_idx":0}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","function_idx":1}]},"abi":[{"type":"impl","name":"KillSwitchImpl","interface_name":"kill_switch::IKillSwitch"},{"type":"enum","name":"core::bool","variants":[{"name":"False","type":"()"},{"name":"True","type":"()"}]},{"type":"interface","name":"kill_switch::IKillSwitch","items":[{"type":"function","name":"is_active","inputs":[],"outputs":[{"type":"core::bool"}],"state_mutability":"view"}]},{"type":"constructor","name":"constructor","inputs":[{"name":"is_active","type":"core::bool"}]},{"type":"event","name":"kill_switch::KillSwitch::Event","kind":"enum","variants":[]}]} -------------------------------------------------------------------------------- /target/dev/workshop_counter_contract.compiled_contract_class.json: -------------------------------------------------------------------------------- 1 | {"prime":"0x800000000000011000000000000000000000000000000000000000000000001","compiler_version":"2.8.0","bytecode":["0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x8c","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0xc53","0x482480017fff8000","0xc52","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x15ae","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x57","0x4824800180007ff8","0x15ae","0x400080007ff87fff","0x480680017fff8000","0x0","0x480680017fff8000","0x7ebcc807b5c7e19f245995a55aed6f46f5f582f476a886b91b834b0ddf5854","0x482480017ff68000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x37","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0xa0680017fff8000","0x12","0x4824800180007ffc","0x100000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff67fff","0x482480017ffe8000","0xefffffffffffffde00000000ffffffff","0x480080017ff47fff","0x400080027ff37ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x15","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x482480017ffc8000","0xffffffffffffffffffffffff00000000","0x400080017ff87fff","0x40780017fff7fff","0x1","0x400080007fff7ffa","0x482480017ff78000","0x2","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7265553332202d206e6f6e20753332","0x400080007ffe7fff","0x482480017ff18000","0x3","0x48127ff47fff8000","0x48127ff47fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x8","0x48127ffd7fff8000","0x480280047ffb8000","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x54","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0xbb3","0x482480017fff8000","0xbb2","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x13826","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x1f","0x4824800180007ff8","0x13826","0x400080007ff87fff","0x482480017ff88000","0x1","0x48127ffe7fff8000","0x480a7ffb7fff8000","0x1104800180018000","0x383","0x20680017fff7ffd","0xc","0x40780017fff7fff","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x8c","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0xb4b","0x482480017fff8000","0xb4a","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x154a","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x57","0x4824800180007ff8","0x154a","0x400080007ff87fff","0x480680017fff8000","0x0","0x480680017fff8000","0x2bd557f4ba80dfabefabe45e9b2dd35db1b9a78e96c72bc2b69b655ce47a930","0x482480017ff68000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x37","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0xa0680017fff8004","0xe","0x4824800180047ffc","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x17","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffb","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x40780017fff7fff","0x1","0x400080007fff7ff7","0x482480017ff48000","0x3","0x48127ff77fff8000","0x48127ff77fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4e6f6e20436f6e747261637441646472657373","0x400080007ffe7fff","0x482480017ff28000","0x3","0x48127ff57fff8000","0x48127ff57fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x8","0x48127ffd7fff8000","0x480280047ffb8000","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xba","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480280007ffc8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x8f","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x7d","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127fef7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0xa7e","0x482480017fff8000","0xa7d","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007fed","0x10bda","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x43","0x4824800180007fed","0x10bda","0x400080007ff87fff","0x482480017ff88000","0x1","0x20680017fff7ff1","0xf","0x40780017fff7fff","0x1","0x480680017fff8000","0x4e6577206f776e657220697320746865207a65726f2061646472657373","0x400080007ffe7fff","0x48127ffd7fff8000","0x48127ffb7fff8000","0x480a7ffb7fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x27","0x48127fff7fff8000","0x48127ffd7fff8000","0x480a7ffb7fff8000","0x1104800180018000","0x3c3","0x20680017fff7ffd","0x1b","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127fcd7fff8000","0x1104800180018000","0x44a","0x20680017fff7ffd","0xc","0x40780017fff7fff","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0x7","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127fe87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x48127ffd7fff8000","0x48127fef7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x69","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x9dd","0x482480017fff8000","0x9dc","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x10400","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x34","0x4824800180007ff8","0x10400","0x400080007ff87fff","0x482480017ff88000","0x1","0x48127ffe7fff8000","0x480a7ffb7fff8000","0x1104800180018000","0x332","0x20680017fff7ffd","0x1c","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x0","0x1104800180018000","0x3b8","0x20680017fff7ffd","0xc","0x40780017fff7fff","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0x7","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x150","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x125","0x480080007fff8000","0xa0680017fff8000","0x12","0x4824800180007ffe","0x100000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffde00000000ffffffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x110","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x482480017ffe8000","0xffffffffffffffffffffffff00000000","0x400080017ff77fff","0x482480017ff78000","0x2","0x48307ff880007ff9","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff78000","0x1","0x48127ff77fff8000","0x480680017fff8000","0x0","0x480080007ff48000","0x10780017fff7fff","0x8","0x48127ff77fff8000","0x48127ff77fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xe2","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0xd0","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff58000","0x1","0x48127ff57fff8000","0x480680017fff8000","0x0","0x480080007ff28000","0x10780017fff7fff","0x8","0x48127ff57fff8000","0x48127ff57fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xa0","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x8e","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127fdb7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x8d8","0x482480017fff8000","0x8d7","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007fd9","0x10cca","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x54","0x4824800180007fd9","0x10cca","0x400080007ff87fff","0x482480017ff88000","0x1","0x48127ffe7fff8000","0x480a7ffb7fff8000","0x48127fef7fff8000","0x1104800180018000","0x2bb","0x20680017fff7ffd","0x3a","0x480680017fff8000","0x0","0x480680017fff8000","0x7ebcc807b5c7e19f245995a55aed6f46f5f582f476a886b91b834b0ddf5854","0x480680017fff8000","0x53746f726167655772697465","0x400080007ff97fff","0x400080017ff97ff8","0x400080027ff97ffd","0x400080037ff97ffe","0x400080047ff97fa5","0x480080067ff98000","0x20680017fff7fff","0x23","0x480080057ff88000","0x480680017fff8000","0x0","0x480680017fff8000","0x3d0fadf4a2dfad4f5c9466a0cc68f4f5bcd24510d71b49f5bf5006526774095","0x480680017fff8000","0x53746f726167655772697465","0x400080077ff47fff","0x400080087ff47ffc","0x400080097ff47ffd","0x4000800a7ff47ffe","0x4000800b7ff47fa8","0x4800800d7ff48000","0x20680017fff7fff","0xd","0x40780017fff7fff","0x1","0x48127ff07fff8000","0x4800800c7ff18000","0x482480017ff08000","0xe","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x4800800c7ff38000","0x482480017ff28000","0x10","0x4800800e7ff18000","0x4800800f7ff08000","0x10780017fff7fff","0x11","0x40780017fff7fff","0x5","0x480080057ff38000","0x482480017ff28000","0x9","0x480080077ff18000","0x480080087ff08000","0x10780017fff7fff","0x8","0x40780017fff7fff","0x9","0x48127ff27fff8000","0x48127ff27fff8000","0x48127ff37fff8000","0x48127ff37fff8000","0x48127fed7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127fd47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202333","0x400080007ffe7fff","0x48127ffd7fff8000","0x48127fdb7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x400080007ffe7fff","0x48127ffd7fff8000","0x48127fe67fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x482480017ff28000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x8","0x48127ff27fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x48127ffd7fff8000","0x48127fed7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x5","0x480a7ffb7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x1104800180018000","0x180","0x20680017fff7ffd","0x176","0x480680017fff8000","0x0","0x480680017fff8000","0x3d0fadf4a2dfad4f5c9466a0cc68f4f5bcd24510d71b49f5bf5006526774095","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff97fff","0x400080017ff97ff8","0x400080027ff97ffd","0x400080037ff97ffe","0x480080057ff98000","0x20680017fff7fff","0x15b","0x480080067ff88000","0x480080047ff78000","0x482480017ff68000","0x7","0xa0680017fff8004","0xe","0x4824800180047ffc","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007fef7ffc","0x480080017fee7ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027fed7ffd","0x10780017fff7fff","0x13b","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffb","0x480080007ff07ffd","0x480080017fef7ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027fee7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","0x482480017fec8000","0x3","0x480680017fff8000","0x43616c6c436f6e7472616374","0x400080007ff67fff","0x400080017ff67ff5","0x400080027ff67ff4","0x400080037ff67ffd","0x400080047ff67ffc","0x400080057ff67ffc","0x480080077ff68000","0x20680017fff7fff","0x113","0x480080087ff58000","0x480080097ff48000","0x480080067ff38000","0x402580017ff28004","0xa","0x48307ffd80007ffe","0x20680017fff7fff","0x4","0x10780017fff7fff","0xfd","0x480080007ffc8000","0x20680017fff7fff","0x6","0x480680017fff8000","0x1","0x10780017fff7fff","0x4","0x480680017fff8000","0x0","0x480680017fff8000","0x1","0x48307ffe80007fff","0x480680017fff8000","0x1","0x48307ffe80007fff","0x20680017fff7fff","0x42","0x40780017fff7fff","0x1","0x48127ff27fff8000","0x48127ffe7fff8000","0x48127ffd7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x4b696c6c2053776974636820697320616374697665","0x480680017fff8000","0x15","0x1104800180018000","0x259","0x20680017fff7ffb","0x29","0x40780017fff7fff","0x1","0x480680017fff8000","0x46a6158a16a947e5916b2a2ca68501a45e93d7110e81aa2d6438b1c57c879a3","0x400080007ffe7fff","0x40137ffa7fff8000","0x40137ffb7fff8001","0x40137ffc7fff8002","0x40137ffd7fff8003","0x4829800080008001","0x400080017ffd7fff","0x48127ff77fff8000","0x48127f7b7fff8000","0x480a80007fff8000","0x480a80017fff8000","0x48127ff97fff8000","0x482480017ff88000","0x2","0x1104800180018000","0x6b3","0x20680017fff7ffd","0x9","0x400180007fff8002","0x400180017fff8003","0x48127ffe7fff8000","0x482480017ffe8000","0x2","0x10780017fff7fff","0x4","0x48127ffe7fff8000","0x48127ffe7fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x480a80047fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127f7e7fff8000","0x480a80047fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x7ebcc807b5c7e19f245995a55aed6f46f5f582f476a886b91b834b0ddf5854","0x480680017fff8000","0x53746f7261676552656164","0x4002800080047fff","0x4002800180047ff5","0x4002800280047ffd","0x4002800380047ffe","0x4802800580048000","0x20680017fff7fff","0x91","0x4802800680048000","0x4802800480048000","0x4826800180048000","0x7","0xa0680017fff8000","0x12","0x4824800180007ffc","0x100000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007fe87fff","0x482480017ffe8000","0xefffffffffffffde00000000ffffffff","0x480080017fe67fff","0x400080027fe57ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x6f","0x402780017fff7fff","0x1","0x400080007feb7ffc","0x482480017ffc8000","0xffffffffffffffffffffffff00000000","0x400080017fea7fff","0x480680017fff8000","0x1","0xa0680017fff8000","0x8","0x48307ffe7ff98000","0x4824800180007fff","0x100000000","0x400080027fe67fff","0x10780017fff7fff","0x50","0x48307ffe7ff98001","0x4824800180007fff","0xffffffffffffffffffffffff00000000","0x400080027fe67ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x7ebcc807b5c7e19f245995a55aed6f46f5f582f476a886b91b834b0ddf5854","0x482480017fe48000","0x3","0x480680017fff8000","0x53746f726167655772697465","0x400080007ff57fff","0x400080017ff57ff4","0x400080027ff57ffc","0x400080037ff57ffd","0x400080047ff57ffb","0x480080067ff58000","0x20680017fff7fff","0x33","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff57fff8000","0x48127ffa7fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff87fff8000","0x1104800180018000","0x684","0x480080057fe38000","0x480680017fff8000","0x456d69744576656e74","0x400080077fe17fff","0x400080087fe17ffe","0x400080097fe17ffa","0x4000800a7fe17ffb","0x4000800b7fe17ffc","0x4000800c7fe17ffd","0x4800800e7fe18000","0x20680017fff7fff","0xd","0x48127fe97fff8000","0x4800800d7fdf8000","0x482480017fde8000","0xf","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x48127fe97fff8000","0x4800800d7fdf8000","0x482480017fde8000","0x11","0x480680017fff8000","0x1","0x4800800f7fdc8000","0x480080107fdb8000","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480080057ff38000","0x482480017ff28000","0x9","0x480680017fff8000","0x1","0x480080077ff08000","0x480080087fef8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f616464204f766572666c6f77","0x400080007ffe7fff","0x482480017fe48000","0x3","0x48127ff57fff8000","0x48127ff57fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7265553332202d206e6f6e20753332","0x400080007ffe7fff","0x482480017fe38000","0x3","0x48127ff47fff8000","0x48127ff47fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x8","0x48127fef7fff8000","0x4802800480048000","0x4826800180048000","0x8","0x4802800680048000","0x4802800780048000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x52657475726e6564206461746120746f6f2073686f7274","0x400080007ffe7fff","0x48127ffc7fff8000","0x480a80047fff8000","0x48127ffc7fff8000","0x482480017ffb8000","0x1","0x10780017fff7fff","0x9","0x40780017fff7fff","0x6","0x480080067fef8000","0x482480017fee8000","0xa","0x480080087fed8000","0x480080097fec8000","0x48127ff37fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4e6f6e20436f6e747261637441646472657373","0x400080007ffe7fff","0x482480017feb8000","0x3","0x48127ff57fff8000","0x48127ff57fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x8","0x48127ff67fff8000","0x480080047ff78000","0x482480017ff68000","0x8","0x480080067ff58000","0x480080077ff48000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x2bd557f4ba80dfabefabe45e9b2dd35db1b9a78e96c72bc2b69b655ce47a930","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffd7fff","0x400380017ffd7ffc","0x400280027ffd7ffd","0x400280037ffd7ffe","0x480280057ffd8000","0x20680017fff7fff","0x74","0x480280067ffd8000","0x480280047ffd8000","0x482680017ffd8000","0x7","0xa0680017fff8004","0xe","0x4824800180047ffc","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480280007ffb7ffc","0x480280017ffb7ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400280027ffb7ffd","0x10780017fff7fff","0x52","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffb","0x480280007ffb7ffd","0x480280017ffb7ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400280027ffb7ffe","0x482680017ffb8000","0x3","0x480680017fff8000","0x476574457865637574696f6e496e666f","0x400080007ff87fff","0x400080017ff87ff7","0x480080037ff88000","0x20680017fff7fff","0x36","0x480080047ff78000","0x480080027fff8000","0x480080027ff58000","0x482480017ff48000","0x5","0x20680017fff7ffd","0x12","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x43616c6c657220697320746865207a65726f2061646472657373","0x400080007ffe7fff","0x48127ff67fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x48307ff180007ffd","0x20680017fff7fff","0xe","0x40780017fff7fff","0x2","0x48127ff67fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x43616c6c6572206973206e6f7420746865206f776e6572","0x400080007ffe7fff","0x48127ff67fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x7","0x48127ff67fff8000","0x480080027fef8000","0x482480017fee8000","0x6","0x480680017fff8000","0x1","0x480080047fec8000","0x480080057feb8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x2","0x40780017fff7fff","0x1","0x480680017fff8000","0x4e6f6e20436f6e747261637441646472657373","0x400080007ffe7fff","0x482680017ffb8000","0x3","0x48127ff37fff8000","0x48127ff37fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0xa","0x40780017fff7fff","0xd","0x480a7ffb7fff8000","0x480280047ffd8000","0x482680017ffd8000","0x8","0x480280067ffd8000","0x480280077ffd8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x23e69db976c64677f931404ca1c9ac66300309fcf9cc2887884860e1b525846","0x480680017fff8000","0x0","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffc7fff","0x400380017ffc7ffb","0x400280027ffc7ffc","0x400280037ffc7ffd","0x400280047ffc7ffe","0x480280067ffc8000","0x20680017fff7fff","0x95","0x480280057ffc8000","0x480680017fff8000","0x0","0x480680017fff8000","0x2bd557f4ba80dfabefabe45e9b2dd35db1b9a78e96c72bc2b69b655ce47a930","0x480680017fff8000","0x53746f7261676552656164","0x400280077ffc7fff","0x400280087ffc7ffc","0x400280097ffc7ffd","0x4002800a7ffc7ffe","0x4802800c7ffc8000","0x20680017fff7fff","0x77","0x4802800d7ffc8000","0x4802800b7ffc8000","0x482680017ffc8000","0xe","0xa0680017fff8004","0xe","0x4824800180047ffc","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480280007ffa7ffc","0x480280017ffa7ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400280027ffa7ffd","0x10780017fff7fff","0x55","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffb","0x480280007ffa7ffd","0x480280017ffa7ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400280027ffa7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x2bd557f4ba80dfabefabe45e9b2dd35db1b9a78e96c72bc2b69b655ce47a930","0x482680017ffa8000","0x3","0x480680017fff8000","0x53746f726167655772697465","0x400080007ff67fff","0x400080017ff67ff5","0x400080027ff67ffc","0x400080037ff67ffd","0x400180047ff67ffd","0x480080067ff68000","0x20680017fff7fff","0x32","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x48127fef7fff8000","0x480a7ffd7fff8000","0x48127ffa7fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff87fff8000","0x1104800180018000","0x50a","0x480080057fe48000","0x480680017fff8000","0x456d69744576656e74","0x400080077fe27fff","0x400080087fe27ffe","0x400080097fe27ffa","0x4000800a7fe27ffb","0x4000800b7fe27ffc","0x4000800c7fe27ffd","0x4800800e7fe28000","0x20680017fff7fff","0xd","0x48127fe97fff8000","0x4800800d7fe08000","0x482480017fdf8000","0xf","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x48127fe97fff8000","0x4800800d7fe08000","0x482480017fdf8000","0x11","0x480680017fff8000","0x1","0x4800800f7fdd8000","0x480080107fdc8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x14","0x48127fe97fff8000","0x480080057fe08000","0x482480017fdf8000","0x9","0x480680017fff8000","0x1","0x480080077fdd8000","0x480080087fdc8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x4e6f6e20436f6e747261637441646472657373","0x400080007ffe7fff","0x482680017ffa8000","0x3","0x48127fe47fff8000","0x48127fe47fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0xa","0x40780017fff7fff","0x1c","0x480a7ffa7fff8000","0x4802800b7ffc8000","0x482680017ffc8000","0xf","0x4802800d7ffc8000","0x4802800e7ffc8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x26","0x480a7ffa7fff8000","0x480280057ffc8000","0x482680017ffc8000","0x9","0x480680017fff8000","0x1","0x480280077ffc8000","0x480280087ffc8000","0x208b7fff7fff7ffe","0x4825800180007ffd","0x0","0x20680017fff7fff","0x4","0x10780017fff7fff","0x462","0xa0680017fff8000","0x8","0x482a7ffd7ffb8000","0x4824800180007fff","0x100000000","0x400280007ff77fff","0x10780017fff7fff","0x447","0x482a7ffd7ffb8001","0x4824800180007fff","0xffffffffffffffffffffffff00000000","0x400280007ff77ffe","0x480680017fff8000","0x1f","0x48307fff80017ffe","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400280017ff77fff","0x10780017fff7fff","0x3ab","0x400280017ff77fff","0x482680017ff78000","0x2","0x4824800180007ffb","0x1f","0x20680017fff7fff","0x4","0x10780017fff7fff","0x317","0x480680017fff8000","0x1f","0x48307fff80017ff9","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ffa7fff","0x10780017fff7fff","0x2fa","0x400080007ffb7fff","0x482480017ffb8000","0x1","0x4824800180007ffe","0x10","0x20680017fff7fff","0x4","0x10780017fff7fff","0x22b","0x480680017fff8000","0x10","0x48307fff80017ffc","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ffa7fff","0x10780017fff7fff","0x10d","0x400080007ffb7fff","0x40780017fff7fff","0xf","0xa0680017fff8000","0x16","0x480080017feb8003","0x480080027fea8003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483180017ffd7ffc","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080037fe67ffd","0x20680017fff7ffe","0xe","0x402780017fff7fff","0x1","0x400180017feb7ffc","0x40780017fff7fff","0x5","0x482480017fe68000","0x2","0x480a7ffc7fff8000","0x480680017fff8000","0x0","0x10780017fff7fff","0x6","0x482480017fe68000","0x4","0x48127ffe7fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x10","0x48307fff80017fe1","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff97fff","0x10780017fff7fff","0xc6","0x400080007ffa7fff","0x482480017ffa8000","0x1","0x48127ffe7fff8000","0x1104800180018000","0x45f","0x20680017fff7ffd","0xb7","0x20680017fff7fff","0xf","0x40780017fff7fff","0x2a","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7074696f6e3a3a756e77726170206661696c65642e","0x400080007ffe7fff","0x48127fd07fff8000","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0xbb","0x480080007ffc8005","0x480080017ffb8005","0x4824800180047ffe","0x1","0x48307ffd7ffe7ffc","0x480080027ff87ffd","0xa0680017fff7ffd","0x6","0x482480017ff97ffd","0xffffffffffffffff0000000000000000","0x10780017fff7fff","0x4","0x482480017fff7ffd","0xffffffffffffffff0000000000000000","0x400080037ff57ffc","0x40507ffe7ff87ffd","0x40307fff7ffd7fe7","0x480680017fff8000","0x1f","0x48287ffb80017fff","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080047ff17fff","0x10780017fff7fff","0x7f","0x400080047ff27fff","0x484480017ffc8000","0x100000000000000000000000000000000","0x480680017fff8000","0x10","0x48307fe17ffe8000","0x48307ffe80017ffc","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080057fec7fff","0x10780017fff7fff","0x2f","0x400080057fed7fff","0x480680017fff8000","0x10","0x48307fff80017ff9","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080067fe97fff","0x10780017fff7fff","0x16","0x400080067fea7fff","0x482480017fea8000","0x7","0x48127ffe7fff8000","0x1104800180018000","0x414","0x20680017fff7ffd","0x7","0x48127ffc7fff8000","0x484480017ffe8000","0x100000000000000000000000000000000","0x10780017fff7fff","0x22","0x40780017fff7fff","0xc","0x48127ff07fff8000","0x48127ff17fff8000","0x48127ff17fff8000","0x10780017fff7fff","0x50","0x40780017fff7fff","0x17","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017fd08000","0x7","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0x42","0x40780017fff7fff","0x2","0x482480017fea8000","0x6","0x48127ff67fff8000","0x1104800180018000","0x3f1","0x20680017fff7ffd","0x34","0x48127ffc7fff8000","0x48127ffe7fff8000","0x48527fff7ffa8000","0x48307fff7fe28000","0xa0680017fff8004","0xe","0x4824800180047ffe","0x100000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x7000000000000110000000000000000","0x48307ffe7fff8002","0x480080007ff87ffc","0x480080017ff77ffc","0x402480017ffb7ffd","0xf8ffffffffffffeeffffffffffffffff","0x400080027ff67ffd","0x10780017fff7fff","0x16","0x484480017fff8001","0x1000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff97ffd","0x480080017ff87ffd","0x402480017ffc7ffe","0xff000000000000000000000000000000","0x400080027ff77ffe","0x40780017fff7fff","0x1","0x400280007ff97ff9","0x482480017ff68000","0x3","0x480a7ff87fff8000","0x482680017ff98000","0x1","0x48127fdf7fff8000","0x480a7ffb7fff8000","0x10780017fff7fff","0x10d","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7074696f6e3a3a756e77726170206661696c65642e","0x400080007ffe7fff","0x482480017ff48000","0x3","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0x2a","0x40780017fff7fff","0xc","0x48127ff07fff8000","0x48127ff17fff8000","0x48127ff17fff8000","0x10780017fff7fff","0x23","0x40780017fff7fff","0x1f","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017fd08000","0x5","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0x15","0x40780017fff7fff","0x2c","0x48127fd07fff8000","0x48127fd17fff8000","0x48127fd17fff8000","0x10780017fff7fff","0xe","0x40780017fff7fff","0x37","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017fc08000","0x1","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x48127ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x16","0x480080017ff98003","0x480080027ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483180017ffd7ffc","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080037ff47ffd","0x20680017fff7ffe","0xe","0x402780017fff7fff","0x1","0x400180017ff97ffc","0x40780017fff7fff","0x5","0x482480017ff48000","0x2","0x480a7ffc7fff8000","0x480680017fff8000","0x0","0x10780017fff7fff","0x6","0x482480017ff48000","0x4","0x48127ffe7fff8000","0x48127ffc7fff8000","0x48127ffd7fff8000","0x48127fef7fff8000","0x1104800180018000","0x363","0x20680017fff7ffd","0xdd","0x20680017fff7fff","0xf","0x40780017fff7fff","0x3b","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7074696f6e3a3a756e77726170206661696c65642e","0x400080007ffe7fff","0x48127fbf7fff8000","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0xd3","0x480080007ffc8005","0x480080017ffb8005","0x4824800180047ffe","0x1","0x48307ffd7ffe7ffc","0x480080027ff87ffd","0xa0680017fff7ffd","0x6","0x482480017ff97ffd","0xffffffffffffffff0000000000000000","0x10780017fff7fff","0x4","0x482480017fff7ffd","0xffffffffffffffff0000000000000000","0x400080037ff57ffc","0x40507ffe7ff87ffd","0x40307fff7ffd7fe9","0x480680017fff8000","0x10","0x48307fda80017fff","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080047ff17fff","0x10780017fff7fff","0xa5","0x400080047ff27fff","0x482480017ff28000","0x5","0x48127ffe7fff8000","0x1104800180018000","0x331","0x20680017fff7ffd","0x96","0x480680017fff8000","0x1f","0x48287ffb80017fff","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff87fff","0x10780017fff7fff","0x7e","0x400080007ff97fff","0x48507ffc7fd68000","0x480680017fff8000","0x10","0x48307fe87ffe8000","0x48307ffe80017ffc","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080017ff37fff","0x10780017fff7fff","0x2f","0x400080017ff47fff","0x480680017fff8000","0x10","0x48307fff80017ff9","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080027ff07fff","0x10780017fff7fff","0x16","0x400080027ff17fff","0x482480017ff18000","0x3","0x48127ffe7fff8000","0x1104800180018000","0x307","0x20680017fff7ffd","0x7","0x48127ffc7fff8000","0x484480017ffe8000","0x100000000000000000000000000000000","0x10780017fff7fff","0x22","0x40780017fff7fff","0xc","0x48127ff07fff8000","0x48127ff17fff8000","0x48127ff17fff8000","0x10780017fff7fff","0x50","0x40780017fff7fff","0x17","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017fd78000","0x3","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0x42","0x40780017fff7fff","0x2","0x482480017ff18000","0x2","0x48127ff67fff8000","0x1104800180018000","0x2e4","0x20680017fff7ffd","0x34","0x48127ffc7fff8000","0x48127ffe7fff8000","0x48527fff7ffa8000","0x48307fff7fe98000","0xa0680017fff8004","0xe","0x4824800180047ffe","0x100000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x7000000000000110000000000000000","0x48307ffe7fff8002","0x480080007ff87ffc","0x480080017ff77ffc","0x402480017ffb7ffd","0xf8ffffffffffffeeffffffffffffffff","0x400080027ff67ffd","0x10780017fff7fff","0x16","0x484480017fff8001","0x1000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff97ffd","0x480080017ff87ffd","0x402480017ffc7ffe","0xff000000000000000000000000000000","0x400080027ff77ffe","0x40780017fff7fff","0x1","0x400280007ff97ff9","0x482480017ff68000","0x3","0x480a7ff87fff8000","0x482680017ff98000","0x1","0x48127fc87fff8000","0x480a7ffb7fff8000","0x10780017fff7fff","0xdc","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7074696f6e3a3a756e77726170206661696c65642e","0x400080007ffe7fff","0x482480017ff48000","0x3","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0x31","0x40780017fff7fff","0xc","0x48127ff07fff8000","0x48127ff17fff8000","0x48127ff17fff8000","0x10780017fff7fff","0x2a","0x40780017fff7fff","0x1f","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017fd78000","0x1","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0x1c","0x40780017fff7fff","0x25","0x48127fd77fff8000","0x48127fd87fff8000","0x48127fd87fff8000","0x10780017fff7fff","0x15","0x40780017fff7fff","0x30","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017fbf8000","0x5","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0x7","0x40780017fff7fff","0x3d","0x48127fbf7fff8000","0x48127fc07fff8000","0x48127fc07fff8000","0x48127ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x2c","0xa0680017fff8000","0x16","0x480080007fd18003","0x480080017fd08003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483180017ffd7ffc","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027fcc7ffd","0x20680017fff7ffe","0xe","0x402780017fff7fff","0x1","0x400180007fd17ffc","0x40780017fff7fff","0x5","0x482480017fcc8000","0x1","0x480a7ffc7fff8000","0x480680017fff8000","0x0","0x10780017fff7fff","0x6","0x482480017fcc8000","0x3","0x48127ffe7fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x1f","0x48287ffb80017fff","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff97fff","0x10780017fff7fff","0x82","0x400080007ffa7fff","0x480680017fff8000","0x10","0x48307fff80017ffe","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080017ff67fff","0x10780017fff7fff","0x2f","0x400080017ff77fff","0x480680017fff8000","0x10","0x48307fff80017ffb","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080027ff37fff","0x10780017fff7fff","0x16","0x400080027ff47fff","0x482480017ff48000","0x3","0x48127ffe7fff8000","0x1104800180018000","0x22b","0x20680017fff7ffd","0x7","0x48127ffc7fff8000","0x484480017ffe8000","0x100000000000000000000000000000000","0x10780017fff7fff","0x22","0x40780017fff7fff","0xc","0x48127ff07fff8000","0x48127ff17fff8000","0x48127ff17fff8000","0x10780017fff7fff","0x56","0x40780017fff7fff","0x17","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017fda8000","0x3","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0x48","0x40780017fff7fff","0x2","0x482480017ff48000","0x2","0x48127ff87fff8000","0x1104800180018000","0x208","0x20680017fff7ffd","0x3a","0x48127ffc7fff8000","0x48127ffe7fff8000","0x48527fff7ffa8000","0x48307fff7fe58000","0xa0680017fff8004","0xe","0x4824800180047ffe","0x100000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x7000000000000110000000000000000","0x48307ffe7fff8002","0x480080007ff87ffc","0x480080017ff77ffc","0x402480017ffb7ffd","0xf8ffffffffffffeeffffffffffffffff","0x400080027ff67ffd","0x10780017fff7fff","0x1c","0x484480017fff8001","0x1000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff97ffd","0x480080017ff87ffd","0x402480017ffc7ffe","0xff000000000000000000000000000000","0x400080027ff77ffe","0x40780017fff7fff","0x1","0x400280007ff97ff9","0x482480017ff68000","0x3","0x480a7ff87fff8000","0x482680017ff98000","0x1","0x48127fda7fff8000","0x480a7ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127f9d7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7074696f6e3a3a756e77726170206661696c65642e","0x400080007ffe7fff","0x482480017ff48000","0x3","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0x15","0x40780017fff7fff","0xc","0x48127ff07fff8000","0x48127ff17fff8000","0x48127ff17fff8000","0x10780017fff7fff","0xe","0x40780017fff7fff","0x1d","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017fda8000","0x1","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x48127ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x5a","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017f9e8000","0x1","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x40","0x480680017fff8000","0x10","0x48317fff80017ffd","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007fba7fff","0x10780017fff7fff","0x2f","0x400080007fbb7fff","0x480680017fff8000","0x10","0x48317fff80017ffd","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080017fb77fff","0x10780017fff7fff","0x16","0x400080017fb87fff","0x482480017fb88000","0x2","0x48127ffe7fff8000","0x1104800180018000","0x181","0x20680017fff7ffd","0x7","0x48127ffc7fff8000","0x484480017ffe8000","0x100000000000000000000000000000000","0x10780017fff7fff","0x22","0x40780017fff7fff","0x9","0x48127ff37fff8000","0x48127ff47fff8000","0x48127ff47fff8000","0x10780017fff7fff","0x58","0x40780017fff7fff","0x14","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017fa18000","0x2","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0x4a","0x40780017fff7fff","0x2","0x482480017fb88000","0x1","0x480a7ffd7fff8000","0x1104800180018000","0x15e","0x20680017fff7ffd","0x3c","0x48127ffc7fff8000","0x48127ffe7fff8000","0x48527fff7ffa8000","0x48327fff7ffc8000","0xa0680017fff8004","0xe","0x4824800180047ffe","0x100000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x7000000000000110000000000000000","0x48307ffe7fff8002","0x480080007ff87ffc","0x480080017ff77ffc","0x402480017ffb7ffd","0xf8ffffffffffffeeffffffffffffffff","0x400080027ff67ffd","0x10780017fff7fff","0x19","0x484480017fff8001","0x1000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff97ffd","0x480080017ff87ffd","0x402480017ffc7ffe","0xff000000000000000000000000000000","0x400080027ff77ffe","0x40780017fff7fff","0x3","0x400280007ff97ff7","0x482480017ff48000","0x3","0x480680017fff8000","0x0","0x480a7ff87fff8000","0x482680017ff98000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7074696f6e3a3a756e77726170206661696c65642e","0x400080007ffe7fff","0x482480017ff48000","0x3","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x9","0x48127ff37fff8000","0x48127ff47fff8000","0x48127ff47fff8000","0x48127ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x44","0x482680017ff78000","0x2","0x4825800180007ffb","0x0","0x20680017fff7fff","0x4","0x10780017fff7fff","0x7c","0x480680017fff8000","0x10","0x48317fff80017ffd","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ffa7fff","0x10780017fff7fff","0x2f","0x400080007ffb7fff","0x480680017fff8000","0x10","0x48317fff80017ffd","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080017ff77fff","0x10780017fff7fff","0x16","0x400080017ff87fff","0x482480017ff88000","0x2","0x48127ffe7fff8000","0x1104800180018000","0xee","0x20680017fff7ffd","0x7","0x48127ffc7fff8000","0x484480017ffe8000","0x100000000000000000000000000000000","0x10780017fff7fff","0x22","0x40780017fff7fff","0x4","0x48127ff87fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x10780017fff7fff","0x49","0x40780017fff7fff","0xf","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017fe68000","0x2","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0x3b","0x40780017fff7fff","0x2","0x482480017ff88000","0x1","0x480a7ffd7fff8000","0x1104800180018000","0xcb","0x20680017fff7ffd","0x2d","0x48127ffc7fff8000","0x48127ffe7fff8000","0xa0680017fff8000","0x8","0x482a7ffd7ffb8000","0x4824800180007fff","0x100000000","0x400080007ffb7fff","0x10780017fff7fff","0x12","0x482a7ffd7ffb8001","0x4824800180007fff","0xffffffffffffffffffffffff00000000","0x400080007ffb7ffe","0x40780017fff7fff","0x1","0x48527ffb7ffa8000","0x482480017ff98000","0x1","0x480680017fff8000","0x0","0x480a7ff87fff8000","0x480a7ff97fff8000","0x48327ffb7ffc8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f616464204f766572666c6f77","0x400080007ffe7fff","0x482480017ff98000","0x1","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x4","0x48127ff87fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1b","0x48127fe37fff8000","0x480680017fff8000","0x0","0x480a7ff87fff8000","0x480a7ff97fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x63","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f616464204f766572666c6f77","0x400080007ffe7fff","0x482680017ff78000","0x1","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x68","0x480a7ff77fff8000","0x480680017fff8000","0x0","0x480a7ff87fff8000","0x480a7ff97fff8000","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ff98000","0xfffffffffffffffffffffffffffff722","0x400280007ff87fff","0x10780017fff7fff","0x2f","0x4825800180007ff9","0x8de","0x400280007ff87fff","0x482680017ff88000","0x1","0x48297ffa80007ffb","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffa8000","0x1","0x480a7ffb7fff8000","0x480680017fff8000","0x0","0x480a7ffa7fff8000","0x10780017fff7fff","0x8","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xe","0x480080007fff8000","0x400280007ffd7fff","0x48127ff97fff8000","0x48127ff77fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x480a7ffc7fff8000","0x482680017ffd8000","0x1","0x1104800180018000","0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd7","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff88000","0x1","0x480a7ff97fff8000","0x480680017fff8000","0x1","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x20780017fff7ff6","0xc","0x480680017fff8000","0xd3651022da7ddf0a226dd81c8a16106318358829bd09702eb656630219c030","0x400280007ffb7fff","0x400380017ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x2","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x20780017fff7ff7","0xd","0x480680017fff8000","0x1390fd803c110ac71730ece1decfc34eb1d0088e295d4f1b125dda1e0c5b9ff","0x400280007ffb7fff","0x400380017ffb7ff8","0x400380027ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x3","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x264029018ff7e3c0552db60eb00dd04eddf84c86e9b06640ce3731b70dc0bd7","0x400280007ffb7fff","0x400380017ffb7ff8","0x400380027ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x3","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x4825800180007ffd","0x10","0x400280007ffc7fff","0x10780017fff7fff","0x6f","0x482680017ffd8000","0xfffffffffffffffffffffffffffffff0","0x400280007ffc7fff","0x4825800180007ffd","0x400000000000008800000000000000000000000000000000000000000000010","0x484480017fff8000","0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffff","0x482680017ffc8000","0x1","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","0x40780017fff7fff","0x2","0x40780017fff7fff","0x1","0x480680017fff8000","0x6e5f627974657320746f6f20626967","0x400080007ffe7fff","0x482680017ffc8000","0x1","0x480680017fff8000","0x1","0x48127ffc7fff8000","0x482480017ffb8000","0x1","0x208b7fff7fff7ffe"],"bytecode_segment_lengths":[160,104,160,206,125,356,389,143,174,1136,66,36,131],"hints":[[0,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[17,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[36,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x15ae"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[60,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[67,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[71,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[89,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[102,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[130,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[145,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[160,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[177,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[196,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x13826"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[216,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[234,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[249,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[264,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[281,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[300,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x154a"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[324,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[331,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[335,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[345,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[353,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[366,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[394,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[409,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[424,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[457,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[461,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[471,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[486,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[505,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x10bda"},"rhs":{"Deref":{"register":"AP","offset":-18}},"dst":{"register":"AP","offset":0}}}]],[521,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[549,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[579,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[601,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[615,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[630,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[647,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[666,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x10400"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[695,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[725,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[740,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[755,[{"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":-1},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x100000000"},"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}}}]],[834,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[838,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[848,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[879,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[883,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[893,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[908,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[927,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x10cca"},"rhs":{"Deref":{"register":"AP","offset":-38}},"dst":{"register":"AP","offset":0}}}]],[959,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-7}}}}]],[974,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-12},"b":{"Immediate":"0x7"}}}}}]],[977,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1018,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1040,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1061,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1082,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1096,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1130,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-7}}}}]],[1137,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[1141,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[1151,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[1159,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1173,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-10}}}}]],[1203,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1220,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1277,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":4}}}}]],[1284,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[1288,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[1308,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-6},"b":{"Deref":{"register":"AP","offset":-1}}}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[1333,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-11}}}}]],[1336,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1338,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1362,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-31},"b":{"Immediate":"0x7"}}}}}]],[1394,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1409,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1437,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1464,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1510,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-3}}}}]],[1517,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[1521,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[1531,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[1545,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-8}}}}]],[1557,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1586,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1613,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1656,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-4}}}}]],[1670,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-4},"b":{"Immediate":"0x7"}}}}}]],[1677,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[1681,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[1691,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[1712,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-10}}}}]],[1715,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1717,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1740,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-30},"b":{"Immediate":"0x7"}}}}}]],[1776,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1823,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-5},"b":{"Deref":{"register":"FP","offset":-3}}}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[1838,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[1857,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[1876,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[1886,[{"TestLessThan":{"lhs":{"Deref":{"register":"FP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[1888,[{"DivMod":{"lhs":{"Deref":{"register":"FP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[1925,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[1944,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1955,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-18}},"rhs":{"Deref":{"register":"AP","offset":-1}},"quotient":{"register":"AP","offset":5},"remainder":{"register":"AP","offset":6}}}]],[1961,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":-3}}}]],[1975,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[1989,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2000,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2029,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2054,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[2058,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x7000000000000110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[2068,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x1000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[2088,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2109,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2130,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2150,[{"TestLessThan":{"lhs":{"Deref":{"register":"FP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[2152,[{"DivMod":{"lhs":{"Deref":{"register":"FP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[2196,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2207,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-16}},"rhs":{"Deref":{"register":"AP","offset":-1}},"quotient":{"register":"AP","offset":5},"remainder":{"register":"AP","offset":6}}}]],[2213,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":-3}}}]],[2227,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2245,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2258,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2269,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2298,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2323,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[2327,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x7000000000000110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[2337,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x1000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[2357,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2378,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2399,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2428,[{"TestLessThan":{"lhs":{"Deref":{"register":"FP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[2430,[{"DivMod":{"lhs":{"Deref":{"register":"FP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[2467,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2478,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2489,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2518,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2543,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[2547,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x7000000000000110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[2557,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x1000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[2583,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2604,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2626,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2648,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2659,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2688,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2713,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[2717,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x7000000000000110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[2727,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x1000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[2750,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2795,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2806,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[2835,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2858,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-5},"b":{"Deref":{"register":"FP","offset":-3}}}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[2882,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2926,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2953,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x8de"},"rhs":{"Deref":{"register":"FP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[3005,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3055,[{"TestLessThan":{"lhs":{"Deref":{"register":"FP","offset":-3}},"rhs":{"Immediate":"0x10"},"dst":{"register":"AP","offset":0}}}]],[3173,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]]],"entry_points_by_type":{"EXTERNAL":[{"selector":"0x52580a92c73f4428f1a260c5d768ef462b25955307de00f99957df119865d","offset":630,"builtins":["range_check"]},{"selector":"0x2016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0","offset":264,"builtins":["range_check"]},{"selector":"0x245f9bea6574169db91599999bf914dd43aebc1e0544bdc96c9f401a52b8768","offset":160,"builtins":["range_check"]},{"selector":"0x2a3bb1eaa05b77c4b0eeee0116a3177c6d62319dd7149ae148185d9e09de74a","offset":424,"builtins":["range_check"]},{"selector":"0x3370263ab53343580e77063a719a5865004caff7f367ec136a6cdd34b6786ca","offset":0,"builtins":["range_check"]}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","offset":755,"builtins":["range_check"]}]}} -------------------------------------------------------------------------------- /target/dev/workshop_kill_switch_KillSwitch.compiled_contract_class.json: -------------------------------------------------------------------------------- 1 | {"prime":"0x800000000000011000000000000000000000000000000000000000000000001","compiler_version":"2.8.0","bytecode":["0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x75","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x10b","0x482480017fff8000","0x10a","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x1158","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x40","0x4824800180007ff8","0x1158","0x400080007ff87fff","0x480680017fff8000","0x0","0x480680017fff8000","0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","0x482480017ff68000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x25","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0x20680017fff7ffd","0x6","0x480680017fff8000","0x1","0x10780017fff7fff","0x4","0x480680017fff8000","0x0","0x40780017fff7fff","0x1","0x480680017fff8000","0x1","0x48307ffd80007fff","0x20680017fff7fff","0x6","0x480680017fff8000","0x0","0x10780017fff7fff","0x4","0x480680017fff8000","0x1","0x400080007ffc7fff","0x48127ff57fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ff87fff8000","0x482480017ff78000","0x1","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480280047ffb8000","0x482680017ffb8000","0x8","0x480680017fff8000","0x1","0x480280067ffb8000","0x480280077ffb8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x8d","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x65","0x480080007fff8000","0x20680017fff7fff","0x6","0x480680017fff8000","0x1","0x10780017fff7fff","0x4","0x480680017fff8000","0x0","0x48307ffa80007ffb","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ff57fff8000","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x64","0x482480017fff8000","0x63","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff1","0x1284","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff07fff","0x10780017fff7fff","0x2c","0x4824800180007ff1","0x1284","0x400080007ff17fff","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","0x48307ff580007ffd","0x482480017fed8000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ff9","0x400280027ffb7ffb","0x400280037ffb7ffc","0x400280047ffb7ffd","0x480280067ffb8000","0x20680017fff7fff","0xd","0x40780017fff7fff","0x1","0x48127ffc7fff8000","0x480280057ffb8000","0x482680017ffb8000","0x7","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480280057ffb8000","0x482680017ffb8000","0x9","0x480680017fff8000","0x1","0x480280077ffb8000","0x480280087ffb8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017fee8000","0x1","0x48127fec7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x48127ff87fff8000","0x48127ff67fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe"],"bytecode_segment_lengths":[137,161],"hints":[[0,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[17,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[36,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x1158"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[60,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[75,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[107,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[122,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[137,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[184,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[203,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x1284"},"rhs":{"Deref":{"register":"AP","offset":-14}},"dst":{"register":"AP","offset":0}}}]],[231,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[234,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[254,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[269,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[283,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]]],"entry_points_by_type":{"EXTERNAL":[{"selector":"0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","offset":0,"builtins":["range_check"]}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","offset":137,"builtins":["range_check"]}]}} -------------------------------------------------------------------------------- /target/dev/workshop_kill_switch_KillSwitch.contract_class.json: -------------------------------------------------------------------------------- 1 | {"sierra_program":["0x1","0x6","0x0","0x2","0x8","0x0","0x9c","0x64","0x1b","0x52616e6765436865636b","0x800000000000000100000000000000000000000000000000","0x436f6e7374","0x800000000000000000000000000000000000000000000002","0x1","0xd","0x2","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x426f78","0x800000000000000700000000000000000000000000000001","0x537472756374","0x800000000000000f00000000000000000000000000000001","0x0","0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3","0x456e756d","0x800000000000000700000000000000000000000000000003","0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7","0x3","0x4f7574206f6620676173","0x4172726179","0x800000000000000300000000000000000000000000000001","0x536e617073686f74","0x6","0x800000000000000700000000000000000000000000000002","0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62","0x7","0x8","0x3288d594b9a45d15bb2fcb7903f06cdb06b27f0ba88186ec4cfaa98307cb972","0x66656c74323532","0x800000000000000700000000000000000000000000000000","0x4e6f6e5a65726f","0x10","0x753332","0x53746f7261676541646472657373","0x53746f726167654261736541646472657373","0x28a1868d4e0a4c6ae678a74db4e55a60b628ba8668dc128cf0c8e418d0a7945","0x12","0x4275696c74696e436f737473","0x53797374656d","0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672","0x800000000000000300000000000000000000000000000003","0x16","0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6","0x9","0x17","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x4761734275696c74696e","0x40","0x7265766f6b655f61705f747261636b696e67","0x77697468647261775f676173","0x6272616e63685f616c69676e","0x7374727563745f6465636f6e737472756374","0x73746f72655f74656d70","0x61727261795f736e617073686f745f706f705f66726f6e74","0x64726f70","0x61727261795f6e6577","0x636f6e73745f61735f696d6d656469617465","0x19","0x61727261795f617070656e64","0x7374727563745f636f6e737472756374","0x656e756d5f696e6974","0x18","0x1a","0x15","0x6765745f6275696c74696e5f636f737473","0x14","0x77697468647261775f6761735f616c6c","0x73746f726167655f626173655f616464726573735f636f6e7374","0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","0x13","0x736e617073686f745f74616b65","0x72656e616d65","0x73746f726167655f616464726573735f66726f6d5f62617365","0xf","0x11","0x73746f726167655f726561645f73797363616c6c","0x656e61626c655f61705f747261636b696e67","0x66656c743235325f69735f7a65726f","0xc","0x6a756d70","0xe","0x626f6f6c5f6e6f745f696d706c","0x656e756d5f6d61746368","0xb","0xa","0x64697361626c655f61705f747261636b696e67","0x5","0x4","0x756e626f78","0x626f6f6c5f746f5f66656c74323532","0x73746f726167655f77726974655f73797363616c6c","0xf9","0xffffffffffffffff","0x66","0x59","0x1c","0x1d","0x1e","0x1f","0x20","0x21","0x50","0x22","0x23","0x24","0x32","0x25","0x26","0x27","0x28","0x37","0x29","0x2a","0x2b","0x2c","0x2d","0x2e","0x2f","0x30","0x44","0x31","0x33","0x34","0x35","0x36","0x38","0x39","0x3a","0x3b","0x3c","0x3d","0x3e","0x3f","0x41","0x42","0x43","0x45","0x46","0xeb","0x80","0x85","0xdb","0x90","0x95","0xa7","0xcd","0xc4","0x47","0x48","0x49","0x4a","0x4b","0x4c","0x4d","0x74","0x915","0x13070605040312050705110d100f0e0d0c0b06050a09080706050403020100","0x7060504030507060504031b050e0d180b1a05190d180b17050a1606051514","0x240d180b1e231e221e210d072005040306050a1f1e1d120512051c0d100f0d","0x7060504032d052c052b0d290f17052a050e0d290b280d0c0b02271e262505","0x38070505371a050537060505360d0505351b0505340d330d320d3130022f2e","0x53505073e05073d2d05053c2a05053c0605053b060505353a050539060505","0x37460505474605053c450705440d43420505350d413e050535400505353f05","0xd4e0d4d0d4c4b050535200505354a0505390d492505054846050534460505","0x505530d520d074f05073d510505370d504f05053505074f05073d1205053c","0x2c05053c1b05053c17050537170505470d565505053954050539120505374f","0x5073d580505351a0505350d075805073d1b050537570505390d073e05073d","0xd0d0d5c050505390d5b0d5a4f050537060505480605055958050553050758","0x1b055d051205120d0d5d050d070d1a17075e5758075d07050d07050d0d5d05","0x52c05170d0d5d050d070d540540552c075d071b05570d58055d055805580d","0x6055d050605550d06055d050d2c0d4f055d050d1b0d0d5d0555051a0d0d5d","0x5d052005510d20055d05514a07060d4a055d050d4f0d51055d05064f07540d","0x54b054b0d07055d050705200d57055d0557054a0d58055d055805580d4b05","0x460d25055d050d250d0d5d055405170d0d5d050d070d4b07575858054b055d","0x50d400d0d5d050d070d2a40075f4246075d0725575812420d25055d052505","0x3f053a0d0d5d053a053e0d3f3a075d053e052d0d3e055d052d052a0d2d055d","0x6205610d62055d050d600d61055d056005000d60055d0500053f0d00055d05","0x63125d076162074258630d46055d054605580d61055d056105620d62055d05","0x63054a0d65055d056505550d0d5d050d640d0d5d050d070d69686712666564","0xd670d0d5d050d070d6b056a0d5d076505650d64055d056405200d63055d05","0x5d050d070d0d6f050d6b0d6e055d056d05690d6d055d056c05680d6c055d05","0x6e055d057105690d71055d0570056d0d70055d050d670d0d5d056b056c0d0d","0x74055d077305700d73055d057305690d73055d056e056e0d72055d050d1b0d","0x77055d057605550d76055d050d720d0d5d057405710d0d5d050d070d750530","0x57905550d79055d050d730d0d5d057505710d0d5d050d070d0d78050d6b0d","0x7a05760d7b7a075d056a05750d6a055d05777207540d0d5d050d740d77055d","0x4605580d6f055d057d056a0d7d055d057c05790d7c055d057b05770d0d5d05","0x4658056f055d056f054b0d64055d056405200d63055d0563054a0d46055d05","0x5d057f05510d7f055d05697e07060d7e055d050d4f0d0d5d050d070d6f6463","0x580054b0d68055d056805200d67055d0567054a0d46055d054605580d8005","0x550d82055d050d7a0d81055d050d1b0d0d5d050d070d80686746580580055d","0x85055d05838407060d84055d050d4f0d83055d05828107540d82055d058205","0x55d050705200d2a055d052a054a0d40055d054005580d30055d058505510d","0xd1b0d0d5d0512057b0d0d5d050d070d30072a40580530055d0530054b0d07","0xd4f0d88055d05878607540d87055d058705550d87055d050d7a0d86055d05","0x4a0d17055d051705580d8a055d058905510d89055d05887807060d78055d05","0xd0d0d8a071a1758058a055d058a054b0d07055d050705200d1a055d051a05","0x1b055d051205120d0d5d050d070d1a17078b5758075d07050d07050d0d5d05","0x5d050d070d54058c552c075d071b05570d58055d055805580d0d5d050d640d","0xd8d050d6b0d51055d054f056f0d06055d052c057d0d4f055d0555057c0d0d","0x6f0d06055d0554057d0d20055d054a057e0d4a055d050d670d0d5d050d070d","0x46055d054b05800d0d5d050d070d25058e4b055d0751057f0d51055d052005","0x5d050d070d40058f0d5d074205650d42055d054205550d42055d054605810d","0xd0d90050d6b0d3e055d052d05690d2d055d052a05680d2a055d050d670d0d","0x3f05690d3f055d053a056d0d3a055d050d670d0d5d0540056c0d0d5d050d07","0x5170d0d5d050d740d0d5d050d070d6105916000075d070605570d3e055d05","0x55d050d2c0d62055d050d1b0d0d5d053e05820d0d5d0560051a0d0d5d0500","0x5646507060d65055d050d4f0d64055d05636207540d63055d056305550d63","0x705200d57055d0557054a0d58055d055805580d68055d056705510d67055d","0xd0d5d050d740d0d5d050d070d68075758580568055d0568054b0d07055d05","0x6b075d0769575812420d69055d056905460d69055d050d250d0d5d05610517","0x57105830d71055d053e056e0d70055d050d400d0d5d050d070d6e6d07926c","0x57305620d74055d057405610d74055d050d600d73055d057005000d72055d","0x75075d07727374076c57840d6b055d056b05580d72055d057205550d73055d","0x5760d7c7b075d057a05750d7a055d050d1b0d0d5d050d070d6a7977129376","0x5580d7e055d056f056a0d6f055d057d05790d7d055d057c05770d0d5d057b","0x58057e055d057e054b0d76055d057605200d75055d0575054a0d6b055d056b","0x58005510d80055d056a7f07060d7f055d050d4f0d0d5d050d070d7e76756b","0x81054b0d79055d057905200d77055d0577054a0d6b055d056b05580d81055d","0xd82055d050d1b0d0d5d053e05820d0d5d050d070d8179776b580581055d05","0xd85055d050d4f0d84055d05838207540d83055d058305550d83055d050d7a","0x55d056e054a0d6d055d056d05580d86055d053005510d30055d0584850706","0x740d0d5d050d070d86076e6d580586055d0586054b0d07055d050705200d6e","0x55d050d850d87055d050d1b0d0d5d050605170d0d5d052505710d0d5d050d","0x5788907060d89055d050d4f0d78055d05888707540d88055d058805550d88","0x705200d57055d0557054a0d58055d055805580d94055d058a05510d8a055d","0xd5d0512057b0d0d5d050d070d94075758580594055d0594054b0d07055d05","0x97055d05969507540d96055d059605550d96055d050d7a0d95055d050d1b0d","0x55d051705580d9a055d059905510d99055d05979807060d98055d050d4f0d","0x9a071a1758059a055d059a054b0d07055d050705200d1a055d051a054a0d17","0x9b1207050d3e403f0d581b403f0d580d1207050d3e403f0d581b403f0d5807"],"sierra_program_debug_info":{"type_names":[[0,"RangeCheck"],[1,"Const"],[2,"Box"],[3,"Unit"],[4,"core::option::Option::>"],[5,"Const"],[6,"Array"],[7,"Snapshot>"],[8,"core::array::Span::"],[9,"Tuple>"],[10,"Const"],[11,"Const"],[12,"core::bool"],[13,"felt252"],[14,"NonZero"],[15,"Const"],[16,"u32"],[17,"StorageAddress"],[18,"StorageBaseAddress"],[19,"core::starknet::storage::StoragePointer0Offset::"],[20,"BuiltinCosts"],[21,"System"],[22,"core::panics::Panic"],[23,"Tuple>"],[24,"core::panics::PanicResult::<(core::array::Span::,)>"],[25,"Const"],[26,"GasBuiltin"]],"libfunc_names":[[0,"revoke_ap_tracking"],[1,"withdraw_gas"],[2,"branch_align"],[3,"struct_deconstruct>"],[4,"store_temp"],[5,"array_snapshot_pop_front"],[6,"drop>>"],[7,"drop>"],[8,"array_new"],[9,"const_as_immediate>"],[10,"store_temp"],[11,"array_append"],[12,"struct_construct"],[13,"struct_construct>>"],[14,"enum_init,)>, 1>"],[15,"store_temp"],[16,"store_temp"],[17,"store_temp,)>>"],[18,"get_builtin_costs"],[19,"store_temp"],[20,"withdraw_gas_all"],[21,"storage_base_address_const<1153431758152617002674809172345379817267606445825896141478041208762844152223>"],[22,"struct_construct>"],[23,"snapshot_take>"],[24,"drop>"],[25,"struct_deconstruct>"],[26,"rename"],[27,"storage_address_from_base"],[28,"const_as_immediate>"],[29,"store_temp"],[30,"store_temp"],[31,"storage_read_syscall"],[32,"enable_ap_tracking"],[33,"felt252_is_zero"],[34,"struct_construct"],[35,"enum_init"],[36,"store_temp"],[37,"jump"],[38,"drop>"],[39,"enum_init"],[40,"bool_not_impl"],[41,"enum_match"],[42,"drop"],[43,"const_as_immediate>"],[44,"const_as_immediate>"],[45,"disable_ap_tracking"],[46,"snapshot_take>"],[47,"drop>"],[48,"struct_construct>"],[49,"struct_construct>>"],[50,"enum_init,)>, 0>"],[51,"const_as_immediate>"],[52,"drop>"],[53,"enum_init>, 0>"],[54,"store_temp>>"],[55,"store_temp>>"],[56,"enum_init>, 1>"],[57,"enum_match>>"],[58,"unbox"],[59,"rename"],[60,"drop"],[61,"bool_to_felt252"],[62,"storage_write_syscall"],[63,"const_as_immediate>"]],"user_func_names":[[0,"kill_switch::KillSwitch::__wrapper__KillSwitchImpl__is_active"],[1,"kill_switch::KillSwitch::__wrapper__constructor"]]},"contract_class_version":"0.1.0","entry_points_by_type":{"EXTERNAL":[{"selector":"0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","function_idx":0}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","function_idx":1}]},"abi":[{"type":"impl","name":"KillSwitchImpl","interface_name":"kill_switch::IKillSwitch"},{"type":"enum","name":"core::bool","variants":[{"name":"False","type":"()"},{"name":"True","type":"()"}]},{"type":"interface","name":"kill_switch::IKillSwitch","items":[{"type":"function","name":"is_active","inputs":[],"outputs":[{"type":"core::bool"}],"state_mutability":"view"}]},{"type":"constructor","name":"constructor","inputs":[{"name":"is_active","type":"core::bool"}]},{"type":"event","name":"kill_switch::KillSwitch::Event","kind":"enum","variants":[]}]} -------------------------------------------------------------------------------- /target/dev/workshop_workshop_KillSwitch.compiled_contract_class.json: -------------------------------------------------------------------------------- 1 | {"prime":"0x800000000000011000000000000000000000000000000000000000000000001","compiler_version":"2.8.0","bytecode":["0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x75","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x10b","0x482480017fff8000","0x10a","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x1158","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x40","0x4824800180007ff8","0x1158","0x400080007ff87fff","0x480680017fff8000","0x0","0x480680017fff8000","0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","0x482480017ff68000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x25","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0x20680017fff7ffd","0x6","0x480680017fff8000","0x1","0x10780017fff7fff","0x4","0x480680017fff8000","0x0","0x40780017fff7fff","0x1","0x480680017fff8000","0x1","0x48307ffd80007fff","0x20680017fff7fff","0x6","0x480680017fff8000","0x0","0x10780017fff7fff","0x4","0x480680017fff8000","0x1","0x400080007ffc7fff","0x48127ff57fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ff87fff8000","0x482480017ff78000","0x1","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480280047ffb8000","0x482680017ffb8000","0x8","0x480680017fff8000","0x1","0x480280067ffb8000","0x480280077ffb8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x8d","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x65","0x480080007fff8000","0x20680017fff7fff","0x6","0x480680017fff8000","0x1","0x10780017fff7fff","0x4","0x480680017fff8000","0x0","0x48307ffa80007ffb","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ff57fff8000","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x64","0x482480017fff8000","0x63","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff1","0x1284","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff07fff","0x10780017fff7fff","0x2c","0x4824800180007ff1","0x1284","0x400080007ff17fff","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","0x48307ff580007ffd","0x482480017fed8000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ff9","0x400280027ffb7ffb","0x400280037ffb7ffc","0x400280047ffb7ffd","0x480280067ffb8000","0x20680017fff7fff","0xd","0x40780017fff7fff","0x1","0x48127ffc7fff8000","0x480280057ffb8000","0x482680017ffb8000","0x7","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480280057ffb8000","0x482680017ffb8000","0x9","0x480680017fff8000","0x1","0x480280077ffb8000","0x480280087ffb8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017fee8000","0x1","0x48127fec7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x48127ff87fff8000","0x48127ff67fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe"],"bytecode_segment_lengths":[137,161],"hints":[[0,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[17,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[36,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x1158"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[60,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[75,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[107,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[122,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[137,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[184,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[203,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x1284"},"rhs":{"Deref":{"register":"AP","offset":-14}},"dst":{"register":"AP","offset":0}}}]],[231,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[234,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[254,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[269,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[283,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]]],"entry_points_by_type":{"EXTERNAL":[{"selector":"0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","offset":0,"builtins":["range_check"]}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","offset":137,"builtins":["range_check"]}]}} -------------------------------------------------------------------------------- /target/dev/workshop_workshop_KillSwitch.contract_class.json: -------------------------------------------------------------------------------- 1 | {"sierra_program":["0x1","0x6","0x0","0x2","0x8","0x0","0x9c","0x64","0x1b","0x52616e6765436865636b","0x800000000000000100000000000000000000000000000000","0x436f6e7374","0x800000000000000000000000000000000000000000000002","0x1","0xd","0x2","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x426f78","0x800000000000000700000000000000000000000000000001","0x537472756374","0x800000000000000f00000000000000000000000000000001","0x0","0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3","0x456e756d","0x800000000000000700000000000000000000000000000003","0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7","0x3","0x4f7574206f6620676173","0x4172726179","0x800000000000000300000000000000000000000000000001","0x536e617073686f74","0x6","0x800000000000000700000000000000000000000000000002","0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62","0x7","0x8","0x3288d594b9a45d15bb2fcb7903f06cdb06b27f0ba88186ec4cfaa98307cb972","0x66656c74323532","0x800000000000000700000000000000000000000000000000","0x4e6f6e5a65726f","0x10","0x753332","0x53746f7261676541646472657373","0x53746f726167654261736541646472657373","0x28a1868d4e0a4c6ae678a74db4e55a60b628ba8668dc128cf0c8e418d0a7945","0x12","0x4275696c74696e436f737473","0x53797374656d","0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672","0x800000000000000300000000000000000000000000000003","0x16","0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6","0x9","0x17","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x4761734275696c74696e","0x40","0x7265766f6b655f61705f747261636b696e67","0x77697468647261775f676173","0x6272616e63685f616c69676e","0x7374727563745f6465636f6e737472756374","0x73746f72655f74656d70","0x61727261795f736e617073686f745f706f705f66726f6e74","0x64726f70","0x61727261795f6e6577","0x636f6e73745f61735f696d6d656469617465","0x19","0x61727261795f617070656e64","0x7374727563745f636f6e737472756374","0x656e756d5f696e6974","0x18","0x1a","0x15","0x6765745f6275696c74696e5f636f737473","0x14","0x77697468647261775f6761735f616c6c","0x73746f726167655f626173655f616464726573735f636f6e7374","0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","0x13","0x736e617073686f745f74616b65","0x72656e616d65","0x73746f726167655f616464726573735f66726f6d5f62617365","0xf","0x11","0x73746f726167655f726561645f73797363616c6c","0x656e61626c655f61705f747261636b696e67","0x66656c743235325f69735f7a65726f","0xc","0x6a756d70","0xe","0x626f6f6c5f6e6f745f696d706c","0x656e756d5f6d61746368","0xb","0xa","0x64697361626c655f61705f747261636b696e67","0x5","0x4","0x756e626f78","0x626f6f6c5f746f5f66656c74323532","0x73746f726167655f77726974655f73797363616c6c","0xf9","0xffffffffffffffff","0x66","0x59","0x1c","0x1d","0x1e","0x1f","0x20","0x21","0x50","0x22","0x23","0x24","0x32","0x25","0x26","0x27","0x28","0x37","0x29","0x2a","0x2b","0x2c","0x2d","0x2e","0x2f","0x30","0x44","0x31","0x33","0x34","0x35","0x36","0x38","0x39","0x3a","0x3b","0x3c","0x3d","0x3e","0x3f","0x41","0x42","0x43","0x45","0x46","0xeb","0x80","0x85","0xdb","0x90","0x95","0xa7","0xcd","0xc4","0x47","0x48","0x49","0x4a","0x4b","0x4c","0x4d","0x74","0x915","0x13070605040312050705110d100f0e0d0c0b06050a09080706050403020100","0x7060504030507060504031b050e0d180b1a05190d180b17050a1606051514","0x240d180b1e231e221e210d072005040306050a1f1e1d120512051c0d100f0d","0x7060504032d052c052b0d290f17052a050e0d290b280d0c0b02271e262505","0x38070505371a050537060505360d0505351b0505340d330d320d3130022f2e","0x53505073e05073d2d05053c2a05053c0605053b060505353a050539060505","0x37460505474605053c450705440d43420505350d413e050535400505353f05","0xd4e0d4d0d4c4b050535200505354a0505390d492505054846050534460505","0x505530d520d074f05073d510505370d504f05053505074f05073d1205053c","0x2c05053c1b05053c17050537170505470d565505053954050539120505374f","0x5073d580505351a0505350d075805073d1b050537570505390d073e05073d","0xd0d0d5c050505390d5b0d5a4f050537060505480605055958050553050758","0x1b055d051205120d0d5d050d070d1a17075e5758075d07050d07050d0d5d05","0x52c05170d0d5d050d070d540540552c075d071b05570d58055d055805580d","0x6055d050605550d06055d050d2c0d4f055d050d1b0d0d5d0555051a0d0d5d","0x5d052005510d20055d05514a07060d4a055d050d4f0d51055d05064f07540d","0x54b054b0d07055d050705200d57055d0557054a0d58055d055805580d4b05","0x460d25055d050d250d0d5d055405170d0d5d050d070d4b07575858054b055d","0x50d400d0d5d050d070d2a40075f4246075d0725575812420d25055d052505","0x3f053a0d0d5d053a053e0d3f3a075d053e052d0d3e055d052d052a0d2d055d","0x6205610d62055d050d600d61055d056005000d60055d0500053f0d00055d05","0x63125d076162074258630d46055d054605580d61055d056105620d62055d05","0x63054a0d65055d056505550d0d5d050d640d0d5d050d070d69686712666564","0xd670d0d5d050d070d6b056a0d5d076505650d64055d056405200d63055d05","0x5d050d070d0d6f050d6b0d6e055d056d05690d6d055d056c05680d6c055d05","0x6e055d057105690d71055d0570056d0d70055d050d670d0d5d056b056c0d0d","0x74055d077305700d73055d057305690d73055d056e056e0d72055d050d1b0d","0x77055d057605550d76055d050d720d0d5d057405710d0d5d050d070d750530","0x57905550d79055d050d730d0d5d057505710d0d5d050d070d0d78050d6b0d","0x7a05760d7b7a075d056a05750d6a055d05777207540d0d5d050d740d77055d","0x4605580d6f055d057d056a0d7d055d057c05790d7c055d057b05770d0d5d05","0x4658056f055d056f054b0d64055d056405200d63055d0563054a0d46055d05","0x5d057f05510d7f055d05697e07060d7e055d050d4f0d0d5d050d070d6f6463","0x580054b0d68055d056805200d67055d0567054a0d46055d054605580d8005","0x550d82055d050d7a0d81055d050d1b0d0d5d050d070d80686746580580055d","0x85055d05838407060d84055d050d4f0d83055d05828107540d82055d058205","0x55d050705200d2a055d052a054a0d40055d054005580d30055d058505510d","0xd1b0d0d5d0512057b0d0d5d050d070d30072a40580530055d0530054b0d07","0xd4f0d88055d05878607540d87055d058705550d87055d050d7a0d86055d05","0x4a0d17055d051705580d8a055d058905510d89055d05887807060d78055d05","0xd0d0d8a071a1758058a055d058a054b0d07055d050705200d1a055d051a05","0x1b055d051205120d0d5d050d070d1a17078b5758075d07050d07050d0d5d05","0x5d050d070d54058c552c075d071b05570d58055d055805580d0d5d050d640d","0xd8d050d6b0d51055d054f056f0d06055d052c057d0d4f055d0555057c0d0d","0x6f0d06055d0554057d0d20055d054a057e0d4a055d050d670d0d5d050d070d","0x46055d054b05800d0d5d050d070d25058e4b055d0751057f0d51055d052005","0x5d050d070d40058f0d5d074205650d42055d054205550d42055d054605810d","0xd0d90050d6b0d3e055d052d05690d2d055d052a05680d2a055d050d670d0d","0x3f05690d3f055d053a056d0d3a055d050d670d0d5d0540056c0d0d5d050d07","0x5170d0d5d050d740d0d5d050d070d6105916000075d070605570d3e055d05","0x55d050d2c0d62055d050d1b0d0d5d053e05820d0d5d0560051a0d0d5d0500","0x5646507060d65055d050d4f0d64055d05636207540d63055d056305550d63","0x705200d57055d0557054a0d58055d055805580d68055d056705510d67055d","0xd0d5d050d740d0d5d050d070d68075758580568055d0568054b0d07055d05","0x6b075d0769575812420d69055d056905460d69055d050d250d0d5d05610517","0x57105830d71055d053e056e0d70055d050d400d0d5d050d070d6e6d07926c","0x57305620d74055d057405610d74055d050d600d73055d057005000d72055d","0x75075d07727374076c57840d6b055d056b05580d72055d057205550d73055d","0x5760d7c7b075d057a05750d7a055d050d1b0d0d5d050d070d6a7977129376","0x5580d7e055d056f056a0d6f055d057d05790d7d055d057c05770d0d5d057b","0x58057e055d057e054b0d76055d057605200d75055d0575054a0d6b055d056b","0x58005510d80055d056a7f07060d7f055d050d4f0d0d5d050d070d7e76756b","0x81054b0d79055d057905200d77055d0577054a0d6b055d056b05580d81055d","0xd82055d050d1b0d0d5d053e05820d0d5d050d070d8179776b580581055d05","0xd85055d050d4f0d84055d05838207540d83055d058305550d83055d050d7a","0x55d056e054a0d6d055d056d05580d86055d053005510d30055d0584850706","0x740d0d5d050d070d86076e6d580586055d0586054b0d07055d050705200d6e","0x55d050d850d87055d050d1b0d0d5d050605170d0d5d052505710d0d5d050d","0x5788907060d89055d050d4f0d78055d05888707540d88055d058805550d88","0x705200d57055d0557054a0d58055d055805580d94055d058a05510d8a055d","0xd5d0512057b0d0d5d050d070d94075758580594055d0594054b0d07055d05","0x97055d05969507540d96055d059605550d96055d050d7a0d95055d050d1b0d","0x55d051705580d9a055d059905510d99055d05979807060d98055d050d4f0d","0x9a071a1758059a055d059a054b0d07055d050705200d1a055d051a054a0d17","0x9b1207050d3e403f0d581b403f0d580d1207050d3e403f0d581b403f0d5807"],"sierra_program_debug_info":{"type_names":[[0,"RangeCheck"],[1,"Const"],[2,"Box"],[3,"Unit"],[4,"core::option::Option::>"],[5,"Const"],[6,"Array"],[7,"Snapshot>"],[8,"core::array::Span::"],[9,"Tuple>"],[10,"Const"],[11,"Const"],[12,"core::bool"],[13,"felt252"],[14,"NonZero"],[15,"Const"],[16,"u32"],[17,"StorageAddress"],[18,"StorageBaseAddress"],[19,"core::starknet::storage::StoragePointer0Offset::"],[20,"BuiltinCosts"],[21,"System"],[22,"core::panics::Panic"],[23,"Tuple>"],[24,"core::panics::PanicResult::<(core::array::Span::,)>"],[25,"Const"],[26,"GasBuiltin"]],"libfunc_names":[[0,"revoke_ap_tracking"],[1,"withdraw_gas"],[2,"branch_align"],[3,"struct_deconstruct>"],[4,"store_temp"],[5,"array_snapshot_pop_front"],[6,"drop>>"],[7,"drop>"],[8,"array_new"],[9,"const_as_immediate>"],[10,"store_temp"],[11,"array_append"],[12,"struct_construct"],[13,"struct_construct>>"],[14,"enum_init,)>, 1>"],[15,"store_temp"],[16,"store_temp"],[17,"store_temp,)>>"],[18,"get_builtin_costs"],[19,"store_temp"],[20,"withdraw_gas_all"],[21,"storage_base_address_const<1153431758152617002674809172345379817267606445825896141478041208762844152223>"],[22,"struct_construct>"],[23,"snapshot_take>"],[24,"drop>"],[25,"struct_deconstruct>"],[26,"rename"],[27,"storage_address_from_base"],[28,"const_as_immediate>"],[29,"store_temp"],[30,"store_temp"],[31,"storage_read_syscall"],[32,"enable_ap_tracking"],[33,"felt252_is_zero"],[34,"struct_construct"],[35,"enum_init"],[36,"store_temp"],[37,"jump"],[38,"drop>"],[39,"enum_init"],[40,"bool_not_impl"],[41,"enum_match"],[42,"drop"],[43,"const_as_immediate>"],[44,"const_as_immediate>"],[45,"disable_ap_tracking"],[46,"snapshot_take>"],[47,"drop>"],[48,"struct_construct>"],[49,"struct_construct>>"],[50,"enum_init,)>, 0>"],[51,"const_as_immediate>"],[52,"drop>"],[53,"enum_init>, 0>"],[54,"store_temp>>"],[55,"store_temp>>"],[56,"enum_init>, 1>"],[57,"enum_match>>"],[58,"unbox"],[59,"rename"],[60,"drop"],[61,"bool_to_felt252"],[62,"storage_write_syscall"],[63,"const_as_immediate>"]],"user_func_names":[[0,"workshop::KillSwitch::__wrapper__KillSwitchImpl__is_active"],[1,"workshop::KillSwitch::__wrapper__constructor"]]},"contract_class_version":"0.1.0","entry_points_by_type":{"EXTERNAL":[{"selector":"0x28cd1b9b7a6254f5219ad13ceac17ed7e5c245c1b5f97c1a9c7f69d59cd819f","function_idx":0}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","function_idx":1}]},"abi":[{"type":"impl","name":"KillSwitchImpl","interface_name":"workshop::IKillSwitch"},{"type":"enum","name":"core::bool","variants":[{"name":"False","type":"()"},{"name":"True","type":"()"}]},{"type":"interface","name":"workshop::IKillSwitch","items":[{"type":"function","name":"is_active","inputs":[],"outputs":[{"type":"core::bool"}],"state_mutability":"view"}]},{"type":"constructor","name":"constructor","inputs":[{"name":"is_active","type":"core::bool"}]},{"type":"event","name":"workshop::KillSwitch::Event","kind":"enum","variants":[]}]} -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@tsconfig/node21/tsconfig.json", 3 | "include": ["scripts/**/*"] 4 | } 5 | --------------------------------------------------------------------------------