From be1ea841856f1fc08fdc25acc9465d623fa0862c Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Mon, 27 Nov 2023 16:29:53 +0100 Subject: [PATCH 01/30] =?UTF-8?q?=E2=9C=A8=20v0.11=20calldata=20parsing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.lock | 2 + crates/client/data-availability/Cargo.toml | 2 + crates/client/data-availability/src/lib.rs | 127 ++++++++++++------- crates/client/data-availability/src/utils.rs | 123 ++++++++++++++---- crates/client/db/src/da_db.rs | 6 +- crates/examples/da-confs/avail.json | 6 + crates/examples/da-confs/celestia.json | 6 + crates/examples/da-confs/ethereum.json | 6 + crates/node/src/cli.rs | 2 +- crates/node/src/command.rs | 4 +- crates/node/src/commands/run.rs | 16 ++- 11 files changed, 220 insertions(+), 80 deletions(-) create mode 100644 crates/examples/da-confs/avail.json create mode 100644 crates/examples/da-confs/celestia.json create mode 100644 crates/examples/da-confs/ethereum.json diff --git a/Cargo.lock b/Cargo.lock index 0b3c0046b9..96d9b231dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6575,6 +6575,7 @@ dependencies = [ "clap 4.4.8", "ethers", "futures", + "indexmap 2.0.0-pre", "jsonrpsee 0.20.3", "log", "mc-db", @@ -6586,6 +6587,7 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.3.0)", + "sp-io 23.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.3.0)", "sp-keyring", "sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.3.0)", "starknet_api", diff --git a/crates/client/data-availability/Cargo.toml b/crates/client/data-availability/Cargo.toml index f80f7f0a3f..950d7073ed 100644 --- a/crates/client/data-availability/Cargo.toml +++ b/crates/client/data-availability/Cargo.toml @@ -29,6 +29,7 @@ thiserror = { workspace = true } tokio = { version = "1", features = ["full"] } url = "2.4.0" uuid = { version = "1.4.0", features = ["v4", "serde"] } +indexmap = { workspace = true } # Substrate sc-client-api = { workspace = true } @@ -36,6 +37,7 @@ sp-api = { workspace = true } sp-blockchain = { workspace = true } sp-core = { workspace = true } sp-runtime = { workspace = true } +sp-io = { workspace = true } # Starknet mc-db = { workspace = true, default-features = true } diff --git a/crates/client/data-availability/src/lib.rs b/crates/client/data-availability/src/lib.rs index 32aa062168..57031d95c6 100644 --- a/crates/client/data-availability/src/lib.rs +++ b/crates/client/data-availability/src/lib.rs @@ -4,7 +4,6 @@ pub mod ethereum; mod sharp; pub mod utils; -use std::collections::HashMap; use std::marker::PhantomData; use std::sync::Arc; @@ -12,13 +11,16 @@ use anyhow::Result; use async_trait::async_trait; use ethers::types::{I256, U256}; use futures::StreamExt; -use mp_storage::{SN_NONCE_PREFIX, SN_STORAGE_PREFIX}; +use indexmap::{IndexMap, IndexSet}; +use mp_storage::{STARKNET_CONTRACT_CLASS, STARKNET_CONTRACT_CLASS_HASH, STARKNET_NONCE, STARKNET_STORAGE}; use sc_client_api::client::BlockchainEvents; use serde::Deserialize; use sp_api::ProvideRuntimeApi; +use sp_io::hashing::twox_128; use sp_runtime::traits::Block as BlockT; - -pub type StorageWrites<'a> = Vec<(&'a [u8], &'a [u8])>; +use starknet_api::api_core::{ClassHash, CompiledClassHash, ContractAddress, Nonce}; +use starknet_api::state::{StorageKey, ThinStateDiff}; +use utils::{bytes_to_felt, bytes_to_key, safe_split, state_diff_to_calldata}; pub struct DataAvailabilityWorker(PhantomData<(B, C)>); @@ -31,7 +33,7 @@ pub enum DaLayer { /// Data availability modes in which Madara can be initialized. /// -/// Default only mode currently implemented is Validium. +/// Default only mode currently implemented is Sovereign. #[derive(Debug, Copy, Clone, PartialEq, Deserialize, Default)] pub enum DaMode { /// Full Validity Rollup @@ -51,15 +53,15 @@ pub enum DaMode { /// will be necessary. #[serde(rename = "volition")] Volition, - /// Sovereign Validium + /// Sovereign Rollup /// - /// Validium state diffs are untethered to an accompanying validity proof therefore + /// Sovereign state diffs are untethered to an accompanying validity proof therefore /// they can simply be published to any da solution available. As this solution does not /// require an execution trace to be proved we can simply parse the state diff from the /// storage changes of the block. - #[serde(rename = "validium")] + #[serde(rename = "sovereign")] #[default] - Validium, + Sovereign, } #[async_trait] @@ -81,53 +83,86 @@ where .expect("node has been initialized to prove state change, but can't read from notification stream"); while let Some(storage_event) = storage_event_st.next().await { - // Locate and encode the storage change - let mut nonces: HashMap<&[u8], &[u8]> = HashMap::new(); - let mut storage_diffs: HashMap<&[u8], StorageWrites> = HashMap::new(); - - // Locate and encode the storage change - for event in storage_event.changes.iter() { - let mut prefix = event.1.0.as_slice(); - let mut key: &[u8] = &[]; - if prefix.len() > 32 { - let raw_split = prefix.split_at(32); - prefix = raw_split.0; - key = raw_split.1; - } + let mut accessed_addrs: IndexSet = IndexSet::new(); + let mut state_diff = ThinStateDiff { + declared_classes: IndexMap::new(), + storage_diffs: IndexMap::new(), + nonces: IndexMap::new(), + deployed_contracts: IndexMap::new(), + deprecated_declared_classes: Vec::new(), + replaced_classes: IndexMap::new(), + }; - if prefix == *SN_NONCE_PREFIX { - if let Some(data) = event.2 { - nonces.insert(key, data.0.as_slice()); + for (_, storage_key, storage_val) in storage_event.changes.iter() { + // split storage key into the (starknet prefix) and (remaining tree path) + let (child_key, rest_key) = safe_split(&storage_key.0); + + // safety checks + let storage_val = match storage_val { + Some(x) => x.0.clone(), + None => continue, + }; + let rest_key = match rest_key { + Some(x) => x, + None => continue, + }; + + if child_key == twox_128(STARKNET_NONCE) { + // collect nonce information in state diff + state_diff + .nonces + .insert(ContractAddress(bytes_to_key(&rest_key)), Nonce(bytes_to_felt(&storage_val))); + accessed_addrs.insert(ContractAddress(bytes_to_key(&rest_key))); + } else if child_key == twox_128(STARKNET_STORAGE) { + // collect storage update information in state diff + if rest_key.len() > 32 { + let (addr, key) = rest_key.split_at(32); + let (addr, key) = (bytes_to_key(addr), bytes_to_key(key)); + + state_diff + .storage_diffs + .entry(ContractAddress(addr)) + .and_modify(|v| { + v.insert(StorageKey(key), bytes_to_felt(&storage_val)); + }) + .or_insert(IndexMap::from([(StorageKey(key), bytes_to_felt(&storage_val))])); + accessed_addrs.insert(ContractAddress(addr)); } - } - - if prefix == *SN_STORAGE_PREFIX { - if let Some(data) = event.2 { - // first 32 bytes = contract address, second 32 bytes = storage variable - let write_split = key.split_at(32); - - storage_diffs - .entry(write_split.0) - .and_modify(|v| v.push((write_split.1, data.0.as_slice()))) - .or_insert(vec![(write_split.1, data.0.as_slice())]); + } else if child_key == twox_128(STARKNET_CONTRACT_CLASS) { + // collect declared class information in state diff + state_diff + .declared_classes + .insert(ClassHash(bytes_to_felt(&rest_key)), CompiledClassHash(bytes_to_felt(&storage_val))); + } else if child_key == twox_128(STARKNET_CONTRACT_CLASS_HASH) { + // collect deployed contract information in state diff + // TODO: add contract_exists check + let contract_exists = false; + if contract_exists { + state_diff + .replaced_classes + .insert(ContractAddress(bytes_to_key(&rest_key)), ClassHash(bytes_to_felt(&storage_val))); + } else { + state_diff + .deployed_contracts + .insert(ContractAddress(bytes_to_key(&rest_key)), ClassHash(bytes_to_felt(&storage_val))); } + accessed_addrs.insert(ContractAddress(bytes_to_key(&rest_key))); } } - let state_diff = utils::pre_0_11_0_state_diff(storage_diffs, nonces); - - // Store the DA output from the SN OS - if let Err(db_err) = madara_backend.da().store_state_diff(&storage_event.block, state_diff) { + // store the da encoded calldata for the state update worker + if let Err(db_err) = madara_backend + .da() + .store_state_diff(&storage_event.block, state_diff_to_calldata(state_diff, accessed_addrs.len())) + { log::error!("db err: {db_err}"); }; match da_mode { DaMode::Validity => { - // Submit the StarkNet OS PIE - // TODO: Validity Impl - // run the Starknet OS with the Cairo VM - // extract the PIE from the Cairo VM run - // pass the PIE to `submit_pie` and zip/base64 internal + // TODO: + // - run the StarknetOs for this block + // - parse the PIE to `submit_pie` and zip/base64 internal if let Ok(job_resp) = sharp::submit_pie("TODO") { log::info!("Job Submitted: {}", job_resp.cairo_job_key); // Store the cairo job key @@ -176,7 +211,7 @@ where // Write the publish state diff of last_proved + 1 log::info!("validity da mode not implemented"); } - DaMode::Validium => match madara_backend.da().state_diff(¬ification.hash) { + DaMode::Sovereign => match madara_backend.da().state_diff(¬ification.hash) { Ok(state_diff) => { if let Err(e) = da_client.publish_state_diff(state_diff).await { log::error!("DA PUBLISH ERROR: {}", e); diff --git a/crates/client/data-availability/src/utils.rs b/crates/client/data-availability/src/utils.rs index ed0a0e743a..4d4c833d49 100644 --- a/crates/client/data-availability/src/utils.rs +++ b/crates/client/data-availability/src/utils.rs @@ -1,32 +1,84 @@ -use std::collections::HashMap; - use ethers::types::U256; +use starknet_api::api_core::{Nonce, PatriciaKey}; +use starknet_api::hash::StarkFelt; +use starknet_api::state::ThinStateDiff; use url::{ParseError, Url}; -// encode calldata: -// - https://docs.starknet.io/documentation/architecture_and_concepts/Data_Availability/on-chain-data/#pre_v0.11.0_example -pub fn pre_0_11_0_state_diff( - storage_diffs: HashMap<&[u8], crate::StorageWrites>, - nonces: HashMap<&[u8], &[u8]>, -) -> Vec { - let mut state_diff: Vec = Vec::new(); - - state_diff.push(U256::from(storage_diffs.len())); - - for (addr, writes) in storage_diffs { - state_diff.push(U256::from_big_endian(addr)); - state_diff.push(U256::from(writes.len())); - for write in writes { - state_diff.push(U256::from_big_endian(write.0)); - state_diff.push(U256::from_big_endian(write.1)); +const CLASS_FLAG_TRUE: &str = "0x100000000000000000000000000000001"; // 2 ^ 128 + 1 +const NONCE_BASE: &str = "0x10000000000000000"; // 2 ^ 64 + +/// DA calldata encoding: +/// - https://docs.starknet.io/documentation/architecture_and_concepts/Network_Architecture/on-chain-data +pub fn state_diff_to_calldata(mut state_diff: ThinStateDiff, num_addrs_accessed: usize) -> Vec { + let mut calldata: Vec = Vec::new(); + + calldata.push(U256::from(num_addrs_accessed)); + + // Loop over storage diffs + for (addr, writes) in state_diff.storage_diffs { + calldata.push(U256::from_big_endian(&addr.0.key().0)); + + let class_flag = state_diff.deployed_contracts.get(&addr).or_else(|| state_diff.replaced_classes.get(&addr)); + + let nonce = state_diff.nonces.remove(&addr); + calldata.push(da_word(class_flag.is_some(), nonce, writes.len() as u64)); + + if let Some(class_hash) = class_flag { + calldata.push(U256::from_big_endian(class_hash.0.bytes())); + } + + for (key, val) in &writes { + calldata.push(U256::from_big_endian(key.0.key().bytes())); + calldata.push(U256::from_big_endian(val.bytes())); } } - for (addr, nonce) in nonces { - state_diff.push(U256::from_big_endian(addr)); - state_diff.push(U256::from_big_endian(nonce)); + // Handle nonces + for (addr, nonce) in state_diff.nonces { + calldata.push(U256::from_big_endian(&addr.0.key().0)); + + let class_flag = state_diff.deployed_contracts.get(&addr).or_else(|| state_diff.replaced_classes.get(&addr)); + + calldata.push(da_word(class_flag.is_some(), Some(nonce), 0_u64)); + if let Some(class_hash) = class_flag { + calldata.push(U256::from_big_endian(class_hash.0.bytes())); + } + } + + // Handle deployed contracts + for (addr, class_hash) in state_diff.deployed_contracts { + calldata.push(U256::from_big_endian(&addr.0.key().0)); + + calldata.push(da_word(true, None, 0_u64)); + calldata.push(U256::from_big_endian(class_hash.0.bytes())); + } + + // Handle replaced classes + calldata.push(U256::from(state_diff.declared_classes.len())); + + for (class_hash, compiled_class_hash) in &state_diff.declared_classes { + calldata.push(U256::from_big_endian(class_hash.0.bytes())); + calldata.push(U256::from_big_endian(compiled_class_hash.0.bytes())); } - state_diff + + calldata +} + +/// DA word encoding: +/// |---padding---|---class flag---|---new nonce---|---num changes---| +/// 127 bits 1 bit 64 bits 64 bits +pub fn da_word(class_flag: bool, nonce_change: Option, num_changes: u64) -> U256 { + let mut word = U256::from(0); + + if class_flag { + word += U256::from_str_radix(CLASS_FLAG_TRUE, 16).unwrap(); + } + if let Some(new_nonce) = nonce_change { + word += U256::from_big_endian(new_nonce.0.bytes()) + U256::from_str_radix(NONCE_BASE, 16).unwrap(); + } + word += U256::from(num_changes); + + word } pub fn get_bytes_from_state_diff(state_diff: &[U256]) -> Vec { @@ -53,3 +105,30 @@ pub fn is_valid_ws_endpoint(endpoint: &str) -> bool { pub fn is_valid_http_endpoint(endpoint: &str) -> bool { if let Ok(url) = get_valid_url(endpoint) { matches!(url.scheme(), "http" | "https") } else { false } } + +pub fn safe_split(key: &[u8]) -> ([u8; 16], Option>) { + let length = key.len(); + let (mut child, mut rest) = ([0_u8; 16], None); + if length > 16 && key.len() <= 32 { + child[..(length - 16)].copy_from_slice(&key[16..]); + } else if length > 32 { + child.copy_from_slice(&key[16..32]); + rest = Some(Vec::from(&key[32..])) + } + + (child, rest) +} + +pub fn bytes_to_felt(raw: &[u8]) -> StarkFelt { + let mut buf = [0_u8; 32]; + if raw.len() < 32 { + buf[32 - raw.len()..].copy_from_slice(raw); + } else { + buf.copy_from_slice(&raw[..32]); + } + StarkFelt::new(buf).unwrap() +} + +pub fn bytes_to_key(raw: &[u8]) -> PatriciaKey { + PatriciaKey(bytes_to_felt(raw)) +} diff --git a/crates/client/db/src/da_db.rs b/crates/client/db/src/da_db.rs index 3bb68046f9..2c2fd943eb 100644 --- a/crates/client/db/src/da_db.rs +++ b/crates/client/db/src/da_db.rs @@ -21,14 +21,14 @@ impl DaDb { pub fn state_diff(&self, block_hash: &B::Hash) -> Result, String> { match self.db.get(crate::columns::DA, &block_hash.encode()) { Some(raw) => Ok(Vec::::decode(&mut &raw[..]).map_err(|e| format!("{:?}", e))?), - None => Ok(Vec::new()), + None => Err(String::from("can't write state diff")), } } - pub fn store_state_diff(&self, block_hash: &B::Hash, diffs: Vec) -> Result<(), String> { + pub fn store_state_diff(&self, block_hash: &B::Hash, diff: Vec) -> Result<(), String> { let mut transaction = sp_database::Transaction::new(); - transaction.set(crate::columns::DA, &block_hash.encode(), &diffs.encode()); + transaction.set(crate::columns::DA, &block_hash.encode(), &diff.encode()); self.db.commit(transaction).map_err(|e| format!("{:?}", e))?; diff --git a/crates/examples/da-confs/avail.json b/crates/examples/da-confs/avail.json new file mode 100644 index 0000000000..0190fc77cf --- /dev/null +++ b/crates/examples/da-confs/avail.json @@ -0,0 +1,6 @@ +{ + "ws_provider": "ws://127.0.0.1:9945", + "app_id": 0, + "validate_codegen": true, + "seed": "//Alice" +} \ No newline at end of file diff --git a/crates/examples/da-confs/celestia.json b/crates/examples/da-confs/celestia.json new file mode 100644 index 0000000000..a48e6a31d2 --- /dev/null +++ b/crates/examples/da-confs/celestia.json @@ -0,0 +1,6 @@ +{ + "http_provider": "http://127.0.0.1:26658", + "ws_provider": "ws://127.0.0.1:26658", + "nid": "Madara", + "auth_token": "" +} \ No newline at end of file diff --git a/crates/examples/da-confs/ethereum.json b/crates/examples/da-confs/ethereum.json new file mode 100644 index 0000000000..be77875883 --- /dev/null +++ b/crates/examples/da-confs/ethereum.json @@ -0,0 +1,6 @@ +{ + "http_provider": "http://127.0.0.1:8545", + "core_contracts": "0x5FbDB2315678afecb367f032d93F642f64180aa3", + "sequencer_key": "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", + "chain_id": 31337 +} \ No newline at end of file diff --git a/crates/node/src/cli.rs b/crates/node/src/cli.rs index 6bda3c781b..2c6674258e 100644 --- a/crates/node/src/cli.rs +++ b/crates/node/src/cli.rs @@ -53,5 +53,5 @@ pub enum Subcommand { /// Try some command against runtime state. Note: `try-runtime` feature must be enabled. #[cfg(not(feature = "try-runtime"))] - TryRuntime, + TryRuntimeDisabled, } diff --git a/crates/node/src/command.rs b/crates/node/src/command.rs index 900189844c..f1984ecc1c 100644 --- a/crates/node/src/command.rs +++ b/crates/node/src/command.rs @@ -170,8 +170,8 @@ pub fn run() -> sc_cli::Result<()> { }) } #[cfg(not(feature = "try-runtime"))] - Some(Subcommand::TryRuntime) => Err("TryRuntime wasn't enabled when building the node. You can enable it \ - with `--features try-runtime`." + Some(Subcommand::TryRuntimeDisabled) => Err("TryRuntime wasn't enabled when building the node. You can \ + enable it with `--features try-runtime`." .into()), Some(Subcommand::ChainInfo(ref cmd)) => { let runner = cli.create_runner(cmd)?; diff --git a/crates/node/src/commands/run.rs b/crates/node/src/commands/run.rs index f4549ceba7..5feda17b55 100644 --- a/crates/node/src/commands/run.rs +++ b/crates/node/src/commands/run.rs @@ -1,5 +1,6 @@ use std::path::PathBuf; +use clap::ArgGroup; use madara_runtime::SealingMode; use mc_data_availability::DaLayer; use sc_cli::{Result, RpcMethods, RunCmd, SubstrateCli}; @@ -33,6 +34,7 @@ impl From for SealingMode { } #[derive(Clone, Debug, clap::Args)] +#[clap(group(ArgGroup::new("da").requires_all(&["da_layer", "da_conf"])))] pub struct ExtendedRunCmd { #[clap(flatten)] pub base: RunCmd, @@ -42,9 +44,12 @@ pub struct ExtendedRunCmd { pub sealing: Option, /// Choose a supported DA Layer - #[clap(long)] + #[clap(long, group = "da")] pub da_layer: Option, + #[clap(long, group = "da")] + pub da_conf: Option, + /// When enabled, more information about the blocks and their transaction is cached and stored /// in the database. /// @@ -69,17 +74,16 @@ pub fn run_node(mut cli: Cli) -> Result<()> { override_dev_environment(&mut cli.run); } let runner = cli.create_runner(&cli.run.base)?; - let data_path = &runner.config().data_path; let da_config: Option<(DaLayer, PathBuf)> = match cli.run.da_layer { Some(da_layer) => { - let da_path = data_path.join("da-config.json"); - if !da_path.exists() { - log::info!("{} does not contain DA config", da_path.display()); + let da_conf = PathBuf::from(cli.run.da_conf.expect("no da config provided")); + if !da_conf.exists() { + log::info!("{} does not contain DA config", da_conf.display()); return Err("DA config not available".into()); } - Some((da_layer, da_path)) + Some((da_layer, da_conf)) } None => { log::info!("Madara initialized w/o DA layer"); From 057cb6a0a3f689683d1cb7adc595493aaa24a1f1 Mon Sep 17 00:00:00 2001 From: Evolve Date: Thu, 30 Nov 2023 13:29:54 +0000 Subject: [PATCH 02/30] fix: add std to deps --- crates/client/data-availability/Cargo.toml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/crates/client/data-availability/Cargo.toml b/crates/client/data-availability/Cargo.toml index 950d7073ed..1996a818b1 100644 --- a/crates/client/data-availability/Cargo.toml +++ b/crates/client/data-availability/Cargo.toml @@ -17,9 +17,9 @@ async-trait = { workspace = true } clap = { workspace = true, features = ["derive"] } futures = "0.3.21" jsonrpsee = { version = "0.20.0", features = [ - "http-client", - "ws-client", - "macros", + "http-client", + "ws-client", + "macros", ] } log = "0.4.19" reqwest = { version = "0.11.18", features = ["blocking", "json"] } @@ -33,11 +33,11 @@ indexmap = { workspace = true } # Substrate sc-client-api = { workspace = true } -sp-api = { workspace = true } +sp-api = { workspace = true, features = ["std"] } sp-blockchain = { workspace = true } -sp-core = { workspace = true } -sp-runtime = { workspace = true } -sp-io = { workspace = true } +sp-core = { workspace = true, features = ["std"] } +sp-runtime = { workspace = true, features = ["std"] } +sp-io = { workspace = true, features = ["std"] } # Starknet mc-db = { workspace = true, default-features = true } From 46b15f7ca7c35f510a30f7aa625cbe87b9c74a32 Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Sat, 2 Dec 2023 15:46:21 +0100 Subject: [PATCH 03/30] fix: num addrs accessed --- CHANGELOG.md | 2 ++ crates/client/data-availability/src/lib.rs | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e465724fb..9549ae147a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,8 @@ - chore(data-availability-avail): implement fire and forget, and add ws reconnection logic - chore: update `polkadot-sdk` to `release-polkadot-v1.3.0` +- feat(da): update da calldata encoding to v0.11.0 spec, da conf examples, da + conf flag ## v0.5.0 diff --git a/crates/client/data-availability/src/lib.rs b/crates/client/data-availability/src/lib.rs index 57031d95c6..e771f68a7d 100644 --- a/crates/client/data-availability/src/lib.rs +++ b/crates/client/data-availability/src/lib.rs @@ -11,7 +11,7 @@ use anyhow::Result; use async_trait::async_trait; use ethers::types::{I256, U256}; use futures::StreamExt; -use indexmap::{IndexMap, IndexSet}; +use indexmap::IndexMap; use mp_storage::{STARKNET_CONTRACT_CLASS, STARKNET_CONTRACT_CLASS_HASH, STARKNET_NONCE, STARKNET_STORAGE}; use sc_client_api::client::BlockchainEvents; use serde::Deserialize; @@ -83,7 +83,7 @@ where .expect("node has been initialized to prove state change, but can't read from notification stream"); while let Some(storage_event) = storage_event_st.next().await { - let mut accessed_addrs: IndexSet = IndexSet::new(); + let mut num_addrs_accessed: usize = 0; let mut state_diff = ThinStateDiff { declared_classes: IndexMap::new(), storage_diffs: IndexMap::new(), @@ -112,7 +112,7 @@ where state_diff .nonces .insert(ContractAddress(bytes_to_key(&rest_key)), Nonce(bytes_to_felt(&storage_val))); - accessed_addrs.insert(ContractAddress(bytes_to_key(&rest_key))); + num_addrs_accessed += 1; } else if child_key == twox_128(STARKNET_STORAGE) { // collect storage update information in state diff if rest_key.len() > 32 { @@ -126,7 +126,7 @@ where v.insert(StorageKey(key), bytes_to_felt(&storage_val)); }) .or_insert(IndexMap::from([(StorageKey(key), bytes_to_felt(&storage_val))])); - accessed_addrs.insert(ContractAddress(addr)); + num_addrs_accessed += 1; } } else if child_key == twox_128(STARKNET_CONTRACT_CLASS) { // collect declared class information in state diff @@ -146,14 +146,14 @@ where .deployed_contracts .insert(ContractAddress(bytes_to_key(&rest_key)), ClassHash(bytes_to_felt(&storage_val))); } - accessed_addrs.insert(ContractAddress(bytes_to_key(&rest_key))); + num_addrs_accessed += 1; } } // store the da encoded calldata for the state update worker if let Err(db_err) = madara_backend .da() - .store_state_diff(&storage_event.block, state_diff_to_calldata(state_diff, accessed_addrs.len())) + .store_state_diff(&storage_event.block, state_diff_to_calldata(state_diff, num_addrs_accessed)) { log::error!("db err: {db_err}"); }; From ee54cec0031616cb887ac60fb78b966754ffeb94 Mon Sep 17 00:00:00 2001 From: Evolve Date: Sun, 3 Dec 2023 23:44:16 +0100 Subject: [PATCH 04/30] prettier --- crates/examples/da-confs/avail.json | 10 +++++----- crates/examples/da-confs/celestia.json | 10 +++++----- crates/examples/da-confs/ethereum.json | 10 +++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/crates/examples/da-confs/avail.json b/crates/examples/da-confs/avail.json index 0190fc77cf..462e83bdef 100644 --- a/crates/examples/da-confs/avail.json +++ b/crates/examples/da-confs/avail.json @@ -1,6 +1,6 @@ { - "ws_provider": "ws://127.0.0.1:9945", - "app_id": 0, - "validate_codegen": true, - "seed": "//Alice" -} \ No newline at end of file + "ws_provider": "ws://127.0.0.1:9945", + "app_id": 0, + "validate_codegen": true, + "seed": "//Alice" +} diff --git a/crates/examples/da-confs/celestia.json b/crates/examples/da-confs/celestia.json index a48e6a31d2..30cb461fa0 100644 --- a/crates/examples/da-confs/celestia.json +++ b/crates/examples/da-confs/celestia.json @@ -1,6 +1,6 @@ { - "http_provider": "http://127.0.0.1:26658", - "ws_provider": "ws://127.0.0.1:26658", - "nid": "Madara", - "auth_token": "" -} \ No newline at end of file + "http_provider": "http://127.0.0.1:26658", + "ws_provider": "ws://127.0.0.1:26658", + "nid": "Madara", + "auth_token": "" +} diff --git a/crates/examples/da-confs/ethereum.json b/crates/examples/da-confs/ethereum.json index be77875883..e4c309ed43 100644 --- a/crates/examples/da-confs/ethereum.json +++ b/crates/examples/da-confs/ethereum.json @@ -1,6 +1,6 @@ { - "http_provider": "http://127.0.0.1:8545", - "core_contracts": "0x5FbDB2315678afecb367f032d93F642f64180aa3", - "sequencer_key": "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", - "chain_id": 31337 -} \ No newline at end of file + "http_provider": "http://127.0.0.1:8545", + "core_contracts": "0x5FbDB2315678afecb367f032d93F642f64180aa3", + "sequencer_key": "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", + "chain_id": 31337 +} From 55763910a53892b79572d1b163ac8d3630517aea Mon Sep 17 00:00:00 2001 From: Evolve Date: Sun, 3 Dec 2023 23:44:33 +0100 Subject: [PATCH 05/30] taplo --- crates/client/data-availability/Cargo.toml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/client/data-availability/Cargo.toml b/crates/client/data-availability/Cargo.toml index 1996a818b1..4779163288 100644 --- a/crates/client/data-availability/Cargo.toml +++ b/crates/client/data-availability/Cargo.toml @@ -16,10 +16,11 @@ anyhow = { workspace = true } async-trait = { workspace = true } clap = { workspace = true, features = ["derive"] } futures = "0.3.21" +indexmap = { workspace = true } jsonrpsee = { version = "0.20.0", features = [ - "http-client", - "ws-client", - "macros", + "http-client", + "ws-client", + "macros", ] } log = "0.4.19" reqwest = { version = "0.11.18", features = ["blocking", "json"] } @@ -29,15 +30,14 @@ thiserror = { workspace = true } tokio = { version = "1", features = ["full"] } url = "2.4.0" uuid = { version = "1.4.0", features = ["v4", "serde"] } -indexmap = { workspace = true } # Substrate sc-client-api = { workspace = true } sp-api = { workspace = true, features = ["std"] } sp-blockchain = { workspace = true } sp-core = { workspace = true, features = ["std"] } -sp-runtime = { workspace = true, features = ["std"] } sp-io = { workspace = true, features = ["std"] } +sp-runtime = { workspace = true, features = ["std"] } # Starknet mc-db = { workspace = true, default-features = true } From 95f4f780ad158f0be832e66237015c9a93b18e4b Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Mon, 4 Dec 2023 11:31:50 +0100 Subject: [PATCH 06/30] =?UTF-8?q?=E2=9C=A8=20check=20if=20contract=20exist?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.lock | 1 + crates/client/data-availability/Cargo.toml | 1 + crates/client/data-availability/src/lib.rs | 21 +++++++++++++-------- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 96d9b231dd..5d1f2a0233 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6580,6 +6580,7 @@ dependencies = [ "log", "mc-db", "mp-storage", + "pallet-starknet-runtime-api", "reqwest", "sc-client-api", "serde", diff --git a/crates/client/data-availability/Cargo.toml b/crates/client/data-availability/Cargo.toml index 4779163288..0e6262e4fb 100644 --- a/crates/client/data-availability/Cargo.toml +++ b/crates/client/data-availability/Cargo.toml @@ -42,6 +42,7 @@ sp-runtime = { workspace = true, features = ["std"] } # Starknet mc-db = { workspace = true, default-features = true } starknet_api = { workspace = true, default-features = true } +pallet-starknet-runtime-api = { workspace = true } # Ethereum ethers = "2.0.7" diff --git a/crates/client/data-availability/src/lib.rs b/crates/client/data-availability/src/lib.rs index e771f68a7d..ae6b42f5b3 100644 --- a/crates/client/data-availability/src/lib.rs +++ b/crates/client/data-availability/src/lib.rs @@ -13,9 +13,11 @@ use ethers::types::{I256, U256}; use futures::StreamExt; use indexmap::IndexMap; use mp_storage::{STARKNET_CONTRACT_CLASS, STARKNET_CONTRACT_CLASS_HASH, STARKNET_NONCE, STARKNET_STORAGE}; +use pallet_starknet_runtime_api::StarknetRuntimeApi; use sc_client_api::client::BlockchainEvents; use serde::Deserialize; use sp_api::ProvideRuntimeApi; +use sp_blockchain::HeaderBackend; use sp_io::hashing::twox_128; use sp_runtime::traits::Block as BlockT; use starknet_api::api_core::{ClassHash, CompiledClassHash, ContractAddress, Nonce}; @@ -75,6 +77,8 @@ impl DataAvailabilityWorker where B: BlockT, C: ProvideRuntimeApi, + C::Api: StarknetRuntimeApi, + C: HeaderBackend + 'static, C: BlockchainEvents + 'static, { pub async fn prove_current_block(da_mode: DaMode, client: Arc, madara_backend: Arc>) { @@ -135,16 +139,17 @@ where .insert(ClassHash(bytes_to_felt(&rest_key)), CompiledClassHash(bytes_to_felt(&storage_val))); } else if child_key == twox_128(STARKNET_CONTRACT_CLASS_HASH) { // collect deployed contract information in state diff - // TODO: add contract_exists check - let contract_exists = false; + let runtime_api = client.runtime_api(); + let class_hash = ClassHash(bytes_to_felt(&storage_val)); + let current_block_hash = client.info().best_hash; + + let contract_exists = + runtime_api.contract_class_by_class_hash(current_block_hash, class_hash).is_ok(); + if contract_exists { - state_diff - .replaced_classes - .insert(ContractAddress(bytes_to_key(&rest_key)), ClassHash(bytes_to_felt(&storage_val))); + state_diff.replaced_classes.insert(ContractAddress(bytes_to_key(&rest_key)), class_hash); } else { - state_diff - .deployed_contracts - .insert(ContractAddress(bytes_to_key(&rest_key)), ClassHash(bytes_to_felt(&storage_val))); + state_diff.deployed_contracts.insert(ContractAddress(bytes_to_key(&rest_key)), class_hash); } num_addrs_accessed += 1; } From ed58f71fc1b4ea282908accc6d5c8a665ea957a0 Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Mon, 4 Dec 2023 12:44:05 +0100 Subject: [PATCH 07/30] taplo --- crates/client/data-availability/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/client/data-availability/Cargo.toml b/crates/client/data-availability/Cargo.toml index 0e6262e4fb..d939fb9eab 100644 --- a/crates/client/data-availability/Cargo.toml +++ b/crates/client/data-availability/Cargo.toml @@ -41,8 +41,8 @@ sp-runtime = { workspace = true, features = ["std"] } # Starknet mc-db = { workspace = true, default-features = true } -starknet_api = { workspace = true, default-features = true } pallet-starknet-runtime-api = { workspace = true } +starknet_api = { workspace = true, default-features = true } # Ethereum ethers = "2.0.7" From c7723cc35b6bfda279b3707be1fc52a9006a3bbf Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Wed, 6 Dec 2023 00:22:30 +0100 Subject: [PATCH 08/30] fix: read data from commitment-state-diff --- Cargo.lock | 2 + .../client/commitment-state-diff/src/lib.rs | 4 +- crates/client/data-availability/Cargo.toml | 2 + crates/client/data-availability/src/lib.rs | 96 +++---------------- crates/node/src/service.rs | 6 +- 5 files changed, 23 insertions(+), 87 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5d1f2a0233..e5c4e9941c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6570,6 +6570,7 @@ dependencies = [ "anyhow", "async-trait", "avail-subxt", + "blockifier", "celestia-rpc", "celestia-types", "clap 4.4.8", @@ -6578,6 +6579,7 @@ dependencies = [ "indexmap 2.0.0-pre", "jsonrpsee 0.20.3", "log", + "mc-commitment-state-diff", "mc-db", "mp-storage", "pallet-starknet-runtime-api", diff --git a/crates/client/commitment-state-diff/src/lib.rs b/crates/client/commitment-state-diff/src/lib.rs index 4f74cbaf97..7d343f0b72 100644 --- a/crates/client/commitment-state-diff/src/lib.rs +++ b/crates/client/commitment-state-diff/src/lib.rs @@ -48,7 +48,7 @@ where C: HeaderBackend, H: HasherT + Unpin, { - type Item = (); + type Item = (BlockHash, CommitmentStateDiff); // CommitmentStateDiffWorker is a state machine with two states // state 1: waiting for some StorageEvent to happen, `commitment_state_diff` field is `None` @@ -95,7 +95,7 @@ where // Safe to unwrap because channel is ready self_as_mut.tx.start_send(msg).unwrap(); - Poll::Ready(Some(())) + Poll::Ready(None) } // Channel is full, we wait diff --git a/crates/client/data-availability/Cargo.toml b/crates/client/data-availability/Cargo.toml index d939fb9eab..a10e3c6f34 100644 --- a/crates/client/data-availability/Cargo.toml +++ b/crates/client/data-availability/Cargo.toml @@ -41,8 +41,10 @@ sp-runtime = { workspace = true, features = ["std"] } # Starknet mc-db = { workspace = true, default-features = true } +mc-commitment-state-diff = { workspace = true, default-features = true } pallet-starknet-runtime-api = { workspace = true } starknet_api = { workspace = true, default-features = true } +blockifier = { workspace = true, default-features = true } # Ethereum ethers = "2.0.7" diff --git a/crates/client/data-availability/src/lib.rs b/crates/client/data-availability/src/lib.rs index ae6b42f5b3..25f4ca7703 100644 --- a/crates/client/data-availability/src/lib.rs +++ b/crates/client/data-availability/src/lib.rs @@ -9,20 +9,18 @@ use std::sync::Arc; use anyhow::Result; use async_trait::async_trait; +use blockifier::state::cached_state::CommitmentStateDiff; use ethers::types::{I256, U256}; +use futures::channel::mpsc; use futures::StreamExt; -use indexmap::IndexMap; -use mp_storage::{STARKNET_CONTRACT_CLASS, STARKNET_CONTRACT_CLASS_HASH, STARKNET_NONCE, STARKNET_STORAGE}; use pallet_starknet_runtime_api::StarknetRuntimeApi; use sc_client_api::client::BlockchainEvents; use serde::Deserialize; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; -use sp_io::hashing::twox_128; use sp_runtime::traits::Block as BlockT; -use starknet_api::api_core::{ClassHash, CompiledClassHash, ContractAddress, Nonce}; -use starknet_api::state::{StorageKey, ThinStateDiff}; -use utils::{bytes_to_felt, bytes_to_key, safe_split, state_diff_to_calldata}; +use starknet_api::block::BlockHash; +use utils::{safe_split, state_diff_to_calldata}; pub struct DataAvailabilityWorker(PhantomData<(B, C)>); @@ -81,84 +79,16 @@ where C: HeaderBackend + 'static, C: BlockchainEvents + 'static, { - pub async fn prove_current_block(da_mode: DaMode, client: Arc, madara_backend: Arc>) { - let mut storage_event_st = client - .storage_changes_notification_stream(None, None) - .expect("node has been initialized to prove state change, but can't read from notification stream"); - - while let Some(storage_event) = storage_event_st.next().await { - let mut num_addrs_accessed: usize = 0; - let mut state_diff = ThinStateDiff { - declared_classes: IndexMap::new(), - storage_diffs: IndexMap::new(), - nonces: IndexMap::new(), - deployed_contracts: IndexMap::new(), - deprecated_declared_classes: Vec::new(), - replaced_classes: IndexMap::new(), - }; - - for (_, storage_key, storage_val) in storage_event.changes.iter() { - // split storage key into the (starknet prefix) and (remaining tree path) - let (child_key, rest_key) = safe_split(&storage_key.0); - - // safety checks - let storage_val = match storage_val { - Some(x) => x.0.clone(), - None => continue, - }; - let rest_key = match rest_key { - Some(x) => x, - None => continue, - }; - - if child_key == twox_128(STARKNET_NONCE) { - // collect nonce information in state diff - state_diff - .nonces - .insert(ContractAddress(bytes_to_key(&rest_key)), Nonce(bytes_to_felt(&storage_val))); - num_addrs_accessed += 1; - } else if child_key == twox_128(STARKNET_STORAGE) { - // collect storage update information in state diff - if rest_key.len() > 32 { - let (addr, key) = rest_key.split_at(32); - let (addr, key) = (bytes_to_key(addr), bytes_to_key(key)); - - state_diff - .storage_diffs - .entry(ContractAddress(addr)) - .and_modify(|v| { - v.insert(StorageKey(key), bytes_to_felt(&storage_val)); - }) - .or_insert(IndexMap::from([(StorageKey(key), bytes_to_felt(&storage_val))])); - num_addrs_accessed += 1; - } - } else if child_key == twox_128(STARKNET_CONTRACT_CLASS) { - // collect declared class information in state diff - state_diff - .declared_classes - .insert(ClassHash(bytes_to_felt(&rest_key)), CompiledClassHash(bytes_to_felt(&storage_val))); - } else if child_key == twox_128(STARKNET_CONTRACT_CLASS_HASH) { - // collect deployed contract information in state diff - let runtime_api = client.runtime_api(); - let class_hash = ClassHash(bytes_to_felt(&storage_val)); - let current_block_hash = client.info().best_hash; - - let contract_exists = - runtime_api.contract_class_by_class_hash(current_block_hash, class_hash).is_ok(); - - if contract_exists { - state_diff.replaced_classes.insert(ContractAddress(bytes_to_key(&rest_key)), class_hash); - } else { - state_diff.deployed_contracts.insert(ContractAddress(bytes_to_key(&rest_key)), class_hash); - } - num_addrs_accessed += 1; - } - } - + pub async fn prove_current_block( + da_mode: DaMode, + mut state_diffs_rx: mpsc::Receiver<(BlockHash, CommitmentStateDiff)>, + madara_backend: Arc>, + ) { + while let Some((block_hash, csd)) = state_diffs_rx.next().await { // store the da encoded calldata for the state update worker if let Err(db_err) = madara_backend .da() - .store_state_diff(&storage_event.block, state_diff_to_calldata(state_diff, num_addrs_accessed)) + .store_state_diff(&block_hash, state_diff_to_calldata(csd, csd.address_to_class_hash.len())) { log::error!("db err: {db_err}"); }; @@ -171,9 +101,7 @@ where if let Ok(job_resp) = sharp::submit_pie("TODO") { log::info!("Job Submitted: {}", job_resp.cairo_job_key); // Store the cairo job key - if let Err(db_err) = - madara_backend.da().update_cairo_job(&storage_event.block, job_resp.cairo_job_key) - { + if let Err(db_err) = madara_backend.da().update_cairo_job(&block_hash, job_resp.cairo_job_key) { log::error!("db err: {db_err}"); }; } diff --git a/crates/node/src/service.rs b/crates/node/src/service.rs index a863284d08..45a9e965af 100644 --- a/crates/node/src/service.rs +++ b/crates/node/src/service.rs @@ -442,7 +442,11 @@ pub fn new_full( task_manager.spawn_essential_handle().spawn( "da-worker-prove", Some("madara"), - DataAvailabilityWorker::prove_current_block(da_client.get_mode(), client.clone(), madara_backend.clone()), + DataAvailabilityWorker::prove_current_block( + da_client.get_mode(), + commitment_state_diff_rx, + madara_backend.clone(), + ), ); task_manager.spawn_essential_handle().spawn( "da-worker-update", From 1853e318819cb73f195e38acbeb6d02c5706bcef Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Wed, 6 Dec 2023 00:59:42 +0100 Subject: [PATCH 09/30] fix: use starknet block hash in da db --- Cargo.lock | 3 +++ crates/client/data-availability/Cargo.toml | 2 ++ crates/client/data-availability/src/lib.rs | 22 +++++++++++----- crates/client/db/Cargo.toml | 1 + crates/client/db/src/da_db.rs | 30 +++++++++++++--------- 5 files changed, 40 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e5c4e9941c..c90c23d20e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6581,6 +6581,8 @@ dependencies = [ "log", "mc-commitment-state-diff", "mc-db", + "mp-digest-log", + "mp-hashers", "mp-storage", "pallet-starknet-runtime-api", "reqwest", @@ -6614,6 +6616,7 @@ dependencies = [ "sp-core 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.3.0)", "sp-database", "sp-runtime 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.3.0)", + "starknet_api", "uuid 1.6.1", ] diff --git a/crates/client/data-availability/Cargo.toml b/crates/client/data-availability/Cargo.toml index a10e3c6f34..444e8e0f16 100644 --- a/crates/client/data-availability/Cargo.toml +++ b/crates/client/data-availability/Cargo.toml @@ -60,3 +60,5 @@ celestia-types = { git = "https://github.com/eigerco/celestia-node-rs", rev = "b # Madara mp-storage = { workspace = true, default-features = true } +mp-digest-log = { workspace = true, default-features = true } +mp-hashers = { workspace = true, default-features = true } diff --git a/crates/client/data-availability/src/lib.rs b/crates/client/data-availability/src/lib.rs index 25f4ca7703..c9d73dec50 100644 --- a/crates/client/data-availability/src/lib.rs +++ b/crates/client/data-availability/src/lib.rs @@ -13,16 +13,17 @@ use blockifier::state::cached_state::CommitmentStateDiff; use ethers::types::{I256, U256}; use futures::channel::mpsc; use futures::StreamExt; +use mp_hashers::HasherT; use pallet_starknet_runtime_api::StarknetRuntimeApi; use sc_client_api::client::BlockchainEvents; use serde::Deserialize; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; -use sp_runtime::traits::Block as BlockT; +use sp_runtime::traits::{Block as BlockT, Header}; use starknet_api::block::BlockHash; -use utils::{safe_split, state_diff_to_calldata}; +use utils::state_diff_to_calldata; -pub struct DataAvailabilityWorker(PhantomData<(B, C)>); +pub struct DataAvailabilityWorker(PhantomData<(B, C, H)>); #[derive(Debug, Copy, Clone, PartialEq, clap::ValueEnum)] pub enum DaLayer { @@ -71,7 +72,7 @@ pub trait DaClient: Send + Sync { async fn publish_state_diff(&self, state_diff: Vec) -> Result<()>; } -impl DataAvailabilityWorker +impl DataAvailabilityWorker where B: BlockT, C: ProvideRuntimeApi, @@ -114,11 +115,14 @@ where } } -impl DataAvailabilityWorker +impl DataAvailabilityWorker where B: BlockT, C: ProvideRuntimeApi, + C::Api: StarknetRuntimeApi, C: BlockchainEvents + 'static, + C: HeaderBackend, + H: HasherT + Unpin, { pub async fn update_state( da_client: Box, @@ -138,13 +142,19 @@ where } }; + let starknet_block_hash = { + let digest = notification.header.digest(); + let block = mp_digest_log::find_starknet_block(digest).expect("starknet block not found"); + block.header().hash::().into() + }; + match da_client.get_mode() { DaMode::Validity => { // Check the SHARP status of last_proved + 1 // Write the publish state diff of last_proved + 1 log::info!("validity da mode not implemented"); } - DaMode::Sovereign => match madara_backend.da().state_diff(¬ification.hash) { + DaMode::Sovereign => match madara_backend.da().state_diff(&starknet_block_hash) { Ok(state_diff) => { if let Err(e) = da_client.publish_state_diff(state_diff).await { log::error!("DA PUBLISH ERROR: {}", e); diff --git a/crates/client/db/Cargo.toml b/crates/client/db/Cargo.toml index 29568e2748..26ba8a3545 100644 --- a/crates/client/db/Cargo.toml +++ b/crates/client/db/Cargo.toml @@ -28,6 +28,7 @@ sp-core = { workspace = true, default-features = true } sp-database = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } uuid = "1.4.1" +starknet_api = { workspace = true, default-features = true } [features] default = ["kvdb-rocksdb", "parity-db"] diff --git a/crates/client/db/src/da_db.rs b/crates/client/db/src/da_db.rs index 2c2fd943eb..132fd098a1 100644 --- a/crates/client/db/src/da_db.rs +++ b/crates/client/db/src/da_db.rs @@ -6,6 +6,9 @@ use ethers::types::U256; use scale_codec::{Decode, Encode}; use sp_database::Database; use sp_runtime::traits::Block as BlockT; +// Starknet +use starknet_api::block::BlockHash; +use starknet_api::hash::StarkFelt; use uuid::Uuid; use crate::DbHash; @@ -18,51 +21,54 @@ pub struct DaDb { // TODO: purge old cairo job keys impl DaDb { - pub fn state_diff(&self, block_hash: &B::Hash) -> Result, String> { - match self.db.get(crate::columns::DA, &block_hash.encode()) { + pub fn state_diff(&self, block_hash: &BlockHash) -> Result, String> { + match self.db.get(crate::columns::DA, block_hash.0.bytes()) { Some(raw) => Ok(Vec::::decode(&mut &raw[..]).map_err(|e| format!("{:?}", e))?), None => Err(String::from("can't write state diff")), } } - pub fn store_state_diff(&self, block_hash: &B::Hash, diff: Vec) -> Result<(), String> { + pub fn store_state_diff(&self, block_hash: &BlockHash, diff: Vec) -> Result<(), String> { let mut transaction = sp_database::Transaction::new(); - transaction.set(crate::columns::DA, &block_hash.encode(), &diff.encode()); + transaction.set(crate::columns::DA, block_hash.0.bytes(), &diff.encode()); self.db.commit(transaction).map_err(|e| format!("{:?}", e))?; Ok(()) } - pub fn cairo_job(&self, block_hash: &B::Hash) -> Result { - match self.db.get(crate::columns::DA, &block_hash.encode()) { + pub fn cairo_job(&self, block_hash: &BlockHash) -> Result { + match self.db.get(crate::columns::DA, block_hash.0.bytes()) { Some(raw) => Ok(Uuid::from_slice(&raw[..]).map_err(|e| format!("{:?}", e))?), None => Err(String::from("can't locate cairo job")), } } - pub fn update_cairo_job(&self, block_hash: &B::Hash, job_id: Uuid) -> Result<(), String> { + pub fn update_cairo_job(&self, block_hash: &BlockHash, job_id: Uuid) -> Result<(), String> { let mut transaction = sp_database::Transaction::new(); - transaction.set(crate::columns::DA, &block_hash.encode(), &job_id.into_bytes()); + transaction.set(crate::columns::DA, block_hash.0.bytes(), &job_id.into_bytes()); self.db.commit(transaction).map_err(|e| format!("{:?}", e))?; Ok(()) } - pub fn last_proved_block(&self) -> Result { + pub fn last_proved_block(&self) -> Result { match self.db.get(crate::columns::DA, crate::static_keys::LAST_PROVED_BLOCK) { - Some(raw) => Ok(B::Hash::decode(&mut &raw[..]).map_err(|e| format!("{:?}", e))?), + Some(raw) => { + let felt = StarkFelt::deserialize(&raw[..]).ok_or("Failed to deserialize block hash")?; + Ok(BlockHash(felt)) + } None => Err(String::from("can't locate last proved block")), } } - pub fn update_last_proved_block(&self, block_hash: &B::Hash) -> Result<(), String> { + pub fn update_last_proved_block(&self, block_hash: &BlockHash) -> Result<(), String> { let mut transaction = sp_database::Transaction::new(); - transaction.set(crate::columns::DA, crate::static_keys::LAST_PROVED_BLOCK, &block_hash.encode()); + transaction.set(crate::columns::DA, crate::static_keys::LAST_PROVED_BLOCK, block_hash.0.bytes()); self.db.commit(transaction).map_err(|e| format!("{:?}", e))?; From 74ebcd8b3930e5dafb9397a545d262b12cb127d3 Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Wed, 6 Dec 2023 19:35:00 +0100 Subject: [PATCH 10/30] fix: use thin state diff --- .../client/commitment-state-diff/src/lib.rs | 71 ++++++++++++------- crates/client/data-availability/src/lib.rs | 20 +++--- crates/node/src/service.rs | 14 ++-- 3 files changed, 58 insertions(+), 47 deletions(-) diff --git a/crates/client/commitment-state-diff/src/lib.rs b/crates/client/commitment-state-diff/src/lib.rs index 7d343f0b72..aa8c770dc6 100644 --- a/crates/client/commitment-state-diff/src/lib.rs +++ b/crates/client/commitment-state-diff/src/lib.rs @@ -3,12 +3,14 @@ use std::pin::Pin; use std::sync::Arc; use std::task::Poll; -use blockifier::state::cached_state::CommitmentStateDiff; use futures::channel::mpsc; -use futures::{Stream, StreamExt}; +use futures::Stream; use indexmap::IndexMap; use mp_hashers::HasherT; -use mp_storage::{SN_COMPILED_CLASS_HASH_PREFIX, SN_CONTRACT_CLASS_HASH_PREFIX, SN_NONCE_PREFIX, SN_STORAGE_PREFIX}; +use mp_storage::{ + SN_COMPILED_CLASS_HASH_PREFIX, SN_CONTRACT_CLASS_HASH_PREFIX, SN_CONTRACT_CLASS_PREFIX, SN_NONCE_PREFIX, + SN_STORAGE_PREFIX, +}; use pallet_starknet_runtime_api::StarknetRuntimeApi; use sc_client_api::client::BlockchainEvents; use sc_client_api::{StorageEventStream, StorageNotification}; @@ -18,14 +20,14 @@ use sp_runtime::traits::{Block as BlockT, Header}; use starknet_api::api_core::{ClassHash, CompiledClassHash, ContractAddress, Nonce, PatriciaKey}; use starknet_api::block::BlockHash; use starknet_api::hash::StarkFelt; -use starknet_api::state::StorageKey as StarknetStorageKey; +use starknet_api::state::{StorageKey as StarknetStorageKey, ThinStateDiff}; use thiserror::Error; pub struct CommitmentStateDiffWorker { client: Arc, storage_event_stream: StorageEventStream, - tx: mpsc::Sender<(BlockHash, CommitmentStateDiff)>, - msg: Option<(BlockHash, CommitmentStateDiff)>, + tx: mpsc::Sender<(BlockHash, ThinStateDiff, usize)>, + msg: Option<(BlockHash, ThinStateDiff, usize)>, phantom: PhantomData, } @@ -33,7 +35,7 @@ impl CommitmentStateDiffWorker where C: BlockchainEvents, { - pub fn new(client: Arc, tx: mpsc::Sender<(BlockHash, CommitmentStateDiff)>) -> Self { + pub fn new(client: Arc, tx: mpsc::Sender<(BlockHash, ThinStateDiff, usize)>) -> Self { let storage_event_stream = client .storage_changes_notification_stream(None, None) .expect("the node storage changes notification stream should be up and running"); @@ -48,7 +50,7 @@ where C: HeaderBackend, H: HasherT + Unpin, { - type Item = (BlockHash, CommitmentStateDiff); + type Item = (); // CommitmentStateDiffWorker is a state machine with two states // state 1: waiting for some StorageEvent to happen, `commitment_state_diff` field is `None` @@ -124,7 +126,7 @@ enum BuildCommitmentStateDiffError { fn build_commitment_state_diff( client: Arc, storage_notification: StorageNotification, -) -> Result<(BlockHash, CommitmentStateDiff), BuildCommitmentStateDiffError> +) -> Result<(BlockHash, ThinStateDiff, usize), BuildCommitmentStateDiffError> where C: ProvideRuntimeApi, C::Api: StarknetRuntimeApi, @@ -138,11 +140,14 @@ where block.header().hash::().into() }; - let mut commitment_state_diff = CommitmentStateDiff { - address_to_class_hash: Default::default(), - address_to_nonce: Default::default(), - storage_updates: Default::default(), - class_hash_to_compiled_class_hash: Default::default(), + let mut num_addrs_accessed: usize = 0; + let mut commitment_state_diff = ThinStateDiff { + declared_classes: IndexMap::new(), + storage_diffs: IndexMap::new(), + nonces: IndexMap::new(), + deployed_contracts: IndexMap::new(), + deprecated_declared_classes: Vec::new(), + replaced_classes: IndexMap::new(), }; for (_prefix, full_storage_key, change) in storage_notification.changes.iter() { @@ -162,7 +167,7 @@ where ContractAddress(PatriciaKey(StarkFelt(full_storage_key.0[32..].try_into().unwrap()))); // `change` is safe to unwrap as `Nonces` storage is `ValueQuery` let nonce = Nonce(StarkFelt(change.unwrap().0.clone().try_into().unwrap())); - commitment_state_diff.address_to_nonce.insert(contract_address, nonce); + commitment_state_diff.nonces.insert(contract_address, nonce); } else if prefix == *SN_STORAGE_PREFIX { let contract_address = ContractAddress(PatriciaKey(StarkFelt(full_storage_key.0[32..64].try_into().unwrap()))); @@ -170,7 +175,7 @@ where // `change` is safe to unwrap as `StorageView` storage is `ValueQuery` let value = StarkFelt(change.unwrap().0.clone().try_into().unwrap()); - match commitment_state_diff.storage_updates.get_mut(&contract_address) { + match commitment_state_diff.storage_diffs.get_mut(&contract_address) { Some(contract_storage) => { contract_storage.insert(storage_key, value); } @@ -178,16 +183,36 @@ where let mut contract_storage: IndexMap<_, _, _> = Default::default(); contract_storage.insert(storage_key, value); - commitment_state_diff.storage_updates.insert(contract_address, contract_storage); + commitment_state_diff.storage_diffs.insert(contract_address, contract_storage); } } + } else if prefix == *SN_CONTRACT_CLASS_PREFIX { + let class_hash = ClassHash(StarkFelt(full_storage_key.0[32..].try_into().unwrap())); + // In the current state of starknet protocol, a contract class can not be erased, so we should + // never see `change` being `None`. But there have been an "erase contract class" mechanism live on + // the network during the Regenesis migration. Better safe than sorry. + let compiled_class_hash = + CompiledClassHash(change.map(|data| StarkFelt(data.0.clone().try_into().unwrap())).unwrap_or_default()); + + commitment_state_diff.declared_classes.insert(class_hash, compiled_class_hash); } else if prefix == *SN_CONTRACT_CLASS_HASH_PREFIX { let contract_address = ContractAddress(PatriciaKey(StarkFelt(full_storage_key.0[32..].try_into().unwrap()))); // `change` is safe to unwrap as `ContractClassHashes` storage is `ValueQuery` let class_hash = ClassHash(StarkFelt(change.unwrap().0.clone().try_into().unwrap())); - commitment_state_diff.address_to_class_hash.insert(contract_address, class_hash); + // check if contract already exists + let runtime_api = client.runtime_api(); + let current_block_hash = client.info().best_hash; + + let contract_exists = runtime_api.contract_class_by_class_hash(current_block_hash, class_hash).is_ok(); + + if contract_exists { + commitment_state_diff.replaced_classes.insert(contract_address, class_hash); + } else { + commitment_state_diff.deployed_contracts.insert(contract_address, class_hash); + } + num_addrs_accessed += 1; } else if prefix == *SN_COMPILED_CLASS_HASH_PREFIX { let class_hash = ClassHash(StarkFelt(full_storage_key.0[32..].try_into().unwrap())); // In the current state of starknet protocol, a compiled class hash can not be erased, so we should @@ -196,15 +221,9 @@ where let compiled_class_hash = CompiledClassHash(change.map(|data| StarkFelt(data.0.clone().try_into().unwrap())).unwrap_or_default()); - commitment_state_diff.class_hash_to_compiled_class_hash.insert(class_hash, compiled_class_hash); + commitment_state_diff.declared_classes.insert(class_hash, compiled_class_hash); } } - Ok((starknet_block_hash, commitment_state_diff)) -} - -pub async fn log_commitment_state_diff(mut rx: mpsc::Receiver<(BlockHash, CommitmentStateDiff)>) { - while let Some((block_hash, csd)) = rx.next().await { - log::info!("received state diff for block {block_hash}: {csd:?}"); - } + Ok((starknet_block_hash, commitment_state_diff, num_addrs_accessed)) } diff --git a/crates/client/data-availability/src/lib.rs b/crates/client/data-availability/src/lib.rs index c9d73dec50..2b1bfb1160 100644 --- a/crates/client/data-availability/src/lib.rs +++ b/crates/client/data-availability/src/lib.rs @@ -9,7 +9,6 @@ use std::sync::Arc; use anyhow::Result; use async_trait::async_trait; -use blockifier::state::cached_state::CommitmentStateDiff; use ethers::types::{I256, U256}; use futures::channel::mpsc; use futures::StreamExt; @@ -21,9 +20,11 @@ use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; use sp_runtime::traits::{Block as BlockT, Header}; use starknet_api::block::BlockHash; +use starknet_api::state::ThinStateDiff; use utils::state_diff_to_calldata; pub struct DataAvailabilityWorker(PhantomData<(B, C, H)>); +pub struct DataAvailabilityWorkerProving(PhantomData); #[derive(Debug, Copy, Clone, PartialEq, clap::ValueEnum)] pub enum DaLayer { @@ -72,24 +73,21 @@ pub trait DaClient: Send + Sync { async fn publish_state_diff(&self, state_diff: Vec) -> Result<()>; } -impl DataAvailabilityWorker +impl DataAvailabilityWorkerProving where B: BlockT, - C: ProvideRuntimeApi, - C::Api: StarknetRuntimeApi, - C: HeaderBackend + 'static, - C: BlockchainEvents + 'static, { pub async fn prove_current_block( da_mode: DaMode, - mut state_diffs_rx: mpsc::Receiver<(BlockHash, CommitmentStateDiff)>, + mut state_diffs_rx: mpsc::Receiver<(BlockHash, ThinStateDiff, usize)>, madara_backend: Arc>, ) { - while let Some((block_hash, csd)) = state_diffs_rx.next().await { + while let Some((block_hash, csd, num_addr_accessed)) = state_diffs_rx.next().await { + log::info!("received state diff for block {block_hash}: {csd:?}. {num_addr_accessed} addresses accessed."); + // store the da encoded calldata for the state update worker - if let Err(db_err) = madara_backend - .da() - .store_state_diff(&block_hash, state_diff_to_calldata(csd, csd.address_to_class_hash.len())) + if let Err(db_err) = + madara_backend.da().store_state_diff(&block_hash, state_diff_to_calldata(csd, num_addr_accessed)) { log::error!("db err: {db_err}"); }; diff --git a/crates/node/src/service.rs b/crates/node/src/service.rs index 45a9e965af..d369bb5652 100644 --- a/crates/node/src/service.rs +++ b/crates/node/src/service.rs @@ -11,14 +11,14 @@ use futures::future::BoxFuture; use futures::prelude::*; use madara_runtime::opaque::Block; use madara_runtime::{self, Hash, RuntimeApi, SealingMode, StarknetHasher}; -use mc_commitment_state_diff::{log_commitment_state_diff, CommitmentStateDiffWorker}; +use mc_commitment_state_diff::CommitmentStateDiffWorker; use mc_data_availability::avail::config::AvailConfig; use mc_data_availability::avail::AvailClient; use mc_data_availability::celestia::config::CelestiaConfig; use mc_data_availability::celestia::CelestiaClient; use mc_data_availability::ethereum::config::EthereumConfig; use mc_data_availability::ethereum::EthereumClient; -use mc_data_availability::{DaClient, DaLayer, DataAvailabilityWorker}; +use mc_data_availability::{DaClient, DaLayer, DataAvailabilityWorker, DataAvailabilityWorkerProving}; use mc_mapping_sync::MappingSyncWorker; use mc_storage::overrides_handle; use mp_sequencer_address::{ @@ -416,12 +416,6 @@ pub fn new_full( .for_each(|()| future::ready(())), ); - task_manager.spawn_essential_handle().spawn( - "commitment-state-logger", - Some("madara"), - log_commitment_state_diff(commitment_state_diff_rx), - ); - // initialize data availability worker if let Some((da_layer, da_path)) = da_layer { let da_client: Box = match da_layer { @@ -442,7 +436,7 @@ pub fn new_full( task_manager.spawn_essential_handle().spawn( "da-worker-prove", Some("madara"), - DataAvailabilityWorker::prove_current_block( + DataAvailabilityWorkerProving::prove_current_block( da_client.get_mode(), commitment_state_diff_rx, madara_backend.clone(), @@ -451,7 +445,7 @@ pub fn new_full( task_manager.spawn_essential_handle().spawn( "da-worker-update", Some("madara"), - DataAvailabilityWorker::update_state(da_client, client.clone(), madara_backend), + DataAvailabilityWorker::<_, _, StarknetHasher>::update_state(da_client, client.clone(), madara_backend), ); }; From 77bd840803633edf24bf977f261b3b597551690f Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Wed, 6 Dec 2023 19:43:07 +0100 Subject: [PATCH 11/30] taplo --- crates/client/data-availability/Cargo.toml | 6 +++--- crates/client/db/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/client/data-availability/Cargo.toml b/crates/client/data-availability/Cargo.toml index 444e8e0f16..9632f9ef75 100644 --- a/crates/client/data-availability/Cargo.toml +++ b/crates/client/data-availability/Cargo.toml @@ -40,11 +40,11 @@ sp-io = { workspace = true, features = ["std"] } sp-runtime = { workspace = true, features = ["std"] } # Starknet -mc-db = { workspace = true, default-features = true } +blockifier = { workspace = true, default-features = true } mc-commitment-state-diff = { workspace = true, default-features = true } +mc-db = { workspace = true, default-features = true } pallet-starknet-runtime-api = { workspace = true } starknet_api = { workspace = true, default-features = true } -blockifier = { workspace = true, default-features = true } # Ethereum ethers = "2.0.7" @@ -59,6 +59,6 @@ celestia-rpc = { git = "https://github.com/eigerco/celestia-node-rs", rev = "bd6 celestia-types = { git = "https://github.com/eigerco/celestia-node-rs", rev = "bd6394b66b11065c543ab3f19fd66000a72b6236" } # Madara -mp-storage = { workspace = true, default-features = true } mp-digest-log = { workspace = true, default-features = true } mp-hashers = { workspace = true, default-features = true } +mp-storage = { workspace = true, default-features = true } diff --git a/crates/client/db/Cargo.toml b/crates/client/db/Cargo.toml index 26ba8a3545..2edaa52b53 100644 --- a/crates/client/db/Cargo.toml +++ b/crates/client/db/Cargo.toml @@ -27,8 +27,8 @@ scale-codec = { workspace = true, default-features = true, features = [ sp-core = { workspace = true, default-features = true } sp-database = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } -uuid = "1.4.1" starknet_api = { workspace = true, default-features = true } +uuid = "1.4.1" [features] default = ["kvdb-rocksdb", "parity-db"] From 31d0c09efdfa6a7a450f5c024356fa6399caa96a Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Thu, 7 Dec 2023 10:54:50 +0100 Subject: [PATCH 12/30] fix: cli requires --- crates/node/src/commands/run.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/crates/node/src/commands/run.rs b/crates/node/src/commands/run.rs index 5feda17b55..8a31806966 100644 --- a/crates/node/src/commands/run.rs +++ b/crates/node/src/commands/run.rs @@ -1,6 +1,5 @@ use std::path::PathBuf; -use clap::ArgGroup; use madara_runtime::SealingMode; use mc_data_availability::DaLayer; use sc_cli::{Result, RpcMethods, RunCmd, SubstrateCli}; @@ -34,7 +33,6 @@ impl From for SealingMode { } #[derive(Clone, Debug, clap::Args)] -#[clap(group(ArgGroup::new("da").requires_all(&["da_layer", "da_conf"])))] pub struct ExtendedRunCmd { #[clap(flatten)] pub base: RunCmd, @@ -44,10 +42,10 @@ pub struct ExtendedRunCmd { pub sealing: Option, /// Choose a supported DA Layer - #[clap(long, group = "da")] + #[clap(long, requires = "da_conf")] pub da_layer: Option, - #[clap(long, group = "da")] + #[clap(long, requires = "da_layer")] pub da_conf: Option, /// When enabled, more information about the blocks and their transaction is cached and stored From 9946dd928b5b99be64aa597d215cc77fb31bf023 Mon Sep 17 00:00:00 2001 From: Evolve Date: Thu, 7 Dec 2023 17:51:36 +0100 Subject: [PATCH 13/30] fix: typo --- crates/client/commitment-state-diff/src/lib.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/crates/client/commitment-state-diff/src/lib.rs b/crates/client/commitment-state-diff/src/lib.rs index aa8c770dc6..67b3875bbc 100644 --- a/crates/client/commitment-state-diff/src/lib.rs +++ b/crates/client/commitment-state-diff/src/lib.rs @@ -57,7 +57,6 @@ where // state 2: waiting for the channel to be ready, `commitment_state_diff` field is `Some` fn poll_next(self: Pin<&mut Self>, cx: &mut std::task::Context<'_>) -> Poll> { let self_as_mut = self.get_mut(); - if self_as_mut.msg.is_none() { // State 1 match Stream::poll_next(Pin::new(&mut self_as_mut.storage_event_stream), cx) { @@ -97,16 +96,16 @@ where // Safe to unwrap because channel is ready self_as_mut.tx.start_send(msg).unwrap(); - Poll::Ready(None) + Poll::Ready(Some(())) } // Channel is full, we wait Poll::Pending => Poll::Pending, - // Channel receiver have been drop, we close. + // Channel receiver has been dropped, we close. // This should not happen tho Poll::Ready(Err(e)) => { - log::error!("CommitmentStateDiff channel reciever have been droped: {e}"); + log::error!("CommitmentStateDiff channel receiver has been dropped: {e}"); Poll::Ready(None) } } From a218ee7b074f03dba09725beb2cd44125c85efa9 Mon Sep 17 00:00:00 2001 From: Evolve Date: Thu, 7 Dec 2023 18:22:57 +0100 Subject: [PATCH 14/30] wip: da tests --- .github/workflows/da-tests.yml | 47 + Cargo.lock | 25 + Cargo.toml | 99 +- crates/examples/da-scripts/run_node.sh | 3 + crates/node/src/service.rs | 15 +- da-test/Cargo.toml | 33 + da-test/contracts/Counter.cairo | 19 + da-test/contracts/Counter.casm.json | 733 ++ da-test/contracts/Counter.sierra.json | 392 + da-test/contracts/Counter0/Counter0.cairo | 19 + da-test/contracts/Counter0/Counter0.casm.json | 579 ++ .../contracts/Counter0/Counter0.sierra.json | 661 ++ da-test/contracts/Counter1/Counter1.cairo | 19 + da-test/contracts/Counter1/Counter1.casm.json | 579 ++ .../contracts/Counter1/Counter1.sierra.json | 660 ++ da-test/contracts/Counter2/Counter2.cairo | 19 + da-test/contracts/Counter2/Counter2.casm.json | 579 ++ .../contracts/Counter2/Counter2.sierra.json | 661 ++ da-test/contracts/Counter3/Counter3.cairo | 19 + da-test/contracts/Counter3/Counter3.casm.json | 579 ++ .../contracts/Counter3/Counter3.sierra.json | 661 ++ da-test/contracts/Counter4/Counter4.cairo | 19 + da-test/contracts/Counter4/Counter4.casm.json | 579 ++ .../contracts/Counter4/Counter4.sierra.json | 661 ++ da-test/contracts/Counter5/Counter5.cairo | 19 + da-test/contracts/Counter5/Counter5.casm.json | 579 ++ .../contracts/Counter5/Counter5.sierra.json | 661 ++ da-test/contracts/ERC20.cairo | 18 + da-test/contracts/ERC20.json | 8597 +++++++++++++++++ .../contracts/generate_declare_contracts.sh | 31 + da-test/src/constants.rs | 36 + da-test/src/fixtures.rs | 25 + da-test/src/lib.rs | 201 + da-test/src/utils.rs | 193 + da-test/state_diffs.rs | 42 + 35 files changed, 18006 insertions(+), 56 deletions(-) create mode 100644 .github/workflows/da-tests.yml create mode 100644 crates/examples/da-scripts/run_node.sh create mode 100644 da-test/Cargo.toml create mode 100644 da-test/contracts/Counter.cairo create mode 100644 da-test/contracts/Counter.casm.json create mode 100644 da-test/contracts/Counter.sierra.json create mode 100644 da-test/contracts/Counter0/Counter0.cairo create mode 100644 da-test/contracts/Counter0/Counter0.casm.json create mode 100644 da-test/contracts/Counter0/Counter0.sierra.json create mode 100644 da-test/contracts/Counter1/Counter1.cairo create mode 100644 da-test/contracts/Counter1/Counter1.casm.json create mode 100644 da-test/contracts/Counter1/Counter1.sierra.json create mode 100644 da-test/contracts/Counter2/Counter2.cairo create mode 100644 da-test/contracts/Counter2/Counter2.casm.json create mode 100644 da-test/contracts/Counter2/Counter2.sierra.json create mode 100644 da-test/contracts/Counter3/Counter3.cairo create mode 100644 da-test/contracts/Counter3/Counter3.casm.json create mode 100644 da-test/contracts/Counter3/Counter3.sierra.json create mode 100644 da-test/contracts/Counter4/Counter4.cairo create mode 100644 da-test/contracts/Counter4/Counter4.casm.json create mode 100644 da-test/contracts/Counter4/Counter4.sierra.json create mode 100644 da-test/contracts/Counter5/Counter5.cairo create mode 100644 da-test/contracts/Counter5/Counter5.casm.json create mode 100644 da-test/contracts/Counter5/Counter5.sierra.json create mode 100644 da-test/contracts/ERC20.cairo create mode 100644 da-test/contracts/ERC20.json create mode 100755 da-test/contracts/generate_declare_contracts.sh create mode 100644 da-test/src/constants.rs create mode 100644 da-test/src/fixtures.rs create mode 100644 da-test/src/lib.rs create mode 100644 da-test/src/utils.rs create mode 100644 da-test/state_diffs.rs diff --git a/.github/workflows/da-tests.yml b/.github/workflows/da-tests.yml new file mode 100644 index 0000000000..f78a237af8 --- /dev/null +++ b/.github/workflows/da-tests.yml @@ -0,0 +1,47 @@ +--- +name: Task - DA Tests + +on: + workflow_dispatch: + workflow_call: + +jobs: + rpc-tests: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + da-layer: + - ethereum + - celestia + - avail + env: + BINARY_PATH: ../target/release/madara + steps: + - uses: actions/checkout@v3 + - uses: Swatinem/rust-cache@v2 + with: + shared-key: "cache" + save-if: false + - uses: actions/cache@v3 + with: + path: target/release/madara + key: + ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }}-${{ + github.run_id }} + fail-on-cache-miss: true + - name: Setup build deps + run: | + sudo apt-get update + sudo apt-get install -y clang llvm libudev-dev protobuf-compiler + - name: Setup dev chain + run: | + ./target/release/madara setup --chain=dev --from-local=configs + - name: Run DA tests + run: |- + ./target/release/madara --dev --da-layer ${{ matrix.da_layer }} --da-conf examples/da-confs/${{ matrix.da_layer }}.json & + MADARA_RUN_PID=$! + while ! echo exit | nc localhost 9944; do sleep 1; done + cd da-test + cargo test + kill $MADARA_RUN_PID diff --git a/Cargo.lock b/Cargo.lock index 56af1a965b..ba6ce7c1f5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2710,6 +2710,31 @@ dependencies = [ "syn 2.0.39", ] +[[package]] +name = "da-test" +version = "0.1.0" +dependencies = [ + "anyhow", + "assert_matches", + "async-lock 3.2.0", + "flate2", + "mc-data-availability", + "reqwest", + "rstest", + "serde", + "serde_json", + "starknet-accounts", + "starknet-contract", + "starknet-core", + "starknet-crypto", + "starknet-ff", + "starknet-providers", + "starknet-signers", + "thiserror", + "tokio", + "url", +] + [[package]] name = "darling" version = "0.14.4" diff --git a/Cargo.toml b/Cargo.toml index a0c577f169..ead75c7475 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,53 +1,54 @@ [workspace] resolver = "2" members = [ - "crates/node", - "crates/runtime", - "crates/pallets/starknet/runtime_api/", - "crates/pallets/starknet", - "crates/primitives/digest-log", - "crates/primitives/transactions", - "crates/primitives/felt", - "crates/primitives/hashers", - "crates/primitives/fee", - "crates/primitives/state", - "crates/primitives/block", - "crates/primitives/sequencer-address", - "crates/primitives/storage", - "crates/primitives/commitments", - "crates/primitives/chain-id", - "crates/client/db", - "crates/client/rpc-core", - "crates/client/rpc", - "crates/client/mapping-sync", - "crates/client/storage", - "crates/client/commitment-state-diff", - "starknet-rpc-test", + "crates/node", + "crates/runtime", + "crates/pallets/starknet/runtime_api/", + "crates/pallets/starknet", + "crates/primitives/digest-log", + "crates/primitives/transactions", + "crates/primitives/felt", + "crates/primitives/hashers", + "crates/primitives/fee", + "crates/primitives/state", + "crates/primitives/block", + "crates/primitives/sequencer-address", + "crates/primitives/storage", + "crates/primitives/commitments", + "crates/primitives/chain-id", + "crates/client/db", + "crates/client/rpc-core", + "crates/client/rpc", + "crates/client/mapping-sync", + "crates/client/storage", + "crates/client/commitment-state-diff", + "starknet-rpc-test", + "da-test", ] # All previous except for `starknet-rpc-test` # We don't want `cargo test` to trigger its tests default-members = [ - "crates/node", - "crates/runtime", - "crates/pallets/starknet/runtime_api/", - "crates/pallets/starknet", - "crates/primitives/digest-log", - "crates/primitives/transactions", - "crates/primitives/felt", - "crates/primitives/hashers", - "crates/primitives/fee", - "crates/primitives/state", - "crates/primitives/block", - "crates/primitives/sequencer-address", - "crates/primitives/storage", - "crates/primitives/commitments", - "crates/primitives/chain-id", - "crates/client/db", - "crates/client/rpc-core", - "crates/client/rpc", - "crates/client/mapping-sync", - "crates/client/storage", - "crates/client/commitment-state-diff", + "crates/node", + "crates/runtime", + "crates/pallets/starknet/runtime_api/", + "crates/pallets/starknet", + "crates/primitives/digest-log", + "crates/primitives/transactions", + "crates/primitives/felt", + "crates/primitives/hashers", + "crates/primitives/fee", + "crates/primitives/state", + "crates/primitives/block", + "crates/primitives/sequencer-address", + "crates/primitives/storage", + "crates/primitives/commitments", + "crates/primitives/chain-id", + "crates/client/db", + "crates/client/rpc-core", + "crates/client/rpc", + "crates/client/mapping-sync", + "crates/client/storage", + "crates/client/commitment-state-diff", ] [profile.release] @@ -109,7 +110,7 @@ sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "rel # Substrate client dependencies sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0", features = [ - "rocksdb", + "rocksdb", ] } sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0" } sc-network-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0" } @@ -178,8 +179,8 @@ madara-runtime = { path = "crates/runtime" } # Starknet dependencies # Cairo Virtual Machine cairo-vm = { git = "https://github.com/keep-starknet-strange/cairo-rs", branch = "no_std-support-21eff70", default-features = false, features = [ - "cairo-1-hints", - "parity-scale-codec", + "cairo-1-hints", + "parity-scale-codec", ] } starknet-crypto = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } starknet-core = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } @@ -190,11 +191,11 @@ starknet-accounts = { git = "https://github.com/xJonathanLEI/starknet-rs.git", r starknet-contract = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } blockifier = { git = "https://github.com/keep-starknet-strange/blockifier", branch = "no_std-support-7578442", default-features = false, features = [ - "parity-scale-codec", + "parity-scale-codec", ] } starknet_api = { git = "https://github.com/keep-starknet-strange/starknet-api", branch = "no_std-support-dc83f05", features = [ - "testing", - "parity-scale-codec", + "testing", + "parity-scale-codec", ], default-features = false } # Cairo lang diff --git a/crates/examples/da-scripts/run_node.sh b/crates/examples/da-scripts/run_node.sh new file mode 100644 index 0000000000..9298c55d60 --- /dev/null +++ b/crates/examples/da-scripts/run_node.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# This script is meant to be run on Unix/Linux based systems +set -e diff --git a/crates/node/src/service.rs b/crates/node/src/service.rs index d369bb5652..534a70d2a4 100644 --- a/crates/node/src/service.rs +++ b/crates/node/src/service.rs @@ -409,15 +409,15 @@ pub fn new_full( let (commitment_state_diff_tx, commitment_state_diff_rx) = mpsc::channel(5); - task_manager.spawn_essential_handle().spawn( - "commitment-state-diff", - Some("madara"), - CommitmentStateDiffWorker::<_, _, StarknetHasher>::new(client.clone(), commitment_state_diff_tx) - .for_each(|()| future::ready(())), - ); - // initialize data availability worker if let Some((da_layer, da_path)) = da_layer { + task_manager.spawn_essential_handle().spawn( + "commitment-state-diff", + Some("madara"), + CommitmentStateDiffWorker::<_, _, StarknetHasher>::new(client.clone(), commitment_state_diff_tx) + .for_each(|()| future::ready(())), + ); + let da_client: Box = match da_layer { DaLayer::Celestia => { let celestia_conf = CelestiaConfig::try_from(&da_path)?; @@ -442,6 +442,7 @@ pub fn new_full( madara_backend.clone(), ), ); + task_manager.spawn_essential_handle().spawn( "da-worker-update", Some("madara"), diff --git a/da-test/Cargo.toml b/da-test/Cargo.toml new file mode 100644 index 0000000000..381d582acc --- /dev/null +++ b/da-test/Cargo.toml @@ -0,0 +1,33 @@ +[package] +name = "da-test" +version = "0.1.0" +edition = "2021" + + +[dependencies] + +anyhow = "1.0.72" +assert_matches = "1.5.0" +async-lock = "3.1.0" +flate2 = { workspace = true } +reqwest = "0.11.18" +rstest = "0.18.1" +serde = { version = "1.0.192", features = ["derive"] } +serde_json = "1.0.108" +starknet-accounts = { workspace = true } +starknet-contract = { workspace = true } +starknet-core = { workspace = true } +starknet-crypto = { workspace = true } +starknet-ff = { workspace = true } +starknet-providers = { workspace = true } +starknet-signers = { workspace = true } +thiserror = { workspace = true } +tokio = { version = "1.34.0", features = ["rt", "macros", "parking_lot"] } +url = "2.4.1" + +# madara +mc-data-availability = { workspace = true } + +[[test]] +name = "da_state_diifs" +path = "state_diifs.rs" diff --git a/da-test/contracts/Counter.cairo b/da-test/contracts/Counter.cairo new file mode 100644 index 0000000000..11c2dffb6f --- /dev/null +++ b/da-test/contracts/Counter.cairo @@ -0,0 +1,19 @@ +#[starknet::contract] +mod Counter { + #[storage] + struct Storage { + balance: felt252, + } + + // Increases the balance by the given amount. + #[external(v0)] + fn increase_balance(ref self: ContractState, amount: felt252) { + self.balance.write(self.balance.read() + amount); + } + + // Returns the current balance. + #[external(v0)] + fn get_balance(self: @ContractState) -> felt252 { + self.balance.read() + } +} diff --git a/da-test/contracts/Counter.casm.json b/da-test/contracts/Counter.casm.json new file mode 100644 index 0000000000..28c96a4080 --- /dev/null +++ b/da-test/contracts/Counter.casm.json @@ -0,0 +1,733 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.1.0", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffffa9e8", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x6e", + "0x4825800180007ffa", + "0x5618", + "0x400280007ff97fff", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xe8", + "0x482680017ff98000", + "0x1", + "0x20680017fff7ffd", + "0x55", + "0x48307ffb80007ffc", + "0x4824800180007fff", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0xfe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff77fff8000", + "0x48127fe67fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1b0", + "0x482480017fff8000", + "0x1af", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff67fff", + "0x10780017fff7fff", + "0x20", + "0x4824800180007fe8", + "0x0", + "0x400080007ff77fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff47fff8000", + "0x1104800180018000", + "0xdc", + "0x482480017fbe8000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff48000", + "0x1", + "0x48127fe37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffd7fff8000", + "0x48127fec7fff8000", + "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", + "0xffffffffffffffffffffffffffffe2f0", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x5e", + "0x4825800180007ffa", + "0x1d10", + "0x400280007ff97fff", + "0x48297ffc80007ffd", + "0x482680017ff98000", + "0x1", + "0x4824800180007ffe", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x82", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff87fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x134", + "0x482480017fff8000", + "0x133", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff7", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x24", + "0x4824800180007ff7", + "0x0", + "0x400080007ff87fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x87", + "0x482480017fd88000", + "0x1", + "0x20680017fff7ffc", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x91", + "0x48127ff77fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff58000", + "0x1", + "0x48127ff27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ffc", + "0x8", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480080007ffa8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x3e", + "0x20680017fff7ffd", + "0x19", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48287ffd7ffd8000", + "0x1104800180018000", + "0x68", + "0x20680017fff7ffd", + "0xb", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x18", + "0x48127fe37fff8000", + "0x48127fe37fff8000", + "0x480680017fff8000", + "0x1", + "0x48127fe37fff8000", + "0x48127fe37fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x18", + "0x20680017fff7ffd", + "0xa", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x400380007ffd7ffb", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x206f38f7e4f15e87567361213c28f235cccdaa1d7fd34c9db1dfe9489c6a091", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x480280057ffd8000", + "0x20680017fff7fff", + "0xc", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480280067ffd8000", + "0x10780017fff7fff", + "0x9", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffd8000", + "0x480280077ffd8000", + "0x1104800180018000", + "0x47", + "0x20680017fff7ffd", + "0xa", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x206f38f7e4f15e87567361213c28f235cccdaa1d7fd34c9db1dfe9489c6a091", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffc7fff", + "0x400380017ffc7ffb", + "0x400280027ffc7ffd", + "0x400280037ffc7ffe", + "0x400380047ffc7ffd", + "0x480280067ffc8000", + "0x20680017fff7fff", + "0xd", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x9", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffc8000", + "0x480280087ffc8000", + "0x1104800180018000", + "0x21", + "0x20680017fff7ffd", + "0xb", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x9", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe" + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x5618" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 28, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 47, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -23 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 68, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 86, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 101, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 115, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 130, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x1d10" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 152, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 171, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -8 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 191, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 214, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 229, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 356, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -3 + } + } + } + } + ] + ], + [ + 406, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -4 + } + } + } + } + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x362398bec32bc0ebb411203221a35a0301193a96f317ebe5e40be9f60d15320", + "offset": 0, + "builtins": ["range_check"] + }, + { + "selector": "0x39e11d48192e4333233c7eb19d10ad67c362bb28580c604d67884c85da39695", + "offset": 130, + "builtins": ["range_check"] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + } +} diff --git a/da-test/contracts/Counter.sierra.json b/da-test/contracts/Counter.sierra.json new file mode 100644 index 0000000000..ceff05db0e --- /dev/null +++ b/da-test/contracts/Counter.sierra.json @@ -0,0 +1,392 @@ +{ + "sierra_program": [ + "0x1", + "0x3", + "0x0", + "0x2", + "0x1", + "0x0", + "0xc9", + "0x37", + "0x1f", + "0x52616e6765436865636b", + "0x0", + "0x4761734275696c74696e", + "0x66656c74323532", + "0x4172726179", + "0x1", + "0x2", + "0x536e617073686f74", + "0x3", + "0x537472756374", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x4", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x456e756d", + "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", + "0x6", + "0x753332", + "0x53797374656d", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0xa", + "0x5", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0xc", + "0xb", + "0x4275696c74696e436f737473", + "0xc9f3fad1dc4fa20af164b78a214f371dee3ef8a9e7d5a9ddc2d3e8b6328f9c", + "0x3f4f1a5ef38b5e28d030a36a5cec556b9a86d203f74fc599b9f9e8465e8e3ca", + "0xf", + "0x10", + "0xc76d156a5e3bcdc52519814afd123b4c55c2280b8ffb593aa360c9226aa4f5", + "0x11", + "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", + "0x13", + "0x426f78", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x15", + "0x54d1ece615ecb19d7c6709a8a27d7cf65ff271497980eda4c723bf587f0cae", + "0x17", + "0x53746f726167654261736541646472657373", + "0x53746f7261676541646472657373", + "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", + "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", + "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", + "0x1d", + "0x6f", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x73746f72655f74656d70", + "0x66756e6374696f6e5f63616c6c", + "0x656e756d5f6d61746368", + "0x7", + "0x7374727563745f6465636f6e737472756374", + "0x61727261795f6c656e", + "0x736e617073686f745f74616b65", + "0x8", + "0x64726f70", + "0x7533325f636f6e7374", + "0x72656e616d65", + "0x7533325f6571", + "0x9", + "0x61727261795f6e6577", + "0x66656c743235325f636f6e7374", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x61727261795f617070656e64", + "0x7374727563745f636f6e737472756374", + "0x656e756d5f696e6974", + "0xd", + "0x6765745f6275696c74696e5f636f737473", + "0xe", + "0x77697468647261775f6761735f616c6c", + "0x12", + "0x4f7574206f6620676173", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x14", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x16", + "0x6a756d70", + "0x756e626f78", + "0x66656c743235325f616464", + "0x18", + "0x73746f726167655f626173655f616464726573735f636f6e7374", + "0x206f38f7e4f15e87567361213c28f235cccdaa1d7fd34c9db1dfe9489c6a091", + "0x73746f726167655f616464726573735f66726f6d5f62617365", + "0x1a", + "0x73746f726167655f726561645f73797363616c6c", + "0x1b", + "0x73746f726167655f77726974655f73797363616c6c", + "0x1c", + "0x1e", + "0x199", + "0xffffffffffffffff", + "0x63", + "0x54", + "0x24", + "0x19", + "0x20", + "0x21", + "0x22", + "0x23", + "0x25", + "0x46", + "0x26", + "0x27", + "0x28", + "0x29", + "0x2d", + "0x2e", + "0x2f", + "0x30", + "0x2a", + "0x2b", + "0x2c", + "0x31", + "0x3f", + "0x32", + "0x33", + "0x34", + "0x35", + "0x36", + "0x37", + "0x38", + "0x39", + "0x3a", + "0x3b", + "0x3c", + "0x3d", + "0x3e", + "0x40", + "0x41", + "0x42", + "0x43", + "0x44", + "0x45", + "0x47", + "0x48", + "0x49", + "0x4a", + "0x4b", + "0x4c", + "0x4d", + "0x4e", + "0x4f", + "0x50", + "0x51", + "0x52", + "0x53", + "0x55", + "0x56", + "0x57", + "0x58", + "0x59", + "0x5a", + "0x5b", + "0x5c", + "0x5d", + "0x5e", + "0x5f", + "0xc6", + "0x90", + "0xb9", + "0xb2", + "0xdb", + "0xe0", + "0xea", + "0x116", + "0x110", + "0x12c", + "0x145", + "0x14a", + "0x155", + "0x16a", + "0x16f", + "0x60", + "0x61", + "0x62", + "0x17a", + "0x64", + "0x65", + "0x66", + "0x67", + "0x68", + "0x69", + "0x187", + "0x6a", + "0x193", + "0x6b", + "0x6c", + "0x6d", + "0x6e", + "0x71", + "0xd4", + "0xf1", + "0xf5", + "0x11e", + "0x132", + "0x138", + "0x15b", + "0x181", + "0x18d", + "0xf51", + "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", + "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", + "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", + "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", + "0x70a090610062a02090e090607062902090e02280227180626062502090e10", + "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", + "0x606313806063b0207063a3806063938060637070606361506063534060633", + "0x70606314007063f0706063e10060639090906323d06063107060639023c38", + "0x6063102454406063106060631060744060743180606421406064207060641", + "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", + "0x374a07063f150606394907063f020744060743170606421506064209060639", + "0x100906320906063107060637210606354b060633150906321d0606391d0606", + "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", + "0x10060631060734060743340606310207340607430706063b0706064f4d0606", + "0x422606063551060633380906320250340906321c0606311c0606371d060635", + "0x4b060743210606421c060639060748060743480606310207480607431f0606", + "0x3102075706074302565506063102545307065206074b0607434b0606310207", + "0x7435906063102075906074302583d0906325706063b060757060743570606", + "0x31020751060743260606422c0606355a060633140906325906063b06075906", + "0x5a06063102075a0607432c0606425906063357060633060751060743510606", + "0x60207023410075d150c075c070602070602025c060202025b06075a060743", + "0x3d0610020c065c060c0615023d38075c0614060c0214065c0609060902025c", + "0x3d0246065c064406380244065c0638063402025c0602070217065e18065c07", + "0x22148075c061f063d021f065c06021802025c061c0614021d1c075c064606", + "0x24b065c064b06440224065c06210617024b065c061d061702025c06480614", + "0x251065c0607061d02025c0618061c02025c06020702025f025c07244b0746", + "0x240255065c06024b0260065c06022102025c0626064802264d075c0651061f", + "0x2c065c06575907510259065c0602260257065c065560074d0255065c065506", + "0x65c064d061d0261065c061506550200065c060c0615025a065c062c066002", + "0x62c0264065c06025902025c06020702636261000c0663065c065a06570262", + "0x5c06020002025c0602070268670766655f075c0764150c095a0264065c0664", + "0x66a0662026c065c0607061d026b065c06650655026a065c06690661026906", + "0x65c065f06150271706f095c066e6d6c6b0c63026e065c06180624026d065c", + "0x65c06022102025c0672065f02025c0602070274067372065c07710664025f", + "0x5c067806690278065c0677066802025c06760667027776075c067506650275", + "0x670061d027c065c066f0655027b065c065f0615027a065c0679066a027906", + "0x7f065c0674066002025c060207027e7d7c7b0c067e065c067a0657027d065c", + "0x65c067f06570281065c0670061d0273065c066f06550280065c065f061502", + "0x6026f0283065c06022102025c0618061c02025c06020702828173800c0682", + "0x8607510286065c0602260285065c068483074d0284065c068406240284065c", + "0x1d0289065c066806550288065c066706150287065c066606600266065c0685", + "0x617064802025c060207028b8a89880c068b065c06870657028a065c060706", + "0x8d065c068d0624028d065c060271028c065c06022102025c0638067002025c", + "0x5c069006600290065c068e8f0751028f065c060226028e065c068d8c074d02", + "0x6910657025e065c0607061d0293065c061506550292065c060c0615029106", + "0x6f0295065c06022102025c0609067002025c06020702945e93920c0694065c", + "0x510298065c0602260297065c069695074d0296065c069606240296065c0602", + "0x9c065c06340655029b065c06100615029a065c069906600299065c06979807", + "0x70602025c060202029e9d9c9b0c069e065c069a0657029d065c0607061d02", + "0x5c063806380238065c0609063402025c060207023410079f150c075c070602", + "0x5c0617063d0217065c06021802025c06140614021814075c063d063d023d06", + "0x61c0644021d065c06460617021c065c0618061702025c0644061402464407", + "0x7061d02025c0602070202a0025c071d1c0746020c065c060c0615021c065c", + "0x6024b024b065c06022102025c0648064802481f075c0621061f0221065c06", + "0x2607510226065c060226024d065c06244b074d0224065c062406240224065c", + "0x1d0257065c061506550255065c060c06150260065c065106600251065c064d", + "0x5c06025902025c060207022c5957550c062c065c066006570259065c061f06", + "0x25c06020702636207a16100075c075a150c095a025a065c065a062c025a06", + "0x25c0665066c026765075c065f066b025f065c066406610264065c06020002", + "0x671706f096d0271065c066706620270065c0607061d026f065c0661065502", + "0x2025c060207026c06a26b065c076a066e0200065c06000615026a6968095c", + "0x2025c0672061c027472075c066d0674026e065c060221026d065c066b0672", + "0x5c06760648027675075c06787707760278065c066e06750277065c06740624", + "0x5c067b0669027b065c067a066802025c06790667027a79075c067506650202", + "0x669061d027f065c06680655027e065c06000615027d065c067c066a027c06", + "0x81065c066c066002025c0602070273807f7e0c0673065c067d06570280065c", + "0x65c068106570284065c0669061d0283065c066806550282065c0600061502", + "0x6606240266065c06026f0286065c06022102025c06020702858483820c0685", + "0x600289065c06878807510288065c0602260287065c066686074d0266065c06", + "0x28d065c0607061d028c065c06630655028b065c06620615028a065c068906", + "0x5c06022102025c0609067002025c060207028e8d8c8b0c068e065c068a0657", + "0x5c0602260291065c06908f074d0290065c069006240290065c06026f028f06", + "0x3406550294065c06100615025e065c069306600293065c0691920751029206", + "0x602063402979695940c0697065c065e06570296065c0607061d0295065c06", + "0x790215065c0609067802025c060207020c06a30907075c070606770206065c", + "0x5c06027c02025c0602070202a406027b0234065c0615067a0210065c060706", + "0x61006680234065c063d067a0210065c060c0679023d065c0638067d023806", + "0x67f02025c060207021706a518065c0734067e0214065c061406090214065c", + "0x81021d065c06140609021c065c064606730246065c064406800244065c0618", + "0x248065c06027c02025c0617064802025c060207021f1d07061f065c061c06", + "0x6027c02244b070624065c06210681024b065c061406090221065c06480682", + "0xc065c06070684020907070609065c060606830207065c0602061d0206065c", + "0x5c061006860218065c0606061d0214065c06020655021015075c060c068502", + "0x25c060207024606a644065c073d066e023d3834095c061718140966021706", + "0x5c0638061d024b065c06340655021d065c06091c0787021c065c0644067202", + "0x21481f095c06264d244b0c880226065c061d0624024d065c06150686022406", + "0x6570648025755075c0651068a02025c060207026006a751065c0721068902", + "0x65a068c025a065c062c59078b022c065c06027c0259065c0655066102025c", + "0x6261090663065c0600068d0262065c0648061d0261065c061f06550200065c", + "0x65065c0648061d025f065c061f06550264065c0660068e02025c0602070263", + "0x609061c02025c0615068f02025c0602070267655f090667065c0664068d02", + "0x668068d026a065c0638061d0269065c063406550268065c0646068e02025c", + "0x65c0606061d0234065c060206550209065c06070684026f6a6909066f065c", + "0x6a814065c0710066e0210150c095c063d38340966023d065c060906860238", + "0x46065c064406910244065c061706900217065c0614067202025c0602070218", + "0x7021f1d1c09061f065c06460692021d065c0615061d021c065c060c065502", + "0x692024b065c0615061d0221065c060c06550248065c0618069302025c0602", + "0x6027c0209065c060706074d0207065c0602068002244b21090624065c0648", + "0x2025c0607068f021015070610065c060c06830215065c06090675020c065c", + "0x950215065c061506440215065c060218020c065c060906940209065c06025e", + "0x2025c0602070218143d09a9383410095c070c1506020c96020c065c060c06", + "0x1c065c061706980246065c0634061d0244065c061006550217065c06380697", + "0x61d0244065c063d0655021d065c0618069902025c0602070202aa06027b02", + "0x6e021f065c0648069b0248065c061c069a021c065c061d06980246065c0614", + "0x4d065c062406900224065c0621067202025c060207024b06ab21065c071f06", + "0x65c062606920260065c0646061d0251065c064406550226065c064d069102", + "0x61d0259065c064406550257065c064b069302025c06020702556051090655", + "0x15068f02150c075c06070685025a2c5909065a065c06570692022c065c0646", + "0x5c063806440238065c0602180234065c061006940210065c06025e02025c06", + "0x2070244171809ac143d075c070934380602159c0234065c06340695023806", + "0x614061d021d065c063d0655021c065c0646069d0246065c06027c02025c06", + "0x21065c064406ae02025c0602070202ad06027b0248065c061c069e021f065c", + "0x65c064806af0248065c0621069e021f065c0617061d021d065c0618065502", + "0x64d06b202025c060207022606b14d065c074b065d024b065c062406b00224", + "0x61d0257065c061d06550255065c066006b40260065c06510c07b30251065c", + "0x25c060c068f02025c060207022c595709062c065c065506b50259065c061f", + "0x65c065a06b50261065c061f061d0200065c061d0655025a065c062606b602", + "0x9065c0606069002025c060207020706b806065c070206b702626100090662", + "0x65c06022602025c0602070215060615065c060c0692020c065c0609069102", + "0xb9023d06063d065c063806920238065c063406930234065c06071007510210", + "0xc065c060906bc0209065c060606bb02025c060207020706ba06065c070206", + "0x5c06071007510210065c06022602025c0602070215060615065c060c06bd02", + "0x3d06020c153d06020c183d06063d065c063806bd0238065c063406be023406", + "0x73d06c0023415071506bf09070602443d06020c153d06020c020907060244", + "0x7c30706024b3d06091d3d0609c209070602483d0609071d3d060cc102103d", + "0x602513d0609071c3d060cc50706024b3d06091c3d0609c406021009070907", + "0xc8025a065906c7024b065706c60907" + ], + "sierra_program_debug_info": { + "type_names": [], + "libfunc_names": [], + "user_func_names": [] + }, + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x362398bec32bc0ebb411203221a35a0301193a96f317ebe5e40be9f60d15320", + "function_idx": 0 + }, + { + "selector": "0x39e11d48192e4333233c7eb19d10ad67c362bb28580c604d67884c85da39695", + "function_idx": 1 + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + }, + "abi": [ + { + "type": "function", + "name": "increase_balance", + "inputs": [ + { + "name": "amount", + "type": "core::felt252" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "get_balance", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "event", + "name": "Counter::Counter::Counter::Event", + "kind": "enum", + "variants": [] + } + ] +} diff --git a/da-test/contracts/Counter0/Counter0.cairo b/da-test/contracts/Counter0/Counter0.cairo new file mode 100644 index 0000000000..5468441837 --- /dev/null +++ b/da-test/contracts/Counter0/Counter0.cairo @@ -0,0 +1,19 @@ +#[starknet::contract] +mod Counter0 { + #[storage] + struct Storage { + balance_0: felt252, + } + + // Increases the balance_0 by the given amount. + #[external(v0)] + fn increase_balance_0(ref self: ContractState, amount: felt252) { + self.balance_0.write(self.balance_0.read() + amount + 0 + 1); + } + + // Returns the current balance_0. + #[external(v0)] + fn get_balance_0(self: @ContractState) -> felt252 { + self.balance_0.read() + } +} diff --git a/da-test/contracts/Counter0/Counter0.casm.json b/da-test/contracts/Counter0/Counter0.casm.json new file mode 100644 index 0000000000..2028e1ebfc --- /dev/null +++ b/da-test/contracts/Counter0/Counter0.casm.json @@ -0,0 +1,579 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.1.0", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffffa920", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x6e", + "0x4825800180007ffa", + "0x56e0", + "0x400280007ff97fff", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xe8", + "0x482680017ff98000", + "0x1", + "0x20680017fff7ffd", + "0x55", + "0x48307ffb80007ffc", + "0x4824800180007fff", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0xfe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff77fff8000", + "0x48127fe67fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1b4", + "0x482480017fff8000", + "0x1b3", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff67fff", + "0x10780017fff7fff", + "0x20", + "0x4824800180007fe8", + "0x0", + "0x400080007ff77fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff47fff8000", + "0x1104800180018000", + "0xdc", + "0x482480017fbc8000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff48000", + "0x1", + "0x48127fe37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffd7fff8000", + "0x48127fec7fff8000", + "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", + "0xffffffffffffffffffffffffffffe2f0", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x5e", + "0x4825800180007ffa", + "0x1d10", + "0x400280007ff97fff", + "0x48297ffc80007ffd", + "0x482680017ff98000", + "0x1", + "0x4824800180007ffe", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x82", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff87fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x138", + "0x482480017fff8000", + "0x137", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff7", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x24", + "0x4824800180007ff7", + "0x0", + "0x400080007ff87fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x8b", + "0x482480017fd88000", + "0x1", + "0x20680017fff7ffc", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x95", + "0x48127ff77fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff58000", + "0x1", + "0x48127ff27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ffc", + "0x8", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480080007ffa8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x42", + "0x20680017fff7ffd", + "0x1d", + "0x48287ffd7fff8000", + "0x482480017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x482480017ffd8000", + "0x1", + "0x1104800180018000", + "0x68", + "0x20680017fff7ffd", + "0xb", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1a", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x480680017fff8000", + "0x1", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x18", + "0x20680017fff7ffd", + "0xa", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x400380007ffd7ffb", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x904f2833296109453ae83969e306a0ffe26d05f3d29af52bcc8fe626ac1d6b", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x480280057ffd8000", + "0x20680017fff7fff", + "0xc", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480280067ffd8000", + "0x10780017fff7fff", + "0x9", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffd8000", + "0x480280077ffd8000", + "0x1104800180018000", + "0x47", + "0x20680017fff7ffd", + "0xa", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x904f2833296109453ae83969e306a0ffe26d05f3d29af52bcc8fe626ac1d6b", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffc7fff", + "0x400380017ffc7ffb", + "0x400280027ffc7ffd", + "0x400280037ffc7ffe", + "0x400380047ffc7ffd", + "0x480280067ffc8000", + "0x20680017fff7fff", + "0xd", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x9", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffc8000", + "0x480280087ffc8000", + "0x1104800180018000", + "0x21", + "0x20680017fff7ffd", + "0xb", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x9", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe" + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x56e0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 47, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -23 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 130, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x1d10" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 171, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -8 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 360, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -3 } } + } + } + ] + ], + [ + 410, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -4 } } + } + } + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0xb61015b8f0a9aa3e16e55c2d2094e84095c29c1376bd5a44680c1449e63575", + "offset": 0, + "builtins": ["range_check"] + }, + { + "selector": "0x113e3540ab23de9f67c67a9c0ee7796d0ebb8afafdba2af272927e34f1713e2", + "offset": 130, + "builtins": ["range_check"] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + } +} diff --git a/da-test/contracts/Counter0/Counter0.sierra.json b/da-test/contracts/Counter0/Counter0.sierra.json new file mode 100644 index 0000000000..cc0e80ccc8 --- /dev/null +++ b/da-test/contracts/Counter0/Counter0.sierra.json @@ -0,0 +1,661 @@ +{ + "sierra_program": [ + "0x1", + "0x3", + "0x0", + "0x2", + "0x1", + "0x0", + "0xca", + "0x36", + "0x1f", + "0x52616e6765436865636b", + "0x0", + "0x4761734275696c74696e", + "0x66656c74323532", + "0x4172726179", + "0x1", + "0x2", + "0x536e617073686f74", + "0x3", + "0x537472756374", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x4", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x456e756d", + "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", + "0x6", + "0x753332", + "0x53797374656d", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0xa", + "0x5", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0xc", + "0xb", + "0x4275696c74696e436f737473", + "0x1e1ba6f64cc53a607e0869ea0c734b5241e1d83aa67b1a4de8594a296768b91", + "0x7278224f70cfcb7322ec5f24ac8a315a8f2d83e4751e4032c52eba0d0c215b", + "0xf", + "0x10", + "0x26bf7e20eb37b4072fcf3a87bbfbea1a03c515e6a585e8079ceeb51b005cfcf", + "0x11", + "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", + "0x13", + "0x426f78", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x15", + "0x332c8facfa6abea2729b057ae3ff989da7f108683698295e575ed04f5fa24a1", + "0x17", + "0x53746f726167654261736541646472657373", + "0x53746f7261676541646472657373", + "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", + "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", + "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", + "0x1d", + "0x71", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x73746f72655f74656d70", + "0x66756e6374696f6e5f63616c6c", + "0x656e756d5f6d61746368", + "0x7", + "0x7374727563745f6465636f6e737472756374", + "0x61727261795f6c656e", + "0x736e617073686f745f74616b65", + "0x8", + "0x64726f70", + "0x7533325f636f6e7374", + "0x72656e616d65", + "0x7533325f6571", + "0x9", + "0x61727261795f6e6577", + "0x66656c743235325f636f6e7374", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x61727261795f617070656e64", + "0x7374727563745f636f6e737472756374", + "0x656e756d5f696e6974", + "0xd", + "0x6765745f6275696c74696e5f636f737473", + "0xe", + "0x77697468647261775f6761735f616c6c", + "0x12", + "0x4f7574206f6620676173", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x14", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x16", + "0x6a756d70", + "0x756e626f78", + "0x66656c743235325f616464", + "0x18", + "0x73746f726167655f626173655f616464726573735f636f6e7374", + "0x904f2833296109453ae83969e306a0ffe26d05f3d29af52bcc8fe626ac1d6b", + "0x73746f726167655f616464726573735f66726f6d5f62617365", + "0x1a", + "0x73746f726167655f726561645f73797363616c6c", + "0x1b", + "0x73746f726167655f77726974655f73797363616c6c", + "0x1c", + "0x1e", + "0x19f", + "0xffffffffffffffff", + "0x63", + "0x54", + "0x24", + "0x19", + "0x20", + "0x21", + "0x22", + "0x23", + "0x25", + "0x46", + "0x26", + "0x27", + "0x28", + "0x29", + "0x2d", + "0x2e", + "0x2f", + "0x30", + "0x2a", + "0x2b", + "0x2c", + "0x31", + "0x3f", + "0x32", + "0x33", + "0x34", + "0x35", + "0x36", + "0x37", + "0x38", + "0x39", + "0x3a", + "0x3b", + "0x3c", + "0x3d", + "0x3e", + "0x40", + "0x41", + "0x42", + "0x43", + "0x44", + "0x45", + "0x47", + "0x48", + "0x49", + "0x4a", + "0x4b", + "0x4c", + "0x4d", + "0x4e", + "0x4f", + "0x50", + "0x51", + "0x52", + "0x53", + "0x55", + "0x56", + "0x57", + "0x58", + "0x59", + "0x5a", + "0x5b", + "0x5c", + "0x5d", + "0x5e", + "0x5f", + "0xc6", + "0x90", + "0xb9", + "0xb2", + "0xdb", + "0xe0", + "0xea", + "0x11c", + "0x116", + "0x132", + "0x14b", + "0x150", + "0x15b", + "0x170", + "0x60", + "0x61", + "0x175", + "0x62", + "0x64", + "0x65", + "0x180", + "0x66", + "0x67", + "0x68", + "0x69", + "0x6a", + "0x6b", + "0x18d", + "0x6c", + "0x199", + "0x6d", + "0x6e", + "0x6f", + "0x70", + "0xd4", + "0xf1", + "0xf5", + "0x124", + "0x138", + "0x13e", + "0x161", + "0x187", + "0x193", + "0xf89", + "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", + "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", + "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", + "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", + "0x70a090610062a02090e090607062902090e02280227180626062502090e10", + "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", + "0x606313806063b0207063a3806063938060637070606361506063534060633", + "0x70606314007063f0706063e10060639090906323d06063107060639023c38", + "0x6063102454406063106060631060744060743180606421406064207060641", + "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", + "0x374a07063f150606394907063f020744060743170606421506064209060639", + "0x100906320906063107060637210606354b060633150906321d0606391d0606", + "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", + "0x10060631060734060743340606310207340607430706063b0706064f4d0606", + "0x33380906320607063f0207063f0250340906321c0606311c0606371d060635", + "0x1c060639060748060743480606310207480607431f06064226060635510606", + "0x565506063102545307065206074b0607434b06063102074b06074321060642", + "0x5906074302583d0906325706063b0607570607435706063102075706074302", + "0x606422c0606355a060633140906325906063b060759060743590606310207", + "0x7432c06064259060633570606330607510607435106063102075106074326", + "0x150c075c070602070602025c060202025b06075a0607435a06063102075a06", + "0xc0615023d38075c0614060c0214065c0609060902025c060207023410075d", + "0x380244065c0638063402025c0602070217065e18065c073d0610020c065c06", + "0x3d021f065c06021802025c061c0614021d1c075c0646063d0246065c064406", + "0x224065c06210617024b065c061d061702025c06480614022148075c061f06", + "0x2025c0618061c02025c06020702025f025c07244b0746024b065c064b0644", + "0x260065c06022102025c0626064802264d075c0651061f0251065c0607061d", + "0x259065c0602260257065c065560074d0255065c065506240255065c06024b", + "0x65c061506550200065c060c0615025a065c062c0660022c065c0657590751", + "0x5902025c06020702636261000c0663065c065a06570262065c064d061d0261", + "0x2070268670766655f075c0764150c095a0264065c0664062c0264065c0602", + "0x607061d026b065c06650655026a065c066906610269065c06020002025c06", + "0x706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662026c065c", + "0x672065f02025c0602070274067372065c07710664025f065c065f06150271", + "0x5c0677066802025c06760667027776075c067506650275065c06022102025c", + "0x66f0655027b065c065f0615027a065c0679066a0279065c06780669027806", + "0x25c060207027e7d7c7b0c067e065c067a0657027d065c0670061d027c065c", + "0x65c0670061d0273065c066f06550280065c065f0615027f065c0674066002", + "0x22102025c0618061c02025c06020702828173800c0682065c067f06570281", + "0x2260285065c068483074d0284065c068406240284065c06026f0283065c06", + "0x550288065c066706150287065c066606600266065c06858607510286065c06", + "0x207028b8a89880c068b065c06870657028a065c0607061d0289065c066806", + "0x8d065c060271028c065c06022102025c0638067002025c0617064802025c06", + "0x5c068e8f0751028f065c060226028e065c068d8c074d028d065c068d062402", + "0x607061d0293065c061506550292065c060c06150291065c06900660029006", + "0x2025c0609067002025c06020702945e93920c0694065c06910657025e065c", + "0x297065c069695074d0296065c069606240296065c06026f0295065c060221", + "0x9b065c06100615029a065c069906600299065c06979807510298065c060226", + "0x29e9d9c9b0c069e065c069a0657029d065c0607061d029c065c0634065502", + "0x5c0609063402025c060207023410079f150c075c070602070602025c060202", + "0x5c06021802025c06140614021814075c063d063d023d065c06380638023806", + "0x6460617021c065c0618061702025c06440614024644075c0617063d021706", + "0x70202a0025c071d1c0746020c065c060c0615021c065c061c0644021d065c", + "0x22102025c0648064802481f075c0621061f0221065c0607061d02025c0602", + "0x226024d065c06244b074d0224065c062406240224065c06024b024b065c06", + "0x550255065c060c06150260065c065106600251065c064d2607510226065c06", + "0x207022c5957550c062c065c066006570259065c061f061d0257065c061506", + "0x7a16100075c075a150c095a025a065c065a062c025a065c06025902025c06", + "0x65075c065f066b025f065c066406610264065c06020002025c060207026362", + "0x65c066706620270065c0607061d026f065c0661065502025c0665066c0267", + "0x6a26b065c076a066e0200065c06000615026a6968095c0671706f096d0271", + "0x7472075c066d0674026e065c060221026d065c066b067202025c060207026c", + "0x75c06787707760278065c066e06750277065c0674062402025c0672061c02", + "0x5c067a066802025c06790667027a79075c0675066502025c06760648027675", + "0x6680655027e065c06000615027d065c067c066a027c065c067b0669027b06", + "0x25c0602070273807f7e0c0673065c067d06570280065c0669061d027f065c", + "0x65c0669061d0283065c066806550282065c060006150281065c066c066002", + "0x26f0286065c06022102025c06020702858483820c0685065c068106570284", + "0x7510288065c0602260287065c066686074d0266065c066606240266065c06", + "0x28c065c06630655028b065c06620615028a065c068906600289065c068788", + "0x9067002025c060207028e8d8c8b0c068e065c068a0657028d065c0607061d", + "0x6908f074d0290065c069006240290065c06026f028f065c06022102025c06", + "0x100615025e065c069306600293065c06919207510292065c0602260291065c", + "0x940c0697065c065e06570296065c0607061d0295065c063406550294065c06", + "0x7802025c060207020c06a30907075c070606770206065c0602063402979695", + "0x2070202a406027b0234065c0615067a0210065c060706790215065c060906", + "0x63d067a0210065c060c0679023d065c0638067d0238065c06027c02025c06", + "0x21706a518065c0734067e0214065c061406090214065c061006680234065c", + "0x9021c065c064606730246065c064406800244065c0618067f02025c060207", + "0x25c0617064802025c060207021f1d07061f065c061c0681021d065c061406", + "0x24065c06210681024b065c061406090221065c064806820248065c06027c02", + "0x907070609065c060606830207065c0602061d0206065c06027c02244b0706", + "0x5c0606061d0214065c06020655021015075c060c0685020c065c0607068402", + "0xa644065c073d066e023d3834095c0617181409660217065c06100686021806", + "0x65c060288021d065c06091c0787021c065c0644067202025c060207024606", + "0x5c064806240221065c0602890248065c061f1d0787021d065c061d0624021f", + "0x1506860260065c0638061d0251065c06340655024b065c0621480787024806", + "0x5c0726068b02264d24095c06575560510c8a0257065c064b06240255065c06", + "0x5a066102025c0600064802005a075c0659068c02025c060207022c06a75906", + "0x6550264065c0663068e0263065c066261078d0262065c06027c0261065c06", + "0x5c0602070267655f090667065c0664068f0265065c064d061d025f065c0624", + "0x5c0668068f026a065c064d061d0269065c062406550268065c062c06900202", + "0x46069002025c0609061c02025c0615069102025c060207026f6a6909066f06", + "0x7109066c065c0670068f026b065c0638061d0271065c063406550270065c06", + "0x60906860238065c0606061d0234065c060206550209065c06070684026c6b", + "0x5c060207021806a814065c0710066e0210150c095c063d38340966023d065c", + "0x5c060c06550246065c064406930244065c061706920217065c061406720202", + "0x9402025c060207021f1d1c09061f065c0646065e021d065c0615061d021c06", + "0x624065c0648065e024b065c0615061d0221065c060c06550248065c061806", + "0x675020c065c06027c0209065c060706074d0207065c0602068002244b2109", + "0x9065c06029502025c06070691021015070610065c060c06830215065c0609", + "0xc065c060c06970215065c061506440215065c060218020c065c0609069602", + "0x65c0638069902025c0602070218143d09a9383410095c070c1506020c9802", + "0x2aa06027b021c065c0617069a0246065c0634061d0244065c061006550217", + "0x246065c0614061d0244065c063d0655021d065c0618069b02025c06020702", + "0x21065c071f066e021f065c0648069d0248065c061c069c021c065c061d069a", + "0x5c064d0693024d065c062406920224065c0621067202025c060207024b06ab", + "0x556051090655065c0626065e0260065c0646061d0251065c06440655022606", + "0x22c065c0646061d0259065c064406550257065c064b069402025c06020702", + "0x29502025c0615069102150c075c06070685025a2c5909065a065c0657065e", + "0x3406970238065c063806440238065c0602180234065c061006960210065c06", + "0x27c02025c0602070244171809ac143d075c070934380602159e0234065c06", + "0x6ae021f065c0614061d021d065c063d0655021c065c064606ad0246065c06", + "0x5c061806550221065c064406b002025c0602070202af06027b0248065c061c", + "0x62406b10224065c0648065d0248065c062106ae021f065c0617061d021d06", + "0x7b50251065c064d06b402025c060207022606b34d065c074b06b2024b065c", + "0x259065c061f061d0257065c061d06550255065c066006b60260065c06510c", + "0x5c062606b802025c060c069102025c060207022c595709062c065c065506b7", + "0x626100090662065c065a06b70261065c061f061d0200065c061d0655025a06", + "0x5c060906930209065c0606069202025c060207020706ba06065c070206b902", + "0x71007510210065c06022602025c0602070215060615065c060c065e020c06", + "0x6065c070206bb023d06063d065c0638065e0238065c063406940234065c06", + "0x5c060c06bf020c065c060906be0209065c060606bd02025c060207020706bc", + "0x3406c00234065c06071007510210065c06022602025c060207021506061506", + "0x209070602443d06020c153d06020c183d06063d065c063806bf0238065c06", + "0x60cc202103d073d06c10234150715062d09070602443d06020c153d06020c", + "0x2100907090707c40706024b3d06091d3d0609c309070602483d0609071d3d", + "0x65706c709070602513d0609071c3d060cc60706024b3d06091c3d0609c506", + "0xc9025a065906c8024b" + ], + "sierra_program_debug_info": { + "type_names": [ + [0, "RangeCheck"], + [1, "GasBuiltin"], + [2, "felt252"], + [3, "Array"], + [4, "Snapshot>"], + [5, "core::array::Span::"], + [6, "Unit"], + [7, "core::option::Option::"], + [8, "u32"], + [9, "System"], + [10, "core::panics::Panic"], + [11, "Tuple>"], + [12, "Tuple>"], + [ + 13, + "core::panics::PanicResult::<(core::array::Span::,)>" + ], + [14, "BuiltinCosts"], + [15, "Counter0::Counter0::balance_0::ContractState"], + [16, "Counter0::Counter0::ContractState"], + [17, "Tuple"], + [ + 18, + "core::panics::PanicResult::<(Counter0::Counter0::ContractState, ())>" + ], + [19, "Tuple"], + [20, "core::panics::PanicResult::<(core::felt252,)>"], + [21, "Box"], + [22, "core::option::Option::>"], + [23, "Tuple"], + [ + 24, + "core::panics::PanicResult::<(Counter0::Counter0::balance_0::ContractState, ())>" + ], + [25, "StorageBaseAddress"], + [26, "StorageAddress"], + [ + 27, + "core::result::Result::>" + ], + [28, "core::result::Result::<(), core::array::Array::>"], + [29, "Tuple"], + [30, "core::panics::PanicResult::<((),)>"] + ], + "libfunc_names": [ + [0, "revoke_ap_tracking"], + [1, "withdraw_gas"], + [2, "branch_align"], + [3, "store_temp>"], + [4, "function_call"], + [5, "store_temp"], + [6, "enum_match>"], + [7, "struct_deconstruct>"], + [8, "array_len"], + [9, "snapshot_take"], + [10, "drop"], + [11, "u32_const<0>"], + [12, "rename"], + [13, "store_temp"], + [14, "u32_eq"], + [15, "drop"], + [16, "store_temp"], + [17, "function_call"], + [18, "drop"], + [19, "array_new"], + [ + 20, + "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" + ], + [21, "store_temp"], + [22, "array_append"], + [23, "struct_construct"], + [24, "struct_construct>>"], + [ + 25, + "enum_init,)>, 1>" + ], + [26, "store_temp"], + [ + 27, + "store_temp,)>>" + ], + [28, "get_builtin_costs"], + [29, "store_temp"], + [30, "withdraw_gas_all"], + [31, "struct_construct"], + [32, "struct_construct"], + [33, "store_temp"], + [34, "function_call"], + [ + 35, + "enum_match>" + ], + [36, "drop>"], + [37, "snapshot_take>"], + [38, "drop>"], + [39, "struct_construct>"], + [40, "struct_construct>>"], + [ + 41, + "enum_init,)>, 0>" + ], + [42, "felt252_const<375233589013918064796019>"], + [43, "drop>"], + [ + 44, + "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" + ], + [45, "snapshot_take"], + [46, "drop"], + [47, "function_call"], + [48, "enum_match>"], + [49, "struct_deconstruct>"], + [50, "snapshot_take"], + [51, "store_temp>"], + [52, "function_call"], + [53, "array_snapshot_pop_front"], + [ + 54, + "enum_init>, 0>" + ], + [55, "store_temp>>"], + [ + 56, + "store_temp>>" + ], + [57, "jump"], + [58, "struct_construct"], + [ + 59, + "enum_init>, 1>" + ], + [ + 60, + "enum_match>>" + ], + [61, "unbox"], + [62, "rename"], + [63, "enum_init, 0>"], + [64, "store_temp>"], + [65, "enum_init, 1>"], + [66, "store_temp"], + [67, "struct_deconstruct"], + [68, "snapshot_take"], + [69, "store_temp"], + [ + 70, + "function_call" + ], + [71, "felt252_add"], + [72, "felt252_const<0>"], + [73, "felt252_const<1>"], + [ + 74, + "function_call" + ], + [ + 75, + "enum_match>" + ], + [ + 76, + "struct_deconstruct>" + ], + [77, "struct_construct>"], + [ + 78, + "enum_init, 0>" + ], + [ + 79, + "store_temp>" + ], + [ + 80, + "enum_init, 1>" + ], + [81, "drop"], + [82, "struct_construct>"], + [83, "enum_init, 0>"], + [84, "store_temp>"], + [85, "enum_init, 1>"], + [ + 86, + "storage_base_address_const<254972299075299712015478855430390632050936182311486400521237190787151437163>" + ], + [87, "storage_address_from_base"], + [88, "store_temp"], + [89, "storage_read_syscall"], + [ + 90, + "enum_init>, 0>" + ], + [ + 91, + "store_temp>>" + ], + [ + 92, + "enum_init>, 1>" + ], + [ + 93, + "rename>>" + ], + [ + 94, + "function_call::unwrap_syscall>" + ], + [95, "storage_write_syscall"], + [ + 96, + "enum_init>, 0>" + ], + [ + 97, + "store_temp>>" + ], + [ + 98, + "enum_init>, 1>" + ], + [ + 99, + "rename>>" + ], + [ + 100, + "function_call::unwrap_syscall>" + ], + [101, "enum_match>"], + [102, "struct_deconstruct>"], + [ + 103, + "struct_construct>" + ], + [ + 104, + "enum_init, 0>" + ], + [ + 105, + "store_temp>" + ], + [ + 106, + "enum_init, 1>" + ], + [ + 107, + "enum_match>>" + ], + [ + 108, + "enum_match>>" + ], + [109, "struct_construct>"], + [110, "enum_init, 0>"], + [111, "store_temp>"], + [112, "enum_init, 1>"] + ], + "user_func_names": [ + [0, "Counter0::Counter0::__external::increase_balance_0"], + [1, "Counter0::Counter0::__external::get_balance_0"], + [2, "core::Felt252Serde::deserialize"], + [3, "core::starknet::use_system_implicit"], + [4, "Counter0::Counter0::increase_balance_0"], + [5, "Counter0::Counter0::get_balance_0"], + [6, "core::Felt252Serde::serialize"], + [7, "Counter0::Counter0::balance_0::InternalContractStateImpl::read"], + [8, "Counter0::Counter0::balance_0::InternalContractStateImpl::write"], + [ + 9, + "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" + ], + [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] + ] + }, + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0xb61015b8f0a9aa3e16e55c2d2094e84095c29c1376bd5a44680c1449e63575", + "function_idx": 0 + }, + { + "selector": "0x113e3540ab23de9f67c67a9c0ee7796d0ebb8afafdba2af272927e34f1713e2", + "function_idx": 1 + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + }, + "abi": [ + { + "type": "function", + "name": "increase_balance_0", + "inputs": [{ "name": "amount", "type": "core::felt252" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "get_balance_0", + "inputs": [], + "outputs": [{ "type": "core::felt252" }], + "state_mutability": "view" + }, + { + "type": "event", + "name": "Counter0::Counter0::Event", + "kind": "enum", + "variants": [] + } + ] +} diff --git a/da-test/contracts/Counter1/Counter1.cairo b/da-test/contracts/Counter1/Counter1.cairo new file mode 100644 index 0000000000..0d756d4165 --- /dev/null +++ b/da-test/contracts/Counter1/Counter1.cairo @@ -0,0 +1,19 @@ +#[starknet::contract] +mod Counter1 { + #[storage] + struct Storage { + balance_1: felt252, + } + + // Increases the balance_1 by the given amount. + #[external(v0)] + fn increase_balance_1(ref self: ContractState, amount: felt252) { + self.balance_1.write(self.balance_1.read() + amount + 1 + 1); + } + + // Returns the current balance_1. + #[external(v0)] + fn get_balance_1(self: @ContractState) -> felt252 { + self.balance_1.read() + } +} diff --git a/da-test/contracts/Counter1/Counter1.casm.json b/da-test/contracts/Counter1/Counter1.casm.json new file mode 100644 index 0000000000..9779276ecb --- /dev/null +++ b/da-test/contracts/Counter1/Counter1.casm.json @@ -0,0 +1,579 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.1.0", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffffa920", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x6e", + "0x4825800180007ffa", + "0x56e0", + "0x400280007ff97fff", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xe8", + "0x482680017ff98000", + "0x1", + "0x20680017fff7ffd", + "0x55", + "0x48307ffb80007ffc", + "0x4824800180007fff", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0xfe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff77fff8000", + "0x48127fe67fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1b4", + "0x482480017fff8000", + "0x1b3", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff67fff", + "0x10780017fff7fff", + "0x20", + "0x4824800180007fe8", + "0x0", + "0x400080007ff77fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff47fff8000", + "0x1104800180018000", + "0xdc", + "0x482480017fbc8000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff48000", + "0x1", + "0x48127fe37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffd7fff8000", + "0x48127fec7fff8000", + "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", + "0xffffffffffffffffffffffffffffe2f0", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x5e", + "0x4825800180007ffa", + "0x1d10", + "0x400280007ff97fff", + "0x48297ffc80007ffd", + "0x482680017ff98000", + "0x1", + "0x4824800180007ffe", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x82", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff87fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x138", + "0x482480017fff8000", + "0x137", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff7", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x24", + "0x4824800180007ff7", + "0x0", + "0x400080007ff87fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x8b", + "0x482480017fd88000", + "0x1", + "0x20680017fff7ffc", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x95", + "0x48127ff77fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff58000", + "0x1", + "0x48127ff27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ffc", + "0x8", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480080007ffa8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x42", + "0x20680017fff7ffd", + "0x1d", + "0x48287ffd7fff8000", + "0x482480017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x482480017ffd8000", + "0x1", + "0x1104800180018000", + "0x68", + "0x20680017fff7ffd", + "0xb", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1a", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x480680017fff8000", + "0x1", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x18", + "0x20680017fff7ffd", + "0xa", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x400380007ffd7ffb", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x27d877ff18f2ff9ed25ad76706d4f9d684e1bc6bae661861ea8b5c8baaa1ec0", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x480280057ffd8000", + "0x20680017fff7fff", + "0xc", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480280067ffd8000", + "0x10780017fff7fff", + "0x9", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffd8000", + "0x480280077ffd8000", + "0x1104800180018000", + "0x47", + "0x20680017fff7ffd", + "0xa", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x27d877ff18f2ff9ed25ad76706d4f9d684e1bc6bae661861ea8b5c8baaa1ec0", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffc7fff", + "0x400380017ffc7ffb", + "0x400280027ffc7ffd", + "0x400280037ffc7ffe", + "0x400380047ffc7ffd", + "0x480280067ffc8000", + "0x20680017fff7fff", + "0xd", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x9", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffc8000", + "0x480280087ffc8000", + "0x1104800180018000", + "0x21", + "0x20680017fff7ffd", + "0xb", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x9", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe" + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x56e0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 47, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -23 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 130, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x1d10" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 171, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -8 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 360, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -3 } } + } + } + ] + ], + [ + 410, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -4 } } + } + } + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x10b66bc7b40e8a760ea83aa5565a123b11b072c59341409cd87912ef31bb924", + "offset": 130, + "builtins": ["range_check"] + }, + { + "selector": "0x3ee6ae9fd7cdd42b3704e72c065a40336068c2aaa8eae0946457182b543962e", + "offset": 0, + "builtins": ["range_check"] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + } +} diff --git a/da-test/contracts/Counter1/Counter1.sierra.json b/da-test/contracts/Counter1/Counter1.sierra.json new file mode 100644 index 0000000000..348af14a84 --- /dev/null +++ b/da-test/contracts/Counter1/Counter1.sierra.json @@ -0,0 +1,660 @@ +{ + "sierra_program": [ + "0x1", + "0x3", + "0x0", + "0x2", + "0x1", + "0x0", + "0xca", + "0x36", + "0x1f", + "0x52616e6765436865636b", + "0x0", + "0x4761734275696c74696e", + "0x66656c74323532", + "0x4172726179", + "0x1", + "0x2", + "0x536e617073686f74", + "0x3", + "0x537472756374", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x4", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x456e756d", + "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", + "0x6", + "0x753332", + "0x53797374656d", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0xa", + "0x5", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0xc", + "0xb", + "0x4275696c74696e436f737473", + "0x16f85ae9467bd936afe01ccb07331475e4725265d7c11d5091e60a1c885c11e", + "0x3503d263af90d8c512a88ff14ec50aae3411c579608f3465874743c7620cd6", + "0xf", + "0x10", + "0x2f0cb34fa5cad702cdcbdd7c7bc96d0dd97edf763c461114d91a34181583db7", + "0x11", + "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", + "0x13", + "0x426f78", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x15", + "0x2e9b13c4214615a4a10337319a9cf00b1f3ae3d5a1f49a7ec885ff403c77390", + "0x17", + "0x53746f726167654261736541646472657373", + "0x53746f7261676541646472657373", + "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", + "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", + "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", + "0x1d", + "0x70", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x73746f72655f74656d70", + "0x66756e6374696f6e5f63616c6c", + "0x656e756d5f6d61746368", + "0x7", + "0x7374727563745f6465636f6e737472756374", + "0x61727261795f6c656e", + "0x736e617073686f745f74616b65", + "0x8", + "0x64726f70", + "0x7533325f636f6e7374", + "0x72656e616d65", + "0x7533325f6571", + "0x9", + "0x61727261795f6e6577", + "0x66656c743235325f636f6e7374", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x61727261795f617070656e64", + "0x7374727563745f636f6e737472756374", + "0x656e756d5f696e6974", + "0xd", + "0x6765745f6275696c74696e5f636f737473", + "0xe", + "0x77697468647261775f6761735f616c6c", + "0x12", + "0x4f7574206f6620676173", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x14", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x16", + "0x6a756d70", + "0x756e626f78", + "0x66656c743235325f616464", + "0x18", + "0x73746f726167655f626173655f616464726573735f636f6e7374", + "0x27d877ff18f2ff9ed25ad76706d4f9d684e1bc6bae661861ea8b5c8baaa1ec0", + "0x73746f726167655f616464726573735f66726f6d5f62617365", + "0x1a", + "0x73746f726167655f726561645f73797363616c6c", + "0x1b", + "0x73746f726167655f77726974655f73797363616c6c", + "0x1c", + "0x1e", + "0x19f", + "0xffffffffffffffff", + "0x63", + "0x54", + "0x24", + "0x19", + "0x20", + "0x21", + "0x22", + "0x23", + "0x25", + "0x46", + "0x26", + "0x27", + "0x28", + "0x29", + "0x2d", + "0x2e", + "0x2f", + "0x30", + "0x2a", + "0x2b", + "0x2c", + "0x31", + "0x3f", + "0x32", + "0x33", + "0x34", + "0x35", + "0x36", + "0x37", + "0x38", + "0x39", + "0x3a", + "0x3b", + "0x3c", + "0x3d", + "0x3e", + "0x40", + "0x41", + "0x42", + "0x43", + "0x44", + "0x45", + "0x47", + "0x48", + "0x49", + "0x4a", + "0x4b", + "0x4c", + "0x4d", + "0x4e", + "0x4f", + "0x50", + "0x51", + "0x52", + "0x53", + "0x55", + "0x56", + "0x57", + "0x58", + "0x59", + "0x5a", + "0x5b", + "0x5c", + "0x5d", + "0x5e", + "0x5f", + "0xc6", + "0x90", + "0xb9", + "0xb2", + "0xdb", + "0xe0", + "0xea", + "0x11c", + "0x116", + "0x132", + "0x14b", + "0x150", + "0x15b", + "0x170", + "0x60", + "0x175", + "0x61", + "0x62", + "0x64", + "0x180", + "0x65", + "0x66", + "0x67", + "0x68", + "0x69", + "0x6a", + "0x18d", + "0x6b", + "0x199", + "0x6c", + "0x6d", + "0x6e", + "0x6f", + "0x71", + "0xd4", + "0xf1", + "0xf5", + "0x124", + "0x138", + "0x13e", + "0x161", + "0x187", + "0x193", + "0xf85", + "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", + "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", + "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", + "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", + "0x70a090610062a02090e090607062902090e02280227180626062502090e10", + "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", + "0x606313806063b0207063a3806063938060637070606361506063534060633", + "0x70606314007063f0706063e10060639090906323d06063107060639023c38", + "0x6063102454406063106060631060744060743180606421406064207060641", + "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", + "0x374a07063f150606394907063f020744060743170606421506064209060639", + "0x100906320906063107060637210606354b060633150906321d0606391d0606", + "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", + "0x10060631060734060743340606310207340607430706063b0706064f4d0606", + "0x3551060633380906320607063f0250340906321c0606311c0606371d060635", + "0x210606421c060639060748060743480606310207480607431f060642260606", + "0x6074302565506063102545307065206074b0607434b06063102074b060743", + "0x63102075906074302583d0906325706063b06075706074357060631020757", + "0x60743260606422c0606355a060633140906325906063b0607590607435906", + "0x2075a0607432c060642590606335706063306075106074351060631020751", + "0x3410075d150c075c070602070602025c060202025b06075a0607435a060631", + "0xc065c060c0615023d38075c0614060c0214065c0609060902025c06020702", + "0x5c064406380244065c0638063402025c0602070217065e18065c073d061002", + "0x5c061f063d021f065c06021802025c061c0614021d1c075c0646063d024606", + "0x64b06440224065c06210617024b065c061d061702025c0648061402214807", + "0x607061d02025c0618061c02025c06020702025f025c07244b0746024b065c", + "0x5c06024b0260065c06022102025c0626064802264d075c0651061f0251065c", + "0x575907510259065c0602260257065c065560074d0255065c06550624025506", + "0x61d0261065c061506550200065c060c0615025a065c062c0660022c065c06", + "0x65c06025902025c06020702636261000c0663065c065a06570262065c064d", + "0x2025c0602070268670766655f075c0764150c095a0264065c0664062c0264", + "0x26c065c0607061d026b065c06650655026a065c066906610269065c060200", + "0x6150271706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662", + "0x2102025c0672065f02025c0602070274067372065c07710664025f065c065f", + "0x690278065c0677066802025c06760667027776075c067506650275065c0602", + "0x27c065c066f0655027b065c065f0615027a065c0679066a0279065c067806", + "0x74066002025c060207027e7d7c7b0c067e065c067a0657027d065c0670061d", + "0x6570281065c0670061d0273065c066f06550280065c065f0615027f065c06", + "0x83065c06022102025c0618061c02025c06020702828173800c0682065c067f", + "0x86065c0602260285065c068483074d0284065c068406240284065c06026f02", + "0x5c066806550288065c066706150287065c066606600266065c068586075102", + "0x2025c060207028b8a89880c068b065c06870657028a065c0607061d028906", + "0x8d0624028d065c060271028c065c06022102025c0638067002025c06170648", + "0x600290065c068e8f0751028f065c060226028e065c068d8c074d028d065c06", + "0x25e065c0607061d0293065c061506550292065c060c06150291065c069006", + "0x5c06022102025c0609067002025c06020702945e93920c0694065c06910657", + "0x5c0602260297065c069695074d0296065c069606240296065c06026f029506", + "0x340655029b065c06100615029a065c069906600299065c0697980751029806", + "0x5c060202029e9d9c9b0c069e065c069a0657029d065c0607061d029c065c06", + "0x380238065c0609063402025c060207023410079f150c075c07060207060202", + "0x3d0217065c06021802025c06140614021814075c063d063d023d065c063806", + "0x21d065c06460617021c065c0618061702025c06440614024644075c061706", + "0x25c0602070202a0025c071d1c0746020c065c060c0615021c065c061c0644", + "0x4b065c06022102025c0648064802481f075c0621061f0221065c0607061d02", + "0x26065c060226024d065c06244b074d0224065c062406240224065c06024b02", + "0x5c061506550255065c060c06150260065c065106600251065c064d26075102", + "0x2025c060207022c5957550c062c065c066006570259065c061f061d025706", + "0x702636207a16100075c075a150c095a025a065c065a062c025a065c060259", + "0x66c026765075c065f066b025f065c066406610264065c06020002025c0602", + "0x96d0271065c066706620270065c0607061d026f065c0661065502025c0665", + "0x207026c06a26b065c076a066e0200065c06000615026a6968095c0671706f", + "0x72061c027472075c066d0674026e065c060221026d065c066b067202025c06", + "0x48027675075c06787707760278065c066e06750277065c0674062402025c06", + "0x69027b065c067a066802025c06790667027a79075c0675066502025c067606", + "0x27f065c06680655027e065c06000615027d065c067c066a027c065c067b06", + "0x6c066002025c0602070273807f7e0c0673065c067d06570280065c0669061d", + "0x6570284065c0669061d0283065c066806550282065c060006150281065c06", + "0x66065c06026f0286065c06022102025c06020702858483820c0685065c0681", + "0x5c06878807510288065c0602260287065c066686074d0266065c0666062402", + "0x607061d028c065c06630655028b065c06620615028a065c06890660028906", + "0x2025c0609067002025c060207028e8d8c8b0c068e065c068a0657028d065c", + "0x291065c06908f074d0290065c069006240290065c06026f028f065c060221", + "0x94065c06100615025e065c069306600293065c06919207510292065c060226", + "0x2979695940c0697065c065e06570296065c0607061d0295065c0634065502", + "0x5c0609067802025c060207020c06a30907075c070606770206065c06020634", + "0x2025c0602070202a406027b0234065c0615067a0210065c06070679021506", + "0x234065c063d067a0210065c060c0679023d065c0638067d0238065c06027c", + "0x5c060207021706a518065c0734067e0214065c061406090214065c06100668", + "0x5c06140609021c065c064606730246065c064406800244065c0618067f0202", + "0x6027c02025c0617064802025c060207021f1d07061f065c061c0681021d06", + "0x244b070624065c06210681024b065c061406090221065c064806820248065c", + "0x70684020907070609065c060606830207065c0602061d0206065c06027c02", + "0x860218065c0606061d0214065c06020655021015075c060c0685020c065c06", + "0x7024606a644065c073d066e023d3834095c0617181409660217065c061006", + "0x624021f065c060288021d065c06091c0787021c065c0644067202025c0602", + "0x870248065c064806240221065c0602880248065c061f1d0787021d065c061d", + "0x55065c061506860260065c0638061d0251065c06340655024b065c06214807", + "0x6a759065c0726068a02264d24095c06575560510c890257065c064b062402", + "0x61065c065a066102025c0600064802005a075c0659068b02025c060207022c", + "0x65c062406550264065c0663068d0263065c066261078c0262065c06027c02", + "0x68f02025c0602070267655f090667065c0664068e0265065c064d061d025f", + "0x9066f065c0668068e026a065c064d061d0269065c062406550268065c062c", + "0x70065c0646068f02025c0609061c02025c0615069002025c060207026f6a69", + "0x84026c6b7109066c065c0670068e026b065c0638061d0271065c0634065502", + "0x23d065c060906860238065c0606061d0234065c060206550209065c060706", + "0x67202025c060207021806a814065c0710066e0210150c095c063d38340966", + "0x1d021c065c060c06550246065c064406920244065c061706910217065c0614", + "0x5c0618065e02025c060207021f1d1c09061f065c06460693021d065c061506", + "0x244b21090624065c06480693024b065c0615061d0221065c060c0655024806", + "0x65c06090675020c065c06027c0209065c060706074d0207065c0602068002", + "0x906950209065c06029402025c06070690021015070610065c060c06830215", + "0x20c97020c065c060c06960215065c061506440215065c060218020c065c06", + "0x6550217065c0638069802025c0602070218143d09a9383410095c070c1506", + "0x602070202aa06027b021c065c061706990246065c0634061d0244065c0610", + "0x61d06990246065c0614061d0244065c063d0655021d065c0618069a02025c", + "0x24b06ab21065c071f066e021f065c0648069c0248065c061c069b021c065c", + "0x550226065c064d0692024d065c062406910224065c0621067202025c060207", + "0x6020702556051090655065c062606930260065c0646061d0251065c064406", + "0x6570693022c065c0646061d0259065c064406550257065c064b065e02025c", + "0x10065c06029402025c0615069002150c075c06070685025a2c5909065a065c", + "0x34065c063406960238065c063806440238065c0602180234065c0610069502", + "0x46065c06027c02025c0602070244171809ac143d075c070934380602159d02", + "0x65c061c06ad021f065c0614061d021d065c063d0655021c065c0646069e02", + "0x1d021d065c061806550221065c064406af02025c0602070202ae06027b0248", + "0x24b065c0624065d0224065c064806b00248065c062106ad021f065c061706", + "0x5c06510c07b40251065c064d06b302025c060207022606b24d065c074b06b1", + "0x65506b60259065c061f061d0257065c061d06550255065c066006b5026006", + "0x55025a065c062606b702025c060c069002025c060207022c595709062c065c", + "0x206b802626100090662065c065a06b60261065c061f061d0200065c061d06", + "0x93020c065c060906920209065c0606069102025c060207020706b906065c07", + "0x34065c06071007510210065c06022602025c0602070215060615065c060c06", + "0x20706bb06065c070206ba023d06063d065c063806930238065c0634065e02", + "0x60615065c060c06be020c065c060906bd0209065c060606bc02025c060207", + "0x38065c063406bf0234065c06071007510210065c06022602025c0602070215", + "0x3d06020c0209070602443d06020c153d06020c183d06063d065c063806be02", + "0x9071d3d060cc202103d073d06c1023415071506c009070602443d06020c15", + "0x609c50602100907090707c40706024b3d06091d3d0609c309070602483d06", + "0x6c8024b065706c709070602513d0609071c3d060cc60706024b3d06091c3d", + "0xc9025a0659" + ], + "sierra_program_debug_info": { + "type_names": [ + [0, "RangeCheck"], + [1, "GasBuiltin"], + [2, "felt252"], + [3, "Array"], + [4, "Snapshot>"], + [5, "core::array::Span::"], + [6, "Unit"], + [7, "core::option::Option::"], + [8, "u32"], + [9, "System"], + [10, "core::panics::Panic"], + [11, "Tuple>"], + [12, "Tuple>"], + [ + 13, + "core::panics::PanicResult::<(core::array::Span::,)>" + ], + [14, "BuiltinCosts"], + [15, "Counter1::Counter1::balance_1::ContractState"], + [16, "Counter1::Counter1::ContractState"], + [17, "Tuple"], + [ + 18, + "core::panics::PanicResult::<(Counter1::Counter1::ContractState, ())>" + ], + [19, "Tuple"], + [20, "core::panics::PanicResult::<(core::felt252,)>"], + [21, "Box"], + [22, "core::option::Option::>"], + [23, "Tuple"], + [ + 24, + "core::panics::PanicResult::<(Counter1::Counter1::balance_1::ContractState, ())>" + ], + [25, "StorageBaseAddress"], + [26, "StorageAddress"], + [ + 27, + "core::result::Result::>" + ], + [28, "core::result::Result::<(), core::array::Array::>"], + [29, "Tuple"], + [30, "core::panics::PanicResult::<((),)>"] + ], + "libfunc_names": [ + [0, "revoke_ap_tracking"], + [1, "withdraw_gas"], + [2, "branch_align"], + [3, "store_temp>"], + [4, "function_call"], + [5, "store_temp"], + [6, "enum_match>"], + [7, "struct_deconstruct>"], + [8, "array_len"], + [9, "snapshot_take"], + [10, "drop"], + [11, "u32_const<0>"], + [12, "rename"], + [13, "store_temp"], + [14, "u32_eq"], + [15, "drop"], + [16, "store_temp"], + [17, "function_call"], + [18, "drop"], + [19, "array_new"], + [ + 20, + "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" + ], + [21, "store_temp"], + [22, "array_append"], + [23, "struct_construct"], + [24, "struct_construct>>"], + [ + 25, + "enum_init,)>, 1>" + ], + [26, "store_temp"], + [ + 27, + "store_temp,)>>" + ], + [28, "get_builtin_costs"], + [29, "store_temp"], + [30, "withdraw_gas_all"], + [31, "struct_construct"], + [32, "struct_construct"], + [33, "store_temp"], + [34, "function_call"], + [ + 35, + "enum_match>" + ], + [36, "drop>"], + [37, "snapshot_take>"], + [38, "drop>"], + [39, "struct_construct>"], + [40, "struct_construct>>"], + [ + 41, + "enum_init,)>, 0>" + ], + [42, "felt252_const<375233589013918064796019>"], + [43, "drop>"], + [ + 44, + "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" + ], + [45, "snapshot_take"], + [46, "drop"], + [47, "function_call"], + [48, "enum_match>"], + [49, "struct_deconstruct>"], + [50, "snapshot_take"], + [51, "store_temp>"], + [52, "function_call"], + [53, "array_snapshot_pop_front"], + [ + 54, + "enum_init>, 0>" + ], + [55, "store_temp>>"], + [ + 56, + "store_temp>>" + ], + [57, "jump"], + [58, "struct_construct"], + [ + 59, + "enum_init>, 1>" + ], + [ + 60, + "enum_match>>" + ], + [61, "unbox"], + [62, "rename"], + [63, "enum_init, 0>"], + [64, "store_temp>"], + [65, "enum_init, 1>"], + [66, "store_temp"], + [67, "struct_deconstruct"], + [68, "snapshot_take"], + [69, "store_temp"], + [ + 70, + "function_call" + ], + [71, "felt252_add"], + [72, "felt252_const<1>"], + [ + 73, + "function_call" + ], + [ + 74, + "enum_match>" + ], + [ + 75, + "struct_deconstruct>" + ], + [76, "struct_construct>"], + [ + 77, + "enum_init, 0>" + ], + [ + 78, + "store_temp>" + ], + [ + 79, + "enum_init, 1>" + ], + [80, "drop"], + [81, "struct_construct>"], + [82, "enum_init, 0>"], + [83, "store_temp>"], + [84, "enum_init, 1>"], + [ + 85, + "storage_base_address_const<1126416765373040447134877403742562949829456288349438530158544342912871308992>" + ], + [86, "storage_address_from_base"], + [87, "store_temp"], + [88, "storage_read_syscall"], + [ + 89, + "enum_init>, 0>" + ], + [ + 90, + "store_temp>>" + ], + [ + 91, + "enum_init>, 1>" + ], + [ + 92, + "rename>>" + ], + [ + 93, + "function_call::unwrap_syscall>" + ], + [94, "storage_write_syscall"], + [ + 95, + "enum_init>, 0>" + ], + [ + 96, + "store_temp>>" + ], + [ + 97, + "enum_init>, 1>" + ], + [ + 98, + "rename>>" + ], + [ + 99, + "function_call::unwrap_syscall>" + ], + [100, "enum_match>"], + [101, "struct_deconstruct>"], + [ + 102, + "struct_construct>" + ], + [ + 103, + "enum_init, 0>" + ], + [ + 104, + "store_temp>" + ], + [ + 105, + "enum_init, 1>" + ], + [ + 106, + "enum_match>>" + ], + [ + 107, + "enum_match>>" + ], + [108, "struct_construct>"], + [109, "enum_init, 0>"], + [110, "store_temp>"], + [111, "enum_init, 1>"] + ], + "user_func_names": [ + [0, "Counter1::Counter1::__external::increase_balance_1"], + [1, "Counter1::Counter1::__external::get_balance_1"], + [2, "core::Felt252Serde::deserialize"], + [3, "core::starknet::use_system_implicit"], + [4, "Counter1::Counter1::increase_balance_1"], + [5, "Counter1::Counter1::get_balance_1"], + [6, "core::Felt252Serde::serialize"], + [7, "Counter1::Counter1::balance_1::InternalContractStateImpl::read"], + [8, "Counter1::Counter1::balance_1::InternalContractStateImpl::write"], + [ + 9, + "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" + ], + [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] + ] + }, + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x10b66bc7b40e8a760ea83aa5565a123b11b072c59341409cd87912ef31bb924", + "function_idx": 1 + }, + { + "selector": "0x3ee6ae9fd7cdd42b3704e72c065a40336068c2aaa8eae0946457182b543962e", + "function_idx": 0 + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + }, + "abi": [ + { + "type": "function", + "name": "increase_balance_1", + "inputs": [{ "name": "amount", "type": "core::felt252" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "get_balance_1", + "inputs": [], + "outputs": [{ "type": "core::felt252" }], + "state_mutability": "view" + }, + { + "type": "event", + "name": "Counter1::Counter1::Event", + "kind": "enum", + "variants": [] + } + ] +} diff --git a/da-test/contracts/Counter2/Counter2.cairo b/da-test/contracts/Counter2/Counter2.cairo new file mode 100644 index 0000000000..3cfbfaab92 --- /dev/null +++ b/da-test/contracts/Counter2/Counter2.cairo @@ -0,0 +1,19 @@ +#[starknet::contract] +mod Counter2 { + #[storage] + struct Storage { + balance_2: felt252, + } + + // Increases the balance_2 by the given amount. + #[external(v0)] + fn increase_balance_2(ref self: ContractState, amount: felt252) { + self.balance_2.write(self.balance_2.read() + amount + 2 + 1); + } + + // Returns the current balance_2. + #[external(v0)] + fn get_balance_2(self: @ContractState) -> felt252 { + self.balance_2.read() + } +} diff --git a/da-test/contracts/Counter2/Counter2.casm.json b/da-test/contracts/Counter2/Counter2.casm.json new file mode 100644 index 0000000000..d50f4d26c0 --- /dev/null +++ b/da-test/contracts/Counter2/Counter2.casm.json @@ -0,0 +1,579 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.1.0", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffffa920", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x6e", + "0x4825800180007ffa", + "0x56e0", + "0x400280007ff97fff", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xe8", + "0x482680017ff98000", + "0x1", + "0x20680017fff7ffd", + "0x55", + "0x48307ffb80007ffc", + "0x4824800180007fff", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0xfe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff77fff8000", + "0x48127fe67fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1b4", + "0x482480017fff8000", + "0x1b3", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff67fff", + "0x10780017fff7fff", + "0x20", + "0x4824800180007fe8", + "0x0", + "0x400080007ff77fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff47fff8000", + "0x1104800180018000", + "0xdc", + "0x482480017fbc8000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff48000", + "0x1", + "0x48127fe37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffd7fff8000", + "0x48127fec7fff8000", + "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", + "0xffffffffffffffffffffffffffffe2f0", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x5e", + "0x4825800180007ffa", + "0x1d10", + "0x400280007ff97fff", + "0x48297ffc80007ffd", + "0x482680017ff98000", + "0x1", + "0x4824800180007ffe", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x82", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff87fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x138", + "0x482480017fff8000", + "0x137", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff7", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x24", + "0x4824800180007ff7", + "0x0", + "0x400080007ff87fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x8b", + "0x482480017fd88000", + "0x1", + "0x20680017fff7ffc", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x95", + "0x48127ff77fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff58000", + "0x1", + "0x48127ff27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ffc", + "0x8", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480080007ffa8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x42", + "0x20680017fff7ffd", + "0x1d", + "0x48287ffd7fff8000", + "0x482480017fff8000", + "0x2", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x482480017ffd8000", + "0x1", + "0x1104800180018000", + "0x68", + "0x20680017fff7ffd", + "0xb", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1a", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x480680017fff8000", + "0x1", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x18", + "0x20680017fff7ffd", + "0xa", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x400380007ffd7ffb", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1f3694f95b7dfd5d7c412de0955718cd18eb234ad39c2e1aeb5d3d1f702b575", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x480280057ffd8000", + "0x20680017fff7fff", + "0xc", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480280067ffd8000", + "0x10780017fff7fff", + "0x9", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffd8000", + "0x480280077ffd8000", + "0x1104800180018000", + "0x47", + "0x20680017fff7ffd", + "0xa", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1f3694f95b7dfd5d7c412de0955718cd18eb234ad39c2e1aeb5d3d1f702b575", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffc7fff", + "0x400380017ffc7ffb", + "0x400280027ffc7ffd", + "0x400280037ffc7ffe", + "0x400380047ffc7ffd", + "0x480280067ffc8000", + "0x20680017fff7fff", + "0xd", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x9", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffc8000", + "0x480280087ffc8000", + "0x1104800180018000", + "0x21", + "0x20680017fff7ffd", + "0xb", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x9", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe" + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x56e0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 47, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -23 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 130, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x1d10" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 171, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -8 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 360, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -3 } } + } + } + ] + ], + [ + 410, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -4 } } + } + } + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x100781e70ee4c8fe9095638e2f60c7d1d8102a337cc9f7619fd0d3c23f97358", + "offset": 0, + "builtins": ["range_check"] + }, + { + "selector": "0x3a8a260575c99ad54c35e92934105827032e08dc2f03097e6014d94706b0a7f", + "offset": 130, + "builtins": ["range_check"] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + } +} diff --git a/da-test/contracts/Counter2/Counter2.sierra.json b/da-test/contracts/Counter2/Counter2.sierra.json new file mode 100644 index 0000000000..f9de4ba6f6 --- /dev/null +++ b/da-test/contracts/Counter2/Counter2.sierra.json @@ -0,0 +1,661 @@ +{ + "sierra_program": [ + "0x1", + "0x3", + "0x0", + "0x2", + "0x1", + "0x0", + "0xca", + "0x36", + "0x1f", + "0x52616e6765436865636b", + "0x0", + "0x4761734275696c74696e", + "0x66656c74323532", + "0x4172726179", + "0x1", + "0x2", + "0x536e617073686f74", + "0x3", + "0x537472756374", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x4", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x456e756d", + "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", + "0x6", + "0x753332", + "0x53797374656d", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0xa", + "0x5", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0xc", + "0xb", + "0x4275696c74696e436f737473", + "0x29f42f081b39b7a95af7de50c360d817b2d3267526e04d1c82194503d6741f5", + "0x137cd6e9a4a8465ec5587137fce150747aa77ffb322ddd97f7d17f021a4d3d7", + "0xf", + "0x10", + "0xc0764d0105132ee2c23ff8b3bb5a956e28de073773f2ca19cd88a286832866", + "0x11", + "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", + "0x13", + "0x426f78", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x15", + "0x167da147c848d82223137ce6d4116fc13e47127577ad1b4c91f8b9e045c9785", + "0x17", + "0x53746f726167654261736541646472657373", + "0x53746f7261676541646472657373", + "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", + "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", + "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", + "0x1d", + "0x71", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x73746f72655f74656d70", + "0x66756e6374696f6e5f63616c6c", + "0x656e756d5f6d61746368", + "0x7", + "0x7374727563745f6465636f6e737472756374", + "0x61727261795f6c656e", + "0x736e617073686f745f74616b65", + "0x8", + "0x64726f70", + "0x7533325f636f6e7374", + "0x72656e616d65", + "0x7533325f6571", + "0x9", + "0x61727261795f6e6577", + "0x66656c743235325f636f6e7374", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x61727261795f617070656e64", + "0x7374727563745f636f6e737472756374", + "0x656e756d5f696e6974", + "0xd", + "0x6765745f6275696c74696e5f636f737473", + "0xe", + "0x77697468647261775f6761735f616c6c", + "0x12", + "0x4f7574206f6620676173", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x14", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x16", + "0x6a756d70", + "0x756e626f78", + "0x66656c743235325f616464", + "0x18", + "0x73746f726167655f626173655f616464726573735f636f6e7374", + "0x1f3694f95b7dfd5d7c412de0955718cd18eb234ad39c2e1aeb5d3d1f702b575", + "0x73746f726167655f616464726573735f66726f6d5f62617365", + "0x1a", + "0x73746f726167655f726561645f73797363616c6c", + "0x1b", + "0x73746f726167655f77726974655f73797363616c6c", + "0x1c", + "0x1e", + "0x19f", + "0xffffffffffffffff", + "0x63", + "0x54", + "0x24", + "0x19", + "0x20", + "0x21", + "0x22", + "0x23", + "0x25", + "0x46", + "0x26", + "0x27", + "0x28", + "0x29", + "0x2d", + "0x2e", + "0x2f", + "0x30", + "0x2a", + "0x2b", + "0x2c", + "0x31", + "0x3f", + "0x32", + "0x33", + "0x34", + "0x35", + "0x36", + "0x37", + "0x38", + "0x39", + "0x3a", + "0x3b", + "0x3c", + "0x3d", + "0x3e", + "0x40", + "0x41", + "0x42", + "0x43", + "0x44", + "0x45", + "0x47", + "0x48", + "0x49", + "0x4a", + "0x4b", + "0x4c", + "0x4d", + "0x4e", + "0x4f", + "0x50", + "0x51", + "0x52", + "0x53", + "0x55", + "0x56", + "0x57", + "0x58", + "0x59", + "0x5a", + "0x5b", + "0x5c", + "0x5d", + "0x5e", + "0x5f", + "0xc6", + "0x90", + "0xb9", + "0xb2", + "0xdb", + "0xe0", + "0xea", + "0x11c", + "0x116", + "0x132", + "0x14b", + "0x150", + "0x15b", + "0x170", + "0x60", + "0x61", + "0x175", + "0x62", + "0x64", + "0x65", + "0x180", + "0x66", + "0x67", + "0x68", + "0x69", + "0x6a", + "0x6b", + "0x18d", + "0x6c", + "0x199", + "0x6d", + "0x6e", + "0x6f", + "0x70", + "0xd4", + "0xf1", + "0xf5", + "0x124", + "0x138", + "0x13e", + "0x161", + "0x187", + "0x193", + "0xf89", + "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", + "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", + "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", + "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", + "0x70a090610062a02090e090607062902090e02280227180626062502090e10", + "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", + "0x606313806063b0207063a3806063938060637070606361506063534060633", + "0x70606314007063f0706063e10060639090906323d06063107060639023c38", + "0x6063102454406063106060631060744060743180606421406064207060641", + "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", + "0x374a07063f150606394907063f020744060743170606421506064209060639", + "0x100906320906063107060637210606354b060633150906321d0606391d0606", + "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", + "0x10060631060734060743340606310207340607430706063b0706064f4d0606", + "0x33380906320607063f0707063f0250340906321c0606311c0606371d060635", + "0x1c060639060748060743480606310207480607431f06064226060635510606", + "0x565506063102545307065206074b0607434b06063102074b06074321060642", + "0x5906074302583d0906325706063b0607570607435706063102075706074302", + "0x606422c0606355a060633140906325906063b060759060743590606310207", + "0x7432c06064259060633570606330607510607435106063102075106074326", + "0x150c075c070602070602025c060202025b06075a0607435a06063102075a06", + "0xc0615023d38075c0614060c0214065c0609060902025c060207023410075d", + "0x380244065c0638063402025c0602070217065e18065c073d0610020c065c06", + "0x3d021f065c06021802025c061c0614021d1c075c0646063d0246065c064406", + "0x224065c06210617024b065c061d061702025c06480614022148075c061f06", + "0x2025c0618061c02025c06020702025f025c07244b0746024b065c064b0644", + "0x260065c06022102025c0626064802264d075c0651061f0251065c0607061d", + "0x259065c0602260257065c065560074d0255065c065506240255065c06024b", + "0x65c061506550200065c060c0615025a065c062c0660022c065c0657590751", + "0x5902025c06020702636261000c0663065c065a06570262065c064d061d0261", + "0x2070268670766655f075c0764150c095a0264065c0664062c0264065c0602", + "0x607061d026b065c06650655026a065c066906610269065c06020002025c06", + "0x706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662026c065c", + "0x672065f02025c0602070274067372065c07710664025f065c065f06150271", + "0x5c0677066802025c06760667027776075c067506650275065c06022102025c", + "0x66f0655027b065c065f0615027a065c0679066a0279065c06780669027806", + "0x25c060207027e7d7c7b0c067e065c067a0657027d065c0670061d027c065c", + "0x65c0670061d0273065c066f06550280065c065f0615027f065c0674066002", + "0x22102025c0618061c02025c06020702828173800c0682065c067f06570281", + "0x2260285065c068483074d0284065c068406240284065c06026f0283065c06", + "0x550288065c066706150287065c066606600266065c06858607510286065c06", + "0x207028b8a89880c068b065c06870657028a065c0607061d0289065c066806", + "0x8d065c060271028c065c06022102025c0638067002025c0617064802025c06", + "0x5c068e8f0751028f065c060226028e065c068d8c074d028d065c068d062402", + "0x607061d0293065c061506550292065c060c06150291065c06900660029006", + "0x2025c0609067002025c06020702945e93920c0694065c06910657025e065c", + "0x297065c069695074d0296065c069606240296065c06026f0295065c060221", + "0x9b065c06100615029a065c069906600299065c06979807510298065c060226", + "0x29e9d9c9b0c069e065c069a0657029d065c0607061d029c065c0634065502", + "0x5c0609063402025c060207023410079f150c075c070602070602025c060202", + "0x5c06021802025c06140614021814075c063d063d023d065c06380638023806", + "0x6460617021c065c0618061702025c06440614024644075c0617063d021706", + "0x70202a0025c071d1c0746020c065c060c0615021c065c061c0644021d065c", + "0x22102025c0648064802481f075c0621061f0221065c0607061d02025c0602", + "0x226024d065c06244b074d0224065c062406240224065c06024b024b065c06", + "0x550255065c060c06150260065c065106600251065c064d2607510226065c06", + "0x207022c5957550c062c065c066006570259065c061f061d0257065c061506", + "0x7a16100075c075a150c095a025a065c065a062c025a065c06025902025c06", + "0x65075c065f066b025f065c066406610264065c06020002025c060207026362", + "0x65c066706620270065c0607061d026f065c0661065502025c0665066c0267", + "0x6a26b065c076a066e0200065c06000615026a6968095c0671706f096d0271", + "0x7472075c066d0674026e065c060221026d065c066b067202025c060207026c", + "0x75c06787707760278065c066e06750277065c0674062402025c0672061c02", + "0x5c067a066802025c06790667027a79075c0675066502025c06760648027675", + "0x6680655027e065c06000615027d065c067c066a027c065c067b0669027b06", + "0x25c0602070273807f7e0c0673065c067d06570280065c0669061d027f065c", + "0x65c0669061d0283065c066806550282065c060006150281065c066c066002", + "0x26f0286065c06022102025c06020702858483820c0685065c068106570284", + "0x7510288065c0602260287065c066686074d0266065c066606240266065c06", + "0x28c065c06630655028b065c06620615028a065c068906600289065c068788", + "0x9067002025c060207028e8d8c8b0c068e065c068a0657028d065c0607061d", + "0x6908f074d0290065c069006240290065c06026f028f065c06022102025c06", + "0x100615025e065c069306600293065c06919207510292065c0602260291065c", + "0x940c0697065c065e06570296065c0607061d0295065c063406550294065c06", + "0x7802025c060207020c06a30907075c070606770206065c0602063402979695", + "0x2070202a406027b0234065c0615067a0210065c060706790215065c060906", + "0x63d067a0210065c060c0679023d065c0638067d0238065c06027c02025c06", + "0x21706a518065c0734067e0214065c061406090214065c061006680234065c", + "0x9021c065c064606730246065c064406800244065c0618067f02025c060207", + "0x25c0617064802025c060207021f1d07061f065c061c0681021d065c061406", + "0x24065c06210681024b065c061406090221065c064806820248065c06027c02", + "0x907070609065c060606830207065c0602061d0206065c06027c02244b0706", + "0x5c0606061d0214065c06020655021015075c060c0685020c065c0607068402", + "0xa644065c073d066e023d3834095c0617181409660217065c06100686021806", + "0x65c060288021d065c06091c0787021c065c0644067202025c060207024606", + "0x5c064806240221065c0602890248065c061f1d0787021d065c061d0624021f", + "0x1506860260065c0638061d0251065c06340655024b065c0621480787024806", + "0x5c0726068b02264d24095c06575560510c8a0257065c064b06240255065c06", + "0x5a066102025c0600064802005a075c0659068c02025c060207022c06a75906", + "0x6550264065c0663068e0263065c066261078d0262065c06027c0261065c06", + "0x5c0602070267655f090667065c0664068f0265065c064d061d025f065c0624", + "0x5c0668068f026a065c064d061d0269065c062406550268065c062c06900202", + "0x46069002025c0609061c02025c0615069102025c060207026f6a6909066f06", + "0x7109066c065c0670068f026b065c0638061d0271065c063406550270065c06", + "0x60906860238065c0606061d0234065c060206550209065c06070684026c6b", + "0x5c060207021806a814065c0710066e0210150c095c063d38340966023d065c", + "0x5c060c06550246065c064406930244065c061706920217065c061406720202", + "0x9402025c060207021f1d1c09061f065c0646065e021d065c0615061d021c06", + "0x624065c0648065e024b065c0615061d0221065c060c06550248065c061806", + "0x675020c065c06027c0209065c060706074d0207065c0602068002244b2109", + "0x9065c06029502025c06070691021015070610065c060c06830215065c0609", + "0xc065c060c06970215065c061506440215065c060218020c065c0609069602", + "0x65c0638069902025c0602070218143d09a9383410095c070c1506020c9802", + "0x2aa06027b021c065c0617069a0246065c0634061d0244065c061006550217", + "0x246065c0614061d0244065c063d0655021d065c0618069b02025c06020702", + "0x21065c071f066e021f065c0648069d0248065c061c069c021c065c061d069a", + "0x5c064d0693024d065c062406920224065c0621067202025c060207024b06ab", + "0x556051090655065c0626065e0260065c0646061d0251065c06440655022606", + "0x22c065c0646061d0259065c064406550257065c064b069402025c06020702", + "0x29502025c0615069102150c075c06070685025a2c5909065a065c0657065e", + "0x3406970238065c063806440238065c0602180234065c061006960210065c06", + "0x27c02025c0602070244171809ac143d075c070934380602159e0234065c06", + "0x6ae021f065c0614061d021d065c063d0655021c065c064606ad0246065c06", + "0x5c061806550221065c064406b002025c0602070202af06027b0248065c061c", + "0x62406b10224065c0648065d0248065c062106ae021f065c0617061d021d06", + "0x7b50251065c064d06b402025c060207022606b34d065c074b06b2024b065c", + "0x259065c061f061d0257065c061d06550255065c066006b60260065c06510c", + "0x5c062606b802025c060c069102025c060207022c595709062c065c065506b7", + "0x626100090662065c065a06b70261065c061f061d0200065c061d0655025a06", + "0x5c060906930209065c0606069202025c060207020706ba06065c070206b902", + "0x71007510210065c06022602025c0602070215060615065c060c065e020c06", + "0x6065c070206bb023d06063d065c0638065e0238065c063406940234065c06", + "0x5c060c06bf020c065c060906be0209065c060606bd02025c060207020706bc", + "0x3406c00234065c06071007510210065c06022602025c060207021506061506", + "0x209070602443d06020c153d06020c183d06063d065c063806bf0238065c06", + "0x60cc202103d073d06c10234150715062d09070602443d06020c153d06020c", + "0x2100907090707c40706024b3d06091d3d0609c309070602483d0609071d3d", + "0x65706c709070602513d0609071c3d060cc60706024b3d06091c3d0609c506", + "0xc9025a065906c8024b" + ], + "sierra_program_debug_info": { + "type_names": [ + [0, "RangeCheck"], + [1, "GasBuiltin"], + [2, "felt252"], + [3, "Array"], + [4, "Snapshot>"], + [5, "core::array::Span::"], + [6, "Unit"], + [7, "core::option::Option::"], + [8, "u32"], + [9, "System"], + [10, "core::panics::Panic"], + [11, "Tuple>"], + [12, "Tuple>"], + [ + 13, + "core::panics::PanicResult::<(core::array::Span::,)>" + ], + [14, "BuiltinCosts"], + [15, "Counter2::Counter2::balance_2::ContractState"], + [16, "Counter2::Counter2::ContractState"], + [17, "Tuple"], + [ + 18, + "core::panics::PanicResult::<(Counter2::Counter2::ContractState, ())>" + ], + [19, "Tuple"], + [20, "core::panics::PanicResult::<(core::felt252,)>"], + [21, "Box"], + [22, "core::option::Option::>"], + [23, "Tuple"], + [ + 24, + "core::panics::PanicResult::<(Counter2::Counter2::balance_2::ContractState, ())>" + ], + [25, "StorageBaseAddress"], + [26, "StorageAddress"], + [ + 27, + "core::result::Result::>" + ], + [28, "core::result::Result::<(), core::array::Array::>"], + [29, "Tuple"], + [30, "core::panics::PanicResult::<((),)>"] + ], + "libfunc_names": [ + [0, "revoke_ap_tracking"], + [1, "withdraw_gas"], + [2, "branch_align"], + [3, "store_temp>"], + [4, "function_call"], + [5, "store_temp"], + [6, "enum_match>"], + [7, "struct_deconstruct>"], + [8, "array_len"], + [9, "snapshot_take"], + [10, "drop"], + [11, "u32_const<0>"], + [12, "rename"], + [13, "store_temp"], + [14, "u32_eq"], + [15, "drop"], + [16, "store_temp"], + [17, "function_call"], + [18, "drop"], + [19, "array_new"], + [ + 20, + "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" + ], + [21, "store_temp"], + [22, "array_append"], + [23, "struct_construct"], + [24, "struct_construct>>"], + [ + 25, + "enum_init,)>, 1>" + ], + [26, "store_temp"], + [ + 27, + "store_temp,)>>" + ], + [28, "get_builtin_costs"], + [29, "store_temp"], + [30, "withdraw_gas_all"], + [31, "struct_construct"], + [32, "struct_construct"], + [33, "store_temp"], + [34, "function_call"], + [ + 35, + "enum_match>" + ], + [36, "drop>"], + [37, "snapshot_take>"], + [38, "drop>"], + [39, "struct_construct>"], + [40, "struct_construct>>"], + [ + 41, + "enum_init,)>, 0>" + ], + [42, "felt252_const<375233589013918064796019>"], + [43, "drop>"], + [ + 44, + "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" + ], + [45, "snapshot_take"], + [46, "drop"], + [47, "function_call"], + [48, "enum_match>"], + [49, "struct_deconstruct>"], + [50, "snapshot_take"], + [51, "store_temp>"], + [52, "function_call"], + [53, "array_snapshot_pop_front"], + [ + 54, + "enum_init>, 0>" + ], + [55, "store_temp>>"], + [ + 56, + "store_temp>>" + ], + [57, "jump"], + [58, "struct_construct"], + [ + 59, + "enum_init>, 1>" + ], + [ + 60, + "enum_match>>" + ], + [61, "unbox"], + [62, "rename"], + [63, "enum_init, 0>"], + [64, "store_temp>"], + [65, "enum_init, 1>"], + [66, "store_temp"], + [67, "struct_deconstruct"], + [68, "snapshot_take"], + [69, "store_temp"], + [ + 70, + "function_call" + ], + [71, "felt252_add"], + [72, "felt252_const<2>"], + [73, "felt252_const<1>"], + [ + 74, + "function_call" + ], + [ + 75, + "enum_match>" + ], + [ + 76, + "struct_deconstruct>" + ], + [77, "struct_construct>"], + [ + 78, + "enum_init, 0>" + ], + [ + 79, + "store_temp>" + ], + [ + 80, + "enum_init, 1>" + ], + [81, "drop"], + [82, "struct_construct>"], + [83, "enum_init, 0>"], + [84, "store_temp>"], + [85, "enum_init, 1>"], + [ + 86, + "storage_base_address_const<882383514293786476169860057603731312574256808446185275593542539777216263541>" + ], + [87, "storage_address_from_base"], + [88, "store_temp"], + [89, "storage_read_syscall"], + [ + 90, + "enum_init>, 0>" + ], + [ + 91, + "store_temp>>" + ], + [ + 92, + "enum_init>, 1>" + ], + [ + 93, + "rename>>" + ], + [ + 94, + "function_call::unwrap_syscall>" + ], + [95, "storage_write_syscall"], + [ + 96, + "enum_init>, 0>" + ], + [ + 97, + "store_temp>>" + ], + [ + 98, + "enum_init>, 1>" + ], + [ + 99, + "rename>>" + ], + [ + 100, + "function_call::unwrap_syscall>" + ], + [101, "enum_match>"], + [102, "struct_deconstruct>"], + [ + 103, + "struct_construct>" + ], + [ + 104, + "enum_init, 0>" + ], + [ + 105, + "store_temp>" + ], + [ + 106, + "enum_init, 1>" + ], + [ + 107, + "enum_match>>" + ], + [ + 108, + "enum_match>>" + ], + [109, "struct_construct>"], + [110, "enum_init, 0>"], + [111, "store_temp>"], + [112, "enum_init, 1>"] + ], + "user_func_names": [ + [0, "Counter2::Counter2::__external::increase_balance_2"], + [1, "Counter2::Counter2::__external::get_balance_2"], + [2, "core::Felt252Serde::deserialize"], + [3, "core::starknet::use_system_implicit"], + [4, "Counter2::Counter2::increase_balance_2"], + [5, "Counter2::Counter2::get_balance_2"], + [6, "core::Felt252Serde::serialize"], + [7, "Counter2::Counter2::balance_2::InternalContractStateImpl::read"], + [8, "Counter2::Counter2::balance_2::InternalContractStateImpl::write"], + [ + 9, + "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" + ], + [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] + ] + }, + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x100781e70ee4c8fe9095638e2f60c7d1d8102a337cc9f7619fd0d3c23f97358", + "function_idx": 0 + }, + { + "selector": "0x3a8a260575c99ad54c35e92934105827032e08dc2f03097e6014d94706b0a7f", + "function_idx": 1 + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + }, + "abi": [ + { + "type": "function", + "name": "increase_balance_2", + "inputs": [{ "name": "amount", "type": "core::felt252" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "get_balance_2", + "inputs": [], + "outputs": [{ "type": "core::felt252" }], + "state_mutability": "view" + }, + { + "type": "event", + "name": "Counter2::Counter2::Event", + "kind": "enum", + "variants": [] + } + ] +} diff --git a/da-test/contracts/Counter3/Counter3.cairo b/da-test/contracts/Counter3/Counter3.cairo new file mode 100644 index 0000000000..22fa48ba32 --- /dev/null +++ b/da-test/contracts/Counter3/Counter3.cairo @@ -0,0 +1,19 @@ +#[starknet::contract] +mod Counter3 { + #[storage] + struct Storage { + balance_3: felt252, + } + + // Increases the balance_3 by the given amount. + #[external(v0)] + fn increase_balance_3(ref self: ContractState, amount: felt252) { + self.balance_3.write(self.balance_3.read() + amount + 3 + 1); + } + + // Returns the current balance_3. + #[external(v0)] + fn get_balance_3(self: @ContractState) -> felt252 { + self.balance_3.read() + } +} diff --git a/da-test/contracts/Counter3/Counter3.casm.json b/da-test/contracts/Counter3/Counter3.casm.json new file mode 100644 index 0000000000..7108cd0470 --- /dev/null +++ b/da-test/contracts/Counter3/Counter3.casm.json @@ -0,0 +1,579 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.1.0", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffffa920", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x6e", + "0x4825800180007ffa", + "0x56e0", + "0x400280007ff97fff", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xe8", + "0x482680017ff98000", + "0x1", + "0x20680017fff7ffd", + "0x55", + "0x48307ffb80007ffc", + "0x4824800180007fff", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0xfe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff77fff8000", + "0x48127fe67fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1b4", + "0x482480017fff8000", + "0x1b3", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff67fff", + "0x10780017fff7fff", + "0x20", + "0x4824800180007fe8", + "0x0", + "0x400080007ff77fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff47fff8000", + "0x1104800180018000", + "0xdc", + "0x482480017fbc8000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff48000", + "0x1", + "0x48127fe37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffd7fff8000", + "0x48127fec7fff8000", + "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", + "0xffffffffffffffffffffffffffffe2f0", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x5e", + "0x4825800180007ffa", + "0x1d10", + "0x400280007ff97fff", + "0x48297ffc80007ffd", + "0x482680017ff98000", + "0x1", + "0x4824800180007ffe", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x82", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff87fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x138", + "0x482480017fff8000", + "0x137", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff7", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x24", + "0x4824800180007ff7", + "0x0", + "0x400080007ff87fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x8b", + "0x482480017fd88000", + "0x1", + "0x20680017fff7ffc", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x95", + "0x48127ff77fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff58000", + "0x1", + "0x48127ff27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ffc", + "0x8", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480080007ffa8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x42", + "0x20680017fff7ffd", + "0x1d", + "0x48287ffd7fff8000", + "0x482480017fff8000", + "0x3", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x482480017ffd8000", + "0x1", + "0x1104800180018000", + "0x68", + "0x20680017fff7ffd", + "0xb", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1a", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x480680017fff8000", + "0x1", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x18", + "0x20680017fff7ffd", + "0xa", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x400380007ffd7ffb", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x13f8f977246b9de639fa8cb66b97c7a963aa52dcc226d464b423dadd448247", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x480280057ffd8000", + "0x20680017fff7fff", + "0xc", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480280067ffd8000", + "0x10780017fff7fff", + "0x9", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffd8000", + "0x480280077ffd8000", + "0x1104800180018000", + "0x47", + "0x20680017fff7ffd", + "0xa", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x13f8f977246b9de639fa8cb66b97c7a963aa52dcc226d464b423dadd448247", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffc7fff", + "0x400380017ffc7ffb", + "0x400280027ffc7ffd", + "0x400280037ffc7ffe", + "0x400380047ffc7ffd", + "0x480280067ffc8000", + "0x20680017fff7fff", + "0xd", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x9", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffc8000", + "0x480280087ffc8000", + "0x1104800180018000", + "0x21", + "0x20680017fff7ffd", + "0xb", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x9", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe" + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x56e0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 47, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -23 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 130, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x1d10" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 171, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -8 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 360, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -3 } } + } + } + ] + ], + [ + 410, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -4 } } + } + } + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0xf6c331c5ed8d385d90b6701440a8dae60db11ce6de5a9f3b5f5cd83d3cd388", + "offset": 0, + "builtins": ["range_check"] + }, + { + "selector": "0x28f4c2012b5ef4f71461a66fc2edbf0f514e10156cbc990e81e49d1effd4cc0", + "offset": 130, + "builtins": ["range_check"] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + } +} diff --git a/da-test/contracts/Counter3/Counter3.sierra.json b/da-test/contracts/Counter3/Counter3.sierra.json new file mode 100644 index 0000000000..a004ed9e0e --- /dev/null +++ b/da-test/contracts/Counter3/Counter3.sierra.json @@ -0,0 +1,661 @@ +{ + "sierra_program": [ + "0x1", + "0x3", + "0x0", + "0x2", + "0x1", + "0x0", + "0xca", + "0x36", + "0x1f", + "0x52616e6765436865636b", + "0x0", + "0x4761734275696c74696e", + "0x66656c74323532", + "0x4172726179", + "0x1", + "0x2", + "0x536e617073686f74", + "0x3", + "0x537472756374", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x4", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x456e756d", + "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", + "0x6", + "0x753332", + "0x53797374656d", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0xa", + "0x5", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0xc", + "0xb", + "0x4275696c74696e436f737473", + "0x27e1ff2ea5add551250ed7482a598efb2cf17bae11c6002350798758fb0d420", + "0x1675aa1c3ac14a06572450b3b91b1c077eef0027236f7c5df800ba8a083692d", + "0xf", + "0x10", + "0x2ccc8f147504dd59053a5da3887864869fa5772447ec2e27601918fbb982fe2", + "0x11", + "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", + "0x13", + "0x426f78", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x15", + "0x2ccb70c969149f3940a206d9764fae33b52b7aa9ee8a8211c303a820a145963", + "0x17", + "0x53746f726167654261736541646472657373", + "0x53746f7261676541646472657373", + "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", + "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", + "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", + "0x1d", + "0x71", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x73746f72655f74656d70", + "0x66756e6374696f6e5f63616c6c", + "0x656e756d5f6d61746368", + "0x7", + "0x7374727563745f6465636f6e737472756374", + "0x61727261795f6c656e", + "0x736e617073686f745f74616b65", + "0x8", + "0x64726f70", + "0x7533325f636f6e7374", + "0x72656e616d65", + "0x7533325f6571", + "0x9", + "0x61727261795f6e6577", + "0x66656c743235325f636f6e7374", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x61727261795f617070656e64", + "0x7374727563745f636f6e737472756374", + "0x656e756d5f696e6974", + "0xd", + "0x6765745f6275696c74696e5f636f737473", + "0xe", + "0x77697468647261775f6761735f616c6c", + "0x12", + "0x4f7574206f6620676173", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x14", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x16", + "0x6a756d70", + "0x756e626f78", + "0x66656c743235325f616464", + "0x18", + "0x73746f726167655f626173655f616464726573735f636f6e7374", + "0x13f8f977246b9de639fa8cb66b97c7a963aa52dcc226d464b423dadd448247", + "0x73746f726167655f616464726573735f66726f6d5f62617365", + "0x1a", + "0x73746f726167655f726561645f73797363616c6c", + "0x1b", + "0x73746f726167655f77726974655f73797363616c6c", + "0x1c", + "0x1e", + "0x19f", + "0xffffffffffffffff", + "0x63", + "0x54", + "0x24", + "0x19", + "0x20", + "0x21", + "0x22", + "0x23", + "0x25", + "0x46", + "0x26", + "0x27", + "0x28", + "0x29", + "0x2d", + "0x2e", + "0x2f", + "0x30", + "0x2a", + "0x2b", + "0x2c", + "0x31", + "0x3f", + "0x32", + "0x33", + "0x34", + "0x35", + "0x36", + "0x37", + "0x38", + "0x39", + "0x3a", + "0x3b", + "0x3c", + "0x3d", + "0x3e", + "0x40", + "0x41", + "0x42", + "0x43", + "0x44", + "0x45", + "0x47", + "0x48", + "0x49", + "0x4a", + "0x4b", + "0x4c", + "0x4d", + "0x4e", + "0x4f", + "0x50", + "0x51", + "0x52", + "0x53", + "0x55", + "0x56", + "0x57", + "0x58", + "0x59", + "0x5a", + "0x5b", + "0x5c", + "0x5d", + "0x5e", + "0x5f", + "0xc6", + "0x90", + "0xb9", + "0xb2", + "0xdb", + "0xe0", + "0xea", + "0x11c", + "0x116", + "0x132", + "0x14b", + "0x150", + "0x15b", + "0x170", + "0x60", + "0x61", + "0x175", + "0x62", + "0x64", + "0x65", + "0x180", + "0x66", + "0x67", + "0x68", + "0x69", + "0x6a", + "0x6b", + "0x18d", + "0x6c", + "0x199", + "0x6d", + "0x6e", + "0x6f", + "0x70", + "0xd4", + "0xf1", + "0xf5", + "0x124", + "0x138", + "0x13e", + "0x161", + "0x187", + "0x193", + "0xf89", + "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", + "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", + "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", + "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", + "0x70a090610062a02090e090607062902090e02280227180626062502090e10", + "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", + "0x606313806063b0207063a3806063938060637070606361506063534060633", + "0x70606314007063f0706063e10060639090906323d06063107060639023c38", + "0x6063102454406063106060631060744060743180606421406064207060641", + "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", + "0x374a07063f150606394907063f020744060743170606421506064209060639", + "0x100906320906063107060637210606354b060633150906321d0606391d0606", + "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", + "0x10060631060734060743340606310207340607430706063b0706064f4d0606", + "0x33380906320607063f0907063f0250340906321c0606311c0606371d060635", + "0x1c060639060748060743480606310207480607431f06064226060635510606", + "0x565506063102545307065206074b0607434b06063102074b06074321060642", + "0x5906074302583d0906325706063b0607570607435706063102075706074302", + "0x606422c0606355a060633140906325906063b060759060743590606310207", + "0x7432c06064259060633570606330607510607435106063102075106074326", + "0x150c075c070602070602025c060202025b06075a0607435a06063102075a06", + "0xc0615023d38075c0614060c0214065c0609060902025c060207023410075d", + "0x380244065c0638063402025c0602070217065e18065c073d0610020c065c06", + "0x3d021f065c06021802025c061c0614021d1c075c0646063d0246065c064406", + "0x224065c06210617024b065c061d061702025c06480614022148075c061f06", + "0x2025c0618061c02025c06020702025f025c07244b0746024b065c064b0644", + "0x260065c06022102025c0626064802264d075c0651061f0251065c0607061d", + "0x259065c0602260257065c065560074d0255065c065506240255065c06024b", + "0x65c061506550200065c060c0615025a065c062c0660022c065c0657590751", + "0x5902025c06020702636261000c0663065c065a06570262065c064d061d0261", + "0x2070268670766655f075c0764150c095a0264065c0664062c0264065c0602", + "0x607061d026b065c06650655026a065c066906610269065c06020002025c06", + "0x706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662026c065c", + "0x672065f02025c0602070274067372065c07710664025f065c065f06150271", + "0x5c0677066802025c06760667027776075c067506650275065c06022102025c", + "0x66f0655027b065c065f0615027a065c0679066a0279065c06780669027806", + "0x25c060207027e7d7c7b0c067e065c067a0657027d065c0670061d027c065c", + "0x65c0670061d0273065c066f06550280065c065f0615027f065c0674066002", + "0x22102025c0618061c02025c06020702828173800c0682065c067f06570281", + "0x2260285065c068483074d0284065c068406240284065c06026f0283065c06", + "0x550288065c066706150287065c066606600266065c06858607510286065c06", + "0x207028b8a89880c068b065c06870657028a065c0607061d0289065c066806", + "0x8d065c060271028c065c06022102025c0638067002025c0617064802025c06", + "0x5c068e8f0751028f065c060226028e065c068d8c074d028d065c068d062402", + "0x607061d0293065c061506550292065c060c06150291065c06900660029006", + "0x2025c0609067002025c06020702945e93920c0694065c06910657025e065c", + "0x297065c069695074d0296065c069606240296065c06026f0295065c060221", + "0x9b065c06100615029a065c069906600299065c06979807510298065c060226", + "0x29e9d9c9b0c069e065c069a0657029d065c0607061d029c065c0634065502", + "0x5c0609063402025c060207023410079f150c075c070602070602025c060202", + "0x5c06021802025c06140614021814075c063d063d023d065c06380638023806", + "0x6460617021c065c0618061702025c06440614024644075c0617063d021706", + "0x70202a0025c071d1c0746020c065c060c0615021c065c061c0644021d065c", + "0x22102025c0648064802481f075c0621061f0221065c0607061d02025c0602", + "0x226024d065c06244b074d0224065c062406240224065c06024b024b065c06", + "0x550255065c060c06150260065c065106600251065c064d2607510226065c06", + "0x207022c5957550c062c065c066006570259065c061f061d0257065c061506", + "0x7a16100075c075a150c095a025a065c065a062c025a065c06025902025c06", + "0x65075c065f066b025f065c066406610264065c06020002025c060207026362", + "0x65c066706620270065c0607061d026f065c0661065502025c0665066c0267", + "0x6a26b065c076a066e0200065c06000615026a6968095c0671706f096d0271", + "0x7472075c066d0674026e065c060221026d065c066b067202025c060207026c", + "0x75c06787707760278065c066e06750277065c0674062402025c0672061c02", + "0x5c067a066802025c06790667027a79075c0675066502025c06760648027675", + "0x6680655027e065c06000615027d065c067c066a027c065c067b0669027b06", + "0x25c0602070273807f7e0c0673065c067d06570280065c0669061d027f065c", + "0x65c0669061d0283065c066806550282065c060006150281065c066c066002", + "0x26f0286065c06022102025c06020702858483820c0685065c068106570284", + "0x7510288065c0602260287065c066686074d0266065c066606240266065c06", + "0x28c065c06630655028b065c06620615028a065c068906600289065c068788", + "0x9067002025c060207028e8d8c8b0c068e065c068a0657028d065c0607061d", + "0x6908f074d0290065c069006240290065c06026f028f065c06022102025c06", + "0x100615025e065c069306600293065c06919207510292065c0602260291065c", + "0x940c0697065c065e06570296065c0607061d0295065c063406550294065c06", + "0x7802025c060207020c06a30907075c070606770206065c0602063402979695", + "0x2070202a406027b0234065c0615067a0210065c060706790215065c060906", + "0x63d067a0210065c060c0679023d065c0638067d0238065c06027c02025c06", + "0x21706a518065c0734067e0214065c061406090214065c061006680234065c", + "0x9021c065c064606730246065c064406800244065c0618067f02025c060207", + "0x25c0617064802025c060207021f1d07061f065c061c0681021d065c061406", + "0x24065c06210681024b065c061406090221065c064806820248065c06027c02", + "0x907070609065c060606830207065c0602061d0206065c06027c02244b0706", + "0x5c0606061d0214065c06020655021015075c060c0685020c065c0607068402", + "0xa644065c073d066e023d3834095c0617181409660217065c06100686021806", + "0x65c060288021d065c06091c0787021c065c0644067202025c060207024606", + "0x5c064806240221065c0602890248065c061f1d0787021d065c061d0624021f", + "0x1506860260065c0638061d0251065c06340655024b065c0621480787024806", + "0x5c0726068b02264d24095c06575560510c8a0257065c064b06240255065c06", + "0x5a066102025c0600064802005a075c0659068c02025c060207022c06a75906", + "0x6550264065c0663068e0263065c066261078d0262065c06027c0261065c06", + "0x5c0602070267655f090667065c0664068f0265065c064d061d025f065c0624", + "0x5c0668068f026a065c064d061d0269065c062406550268065c062c06900202", + "0x46069002025c0609061c02025c0615069102025c060207026f6a6909066f06", + "0x7109066c065c0670068f026b065c0638061d0271065c063406550270065c06", + "0x60906860238065c0606061d0234065c060206550209065c06070684026c6b", + "0x5c060207021806a814065c0710066e0210150c095c063d38340966023d065c", + "0x5c060c06550246065c064406930244065c061706920217065c061406720202", + "0x9402025c060207021f1d1c09061f065c0646065e021d065c0615061d021c06", + "0x624065c0648065e024b065c0615061d0221065c060c06550248065c061806", + "0x675020c065c06027c0209065c060706074d0207065c0602068002244b2109", + "0x9065c06029502025c06070691021015070610065c060c06830215065c0609", + "0xc065c060c06970215065c061506440215065c060218020c065c0609069602", + "0x65c0638069902025c0602070218143d09a9383410095c070c1506020c9802", + "0x2aa06027b021c065c0617069a0246065c0634061d0244065c061006550217", + "0x246065c0614061d0244065c063d0655021d065c0618069b02025c06020702", + "0x21065c071f066e021f065c0648069d0248065c061c069c021c065c061d069a", + "0x5c064d0693024d065c062406920224065c0621067202025c060207024b06ab", + "0x556051090655065c0626065e0260065c0646061d0251065c06440655022606", + "0x22c065c0646061d0259065c064406550257065c064b069402025c06020702", + "0x29502025c0615069102150c075c06070685025a2c5909065a065c0657065e", + "0x3406970238065c063806440238065c0602180234065c061006960210065c06", + "0x27c02025c0602070244171809ac143d075c070934380602159e0234065c06", + "0x6ae021f065c0614061d021d065c063d0655021c065c064606ad0246065c06", + "0x5c061806550221065c064406b002025c0602070202af06027b0248065c061c", + "0x62406b10224065c0648065d0248065c062106ae021f065c0617061d021d06", + "0x7b50251065c064d06b402025c060207022606b34d065c074b06b2024b065c", + "0x259065c061f061d0257065c061d06550255065c066006b60260065c06510c", + "0x5c062606b802025c060c069102025c060207022c595709062c065c065506b7", + "0x626100090662065c065a06b70261065c061f061d0200065c061d0655025a06", + "0x5c060906930209065c0606069202025c060207020706ba06065c070206b902", + "0x71007510210065c06022602025c0602070215060615065c060c065e020c06", + "0x6065c070206bb023d06063d065c0638065e0238065c063406940234065c06", + "0x5c060c06bf020c065c060906be0209065c060606bd02025c060207020706bc", + "0x3406c00234065c06071007510210065c06022602025c060207021506061506", + "0x209070602443d06020c153d06020c183d06063d065c063806bf0238065c06", + "0x60cc202103d073d06c10234150715062d09070602443d06020c153d06020c", + "0x2100907090707c40706024b3d06091d3d0609c309070602483d0609071d3d", + "0x65706c709070602513d0609071c3d060cc60706024b3d06091c3d0609c506", + "0xc9025a065906c8024b" + ], + "sierra_program_debug_info": { + "type_names": [ + [0, "RangeCheck"], + [1, "GasBuiltin"], + [2, "felt252"], + [3, "Array"], + [4, "Snapshot>"], + [5, "core::array::Span::"], + [6, "Unit"], + [7, "core::option::Option::"], + [8, "u32"], + [9, "System"], + [10, "core::panics::Panic"], + [11, "Tuple>"], + [12, "Tuple>"], + [ + 13, + "core::panics::PanicResult::<(core::array::Span::,)>" + ], + [14, "BuiltinCosts"], + [15, "Counter3::Counter3::balance_3::ContractState"], + [16, "Counter3::Counter3::ContractState"], + [17, "Tuple"], + [ + 18, + "core::panics::PanicResult::<(Counter3::Counter3::ContractState, ())>" + ], + [19, "Tuple"], + [20, "core::panics::PanicResult::<(core::felt252,)>"], + [21, "Box"], + [22, "core::option::Option::>"], + [23, "Tuple"], + [ + 24, + "core::panics::PanicResult::<(Counter3::Counter3::balance_3::ContractState, ())>" + ], + [25, "StorageBaseAddress"], + [26, "StorageAddress"], + [ + 27, + "core::result::Result::>" + ], + [28, "core::result::Result::<(), core::array::Array::>"], + [29, "Tuple"], + [30, "core::panics::PanicResult::<((),)>"] + ], + "libfunc_names": [ + [0, "revoke_ap_tracking"], + [1, "withdraw_gas"], + [2, "branch_align"], + [3, "store_temp>"], + [4, "function_call"], + [5, "store_temp"], + [6, "enum_match>"], + [7, "struct_deconstruct>"], + [8, "array_len"], + [9, "snapshot_take"], + [10, "drop"], + [11, "u32_const<0>"], + [12, "rename"], + [13, "store_temp"], + [14, "u32_eq"], + [15, "drop"], + [16, "store_temp"], + [17, "function_call"], + [18, "drop"], + [19, "array_new"], + [ + 20, + "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" + ], + [21, "store_temp"], + [22, "array_append"], + [23, "struct_construct"], + [24, "struct_construct>>"], + [ + 25, + "enum_init,)>, 1>" + ], + [26, "store_temp"], + [ + 27, + "store_temp,)>>" + ], + [28, "get_builtin_costs"], + [29, "store_temp"], + [30, "withdraw_gas_all"], + [31, "struct_construct"], + [32, "struct_construct"], + [33, "store_temp"], + [34, "function_call"], + [ + 35, + "enum_match>" + ], + [36, "drop>"], + [37, "snapshot_take>"], + [38, "drop>"], + [39, "struct_construct>"], + [40, "struct_construct>>"], + [ + 41, + "enum_init,)>, 0>" + ], + [42, "felt252_const<375233589013918064796019>"], + [43, "drop>"], + [ + 44, + "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" + ], + [45, "snapshot_take"], + [46, "drop"], + [47, "function_call"], + [48, "enum_match>"], + [49, "struct_deconstruct>"], + [50, "snapshot_take"], + [51, "store_temp>"], + [52, "function_call"], + [53, "array_snapshot_pop_front"], + [ + 54, + "enum_init>, 0>" + ], + [55, "store_temp>>"], + [ + 56, + "store_temp>>" + ], + [57, "jump"], + [58, "struct_construct"], + [ + 59, + "enum_init>, 1>" + ], + [ + 60, + "enum_match>>" + ], + [61, "unbox"], + [62, "rename"], + [63, "enum_init, 0>"], + [64, "store_temp>"], + [65, "enum_init, 1>"], + [66, "store_temp"], + [67, "struct_deconstruct"], + [68, "snapshot_take"], + [69, "store_temp"], + [ + 70, + "function_call" + ], + [71, "felt252_add"], + [72, "felt252_const<3>"], + [73, "felt252_const<1>"], + [ + 74, + "function_call" + ], + [ + 75, + "enum_match>" + ], + [ + 76, + "struct_deconstruct>" + ], + [77, "struct_construct>"], + [ + 78, + "enum_init, 0>" + ], + [ + 79, + "store_temp>" + ], + [ + 80, + "enum_init, 1>" + ], + [81, "drop"], + [82, "struct_construct>"], + [83, "enum_init, 0>"], + [84, "store_temp>"], + [85, "enum_init, 1>"], + [ + 86, + "storage_base_address_const<35288452898658665685716430661979605016082915154569074077194047146435052103>" + ], + [87, "storage_address_from_base"], + [88, "store_temp"], + [89, "storage_read_syscall"], + [ + 90, + "enum_init>, 0>" + ], + [ + 91, + "store_temp>>" + ], + [ + 92, + "enum_init>, 1>" + ], + [ + 93, + "rename>>" + ], + [ + 94, + "function_call::unwrap_syscall>" + ], + [95, "storage_write_syscall"], + [ + 96, + "enum_init>, 0>" + ], + [ + 97, + "store_temp>>" + ], + [ + 98, + "enum_init>, 1>" + ], + [ + 99, + "rename>>" + ], + [ + 100, + "function_call::unwrap_syscall>" + ], + [101, "enum_match>"], + [102, "struct_deconstruct>"], + [ + 103, + "struct_construct>" + ], + [ + 104, + "enum_init, 0>" + ], + [ + 105, + "store_temp>" + ], + [ + 106, + "enum_init, 1>" + ], + [ + 107, + "enum_match>>" + ], + [ + 108, + "enum_match>>" + ], + [109, "struct_construct>"], + [110, "enum_init, 0>"], + [111, "store_temp>"], + [112, "enum_init, 1>"] + ], + "user_func_names": [ + [0, "Counter3::Counter3::__external::increase_balance_3"], + [1, "Counter3::Counter3::__external::get_balance_3"], + [2, "core::Felt252Serde::deserialize"], + [3, "core::starknet::use_system_implicit"], + [4, "Counter3::Counter3::increase_balance_3"], + [5, "Counter3::Counter3::get_balance_3"], + [6, "core::Felt252Serde::serialize"], + [7, "Counter3::Counter3::balance_3::InternalContractStateImpl::read"], + [8, "Counter3::Counter3::balance_3::InternalContractStateImpl::write"], + [ + 9, + "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" + ], + [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] + ] + }, + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0xf6c331c5ed8d385d90b6701440a8dae60db11ce6de5a9f3b5f5cd83d3cd388", + "function_idx": 0 + }, + { + "selector": "0x28f4c2012b5ef4f71461a66fc2edbf0f514e10156cbc990e81e49d1effd4cc0", + "function_idx": 1 + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + }, + "abi": [ + { + "type": "function", + "name": "increase_balance_3", + "inputs": [{ "name": "amount", "type": "core::felt252" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "get_balance_3", + "inputs": [], + "outputs": [{ "type": "core::felt252" }], + "state_mutability": "view" + }, + { + "type": "event", + "name": "Counter3::Counter3::Event", + "kind": "enum", + "variants": [] + } + ] +} diff --git a/da-test/contracts/Counter4/Counter4.cairo b/da-test/contracts/Counter4/Counter4.cairo new file mode 100644 index 0000000000..be0284d02b --- /dev/null +++ b/da-test/contracts/Counter4/Counter4.cairo @@ -0,0 +1,19 @@ +#[starknet::contract] +mod Counter4 { + #[storage] + struct Storage { + balance_4: felt252, + } + + // Increases the balance_4 by the given amount. + #[external(v0)] + fn increase_balance_4(ref self: ContractState, amount: felt252) { + self.balance_4.write(self.balance_4.read() + amount + 4 + 1); + } + + // Returns the current balance_4. + #[external(v0)] + fn get_balance_4(self: @ContractState) -> felt252 { + self.balance_4.read() + } +} diff --git a/da-test/contracts/Counter4/Counter4.casm.json b/da-test/contracts/Counter4/Counter4.casm.json new file mode 100644 index 0000000000..2a05bca4bd --- /dev/null +++ b/da-test/contracts/Counter4/Counter4.casm.json @@ -0,0 +1,579 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.1.0", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffffa920", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x6e", + "0x4825800180007ffa", + "0x56e0", + "0x400280007ff97fff", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xe8", + "0x482680017ff98000", + "0x1", + "0x20680017fff7ffd", + "0x55", + "0x48307ffb80007ffc", + "0x4824800180007fff", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0xfe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff77fff8000", + "0x48127fe67fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1b4", + "0x482480017fff8000", + "0x1b3", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff67fff", + "0x10780017fff7fff", + "0x20", + "0x4824800180007fe8", + "0x0", + "0x400080007ff77fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff47fff8000", + "0x1104800180018000", + "0xdc", + "0x482480017fbc8000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff48000", + "0x1", + "0x48127fe37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffd7fff8000", + "0x48127fec7fff8000", + "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", + "0xffffffffffffffffffffffffffffe2f0", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x5e", + "0x4825800180007ffa", + "0x1d10", + "0x400280007ff97fff", + "0x48297ffc80007ffd", + "0x482680017ff98000", + "0x1", + "0x4824800180007ffe", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x82", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff87fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x138", + "0x482480017fff8000", + "0x137", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff7", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x24", + "0x4824800180007ff7", + "0x0", + "0x400080007ff87fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x8b", + "0x482480017fd88000", + "0x1", + "0x20680017fff7ffc", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x95", + "0x48127ff77fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff58000", + "0x1", + "0x48127ff27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ffc", + "0x8", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480080007ffa8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x42", + "0x20680017fff7ffd", + "0x1d", + "0x48287ffd7fff8000", + "0x482480017fff8000", + "0x4", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x482480017ffd8000", + "0x1", + "0x1104800180018000", + "0x68", + "0x20680017fff7ffd", + "0xb", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1a", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x480680017fff8000", + "0x1", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x18", + "0x20680017fff7ffd", + "0xa", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x400380007ffd7ffb", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0xb3633fe1a3145fd8916511eec02c76561b27a40ed2f7320e18c0d6659f8611", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x480280057ffd8000", + "0x20680017fff7fff", + "0xc", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480280067ffd8000", + "0x10780017fff7fff", + "0x9", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffd8000", + "0x480280077ffd8000", + "0x1104800180018000", + "0x47", + "0x20680017fff7ffd", + "0xa", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0xb3633fe1a3145fd8916511eec02c76561b27a40ed2f7320e18c0d6659f8611", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffc7fff", + "0x400380017ffc7ffb", + "0x400280027ffc7ffd", + "0x400280037ffc7ffe", + "0x400380047ffc7ffd", + "0x480280067ffc8000", + "0x20680017fff7fff", + "0xd", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x9", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffc8000", + "0x480280087ffc8000", + "0x1104800180018000", + "0x21", + "0x20680017fff7ffd", + "0xb", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x9", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe" + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x56e0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 47, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -23 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 130, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x1d10" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 171, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -8 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 360, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -3 } } + } + } + ] + ], + [ + 410, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -4 } } + } + } + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0xe5732e1abf2909f924739d35ad19184f11cff2efc7bf0b7693fe8837f3ac4c", + "offset": 130, + "builtins": ["range_check"] + }, + { + "selector": "0x354216d012194965ac6e58f1e42de318f61ca46953301e5bb9716250d532058", + "offset": 0, + "builtins": ["range_check"] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + } +} diff --git a/da-test/contracts/Counter4/Counter4.sierra.json b/da-test/contracts/Counter4/Counter4.sierra.json new file mode 100644 index 0000000000..1853983bfd --- /dev/null +++ b/da-test/contracts/Counter4/Counter4.sierra.json @@ -0,0 +1,661 @@ +{ + "sierra_program": [ + "0x1", + "0x3", + "0x0", + "0x2", + "0x1", + "0x0", + "0xca", + "0x36", + "0x1f", + "0x52616e6765436865636b", + "0x0", + "0x4761734275696c74696e", + "0x66656c74323532", + "0x4172726179", + "0x1", + "0x2", + "0x536e617073686f74", + "0x3", + "0x537472756374", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x4", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x456e756d", + "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", + "0x6", + "0x753332", + "0x53797374656d", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0xa", + "0x5", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0xc", + "0xb", + "0x4275696c74696e436f737473", + "0x19f41788e75f73141fc2e2624c2e398a7769e10026dcf2fd7b3fdbf256180f2", + "0x27498ba833e1219d17251edae00ac126910e4e81045c840bc93f2a45c8d0bd", + "0xf", + "0x10", + "0x36c281b09357dd15c81f0055a2a3485290180ece418bf8fea32eec61539c005", + "0x11", + "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", + "0x13", + "0x426f78", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x15", + "0xa0edc028aaa2fb447bbaca46a2defedfa82c42a7cb5a62a224841bfbf88ddb", + "0x17", + "0x53746f726167654261736541646472657373", + "0x53746f7261676541646472657373", + "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", + "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", + "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", + "0x1d", + "0x71", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x73746f72655f74656d70", + "0x66756e6374696f6e5f63616c6c", + "0x656e756d5f6d61746368", + "0x7", + "0x7374727563745f6465636f6e737472756374", + "0x61727261795f6c656e", + "0x736e617073686f745f74616b65", + "0x8", + "0x64726f70", + "0x7533325f636f6e7374", + "0x72656e616d65", + "0x7533325f6571", + "0x9", + "0x61727261795f6e6577", + "0x66656c743235325f636f6e7374", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x61727261795f617070656e64", + "0x7374727563745f636f6e737472756374", + "0x656e756d5f696e6974", + "0xd", + "0x6765745f6275696c74696e5f636f737473", + "0xe", + "0x77697468647261775f6761735f616c6c", + "0x12", + "0x4f7574206f6620676173", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x14", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x16", + "0x6a756d70", + "0x756e626f78", + "0x66656c743235325f616464", + "0x18", + "0x73746f726167655f626173655f616464726573735f636f6e7374", + "0xb3633fe1a3145fd8916511eec02c76561b27a40ed2f7320e18c0d6659f8611", + "0x73746f726167655f616464726573735f66726f6d5f62617365", + "0x1a", + "0x73746f726167655f726561645f73797363616c6c", + "0x1b", + "0x73746f726167655f77726974655f73797363616c6c", + "0x1c", + "0x1e", + "0x19f", + "0xffffffffffffffff", + "0x63", + "0x54", + "0x24", + "0x19", + "0x20", + "0x21", + "0x22", + "0x23", + "0x25", + "0x46", + "0x26", + "0x27", + "0x28", + "0x29", + "0x2d", + "0x2e", + "0x2f", + "0x30", + "0x2a", + "0x2b", + "0x2c", + "0x31", + "0x3f", + "0x32", + "0x33", + "0x34", + "0x35", + "0x36", + "0x37", + "0x38", + "0x39", + "0x3a", + "0x3b", + "0x3c", + "0x3d", + "0x3e", + "0x40", + "0x41", + "0x42", + "0x43", + "0x44", + "0x45", + "0x47", + "0x48", + "0x49", + "0x4a", + "0x4b", + "0x4c", + "0x4d", + "0x4e", + "0x4f", + "0x50", + "0x51", + "0x52", + "0x53", + "0x55", + "0x56", + "0x57", + "0x58", + "0x59", + "0x5a", + "0x5b", + "0x5c", + "0x5d", + "0x5e", + "0x5f", + "0xc6", + "0x90", + "0xb9", + "0xb2", + "0xdb", + "0xe0", + "0xea", + "0x11c", + "0x116", + "0x132", + "0x14b", + "0x150", + "0x15b", + "0x170", + "0x60", + "0x61", + "0x175", + "0x62", + "0x64", + "0x65", + "0x180", + "0x66", + "0x67", + "0x68", + "0x69", + "0x6a", + "0x6b", + "0x18d", + "0x6c", + "0x199", + "0x6d", + "0x6e", + "0x6f", + "0x70", + "0xd4", + "0xf1", + "0xf5", + "0x124", + "0x138", + "0x13e", + "0x161", + "0x187", + "0x193", + "0xf89", + "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", + "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", + "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", + "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", + "0x70a090610062a02090e090607062902090e02280227180626062502090e10", + "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", + "0x606313806063b0207063a3806063938060637070606361506063534060633", + "0x70606314007063f0706063e10060639090906323d06063107060639023c38", + "0x6063102454406063106060631060744060743180606421406064207060641", + "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", + "0x374a07063f150606394907063f020744060743170606421506064209060639", + "0x100906320906063107060637210606354b060633150906321d0606391d0606", + "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", + "0x10060631060734060743340606310207340607430706063b0706064f4d0606", + "0x33380906320607063f0c07063f0250340906321c0606311c0606371d060635", + "0x1c060639060748060743480606310207480607431f06064226060635510606", + "0x565506063102545307065206074b0607434b06063102074b06074321060642", + "0x5906074302583d0906325706063b0607570607435706063102075706074302", + "0x606422c0606355a060633140906325906063b060759060743590606310207", + "0x7432c06064259060633570606330607510607435106063102075106074326", + "0x150c075c070602070602025c060202025b06075a0607435a06063102075a06", + "0xc0615023d38075c0614060c0214065c0609060902025c060207023410075d", + "0x380244065c0638063402025c0602070217065e18065c073d0610020c065c06", + "0x3d021f065c06021802025c061c0614021d1c075c0646063d0246065c064406", + "0x224065c06210617024b065c061d061702025c06480614022148075c061f06", + "0x2025c0618061c02025c06020702025f025c07244b0746024b065c064b0644", + "0x260065c06022102025c0626064802264d075c0651061f0251065c0607061d", + "0x259065c0602260257065c065560074d0255065c065506240255065c06024b", + "0x65c061506550200065c060c0615025a065c062c0660022c065c0657590751", + "0x5902025c06020702636261000c0663065c065a06570262065c064d061d0261", + "0x2070268670766655f075c0764150c095a0264065c0664062c0264065c0602", + "0x607061d026b065c06650655026a065c066906610269065c06020002025c06", + "0x706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662026c065c", + "0x672065f02025c0602070274067372065c07710664025f065c065f06150271", + "0x5c0677066802025c06760667027776075c067506650275065c06022102025c", + "0x66f0655027b065c065f0615027a065c0679066a0279065c06780669027806", + "0x25c060207027e7d7c7b0c067e065c067a0657027d065c0670061d027c065c", + "0x65c0670061d0273065c066f06550280065c065f0615027f065c0674066002", + "0x22102025c0618061c02025c06020702828173800c0682065c067f06570281", + "0x2260285065c068483074d0284065c068406240284065c06026f0283065c06", + "0x550288065c066706150287065c066606600266065c06858607510286065c06", + "0x207028b8a89880c068b065c06870657028a065c0607061d0289065c066806", + "0x8d065c060271028c065c06022102025c0638067002025c0617064802025c06", + "0x5c068e8f0751028f065c060226028e065c068d8c074d028d065c068d062402", + "0x607061d0293065c061506550292065c060c06150291065c06900660029006", + "0x2025c0609067002025c06020702945e93920c0694065c06910657025e065c", + "0x297065c069695074d0296065c069606240296065c06026f0295065c060221", + "0x9b065c06100615029a065c069906600299065c06979807510298065c060226", + "0x29e9d9c9b0c069e065c069a0657029d065c0607061d029c065c0634065502", + "0x5c0609063402025c060207023410079f150c075c070602070602025c060202", + "0x5c06021802025c06140614021814075c063d063d023d065c06380638023806", + "0x6460617021c065c0618061702025c06440614024644075c0617063d021706", + "0x70202a0025c071d1c0746020c065c060c0615021c065c061c0644021d065c", + "0x22102025c0648064802481f075c0621061f0221065c0607061d02025c0602", + "0x226024d065c06244b074d0224065c062406240224065c06024b024b065c06", + "0x550255065c060c06150260065c065106600251065c064d2607510226065c06", + "0x207022c5957550c062c065c066006570259065c061f061d0257065c061506", + "0x7a16100075c075a150c095a025a065c065a062c025a065c06025902025c06", + "0x65075c065f066b025f065c066406610264065c06020002025c060207026362", + "0x65c066706620270065c0607061d026f065c0661065502025c0665066c0267", + "0x6a26b065c076a066e0200065c06000615026a6968095c0671706f096d0271", + "0x7472075c066d0674026e065c060221026d065c066b067202025c060207026c", + "0x75c06787707760278065c066e06750277065c0674062402025c0672061c02", + "0x5c067a066802025c06790667027a79075c0675066502025c06760648027675", + "0x6680655027e065c06000615027d065c067c066a027c065c067b0669027b06", + "0x25c0602070273807f7e0c0673065c067d06570280065c0669061d027f065c", + "0x65c0669061d0283065c066806550282065c060006150281065c066c066002", + "0x26f0286065c06022102025c06020702858483820c0685065c068106570284", + "0x7510288065c0602260287065c066686074d0266065c066606240266065c06", + "0x28c065c06630655028b065c06620615028a065c068906600289065c068788", + "0x9067002025c060207028e8d8c8b0c068e065c068a0657028d065c0607061d", + "0x6908f074d0290065c069006240290065c06026f028f065c06022102025c06", + "0x100615025e065c069306600293065c06919207510292065c0602260291065c", + "0x940c0697065c065e06570296065c0607061d0295065c063406550294065c06", + "0x7802025c060207020c06a30907075c070606770206065c0602063402979695", + "0x2070202a406027b0234065c0615067a0210065c060706790215065c060906", + "0x63d067a0210065c060c0679023d065c0638067d0238065c06027c02025c06", + "0x21706a518065c0734067e0214065c061406090214065c061006680234065c", + "0x9021c065c064606730246065c064406800244065c0618067f02025c060207", + "0x25c0617064802025c060207021f1d07061f065c061c0681021d065c061406", + "0x24065c06210681024b065c061406090221065c064806820248065c06027c02", + "0x907070609065c060606830207065c0602061d0206065c06027c02244b0706", + "0x5c0606061d0214065c06020655021015075c060c0685020c065c0607068402", + "0xa644065c073d066e023d3834095c0617181409660217065c06100686021806", + "0x65c060288021d065c06091c0787021c065c0644067202025c060207024606", + "0x5c064806240221065c0602890248065c061f1d0787021d065c061d0624021f", + "0x1506860260065c0638061d0251065c06340655024b065c0621480787024806", + "0x5c0726068b02264d24095c06575560510c8a0257065c064b06240255065c06", + "0x5a066102025c0600064802005a075c0659068c02025c060207022c06a75906", + "0x6550264065c0663068e0263065c066261078d0262065c06027c0261065c06", + "0x5c0602070267655f090667065c0664068f0265065c064d061d025f065c0624", + "0x5c0668068f026a065c064d061d0269065c062406550268065c062c06900202", + "0x46069002025c0609061c02025c0615069102025c060207026f6a6909066f06", + "0x7109066c065c0670068f026b065c0638061d0271065c063406550270065c06", + "0x60906860238065c0606061d0234065c060206550209065c06070684026c6b", + "0x5c060207021806a814065c0710066e0210150c095c063d38340966023d065c", + "0x5c060c06550246065c064406930244065c061706920217065c061406720202", + "0x9402025c060207021f1d1c09061f065c0646065e021d065c0615061d021c06", + "0x624065c0648065e024b065c0615061d0221065c060c06550248065c061806", + "0x675020c065c06027c0209065c060706074d0207065c0602068002244b2109", + "0x9065c06029502025c06070691021015070610065c060c06830215065c0609", + "0xc065c060c06970215065c061506440215065c060218020c065c0609069602", + "0x65c0638069902025c0602070218143d09a9383410095c070c1506020c9802", + "0x2aa06027b021c065c0617069a0246065c0634061d0244065c061006550217", + "0x246065c0614061d0244065c063d0655021d065c0618069b02025c06020702", + "0x21065c071f066e021f065c0648069d0248065c061c069c021c065c061d069a", + "0x5c064d0693024d065c062406920224065c0621067202025c060207024b06ab", + "0x556051090655065c0626065e0260065c0646061d0251065c06440655022606", + "0x22c065c0646061d0259065c064406550257065c064b069402025c06020702", + "0x29502025c0615069102150c075c06070685025a2c5909065a065c0657065e", + "0x3406970238065c063806440238065c0602180234065c061006960210065c06", + "0x27c02025c0602070244171809ac143d075c070934380602159e0234065c06", + "0x6ae021f065c0614061d021d065c063d0655021c065c064606ad0246065c06", + "0x5c061806550221065c064406b002025c0602070202af06027b0248065c061c", + "0x62406b10224065c0648065d0248065c062106ae021f065c0617061d021d06", + "0x7b50251065c064d06b402025c060207022606b34d065c074b06b2024b065c", + "0x259065c061f061d0257065c061d06550255065c066006b60260065c06510c", + "0x5c062606b802025c060c069102025c060207022c595709062c065c065506b7", + "0x626100090662065c065a06b70261065c061f061d0200065c061d0655025a06", + "0x5c060906930209065c0606069202025c060207020706ba06065c070206b902", + "0x71007510210065c06022602025c0602070215060615065c060c065e020c06", + "0x6065c070206bb023d06063d065c0638065e0238065c063406940234065c06", + "0x5c060c06bf020c065c060906be0209065c060606bd02025c060207020706bc", + "0x3406c00234065c06071007510210065c06022602025c060207021506061506", + "0x209070602443d06020c153d06020c183d06063d065c063806bf0238065c06", + "0x60cc202103d073d06c10234150715062d09070602443d06020c153d06020c", + "0x2100907090707c40706024b3d06091d3d0609c309070602483d0609071d3d", + "0x65706c709070602513d0609071c3d060cc60706024b3d06091c3d0609c506", + "0xc9025a065906c8024b" + ], + "sierra_program_debug_info": { + "type_names": [ + [0, "RangeCheck"], + [1, "GasBuiltin"], + [2, "felt252"], + [3, "Array"], + [4, "Snapshot>"], + [5, "core::array::Span::"], + [6, "Unit"], + [7, "core::option::Option::"], + [8, "u32"], + [9, "System"], + [10, "core::panics::Panic"], + [11, "Tuple>"], + [12, "Tuple>"], + [ + 13, + "core::panics::PanicResult::<(core::array::Span::,)>" + ], + [14, "BuiltinCosts"], + [15, "Counter4::Counter4::balance_4::ContractState"], + [16, "Counter4::Counter4::ContractState"], + [17, "Tuple"], + [ + 18, + "core::panics::PanicResult::<(Counter4::Counter4::ContractState, ())>" + ], + [19, "Tuple"], + [20, "core::panics::PanicResult::<(core::felt252,)>"], + [21, "Box"], + [22, "core::option::Option::>"], + [23, "Tuple"], + [ + 24, + "core::panics::PanicResult::<(Counter4::Counter4::balance_4::ContractState, ())>" + ], + [25, "StorageBaseAddress"], + [26, "StorageAddress"], + [ + 27, + "core::result::Result::>" + ], + [28, "core::result::Result::<(), core::array::Array::>"], + [29, "Tuple"], + [30, "core::panics::PanicResult::<((),)>"] + ], + "libfunc_names": [ + [0, "revoke_ap_tracking"], + [1, "withdraw_gas"], + [2, "branch_align"], + [3, "store_temp>"], + [4, "function_call"], + [5, "store_temp"], + [6, "enum_match>"], + [7, "struct_deconstruct>"], + [8, "array_len"], + [9, "snapshot_take"], + [10, "drop"], + [11, "u32_const<0>"], + [12, "rename"], + [13, "store_temp"], + [14, "u32_eq"], + [15, "drop"], + [16, "store_temp"], + [17, "function_call"], + [18, "drop"], + [19, "array_new"], + [ + 20, + "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" + ], + [21, "store_temp"], + [22, "array_append"], + [23, "struct_construct"], + [24, "struct_construct>>"], + [ + 25, + "enum_init,)>, 1>" + ], + [26, "store_temp"], + [ + 27, + "store_temp,)>>" + ], + [28, "get_builtin_costs"], + [29, "store_temp"], + [30, "withdraw_gas_all"], + [31, "struct_construct"], + [32, "struct_construct"], + [33, "store_temp"], + [34, "function_call"], + [ + 35, + "enum_match>" + ], + [36, "drop>"], + [37, "snapshot_take>"], + [38, "drop>"], + [39, "struct_construct>"], + [40, "struct_construct>>"], + [ + 41, + "enum_init,)>, 0>" + ], + [42, "felt252_const<375233589013918064796019>"], + [43, "drop>"], + [ + 44, + "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" + ], + [45, "snapshot_take"], + [46, "drop"], + [47, "function_call"], + [48, "enum_match>"], + [49, "struct_deconstruct>"], + [50, "snapshot_take"], + [51, "store_temp>"], + [52, "function_call"], + [53, "array_snapshot_pop_front"], + [ + 54, + "enum_init>, 0>" + ], + [55, "store_temp>>"], + [ + 56, + "store_temp>>" + ], + [57, "jump"], + [58, "struct_construct"], + [ + 59, + "enum_init>, 1>" + ], + [ + 60, + "enum_match>>" + ], + [61, "unbox"], + [62, "rename"], + [63, "enum_init, 0>"], + [64, "store_temp>"], + [65, "enum_init, 1>"], + [66, "store_temp"], + [67, "struct_deconstruct"], + [68, "snapshot_take"], + [69, "store_temp"], + [ + 70, + "function_call" + ], + [71, "felt252_add"], + [72, "felt252_const<4>"], + [73, "felt252_const<1>"], + [ + 74, + "function_call" + ], + [ + 75, + "enum_match>" + ], + [ + 76, + "struct_deconstruct>" + ], + [77, "struct_construct>"], + [ + 78, + "enum_init, 0>" + ], + [ + 79, + "store_temp>" + ], + [ + 80, + "enum_init, 1>" + ], + [81, "drop"], + [82, "struct_construct>"], + [83, "enum_init, 0>"], + [84, "store_temp>"], + [85, "enum_init, 1>"], + [ + 86, + "storage_base_address_const<316950619722655767832660197141350043205615163178495764245768411372419253777>" + ], + [87, "storage_address_from_base"], + [88, "store_temp"], + [89, "storage_read_syscall"], + [ + 90, + "enum_init>, 0>" + ], + [ + 91, + "store_temp>>" + ], + [ + 92, + "enum_init>, 1>" + ], + [ + 93, + "rename>>" + ], + [ + 94, + "function_call::unwrap_syscall>" + ], + [95, "storage_write_syscall"], + [ + 96, + "enum_init>, 0>" + ], + [ + 97, + "store_temp>>" + ], + [ + 98, + "enum_init>, 1>" + ], + [ + 99, + "rename>>" + ], + [ + 100, + "function_call::unwrap_syscall>" + ], + [101, "enum_match>"], + [102, "struct_deconstruct>"], + [ + 103, + "struct_construct>" + ], + [ + 104, + "enum_init, 0>" + ], + [ + 105, + "store_temp>" + ], + [ + 106, + "enum_init, 1>" + ], + [ + 107, + "enum_match>>" + ], + [ + 108, + "enum_match>>" + ], + [109, "struct_construct>"], + [110, "enum_init, 0>"], + [111, "store_temp>"], + [112, "enum_init, 1>"] + ], + "user_func_names": [ + [0, "Counter4::Counter4::__external::increase_balance_4"], + [1, "Counter4::Counter4::__external::get_balance_4"], + [2, "core::Felt252Serde::deserialize"], + [3, "core::starknet::use_system_implicit"], + [4, "Counter4::Counter4::increase_balance_4"], + [5, "Counter4::Counter4::get_balance_4"], + [6, "core::Felt252Serde::serialize"], + [7, "Counter4::Counter4::balance_4::InternalContractStateImpl::read"], + [8, "Counter4::Counter4::balance_4::InternalContractStateImpl::write"], + [ + 9, + "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" + ], + [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] + ] + }, + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0xe5732e1abf2909f924739d35ad19184f11cff2efc7bf0b7693fe8837f3ac4c", + "function_idx": 1 + }, + { + "selector": "0x354216d012194965ac6e58f1e42de318f61ca46953301e5bb9716250d532058", + "function_idx": 0 + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + }, + "abi": [ + { + "type": "function", + "name": "increase_balance_4", + "inputs": [{ "name": "amount", "type": "core::felt252" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "get_balance_4", + "inputs": [], + "outputs": [{ "type": "core::felt252" }], + "state_mutability": "view" + }, + { + "type": "event", + "name": "Counter4::Counter4::Event", + "kind": "enum", + "variants": [] + } + ] +} diff --git a/da-test/contracts/Counter5/Counter5.cairo b/da-test/contracts/Counter5/Counter5.cairo new file mode 100644 index 0000000000..d031fb0bae --- /dev/null +++ b/da-test/contracts/Counter5/Counter5.cairo @@ -0,0 +1,19 @@ +#[starknet::contract] +mod Counter5 { + #[storage] + struct Storage { + balance_5: felt252, + } + + // Increases the balance_5 by the given amount. + #[external(v0)] + fn increase_balance_5(ref self: ContractState, amount: felt252) { + self.balance_5.write(self.balance_5.read() + amount + 5 + 1); + } + + // Returns the current balance_5. + #[external(v0)] + fn get_balance_5(self: @ContractState) -> felt252 { + self.balance_5.read() + } +} diff --git a/da-test/contracts/Counter5/Counter5.casm.json b/da-test/contracts/Counter5/Counter5.casm.json new file mode 100644 index 0000000000..a480507e67 --- /dev/null +++ b/da-test/contracts/Counter5/Counter5.casm.json @@ -0,0 +1,579 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.1.0", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffffa920", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x6e", + "0x4825800180007ffa", + "0x56e0", + "0x400280007ff97fff", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xe8", + "0x482680017ff98000", + "0x1", + "0x20680017fff7ffd", + "0x55", + "0x48307ffb80007ffc", + "0x4824800180007fff", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0xfe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff77fff8000", + "0x48127fe67fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1b4", + "0x482480017fff8000", + "0x1b3", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff67fff", + "0x10780017fff7fff", + "0x20", + "0x4824800180007fe8", + "0x0", + "0x400080007ff77fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff47fff8000", + "0x1104800180018000", + "0xdc", + "0x482480017fbc8000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff48000", + "0x1", + "0x48127fe37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffd7fff8000", + "0x48127fec7fff8000", + "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", + "0xffffffffffffffffffffffffffffe2f0", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x5e", + "0x4825800180007ffa", + "0x1d10", + "0x400280007ff97fff", + "0x48297ffc80007ffd", + "0x482680017ff98000", + "0x1", + "0x4824800180007ffe", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x82", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ff87fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x138", + "0x482480017fff8000", + "0x137", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff7", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x24", + "0x4824800180007ff7", + "0x0", + "0x400080007ff87fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x8b", + "0x482480017fd88000", + "0x1", + "0x20680017fff7ffc", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x95", + "0x48127ff77fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff58000", + "0x1", + "0x48127ff27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ffc", + "0x8", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480080007ffa8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x42", + "0x20680017fff7ffd", + "0x1d", + "0x48287ffd7fff8000", + "0x482480017fff8000", + "0x5", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x482480017ffd8000", + "0x1", + "0x1104800180018000", + "0x68", + "0x20680017fff7ffd", + "0xb", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1a", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x480680017fff8000", + "0x1", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x18", + "0x20680017fff7ffd", + "0xa", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x400380007ffd7ffb", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0xe5ec26188d710190e1d454ed168f6cb6ceda3fa7f665ae3d70fd00b54cee5c", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x480280057ffd8000", + "0x20680017fff7fff", + "0xc", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480280067ffd8000", + "0x10780017fff7fff", + "0x9", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffd8000", + "0x480280077ffd8000", + "0x1104800180018000", + "0x47", + "0x20680017fff7ffd", + "0xa", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0xe5ec26188d710190e1d454ed168f6cb6ceda3fa7f665ae3d70fd00b54cee5c", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffc7fff", + "0x400380017ffc7ffb", + "0x400280027ffc7ffd", + "0x400280037ffc7ffe", + "0x400380047ffc7ffd", + "0x480280067ffc8000", + "0x20680017fff7fff", + "0xd", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x9", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffc8000", + "0x480280087ffc8000", + "0x1104800180018000", + "0x21", + "0x20680017fff7ffd", + "0xb", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x9", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe" + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x56e0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 47, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -23 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 130, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x1d10" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 171, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -8 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 360, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -3 } } + } + } + ] + ], + [ + 410, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -4 } } + } + } + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x267cbb3c3e283a65af18ea0520413af29ad394bb92e89f5cec63d7bf8e3cc02", + "offset": 0, + "builtins": ["range_check"] + }, + { + "selector": "0x389381eb1816554e8631e7462dd12b632049ad60885626e36757af3a8b169dd", + "offset": 130, + "builtins": ["range_check"] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + } +} diff --git a/da-test/contracts/Counter5/Counter5.sierra.json b/da-test/contracts/Counter5/Counter5.sierra.json new file mode 100644 index 0000000000..0fe2c7fcdc --- /dev/null +++ b/da-test/contracts/Counter5/Counter5.sierra.json @@ -0,0 +1,661 @@ +{ + "sierra_program": [ + "0x1", + "0x3", + "0x0", + "0x2", + "0x1", + "0x0", + "0xca", + "0x36", + "0x1f", + "0x52616e6765436865636b", + "0x0", + "0x4761734275696c74696e", + "0x66656c74323532", + "0x4172726179", + "0x1", + "0x2", + "0x536e617073686f74", + "0x3", + "0x537472756374", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x4", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x456e756d", + "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", + "0x6", + "0x753332", + "0x53797374656d", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0xa", + "0x5", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0xc", + "0xb", + "0x4275696c74696e436f737473", + "0x2928dd7df7498c25e62967fd9be6515eaa381bfd8109ee7daa130a969b59e37", + "0x11a0ea1a7bee2a39526877a475042c8a007debcddf1866e2b0c630af0726916", + "0xf", + "0x10", + "0x221c8496d0c4f26c4d9a66b1feda54b6deb08942d0342a0d930831a6a49f8e0", + "0x11", + "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", + "0x13", + "0x426f78", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x15", + "0x2ba1e913d9308fb0a14be146b076f6af6cd7ba6198ff49c580bbf7401fa1fb3", + "0x17", + "0x53746f726167654261736541646472657373", + "0x53746f7261676541646472657373", + "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", + "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", + "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", + "0x1d", + "0x71", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x73746f72655f74656d70", + "0x66756e6374696f6e5f63616c6c", + "0x656e756d5f6d61746368", + "0x7", + "0x7374727563745f6465636f6e737472756374", + "0x61727261795f6c656e", + "0x736e617073686f745f74616b65", + "0x8", + "0x64726f70", + "0x7533325f636f6e7374", + "0x72656e616d65", + "0x7533325f6571", + "0x9", + "0x61727261795f6e6577", + "0x66656c743235325f636f6e7374", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x61727261795f617070656e64", + "0x7374727563745f636f6e737472756374", + "0x656e756d5f696e6974", + "0xd", + "0x6765745f6275696c74696e5f636f737473", + "0xe", + "0x77697468647261775f6761735f616c6c", + "0x12", + "0x4f7574206f6620676173", + "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", + "0x14", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x16", + "0x6a756d70", + "0x756e626f78", + "0x66656c743235325f616464", + "0x18", + "0x73746f726167655f626173655f616464726573735f636f6e7374", + "0xe5ec26188d710190e1d454ed168f6cb6ceda3fa7f665ae3d70fd00b54cee5c", + "0x73746f726167655f616464726573735f66726f6d5f62617365", + "0x1a", + "0x73746f726167655f726561645f73797363616c6c", + "0x1b", + "0x73746f726167655f77726974655f73797363616c6c", + "0x1c", + "0x1e", + "0x19f", + "0xffffffffffffffff", + "0x63", + "0x54", + "0x24", + "0x19", + "0x20", + "0x21", + "0x22", + "0x23", + "0x25", + "0x46", + "0x26", + "0x27", + "0x28", + "0x29", + "0x2d", + "0x2e", + "0x2f", + "0x30", + "0x2a", + "0x2b", + "0x2c", + "0x31", + "0x3f", + "0x32", + "0x33", + "0x34", + "0x35", + "0x36", + "0x37", + "0x38", + "0x39", + "0x3a", + "0x3b", + "0x3c", + "0x3d", + "0x3e", + "0x40", + "0x41", + "0x42", + "0x43", + "0x44", + "0x45", + "0x47", + "0x48", + "0x49", + "0x4a", + "0x4b", + "0x4c", + "0x4d", + "0x4e", + "0x4f", + "0x50", + "0x51", + "0x52", + "0x53", + "0x55", + "0x56", + "0x57", + "0x58", + "0x59", + "0x5a", + "0x5b", + "0x5c", + "0x5d", + "0x5e", + "0x5f", + "0xc6", + "0x90", + "0xb9", + "0xb2", + "0xdb", + "0xe0", + "0xea", + "0x11c", + "0x116", + "0x132", + "0x14b", + "0x150", + "0x15b", + "0x170", + "0x60", + "0x61", + "0x175", + "0x62", + "0x64", + "0x65", + "0x180", + "0x66", + "0x67", + "0x68", + "0x69", + "0x6a", + "0x6b", + "0x18d", + "0x6c", + "0x199", + "0x6d", + "0x6e", + "0x6f", + "0x70", + "0xd4", + "0xf1", + "0xf5", + "0x124", + "0x138", + "0x13e", + "0x161", + "0x187", + "0x193", + "0xf89", + "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", + "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", + "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", + "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", + "0x70a090610062a02090e090607062902090e02280227180626062502090e10", + "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", + "0x606313806063b0207063a3806063938060637070606361506063534060633", + "0x70606314007063f0706063e10060639090906323d06063107060639023c38", + "0x6063102454406063106060631060744060743180606421406064207060641", + "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", + "0x374a07063f150606394907063f020744060743170606421506064209060639", + "0x100906320906063107060637210606354b060633150906321d0606391d0606", + "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", + "0x10060631060734060743340606310207340607430706063b0706064f4d0606", + "0x33380906320607063f1507063f0250340906321c0606311c0606371d060635", + "0x1c060639060748060743480606310207480607431f06064226060635510606", + "0x565506063102545307065206074b0607434b06063102074b06074321060642", + "0x5906074302583d0906325706063b0607570607435706063102075706074302", + "0x606422c0606355a060633140906325906063b060759060743590606310207", + "0x7432c06064259060633570606330607510607435106063102075106074326", + "0x150c075c070602070602025c060202025b06075a0607435a06063102075a06", + "0xc0615023d38075c0614060c0214065c0609060902025c060207023410075d", + "0x380244065c0638063402025c0602070217065e18065c073d0610020c065c06", + "0x3d021f065c06021802025c061c0614021d1c075c0646063d0246065c064406", + "0x224065c06210617024b065c061d061702025c06480614022148075c061f06", + "0x2025c0618061c02025c06020702025f025c07244b0746024b065c064b0644", + "0x260065c06022102025c0626064802264d075c0651061f0251065c0607061d", + "0x259065c0602260257065c065560074d0255065c065506240255065c06024b", + "0x65c061506550200065c060c0615025a065c062c0660022c065c0657590751", + "0x5902025c06020702636261000c0663065c065a06570262065c064d061d0261", + "0x2070268670766655f075c0764150c095a0264065c0664062c0264065c0602", + "0x607061d026b065c06650655026a065c066906610269065c06020002025c06", + "0x706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662026c065c", + "0x672065f02025c0602070274067372065c07710664025f065c065f06150271", + "0x5c0677066802025c06760667027776075c067506650275065c06022102025c", + "0x66f0655027b065c065f0615027a065c0679066a0279065c06780669027806", + "0x25c060207027e7d7c7b0c067e065c067a0657027d065c0670061d027c065c", + "0x65c0670061d0273065c066f06550280065c065f0615027f065c0674066002", + "0x22102025c0618061c02025c06020702828173800c0682065c067f06570281", + "0x2260285065c068483074d0284065c068406240284065c06026f0283065c06", + "0x550288065c066706150287065c066606600266065c06858607510286065c06", + "0x207028b8a89880c068b065c06870657028a065c0607061d0289065c066806", + "0x8d065c060271028c065c06022102025c0638067002025c0617064802025c06", + "0x5c068e8f0751028f065c060226028e065c068d8c074d028d065c068d062402", + "0x607061d0293065c061506550292065c060c06150291065c06900660029006", + "0x2025c0609067002025c06020702945e93920c0694065c06910657025e065c", + "0x297065c069695074d0296065c069606240296065c06026f0295065c060221", + "0x9b065c06100615029a065c069906600299065c06979807510298065c060226", + "0x29e9d9c9b0c069e065c069a0657029d065c0607061d029c065c0634065502", + "0x5c0609063402025c060207023410079f150c075c070602070602025c060202", + "0x5c06021802025c06140614021814075c063d063d023d065c06380638023806", + "0x6460617021c065c0618061702025c06440614024644075c0617063d021706", + "0x70202a0025c071d1c0746020c065c060c0615021c065c061c0644021d065c", + "0x22102025c0648064802481f075c0621061f0221065c0607061d02025c0602", + "0x226024d065c06244b074d0224065c062406240224065c06024b024b065c06", + "0x550255065c060c06150260065c065106600251065c064d2607510226065c06", + "0x207022c5957550c062c065c066006570259065c061f061d0257065c061506", + "0x7a16100075c075a150c095a025a065c065a062c025a065c06025902025c06", + "0x65075c065f066b025f065c066406610264065c06020002025c060207026362", + "0x65c066706620270065c0607061d026f065c0661065502025c0665066c0267", + "0x6a26b065c076a066e0200065c06000615026a6968095c0671706f096d0271", + "0x7472075c066d0674026e065c060221026d065c066b067202025c060207026c", + "0x75c06787707760278065c066e06750277065c0674062402025c0672061c02", + "0x5c067a066802025c06790667027a79075c0675066502025c06760648027675", + "0x6680655027e065c06000615027d065c067c066a027c065c067b0669027b06", + "0x25c0602070273807f7e0c0673065c067d06570280065c0669061d027f065c", + "0x65c0669061d0283065c066806550282065c060006150281065c066c066002", + "0x26f0286065c06022102025c06020702858483820c0685065c068106570284", + "0x7510288065c0602260287065c066686074d0266065c066606240266065c06", + "0x28c065c06630655028b065c06620615028a065c068906600289065c068788", + "0x9067002025c060207028e8d8c8b0c068e065c068a0657028d065c0607061d", + "0x6908f074d0290065c069006240290065c06026f028f065c06022102025c06", + "0x100615025e065c069306600293065c06919207510292065c0602260291065c", + "0x940c0697065c065e06570296065c0607061d0295065c063406550294065c06", + "0x7802025c060207020c06a30907075c070606770206065c0602063402979695", + "0x2070202a406027b0234065c0615067a0210065c060706790215065c060906", + "0x63d067a0210065c060c0679023d065c0638067d0238065c06027c02025c06", + "0x21706a518065c0734067e0214065c061406090214065c061006680234065c", + "0x9021c065c064606730246065c064406800244065c0618067f02025c060207", + "0x25c0617064802025c060207021f1d07061f065c061c0681021d065c061406", + "0x24065c06210681024b065c061406090221065c064806820248065c06027c02", + "0x907070609065c060606830207065c0602061d0206065c06027c02244b0706", + "0x5c0606061d0214065c06020655021015075c060c0685020c065c0607068402", + "0xa644065c073d066e023d3834095c0617181409660217065c06100686021806", + "0x65c060288021d065c06091c0787021c065c0644067202025c060207024606", + "0x5c064806240221065c0602890248065c061f1d0787021d065c061d0624021f", + "0x1506860260065c0638061d0251065c06340655024b065c0621480787024806", + "0x5c0726068b02264d24095c06575560510c8a0257065c064b06240255065c06", + "0x5a066102025c0600064802005a075c0659068c02025c060207022c06a75906", + "0x6550264065c0663068e0263065c066261078d0262065c06027c0261065c06", + "0x5c0602070267655f090667065c0664068f0265065c064d061d025f065c0624", + "0x5c0668068f026a065c064d061d0269065c062406550268065c062c06900202", + "0x46069002025c0609061c02025c0615069102025c060207026f6a6909066f06", + "0x7109066c065c0670068f026b065c0638061d0271065c063406550270065c06", + "0x60906860238065c0606061d0234065c060206550209065c06070684026c6b", + "0x5c060207021806a814065c0710066e0210150c095c063d38340966023d065c", + "0x5c060c06550246065c064406930244065c061706920217065c061406720202", + "0x9402025c060207021f1d1c09061f065c0646065e021d065c0615061d021c06", + "0x624065c0648065e024b065c0615061d0221065c060c06550248065c061806", + "0x675020c065c06027c0209065c060706074d0207065c0602068002244b2109", + "0x9065c06029502025c06070691021015070610065c060c06830215065c0609", + "0xc065c060c06970215065c061506440215065c060218020c065c0609069602", + "0x65c0638069902025c0602070218143d09a9383410095c070c1506020c9802", + "0x2aa06027b021c065c0617069a0246065c0634061d0244065c061006550217", + "0x246065c0614061d0244065c063d0655021d065c0618069b02025c06020702", + "0x21065c071f066e021f065c0648069d0248065c061c069c021c065c061d069a", + "0x5c064d0693024d065c062406920224065c0621067202025c060207024b06ab", + "0x556051090655065c0626065e0260065c0646061d0251065c06440655022606", + "0x22c065c0646061d0259065c064406550257065c064b069402025c06020702", + "0x29502025c0615069102150c075c06070685025a2c5909065a065c0657065e", + "0x3406970238065c063806440238065c0602180234065c061006960210065c06", + "0x27c02025c0602070244171809ac143d075c070934380602159e0234065c06", + "0x6ae021f065c0614061d021d065c063d0655021c065c064606ad0246065c06", + "0x5c061806550221065c064406b002025c0602070202af06027b0248065c061c", + "0x62406b10224065c0648065d0248065c062106ae021f065c0617061d021d06", + "0x7b50251065c064d06b402025c060207022606b34d065c074b06b2024b065c", + "0x259065c061f061d0257065c061d06550255065c066006b60260065c06510c", + "0x5c062606b802025c060c069102025c060207022c595709062c065c065506b7", + "0x626100090662065c065a06b70261065c061f061d0200065c061d0655025a06", + "0x5c060906930209065c0606069202025c060207020706ba06065c070206b902", + "0x71007510210065c06022602025c0602070215060615065c060c065e020c06", + "0x6065c070206bb023d06063d065c0638065e0238065c063406940234065c06", + "0x5c060c06bf020c065c060906be0209065c060606bd02025c060207020706bc", + "0x3406c00234065c06071007510210065c06022602025c060207021506061506", + "0x209070602443d06020c153d06020c183d06063d065c063806bf0238065c06", + "0x60cc202103d073d06c10234150715062d09070602443d06020c153d06020c", + "0x2100907090707c40706024b3d06091d3d0609c309070602483d0609071d3d", + "0x65706c709070602513d0609071c3d060cc60706024b3d06091c3d0609c506", + "0xc9025a065906c8024b" + ], + "sierra_program_debug_info": { + "type_names": [ + [0, "RangeCheck"], + [1, "GasBuiltin"], + [2, "felt252"], + [3, "Array"], + [4, "Snapshot>"], + [5, "core::array::Span::"], + [6, "Unit"], + [7, "core::option::Option::"], + [8, "u32"], + [9, "System"], + [10, "core::panics::Panic"], + [11, "Tuple>"], + [12, "Tuple>"], + [ + 13, + "core::panics::PanicResult::<(core::array::Span::,)>" + ], + [14, "BuiltinCosts"], + [15, "Counter5::Counter5::balance_5::ContractState"], + [16, "Counter5::Counter5::ContractState"], + [17, "Tuple"], + [ + 18, + "core::panics::PanicResult::<(Counter5::Counter5::ContractState, ())>" + ], + [19, "Tuple"], + [20, "core::panics::PanicResult::<(core::felt252,)>"], + [21, "Box"], + [22, "core::option::Option::>"], + [23, "Tuple"], + [ + 24, + "core::panics::PanicResult::<(Counter5::Counter5::balance_5::ContractState, ())>" + ], + [25, "StorageBaseAddress"], + [26, "StorageAddress"], + [ + 27, + "core::result::Result::>" + ], + [28, "core::result::Result::<(), core::array::Array::>"], + [29, "Tuple"], + [30, "core::panics::PanicResult::<((),)>"] + ], + "libfunc_names": [ + [0, "revoke_ap_tracking"], + [1, "withdraw_gas"], + [2, "branch_align"], + [3, "store_temp>"], + [4, "function_call"], + [5, "store_temp"], + [6, "enum_match>"], + [7, "struct_deconstruct>"], + [8, "array_len"], + [9, "snapshot_take"], + [10, "drop"], + [11, "u32_const<0>"], + [12, "rename"], + [13, "store_temp"], + [14, "u32_eq"], + [15, "drop"], + [16, "store_temp"], + [17, "function_call"], + [18, "drop"], + [19, "array_new"], + [ + 20, + "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" + ], + [21, "store_temp"], + [22, "array_append"], + [23, "struct_construct"], + [24, "struct_construct>>"], + [ + 25, + "enum_init,)>, 1>" + ], + [26, "store_temp"], + [ + 27, + "store_temp,)>>" + ], + [28, "get_builtin_costs"], + [29, "store_temp"], + [30, "withdraw_gas_all"], + [31, "struct_construct"], + [32, "struct_construct"], + [33, "store_temp"], + [34, "function_call"], + [ + 35, + "enum_match>" + ], + [36, "drop>"], + [37, "snapshot_take>"], + [38, "drop>"], + [39, "struct_construct>"], + [40, "struct_construct>>"], + [ + 41, + "enum_init,)>, 0>" + ], + [42, "felt252_const<375233589013918064796019>"], + [43, "drop>"], + [ + 44, + "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" + ], + [45, "snapshot_take"], + [46, "drop"], + [47, "function_call"], + [48, "enum_match>"], + [49, "struct_deconstruct>"], + [50, "snapshot_take"], + [51, "store_temp>"], + [52, "function_call"], + [53, "array_snapshot_pop_front"], + [ + 54, + "enum_init>, 0>" + ], + [55, "store_temp>>"], + [ + 56, + "store_temp>>" + ], + [57, "jump"], + [58, "struct_construct"], + [ + 59, + "enum_init>, 1>" + ], + [ + 60, + "enum_match>>" + ], + [61, "unbox"], + [62, "rename"], + [63, "enum_init, 0>"], + [64, "store_temp>"], + [65, "enum_init, 1>"], + [66, "store_temp"], + [67, "struct_deconstruct"], + [68, "snapshot_take"], + [69, "store_temp"], + [ + 70, + "function_call" + ], + [71, "felt252_add"], + [72, "felt252_const<5>"], + [73, "felt252_const<1>"], + [ + 74, + "function_call" + ], + [ + 75, + "enum_match>" + ], + [ + 76, + "struct_deconstruct>" + ], + [77, "struct_construct>"], + [ + 78, + "enum_init, 0>" + ], + [ + 79, + "store_temp>" + ], + [ + 80, + "enum_init, 1>" + ], + [81, "drop"], + [82, "struct_construct>"], + [83, "enum_init, 0>"], + [84, "store_temp>"], + [85, "enum_init, 1>"], + [ + 86, + "storage_base_address_const<406237817035746565772269809858978531940011558089048847818012947058325778012>" + ], + [87, "storage_address_from_base"], + [88, "store_temp"], + [89, "storage_read_syscall"], + [ + 90, + "enum_init>, 0>" + ], + [ + 91, + "store_temp>>" + ], + [ + 92, + "enum_init>, 1>" + ], + [ + 93, + "rename>>" + ], + [ + 94, + "function_call::unwrap_syscall>" + ], + [95, "storage_write_syscall"], + [ + 96, + "enum_init>, 0>" + ], + [ + 97, + "store_temp>>" + ], + [ + 98, + "enum_init>, 1>" + ], + [ + 99, + "rename>>" + ], + [ + 100, + "function_call::unwrap_syscall>" + ], + [101, "enum_match>"], + [102, "struct_deconstruct>"], + [ + 103, + "struct_construct>" + ], + [ + 104, + "enum_init, 0>" + ], + [ + 105, + "store_temp>" + ], + [ + 106, + "enum_init, 1>" + ], + [ + 107, + "enum_match>>" + ], + [ + 108, + "enum_match>>" + ], + [109, "struct_construct>"], + [110, "enum_init, 0>"], + [111, "store_temp>"], + [112, "enum_init, 1>"] + ], + "user_func_names": [ + [0, "Counter5::Counter5::__external::increase_balance_5"], + [1, "Counter5::Counter5::__external::get_balance_5"], + [2, "core::Felt252Serde::deserialize"], + [3, "core::starknet::use_system_implicit"], + [4, "Counter5::Counter5::increase_balance_5"], + [5, "Counter5::Counter5::get_balance_5"], + [6, "core::Felt252Serde::serialize"], + [7, "Counter5::Counter5::balance_5::InternalContractStateImpl::read"], + [8, "Counter5::Counter5::balance_5::InternalContractStateImpl::write"], + [ + 9, + "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" + ], + [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] + ] + }, + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x267cbb3c3e283a65af18ea0520413af29ad394bb92e89f5cec63d7bf8e3cc02", + "function_idx": 0 + }, + { + "selector": "0x389381eb1816554e8631e7462dd12b632049ad60885626e36757af3a8b169dd", + "function_idx": 1 + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + }, + "abi": [ + { + "type": "function", + "name": "increase_balance_5", + "inputs": [{ "name": "amount", "type": "core::felt252" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "get_balance_5", + "inputs": [], + "outputs": [{ "type": "core::felt252" }], + "state_mutability": "view" + }, + { + "type": "event", + "name": "Counter5::Counter5::Event", + "kind": "enum", + "variants": [] + } + ] +} diff --git a/da-test/contracts/ERC20.cairo b/da-test/contracts/ERC20.cairo new file mode 100644 index 0000000000..74dcaed08a --- /dev/null +++ b/da-test/contracts/ERC20.cairo @@ -0,0 +1,18 @@ +// contracts/MyToken.cairo + +%lang starknet + +from openzeppelin.token.erc20.presets.ERC20 import ( + constructor, + name, + symbol, + totalSupply, + decimals, + balanceOf, + allowance, + transfer, + transferFrom, + approve, + increaseAllowance, + decreaseAllowance, +) diff --git a/da-test/contracts/ERC20.json b/da-test/contracts/ERC20.json new file mode 100644 index 0000000000..3063dfad02 --- /dev/null +++ b/da-test/contracts/ERC20.json @@ -0,0 +1,8597 @@ +{ + "abi": [ + { + "members": [ + { + "name": "low", + "offset": 0, + "type": "felt" + }, + { + "name": "high", + "offset": 1, + "type": "felt" + } + ], + "name": "Uint256", + "size": 2, + "type": "struct" + }, + { + "data": [ + { + "name": "from_", + "type": "felt" + }, + { + "name": "to", + "type": "felt" + }, + { + "name": "value", + "type": "Uint256" + } + ], + "keys": [], + "name": "Transfer", + "type": "event" + }, + { + "data": [ + { + "name": "owner", + "type": "felt" + }, + { + "name": "spender", + "type": "felt" + }, + { + "name": "value", + "type": "Uint256" + } + ], + "keys": [], + "name": "Approval", + "type": "event" + }, + { + "inputs": [ + { + "name": "name", + "type": "felt" + }, + { + "name": "symbol", + "type": "felt" + }, + { + "name": "decimals", + "type": "felt" + }, + { + "name": "initial_supply", + "type": "Uint256" + }, + { + "name": "recipient", + "type": "felt" + } + ], + "name": "constructor", + "outputs": [], + "type": "constructor" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "name", + "type": "felt" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "name": "symbol", + "type": "felt" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "totalSupply", + "type": "Uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "decimals", + "type": "felt" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "account", + "type": "felt" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "Uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "owner", + "type": "felt" + }, + { + "name": "spender", + "type": "felt" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "remaining", + "type": "Uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "recipient", + "type": "felt" + }, + { + "name": "amount", + "type": "Uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + }, + { + "inputs": [ + { + "name": "sender", + "type": "felt" + }, + { + "name": "recipient", + "type": "felt" + }, + { + "name": "amount", + "type": "Uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + }, + { + "inputs": [ + { + "name": "spender", + "type": "felt" + }, + { + "name": "amount", + "type": "Uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + }, + { + "inputs": [ + { + "name": "spender", + "type": "felt" + }, + { + "name": "added_value", + "type": "Uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + }, + { + "inputs": [ + { + "name": "spender", + "type": "felt" + }, + { + "name": "subtracted_value", + "type": "Uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + } + ], + "entry_points_by_type": { + "CONSTRUCTOR": [ + { + "offset": "0x410", + "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194" + } + ], + "EXTERNAL": [ + { + "offset": "0x521", + "selector": "0x41b033f4a31df8067c24d1e9b550a2ce75fd4a29e1147af9752174f0e6cb20" + }, + { + "offset": "0x491", + "selector": "0x4c4fb1ab068f6039d5780c68dd0fa2f8742cceb3426d19667778ca7f3518a9" + }, + { + "offset": "0x473", + "selector": "0x80aa9fdbfaf9615e4afc7f5f722e265daca5ccc655360fa5ccacf9c267936d" + }, + { + "offset": "0x4fa", + "selector": "0x83afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e" + }, + { + "offset": "0x56e", + "selector": "0x16cc063b8338363cf388ce7fe1df408bf10f16cd51635d392e21d852fafb683" + }, + { + "offset": "0x594", + "selector": "0x1aaf3e6107dd1349c81543ff4221a326814f77dadcc5810807b74f1a49ded4e" + }, + { + "offset": "0x4d5", + "selector": "0x1e888a1026b19c8c0b57c72d63ed1737106aa10034105b980ba117bd0c29fe1" + }, + { + "offset": "0x454", + "selector": "0x216b05c387bab9ac31918a3e61672f4618601f3c598a2f3f2710f37053e1ea4" + }, + { + "offset": "0x548", + "selector": "0x219209e083275171774dab1df80982e9df2096516f06319c5c6d71ae0a8480c" + }, + { + "offset": "0x4b1", + "selector": "0x2e4263afad30923c891518314c3c95dbe830a16874e8abc5777a9a20b54c76e" + }, + { + "offset": "0x436", + "selector": "0x361458367e696363fbcc70777d07ebbd2394e89fd0adcaf147faccd1d294d60" + } + ], + "L1_HANDLER": [] + }, + "program": { + "attributes": [ + { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "end_pc": 326, + "flow_tracking_data": { + "ap_tracking": { + "group": 22, + "offset": 35 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 324, + "value": "SafeUint256: addition overflow" + }, + { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "end_pc": 349, + "flow_tracking_data": { + "ap_tracking": { + "group": 23, + "offset": 60 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 347, + "value": "SafeUint256: subtraction overflow" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "end_pc": 665, + "flow_tracking_data": { + "ap_tracking": { + "group": 44, + "offset": 41 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 660, + "value": "ERC20: decimals exceed 2^8" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "end_pc": 752, + "flow_tracking_data": { + "ap_tracking": { + "group": 56, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 747, + "value": "ERC20: amount is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "end_pc": 772, + "flow_tracking_data": { + "ap_tracking": { + "group": 58, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error", + "start_pc": 767, + "value": "ERC20: added_value is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "end_pc": 786, + "flow_tracking_data": { + "ap_tracking": { + "group": 58, + "offset": 88 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 782, + "value": "ERC20: allowance overflow" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "end_pc": 805, + "flow_tracking_data": { + "ap_tracking": { + "group": 60, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 800, + "value": "ERC20: subtracted_value is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "end_pc": 819, + "flow_tracking_data": { + "ap_tracking": { + "group": 60, + "offset": 88 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 815, + "value": "ERC20: allowance below zero" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "end_pc": 836, + "flow_tracking_data": { + "ap_tracking": { + "group": 62, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 831, + "value": "ERC20: amount is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "end_pc": 839, + "flow_tracking_data": { + "ap_tracking": { + "group": 62, + "offset": 6 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 836, + "value": "ERC20: cannot mint to the zero address" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "end_pc": 848, + "flow_tracking_data": { + "ap_tracking": { + "group": 62, + "offset": 40 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 844, + "value": "ERC20: mint overflow" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "end_pc": 888, + "flow_tracking_data": { + "ap_tracking": { + "group": 63, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 883, + "value": "ERC20: amount is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "end_pc": 891, + "flow_tracking_data": { + "ap_tracking": { + "group": 63, + "offset": 6 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 888, + "value": "ERC20: cannot transfer from the zero address" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "end_pc": 894, + "flow_tracking_data": { + "ap_tracking": { + "group": 63, + "offset": 9 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 891, + "value": "ERC20: cannot transfer to the zero address" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "end_pc": 904, + "flow_tracking_data": { + "ap_tracking": { + "group": 63, + "offset": 81 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 900, + "value": "ERC20: transfer amount exceeds balance" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "end_pc": 944, + "flow_tracking_data": { + "ap_tracking": { + "group": 64, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 939, + "value": "ERC20: amount is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "end_pc": 947, + "flow_tracking_data": { + "ap_tracking": { + "group": 64, + "offset": 6 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 944, + "value": "ERC20: cannot approve from the zero address" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "end_pc": 950, + "flow_tracking_data": { + "ap_tracking": { + "group": 64, + "offset": 9 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 947, + "value": "ERC20: cannot approve to the zero address" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "end_pc": 978, + "flow_tracking_data": { + "ap_tracking": { + "group": 65, + "offset": 4 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 973, + "value": "ERC20: amount is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "end_pc": 1012, + "flow_tracking_data": { + "ap_tracking": { + "group": 66, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 1005, + "value": "ERC20: insufficient allowance" + } + ], + "builtins": ["pedersen", "range_check"], + "compiler_version": "0.11.2", + "data": [ + "0x40780017fff7fff", + "0x1", + "0x208b7fff7fff7ffe", + "0x400380007ffb7ffc", + "0x400380017ffb7ffd", + "0x482680017ffb8000", + "0x3", + "0x480280027ffb8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x47657443616c6c657241646472657373", + "0x400280007ffd7fff", + "0x482680017ffd8000", + "0x2", + "0x480280017ffd8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffc7fff", + "0x400380017ffc7ffd", + "0x482680017ffc8000", + "0x3", + "0x480280027ffc8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400380017ffb7ffc", + "0x400380027ffb7ffd", + "0x482680017ffb8000", + "0x3", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280007ff97fff", + "0x400380017ff97ffa", + "0x400380027ff97ffb", + "0x400380037ff97ffc", + "0x400380047ff97ffd", + "0x482680017ff98000", + "0x5", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffd", + "0x4", + "0x400780017fff7ffd", + "0x1", + "0x208b7fff7fff7ffe", + "0x400380007ffc7ffd", + "0x482680017ffc8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x48297ffc80007ffd", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffb", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x3ffffffffffffffffffffffffffffff", + "0x480280017ffc8000", + "0x48307fff80007ffe", + "0x400280027ffc7fff", + "0x480280017ffc8000", + "0x484480017fff8000", + "0x100000000000000000000000000000000", + "0x480280007ffc8000", + "0x40317fff7ffe7ffd", + "0x482680017ffc8000", + "0x3", + "0x208b7fff7fff7ffe", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x484480017fff8000", + "0x2aaaaaaaaaaaab05555555555555556", + "0x48307fff7ffd8000", + "0x480280027ffb8000", + "0x480280037ffb8000", + "0x484480017fff8000", + "0x4000000000000088000000000000001", + "0x48307fff7ffd8000", + "0xa0680017fff8000", + "0xe", + "0x480680017fff8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x48287ffc80007fff", + "0x40307ffc7ff87fff", + "0x48297ffd80007ffc", + "0x482680017ffd8000", + "0x1", + "0x48507fff7ffe8000", + "0x40507ff97ff57fff", + "0x482680017ffb8000", + "0x4", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0xc", + "0x480680017fff8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x48287ffd80007fff", + "0x48327fff7ffc8000", + "0x40307ffa7ff67fff", + "0x48527ffe7ffc8000", + "0x40507ff97ff57fff", + "0x482680017ffb8000", + "0x4", + "0x208b7fff7fff7ffe", + "0x40317ffd7ff97ffd", + "0x48297ffc80007ffd", + "0x48527fff7ffc8000", + "0x40507ffb7ff77fff", + "0x40780017fff7fff", + "0x2", + "0x482680017ffb8000", + "0x4", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x20680017fff7fff", + "0x10", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x11000000000000000000000000000000000000000000000101", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc0", + "0x480680017fff8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x48127ffe7fff8000", + "0x48287ffd80007ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffba", + "0x482680017ffd8000", + "0x11000000000000000000000000000000000000000000000101", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x20680017fff7fff", + "0xc", + "0x40780017fff7fff", + "0xa", + "0x480680017fff8000", + "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeff", + "0x480a7ffc7fff8000", + "0x48287ffd80007ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffab", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0xb", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa3", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0xa", + "0x400380007ffc7ffd", + "0x40780017fff7fff", + "0x14", + "0x482680017ffc8000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0xe", + "0x484680017ffd8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x482480017fff8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x400280007ffc7fff", + "0x40780017fff7fff", + "0x11", + "0x482680017ffc8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x100000000000000000000000000000000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff90", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x48297ffc80007ffd", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffde", + "0x208b7fff7fff7ffe", + "0x400380007ffb7ffc", + "0x400380017ffb7ffd", + "0x482680017ffb8000", + "0x2", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x4", + "0x404b800280028002", + "0x404b800380038003", + "0x482a7ffc7ffa8000", + "0x4846800180028000", + "0x100000000000000000000000000000000", + "0x40327fff80007ffe", + "0x482a7ffd7ffb8000", + "0x482880027fff8000", + "0x4846800180038000", + "0x100000000000000000000000000000000", + "0x40327fff80017ffe", + "0x480a7ff97fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x480a80037fff8000", + "0x208b7fff7fff7ffe", + "0x48297ffd80007ffb", + "0x20680017fff7fff", + "0x9", + "0x480a7ff97fff8000", + "0x482680017ffa8000", + "0x1", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffda", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x482680017ffb8000", + "0x1", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd3", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffeb", + "0x480680017fff8000", + "0x1", + "0x48127ffd7fff8000", + "0x48307ffd80007ffe", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0xffffffffffffffffffffffffffffffff", + "0x480680017fff8000", + "0xffffffffffffffffffffffffffffffff", + "0x480a7ffb7fff8000", + "0x48287ffc80007ffd", + "0x48287ffd80007ffd", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff6", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffbd", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef", + "0x48127ffd7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffad", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x48297ffd80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffa", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff89", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff85", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff84", + "0x400680017fff7fff", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x0", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff72", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff6e", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff94", + "0x400680017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffae", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe9a", + "0x40137fff7fff8000", + "0x480680017fff8000", + "0x99cd8bde557814842a3121e8ddfd433a539b8c9f14bf31ebf108d12e6196e9", + "0x4002800080007fff", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe94", + "0x40137fff7fff8001", + "0x4003800080017ffa", + "0x4003800180017ffb", + "0x4003800280017ffc", + "0x4003800380017ffd", + "0x4826800180018000", + "0x4", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480a80007fff8000", + "0x4828800180007ffc", + "0x480a80017fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea5", + "0x480a7ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe7f", + "0x40137fff7fff8000", + "0x480680017fff8000", + "0x134692b230b9e1ffa39098904722134159652b09c5bc41d88d6698779d228ff", + "0x4002800080007fff", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe79", + "0x40137fff7fff8001", + "0x4003800080017ffa", + "0x4003800180017ffb", + "0x4003800280017ffc", + "0x4003800380017ffd", + "0x4826800180018000", + "0x4", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480a80007fff8000", + "0x4828800180007ffc", + "0x480a80017fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe8a", + "0x480a7ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x341c1bdfd89f69748aa00b5742b03adbffd79b8e80cab5c50d91cd8c2a79be1", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe6b", + "0x48127ffe7fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x480a7ffa7fff8000", + "0x48127ffe7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe65", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0xb6ce5410fca59d078ee9b2a4371a9d684c530d697c64fbef0ae6d5e8f0ac72", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe4d", + "0x48127ffe7fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x480a7ffa7fff8000", + "0x48127ffe7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe47", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1f0d4aa99431d246bac9b8e48c33e888245b15e9678f64f9bdfc8823dc8f979", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe2f", + "0x48127ffe7fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x480a7ffa7fff8000", + "0x48127ffe7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe29", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe11", + "0x48127ffe7fff8000", + "0x482480017ff78000", + "0x1", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe0c", + "0x48127ffe7fff8000", + "0x48127fee7fff8000", + "0x48127fee7fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", + "0x480a7ff97fff8000", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe05", + "0x482480017ff88000", + "0x1", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe00", + "0x48127ff07fff8000", + "0x48127ff07fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffde2", + "0x480a7ffc7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe4d", + "0x48127fe17fff8000", + "0x48127ffd7fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff0", + "0x480a7ffa7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdde", + "0x48127ffe7fff8000", + "0x482480017ff78000", + "0x1", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd9", + "0x48127ffe7fff8000", + "0x48127fee7fff8000", + "0x48127fee7fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffdc", + "0x480a7ff87fff8000", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd1", + "0x482480017ff88000", + "0x1", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdcc", + "0x48127ff07fff8000", + "0x48127ff07fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x3c87bf42ed4f01f11883bf54f43d91d2cbbd5fec26d1df9c74c57ae138800a4", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdae", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdab", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe16", + "0x48127fe17fff8000", + "0x48127ffd7fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x480a7ff97fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda6", + "0x48127ffe7fff8000", + "0x482480017ff78000", + "0x1", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda1", + "0x48127ffe7fff8000", + "0x48127fee7fff8000", + "0x48127fee7fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd7", + "0x480a7ff77fff8000", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd98", + "0x482480017ff88000", + "0x1", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd93", + "0x48127ff07fff8000", + "0x48127ff07fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff1f", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff3a", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0xff", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd9d", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffd7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff4d", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffefe", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff16", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff4c", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff28", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff71", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa0", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd42", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xa2", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ff77fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd33", + "0x48127ffe7fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x48127ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xeb", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x8d", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd3", + "0x480a7ff87fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd19", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x48127ff77fff8000", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xb1", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdbf", + "0x480a7ff87fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd05", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x48127ff77fff8000", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff58", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe26", + "0x48127fd17fff8000", + "0x48127fd17fff8000", + "0x48127ffb7fff8000", + "0x48127f867fff8000", + "0x480a7ffb7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x1104800180018000", + "0x92", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x0", + "0x480a7ffa7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd9e", + "0x480a7ff87fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffce4", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x48127ff77fff8000", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff37", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe1a", + "0x48127f707fff8000", + "0x48127f707fff8000", + "0x48127ffb7fff8000", + "0x48127f257fff8000", + "0x480a7ffb7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x1104800180018000", + "0x71", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd7f", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffce6", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffde8", + "0x48127fd17fff8000", + "0x48127fd17fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb9", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffed5", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdda", + "0x48127fd17fff8000", + "0x48127fd17fff8000", + "0x48127ffb7fff8000", + "0x480a7ffb7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffedd", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdf9", + "0x48127ffe7fff8000", + "0x48127fe17fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd4b", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcb2", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcaf", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x48127ff77fff8000", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeab", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc5", + "0x48127f707fff8000", + "0x48127f707fff8000", + "0x48127ffb7fff8000", + "0x480a7ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb3", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe9c", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda1", + "0x48127fd17fff8000", + "0x48127fd17fff8000", + "0x48127ffb7fff8000", + "0x480a7ffb7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea4", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc1", + "0x48127ffe7fff8000", + "0x48127fe17fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd13", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc7a", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc77", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x48127ff77fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffebc", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdbc", + "0x48127ffe7fff8000", + "0x48127fe17fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x4", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcf1", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x48127ffd7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe8d", + "0x40137ffe7fff8000", + "0x40137fff7fff8001", + "0x40137ffb7fff8002", + "0x40137ffc7fff8003", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd17", + "0x48127ffd7fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd37", + "0x20680017fff7fff", + "0x13", + "0x48127ffe7fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd59", + "0x480a80027fff8000", + "0x480a80037fff8000", + "0x48127ffb7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffb1", + "0x208b7fff7fff7ffe", + "0x480a80027fff8000", + "0x480a80037fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe84", + "0x480a7ffd7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff33", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x6", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x480280037ffd8000", + "0x480280047ffd8000", + "0x480280057ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", + "0x40780017fff7fff", + "0x1", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe77", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x402b7ffd7ffc7ffd", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe5f", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x402b7ffd7ffc7ffd", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe47", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffb", + "0x4003800180007ffc", + "0x4826800180008000", + "0x2", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x402b7ffd7ffc7ffd", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff0", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe2e", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x402b7ffd7ffc7ffd", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe15", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffb", + "0x4003800180007ffc", + "0x4826800180008000", + "0x2", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x1", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe9", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdf8", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffb", + "0x4003800180007ffc", + "0x4826800180008000", + "0x2", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x2", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdda", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x3", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc2", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x4", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x480280037ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe4", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffeb", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdb0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x3", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd9e", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x3", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd97", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x3", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe" + ], + "debug_info": null, + "hints": { + "0": [ + { + "accessible_scopes": [ + "starkware.cairo.common.alloc", + "starkware.cairo.common.alloc.alloc" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 0, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "12": [ + { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.get_caller_address" + ], + "code": "syscall_handler.get_caller_address(segments=segments, syscall_ptr=ids.syscall_ptr)", + "flow_tracking_data": { + "ap_tracking": { + "group": 2, + "offset": 1 + }, + "reference_ids": { + "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr": 0 + } + } + } + ], + "20": [ + { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_read" + ], + "code": "syscall_handler.storage_read(segments=segments, syscall_ptr=ids.syscall_ptr)", + "flow_tracking_data": { + "ap_tracking": { + "group": 3, + "offset": 1 + }, + "reference_ids": { + "starkware.starknet.common.syscalls.storage_read.syscall_ptr": 1 + } + } + } + ], + "29": [ + { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_write" + ], + "code": "syscall_handler.storage_write(segments=segments, syscall_ptr=ids.syscall_ptr)", + "flow_tracking_data": { + "ap_tracking": { + "group": 4, + "offset": 1 + }, + "reference_ids": { + "starkware.starknet.common.syscalls.storage_write.syscall_ptr": 2 + } + } + } + ], + "39": [ + { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.emit_event" + ], + "code": "syscall_handler.emit_event(segments=segments, syscall_ptr=ids.syscall_ptr)", + "flow_tracking_data": { + "ap_tracking": { + "group": 5, + "offset": 1 + }, + "reference_ids": { + "starkware.starknet.common.syscalls.emit_event.syscall_ptr": 3 + } + } + } + ], + "42": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_not_zero" + ], + "code": "from starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.value)\nassert ids.value % PRIME != 0, f'assert_not_zero failed: {ids.value} = 0.'", + "flow_tracking_data": { + "ap_tracking": { + "group": 6, + "offset": 0 + }, + "reference_ids": { + "starkware.cairo.common.math.assert_not_zero.value": 4 + } + } + } + ], + "47": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_nn" + ], + "code": "from starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.a)\nassert 0 <= ids.a % PRIME < range_check_builtin.bound, f'a = {ids.a} is out of range.'", + "flow_tracking_data": { + "ap_tracking": { + "group": 7, + "offset": 0 + }, + "reference_ids": { + "starkware.cairo.common.math.assert_nn.a": 5 + } + } + } + ], + "56": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "code": "from starkware.cairo.common.math_utils import as_int\n\n# Correctness check.\nvalue = as_int(ids.value, PRIME) % PRIME\nassert value < ids.UPPER_BOUND, f'{value} is outside of the range [0, 2**250).'\n\n# Calculation for the assertion.\nids.high, ids.low = divmod(ids.value, ids.SHIFT)", + "flow_tracking_data": { + "ap_tracking": { + "group": 9, + "offset": 0 + }, + "reference_ids": { + "starkware.cairo.common.math.assert_250_bit.high": 8, + "starkware.cairo.common.math.assert_250_bit.low": 7, + "starkware.cairo.common.math.assert_250_bit.value": 6 + } + } + } + ], + "69": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "code": "import itertools\n\nfrom starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.a)\nassert_integer(ids.b)\na = ids.a % PRIME\nb = ids.b % PRIME\nassert a <= b, f'a = {a} is not less than or equal to b = {b}.'\n\n# Find an arc less than PRIME / 3, and another less than PRIME / 2.\nlengths_and_indices = [(a, 0), (b - a, 1), (PRIME - 1 - b, 2)]\nlengths_and_indices.sort()\nassert lengths_and_indices[0][0] <= PRIME // 3 and lengths_and_indices[1][0] <= PRIME // 2\nexcluded = lengths_and_indices[2][1]\n\nmemory[ids.range_check_ptr + 1], memory[ids.range_check_ptr + 0] = (\n divmod(lengths_and_indices[0][0], ids.PRIME_OVER_3_HIGH))\nmemory[ids.range_check_ptr + 3], memory[ids.range_check_ptr + 2] = (\n divmod(lengths_and_indices[1][0], ids.PRIME_OVER_2_HIGH))", + "flow_tracking_data": { + "ap_tracking": { + "group": 10, + "offset": 0 + }, + "reference_ids": { + "starkware.cairo.common.math.assert_le_felt.a": 9, + "starkware.cairo.common.math.assert_le_felt.b": 10, + "starkware.cairo.common.math.assert_le_felt.range_check_ptr": 11 + } + } + } + ], + "79": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "code": "memory[ap] = 1 if excluded != 0 else 0", + "flow_tracking_data": { + "ap_tracking": { + "group": 10, + "offset": 8 + }, + "reference_ids": {} + } + } + ], + "93": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "code": "memory[ap] = 1 if excluded != 1 else 0", + "flow_tracking_data": { + "ap_tracking": { + "group": 10, + "offset": 9 + }, + "reference_ids": {} + } + } + ], + "105": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "code": "assert excluded == 2", + "flow_tracking_data": { + "ap_tracking": { + "group": 10, + "offset": 10 + }, + "reference_ids": {} + } + } + ], + "116": [ + { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "code": "# Verify the assumptions on the relationship between 2**250, ADDR_BOUND and PRIME.\nADDR_BOUND = ids.ADDR_BOUND % PRIME\nassert (2**250 < ADDR_BOUND <= 2**251) and (2 * 2**250 < PRIME) and (\n ADDR_BOUND * 2 > PRIME), \\\n 'normalize_address() cannot be used with the current constants.'\nids.is_small = 1 if ids.addr < ADDR_BOUND else 0", + "flow_tracking_data": { + "ap_tracking": { + "group": 11, + "offset": 1 + }, + "reference_ids": { + "starkware.starknet.common.storage.normalize_address.addr": 12, + "starkware.starknet.common.storage.normalize_address.is_small": 13 + } + } + } + ], + "134": [ + { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "code": "ids.is_250 = 1 if ids.addr < 2**250 else 0", + "flow_tracking_data": { + "ap_tracking": { + "group": 11, + "offset": 2 + }, + "reference_ids": { + "starkware.starknet.common.storage.normalize_address.addr": 12, + "starkware.starknet.common.storage.normalize_address.is_250": 14 + } + } + } + ], + "154": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "code": "memory[ap] = 0 if 0 <= (ids.a % PRIME) < range_check_builtin.bound else 1", + "flow_tracking_data": { + "ap_tracking": { + "group": 12, + "offset": 0 + }, + "reference_ids": { + "starkware.cairo.common.math_cmp.is_nn.a": 15 + } + } + } + ], + "164": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "code": "memory[ap] = 0 if 0 <= ((-ids.a - 1) % PRIME) < range_check_builtin.bound else 1", + "flow_tracking_data": { + "ap_tracking": { + "group": 12, + "offset": 1 + }, + "reference_ids": { + "starkware.cairo.common.math_cmp.is_nn.a": 15 + } + } + } + ], + "199": [ + { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "code": "sum_low = ids.a.low + ids.b.low\nids.carry_low = 1 if sum_low >= ids.SHIFT else 0\nsum_high = ids.a.high + ids.b.high + ids.carry_low\nids.carry_high = 1 if sum_high >= ids.SHIFT else 0", + "flow_tracking_data": { + "ap_tracking": { + "group": 15, + "offset": 4 + }, + "reference_ids": { + "starkware.cairo.common.uint256.uint256_add.a": 16, + "starkware.cairo.common.uint256.uint256_add.b": 17, + "starkware.cairo.common.uint256.uint256_add.carry_high": 19, + "starkware.cairo.common.uint256.uint256_add.carry_low": 18 + } + } + } + ], + "1054": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.constructor" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 68, + "offset": 414 + }, + "reference_ids": {} + } + } + ], + "1069": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.name_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 70, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1099": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.symbol_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 73, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1129": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.totalSupply_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 76, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1160": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.decimals_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 79, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1191": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.balanceOf_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 82, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1227": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.allowance_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 85, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1265": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.transfer_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 89, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1304": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.transferFrom_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 94, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1343": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.approve_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 99, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1381": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.increaseAllowance_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 104, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1419": [ + { + "accessible_scopes": [ + "openzeppelin.token.erc20.presets.ERC20", + "openzeppelin.token.erc20.presets.ERC20", + "__wrappers__", + "__wrappers__.decreaseAllowance_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 109, + "offset": 0 + }, + "reference_ids": {} + } + } + ] + }, + "identifiers": { + "__main__.allowance": { + "destination": "openzeppelin.token.erc20.presets.ERC20.allowance", + "type": "alias" + }, + "__main__.approve": { + "destination": "openzeppelin.token.erc20.presets.ERC20.approve", + "type": "alias" + }, + "__main__.balanceOf": { + "destination": "openzeppelin.token.erc20.presets.ERC20.balanceOf", + "type": "alias" + }, + "__main__.constructor": { + "destination": "openzeppelin.token.erc20.presets.ERC20.constructor", + "type": "alias" + }, + "__main__.decimals": { + "destination": "openzeppelin.token.erc20.presets.ERC20.decimals", + "type": "alias" + }, + "__main__.decreaseAllowance": { + "destination": "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance", + "type": "alias" + }, + "__main__.increaseAllowance": { + "destination": "openzeppelin.token.erc20.presets.ERC20.increaseAllowance", + "type": "alias" + }, + "__main__.name": { + "destination": "openzeppelin.token.erc20.presets.ERC20.name", + "type": "alias" + }, + "__main__.symbol": { + "destination": "openzeppelin.token.erc20.presets.ERC20.symbol", + "type": "alias" + }, + "__main__.totalSupply": { + "destination": "openzeppelin.token.erc20.presets.ERC20.totalSupply", + "type": "alias" + }, + "__main__.transfer": { + "destination": "openzeppelin.token.erc20.presets.ERC20.transfer", + "type": "alias" + }, + "__main__.transferFrom": { + "destination": "openzeppelin.token.erc20.presets.ERC20.transferFrom", + "type": "alias" + }, + "__wrappers__.allowance": { + "decorators": ["view"], + "pc": 1237, + "type": "function" + }, + "__wrappers__.allowance.Args": { + "full_name": "__wrappers__.allowance.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.allowance.ImplicitArgs": { + "full_name": "__wrappers__.allowance.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.allowance.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.allowance.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.allowance", + "type": "alias" + }, + "__wrappers__.allowance_encode_return": { + "decorators": [], + "pc": 1227, + "type": "function" + }, + "__wrappers__.allowance_encode_return.Args": { + "full_name": "__wrappers__.allowance_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "ret_value": { + "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__wrappers__.allowance_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.allowance_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.allowance_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.allowance_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.allowance_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.approve": { + "decorators": ["external"], + "pc": 1352, + "type": "function" + }, + "__wrappers__.approve.Args": { + "full_name": "__wrappers__.approve.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.approve.ImplicitArgs": { + "full_name": "__wrappers__.approve.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.approve.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.approve.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.approve.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.approve", + "type": "alias" + }, + "__wrappers__.approve_encode_return": { + "decorators": [], + "pc": 1343, + "type": "function" + }, + "__wrappers__.approve_encode_return.Args": { + "full_name": "__wrappers__.approve_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.approve_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.approve_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.approve_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.approve_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.approve_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.balanceOf": { + "decorators": ["view"], + "pc": 1201, + "type": "function" + }, + "__wrappers__.balanceOf.Args": { + "full_name": "__wrappers__.balanceOf.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.balanceOf.ImplicitArgs": { + "full_name": "__wrappers__.balanceOf.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.balanceOf.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.balanceOf.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.balanceOf.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.balanceOf", + "type": "alias" + }, + "__wrappers__.balanceOf_encode_return": { + "decorators": [], + "pc": 1191, + "type": "function" + }, + "__wrappers__.balanceOf_encode_return.Args": { + "full_name": "__wrappers__.balanceOf_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "ret_value": { + "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__wrappers__.balanceOf_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.balanceOf_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.balanceOf_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.balanceOf_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.balanceOf_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.constructor": { + "decorators": ["constructor"], + "pc": 1040, + "type": "function" + }, + "__wrappers__.constructor.Args": { + "full_name": "__wrappers__.constructor.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.constructor.ImplicitArgs": { + "full_name": "__wrappers__.constructor.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.constructor.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.constructor.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.constructor.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.constructor", + "type": "alias" + }, + "__wrappers__.constructor_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.decimals": { + "decorators": ["view"], + "pc": 1169, + "type": "function" + }, + "__wrappers__.decimals.Args": { + "full_name": "__wrappers__.decimals.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decimals.ImplicitArgs": { + "full_name": "__wrappers__.decimals.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decimals.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.decimals.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.decimals.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.decimals", + "type": "alias" + }, + "__wrappers__.decimals_encode_return": { + "decorators": [], + "pc": 1160, + "type": "function" + }, + "__wrappers__.decimals_encode_return.Args": { + "full_name": "__wrappers__.decimals_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(decimals: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.decimals_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.decimals_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decimals_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.decimals_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.decimals_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.decreaseAllowance": { + "decorators": ["external"], + "pc": 1428, + "type": "function" + }, + "__wrappers__.decreaseAllowance.Args": { + "full_name": "__wrappers__.decreaseAllowance.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decreaseAllowance.ImplicitArgs": { + "full_name": "__wrappers__.decreaseAllowance.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decreaseAllowance.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.decreaseAllowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.decreaseAllowance.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance", + "type": "alias" + }, + "__wrappers__.decreaseAllowance_encode_return": { + "decorators": [], + "pc": 1419, + "type": "function" + }, + "__wrappers__.decreaseAllowance_encode_return.Args": { + "full_name": "__wrappers__.decreaseAllowance_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.decreaseAllowance_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.decreaseAllowance_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decreaseAllowance_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.decreaseAllowance_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.decreaseAllowance_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.increaseAllowance": { + "decorators": ["external"], + "pc": 1390, + "type": "function" + }, + "__wrappers__.increaseAllowance.Args": { + "full_name": "__wrappers__.increaseAllowance.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.increaseAllowance.ImplicitArgs": { + "full_name": "__wrappers__.increaseAllowance.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.increaseAllowance.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.increaseAllowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.increaseAllowance.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.increaseAllowance", + "type": "alias" + }, + "__wrappers__.increaseAllowance_encode_return": { + "decorators": [], + "pc": 1381, + "type": "function" + }, + "__wrappers__.increaseAllowance_encode_return.Args": { + "full_name": "__wrappers__.increaseAllowance_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.increaseAllowance_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.increaseAllowance_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.increaseAllowance_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.increaseAllowance_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.increaseAllowance_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.name": { + "decorators": ["view"], + "pc": 1078, + "type": "function" + }, + "__wrappers__.name.Args": { + "full_name": "__wrappers__.name.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.name.ImplicitArgs": { + "full_name": "__wrappers__.name.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.name.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.name.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.name.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.name", + "type": "alias" + }, + "__wrappers__.name_encode_return": { + "decorators": [], + "pc": 1069, + "type": "function" + }, + "__wrappers__.name_encode_return.Args": { + "full_name": "__wrappers__.name_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(name: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.name_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.name_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.name_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.name_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.name_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.symbol": { + "decorators": ["view"], + "pc": 1108, + "type": "function" + }, + "__wrappers__.symbol.Args": { + "full_name": "__wrappers__.symbol.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.symbol.ImplicitArgs": { + "full_name": "__wrappers__.symbol.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.symbol.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.symbol.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.symbol.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.symbol", + "type": "alias" + }, + "__wrappers__.symbol_encode_return": { + "decorators": [], + "pc": 1099, + "type": "function" + }, + "__wrappers__.symbol_encode_return.Args": { + "full_name": "__wrappers__.symbol_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(symbol: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.symbol_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.symbol_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.symbol_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.symbol_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.symbol_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.totalSupply": { + "decorators": ["view"], + "pc": 1139, + "type": "function" + }, + "__wrappers__.totalSupply.Args": { + "full_name": "__wrappers__.totalSupply.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.totalSupply.ImplicitArgs": { + "full_name": "__wrappers__.totalSupply.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.totalSupply.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.totalSupply.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.totalSupply.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.totalSupply", + "type": "alias" + }, + "__wrappers__.totalSupply_encode_return": { + "decorators": [], + "pc": 1129, + "type": "function" + }, + "__wrappers__.totalSupply_encode_return.Args": { + "full_name": "__wrappers__.totalSupply_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "ret_value": { + "cairo_type": "(totalSupply: starkware.cairo.common.uint256.Uint256)", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__wrappers__.totalSupply_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.totalSupply_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.totalSupply_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.totalSupply_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.totalSupply_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.transfer": { + "decorators": ["external"], + "pc": 1274, + "type": "function" + }, + "__wrappers__.transfer.Args": { + "full_name": "__wrappers__.transfer.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transfer.ImplicitArgs": { + "full_name": "__wrappers__.transfer.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transfer.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.transfer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.transfer.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.transfer", + "type": "alias" + }, + "__wrappers__.transferFrom": { + "decorators": ["external"], + "pc": 1313, + "type": "function" + }, + "__wrappers__.transferFrom.Args": { + "full_name": "__wrappers__.transferFrom.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transferFrom.ImplicitArgs": { + "full_name": "__wrappers__.transferFrom.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transferFrom.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.transferFrom.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.transferFrom.__wrapped_func": { + "destination": "openzeppelin.token.erc20.presets.ERC20.transferFrom", + "type": "alias" + }, + "__wrappers__.transferFrom_encode_return": { + "decorators": [], + "pc": 1304, + "type": "function" + }, + "__wrappers__.transferFrom_encode_return.Args": { + "full_name": "__wrappers__.transferFrom_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.transferFrom_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.transferFrom_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transferFrom_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.transferFrom_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.transferFrom_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.transfer_encode_return": { + "decorators": [], + "pc": 1265, + "type": "function" + }, + "__wrappers__.transfer_encode_return.Args": { + "full_name": "__wrappers__.transfer_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.transfer_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.transfer_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transfer_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.transfer_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.transfer_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "openzeppelin.security.safemath.library.FALSE": { + "destination": "starkware.cairo.common.bool.FALSE", + "type": "alias" + }, + "openzeppelin.security.safemath.library.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.security.safemath.library.SafeUint256": { + "type": "namespace" + }, + "openzeppelin.security.safemath.library.SafeUint256.Args": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.ImplicitArgs": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.security.safemath.library.SafeUint256.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.security.safemath.library.SafeUint256.add": { + "decorators": [], + "pc": 309, + "type": "function" + }, + "openzeppelin.security.safemath.library.SafeUint256.add.Args": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.add.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.add.ImplicitArgs": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.add.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.add.Return": { + "cairo_type": "(c: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.security.safemath.library.SafeUint256.add.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.security.safemath.library.SafeUint256.sub_le": { + "decorators": [], + "pc": 330, + "type": "function" + }, + "openzeppelin.security.safemath.library.SafeUint256.sub_le.Args": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.sub_le.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.sub_le.ImplicitArgs": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.sub_le.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.sub_le.Return": { + "cairo_type": "(c: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.security.safemath.library.SafeUint256.sub_le.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.security.safemath.library.TRUE": { + "destination": "starkware.cairo.common.bool.TRUE", + "type": "alias" + }, + "openzeppelin.security.safemath.library.Uint256": { + "destination": "starkware.cairo.common.uint256.Uint256", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_add": { + "destination": "starkware.cairo.common.uint256.uint256_add", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_check": { + "destination": "starkware.cairo.common.uint256.uint256_check", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_eq": { + "destination": "starkware.cairo.common.uint256.uint256_eq", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_le": { + "destination": "starkware.cairo.common.uint256.uint256_le", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_lt": { + "destination": "starkware.cairo.common.uint256.uint256_lt", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_mul": { + "destination": "starkware.cairo.common.uint256.uint256_mul", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_sub": { + "destination": "starkware.cairo.common.uint256.uint256_sub", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_unsigned_div_rem": { + "destination": "starkware.cairo.common.uint256.uint256_unsigned_div_rem", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Approval": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.Approval.Args": { + "full_name": "openzeppelin.token.erc20.library.Approval.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Approval.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.Approval.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Approval.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.Approval.SELECTOR": { + "type": "const", + "value": 544914742286571513055574265148471203182105283038408585630116262969508767999 + }, + "openzeppelin.token.erc20.library.Approval.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.Approval.alloc": { + "destination": "starkware.cairo.common.alloc.alloc", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Approval.emit": { + "decorators": [], + "pc": 384, + "type": "function" + }, + "openzeppelin.token.erc20.library.Approval.emit.Args": { + "full_name": "openzeppelin.token.erc20.library.Approval.emit.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + }, + "value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Approval.emit.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.Approval.emit.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Approval.emit.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.Approval.emit.SIZEOF_LOCALS": { + "type": "const", + "value": 2 + }, + "openzeppelin.token.erc20.library.Approval.emit_event": { + "destination": "starkware.starknet.common.syscalls.emit_event", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Approval.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20._approve": { + "decorators": [], + "pc": 939, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20._approve.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20._approve.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + }, + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._approve.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20._approve.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._approve.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20._approve.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20._mint": { + "decorators": [], + "pc": 831, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20._mint.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20._mint.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "recipient": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._mint.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20._mint.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._mint.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20._mint.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20._spend_allowance": { + "decorators": [], + "pc": 971, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20._spend_allowance.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20._spend_allowance.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + }, + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._spend_allowance.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20._spend_allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._spend_allowance.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20._spend_allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 4 + }, + "openzeppelin.token.erc20.library.ERC20._transfer": { + "decorators": [], + "pc": 883, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20._transfer.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20._transfer.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + }, + "recipient": { + "cairo_type": "felt", + "offset": 1 + }, + "sender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._transfer.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20._transfer.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._transfer.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20._transfer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.allowance": { + "decorators": [], + "pc": 703, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.allowance.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.allowance.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.allowance.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.allowance.Return": { + "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.approve": { + "decorators": [], + "pc": 747, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.approve.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.approve.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "spender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.approve.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.approve.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.approve.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.approve.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.balance_of": { + "decorators": [], + "pc": 696, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.balance_of.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.balance_of.Args", + "members": { + "account": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.balance_of.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.balance_of.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.balance_of.Return": { + "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.balance_of.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.decimals": { + "decorators": [], + "pc": 690, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.decimals.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.decimals.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.decimals.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.decimals.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.decimals.Return": { + "cairo_type": "(decimals: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.decimals.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.decrease_allowance": { + "decorators": [], + "pc": 798, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Args", + "members": { + "spender": { + "cairo_type": "felt", + "offset": 0 + }, + "subtracted_value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.decrease_allowance.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.decrease_allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.decrease_allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.increase_allowance": { + "decorators": [], + "pc": 767, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.increase_allowance.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.increase_allowance.Args", + "members": { + "added_value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "spender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.increase_allowance.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.increase_allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.increase_allowance.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.increase_allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.initializer": { + "decorators": [], + "pc": 651, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.initializer.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.initializer.Args", + "members": { + "decimals": { + "cairo_type": "felt", + "offset": 2 + }, + "name": { + "cairo_type": "felt", + "offset": 0 + }, + "symbol": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.initializer.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.initializer.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.initializer.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.initializer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.name": { + "decorators": [], + "pc": 672, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.name.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.name.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.name.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.name.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.name.Return": { + "cairo_type": "(name: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.name.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.symbol": { + "decorators": [], + "pc": 678, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.symbol.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.symbol.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.symbol.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.symbol.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.symbol.Return": { + "cairo_type": "(symbol: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.symbol.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.total_supply": { + "decorators": [], + "pc": 684, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.total_supply.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.total_supply.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.total_supply.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.total_supply.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.total_supply.Return": { + "cairo_type": "(total_supply: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.total_supply.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.transfer": { + "decorators": [], + "pc": 711, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.transfer.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.transfer.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "recipient": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.transfer.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.transfer.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.transfer.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.transfer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.transfer_from": { + "decorators": [], + "pc": 726, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.transfer_from.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.transfer_from.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + }, + "recipient": { + "cairo_type": "felt", + "offset": 1 + }, + "sender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.transfer_from.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.transfer_from.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.transfer_from.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.transfer_from.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_allowances": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_allowances.addr": { + "decorators": [], + "pc": 594, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.addr.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_allowances.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.read": { + "decorators": [], + "pc": 611, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.read.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.read.Return": { + "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_allowances.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.write": { + "decorators": [], + "pc": 632, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.write.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + }, + "value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_balances": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_balances.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_balances.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_balances.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_balances.addr": { + "decorators": [], + "pc": 542, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_balances.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.addr.Args", + "members": { + "account": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_balances.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_balances.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_balances.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_balances.read": { + "decorators": [], + "pc": 556, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_balances.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.read.Args", + "members": { + "account": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.read.Return": { + "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_balances.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_balances.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_balances.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_balances.write": { + "decorators": [], + "pc": 576, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_balances.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.write.Args", + "members": { + "account": { + "cairo_type": "felt", + "offset": 0 + }, + "value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_balances.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_decimals": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_decimals.addr": { + "decorators": [], + "pc": 471, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.addr.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_decimals.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.read": { + "decorators": [], + "pc": 476, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.read.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.read.Return": { + "cairo_type": "(decimals: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_decimals.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.write": { + "decorators": [], + "pc": 489, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.write.Args", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_name": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_name.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_name.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_name.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_name.addr": { + "decorators": [], + "pc": 411, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_name.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.addr.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_name.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_name.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_name.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_name.read": { + "decorators": [], + "pc": 416, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_name.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.read.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.read.Return": { + "cairo_type": "(name: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_name.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_name.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_name.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_name.write": { + "decorators": [], + "pc": 429, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_name.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.write.Args", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_name.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_symbol": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_symbol.addr": { + "decorators": [], + "pc": 441, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.addr.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_symbol.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.read": { + "decorators": [], + "pc": 446, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.read.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.read.Return": { + "cairo_type": "(symbol: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_symbol.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.write": { + "decorators": [], + "pc": 459, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.write.Args", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_total_supply": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.addr": { + "decorators": [], + "pc": 501, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.read": { + "decorators": [], + "pc": 506, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.read.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.read.Return": { + "cairo_type": "(total_supply: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.write": { + "decorators": [], + "pc": 525, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.write.Args", + "members": { + "value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.FALSE": { + "destination": "starkware.cairo.common.bool.FALSE", + "type": "alias" + }, + "openzeppelin.token.erc20.library.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.SafeUint256": { + "destination": "openzeppelin.security.safemath.library.SafeUint256", + "type": "alias" + }, + "openzeppelin.token.erc20.library.TRUE": { + "destination": "starkware.cairo.common.bool.TRUE", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Transfer": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.Transfer.Args": { + "full_name": "openzeppelin.token.erc20.library.Transfer.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Transfer.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.Transfer.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Transfer.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.Transfer.SELECTOR": { + "type": "const", + "value": 271746229759260285552388728919865295615886751538523744128730118297934206697 + }, + "openzeppelin.token.erc20.library.Transfer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.Transfer.alloc": { + "destination": "starkware.cairo.common.alloc.alloc", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Transfer.emit": { + "decorators": [], + "pc": 357, + "type": "function" + }, + "openzeppelin.token.erc20.library.Transfer.emit.Args": { + "full_name": "openzeppelin.token.erc20.library.Transfer.emit.Args", + "members": { + "from_": { + "cairo_type": "felt", + "offset": 0 + }, + "to": { + "cairo_type": "felt", + "offset": 1 + }, + "value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Transfer.emit.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.Transfer.emit.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Transfer.emit.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.Transfer.emit.SIZEOF_LOCALS": { + "type": "const", + "value": 2 + }, + "openzeppelin.token.erc20.library.Transfer.emit_event": { + "destination": "starkware.starknet.common.syscalls.emit_event", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Transfer.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "openzeppelin.token.erc20.library.UINT8_MAX": { + "destination": "openzeppelin.utils.constants.library.UINT8_MAX", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Uint256": { + "destination": "starkware.cairo.common.uint256.Uint256", + "type": "alias" + }, + "openzeppelin.token.erc20.library.assert_le": { + "destination": "starkware.cairo.common.math.assert_le", + "type": "alias" + }, + "openzeppelin.token.erc20.library.assert_not_zero": { + "destination": "starkware.cairo.common.math.assert_not_zero", + "type": "alias" + }, + "openzeppelin.token.erc20.library.get_caller_address": { + "destination": "starkware.starknet.common.syscalls.get_caller_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.uint256_check": { + "destination": "starkware.cairo.common.uint256.uint256_check", + "type": "alias" + }, + "openzeppelin.token.erc20.library.uint256_eq": { + "destination": "starkware.cairo.common.uint256.uint256_eq", + "type": "alias" + }, + "openzeppelin.token.erc20.library.uint256_not": { + "destination": "starkware.cairo.common.uint256.uint256_not", + "type": "alias" + }, + "openzeppelin.token.erc20.presets.ERC20.ERC20": { + "destination": "openzeppelin.token.erc20.library.ERC20", + "type": "alias" + }, + "openzeppelin.token.erc20.presets.ERC20.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.presets.ERC20.Uint256": { + "destination": "starkware.cairo.common.uint256.Uint256", + "type": "alias" + }, + "openzeppelin.token.erc20.presets.ERC20.allowance": { + "decorators": ["view"], + "pc": 1219, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.allowance.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.allowance.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.allowance.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.allowance.Return": { + "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.presets.ERC20.approve": { + "decorators": ["external"], + "pc": 1334, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.approve.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.approve.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "spender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.approve.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.approve.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.approve.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.approve.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.presets.ERC20.balanceOf": { + "decorators": ["view"], + "pc": 1184, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.balanceOf.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.balanceOf.Args", + "members": { + "account": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.balanceOf.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.balanceOf.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.balanceOf.Return": { + "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.balanceOf.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.presets.ERC20.constructor": { + "decorators": ["constructor"], + "pc": 1026, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.constructor.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.constructor.Args", + "members": { + "decimals": { + "cairo_type": "felt", + "offset": 2 + }, + "initial_supply": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 3 + }, + "name": { + "cairo_type": "felt", + "offset": 0 + }, + "recipient": { + "cairo_type": "felt", + "offset": 5 + }, + "symbol": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 6, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.constructor.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.constructor.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.constructor.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.constructor.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.presets.ERC20.decimals": { + "decorators": ["view"], + "pc": 1154, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.decimals.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.decimals.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.decimals.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.decimals.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.decimals.Return": { + "cairo_type": "(decimals: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.decimals.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance": { + "decorators": ["external"], + "pc": 1410, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.Args", + "members": { + "spender": { + "cairo_type": "felt", + "offset": 0 + }, + "subtracted_value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.presets.ERC20.increaseAllowance": { + "decorators": ["external"], + "pc": 1372, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.Args", + "members": { + "added_value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "spender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.presets.ERC20.name": { + "decorators": ["view"], + "pc": 1063, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.name.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.name.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.name.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.name.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.name.Return": { + "cairo_type": "(name: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.name.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.presets.ERC20.symbol": { + "decorators": ["view"], + "pc": 1093, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.symbol.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.symbol.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.symbol.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.symbol.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.symbol.Return": { + "cairo_type": "(symbol: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.symbol.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.presets.ERC20.totalSupply": { + "decorators": ["view"], + "pc": 1123, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.totalSupply.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.totalSupply.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.totalSupply.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.totalSupply.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.totalSupply.Return": { + "cairo_type": "(totalSupply: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.totalSupply.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.presets.ERC20.transfer": { + "decorators": ["external"], + "pc": 1256, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.transfer.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.transfer.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "recipient": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.transfer.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.transfer.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.transfer.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.transfer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.presets.ERC20.transferFrom": { + "decorators": ["external"], + "pc": 1294, + "type": "function" + }, + "openzeppelin.token.erc20.presets.ERC20.transferFrom.Args": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.transferFrom.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + }, + "recipient": { + "cairo_type": "felt", + "offset": 1 + }, + "sender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.transferFrom.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.presets.ERC20.transferFrom.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.presets.ERC20.transferFrom.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.presets.ERC20.transferFrom.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.utils.constants.library.DEFAULT_ADMIN_ROLE": { + "type": "const", + "value": 0 + }, + "openzeppelin.utils.constants.library.IACCESSCONTROL_ID": { + "type": "const", + "value": 2036718347 + }, + "openzeppelin.utils.constants.library.IACCOUNT_ID": { + "type": "const", + "value": 2792084853 + }, + "openzeppelin.utils.constants.library.IERC1155_ID": { + "type": "const", + "value": 3652614694 + }, + "openzeppelin.utils.constants.library.IERC1155_METADATA_ID": { + "type": "const", + "value": 243872796 + }, + "openzeppelin.utils.constants.library.IERC1155_RECEIVER_ID": { + "type": "const", + "value": 1310921440 + }, + "openzeppelin.utils.constants.library.IERC165_ID": { + "type": "const", + "value": 33540519 + }, + "openzeppelin.utils.constants.library.IERC721_ENUMERABLE_ID": { + "type": "const", + "value": 2014223715 + }, + "openzeppelin.utils.constants.library.IERC721_ID": { + "type": "const", + "value": 2158778573 + }, + "openzeppelin.utils.constants.library.IERC721_METADATA_ID": { + "type": "const", + "value": 1532892063 + }, + "openzeppelin.utils.constants.library.IERC721_RECEIVER_ID": { + "type": "const", + "value": 353073666 + }, + "openzeppelin.utils.constants.library.INVALID_ID": { + "type": "const", + "value": 4294967295 + }, + "openzeppelin.utils.constants.library.ON_ERC1155_BATCH_RECEIVED_SELECTOR": { + "type": "const", + "value": 3155786881 + }, + "openzeppelin.utils.constants.library.ON_ERC1155_RECEIVED_SELECTOR": { + "type": "const", + "value": 4063915617 + }, + "openzeppelin.utils.constants.library.TRANSACTION_VERSION": { + "type": "const", + "value": 1 + }, + "openzeppelin.utils.constants.library.UINT8_MAX": { + "type": "const", + "value": 255 + }, + "starkware.cairo.common.alloc.alloc": { + "decorators": [], + "pc": 0, + "type": "function" + }, + "starkware.cairo.common.alloc.alloc.Args": { + "full_name": "starkware.cairo.common.alloc.alloc.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "starkware.cairo.common.alloc.alloc.ImplicitArgs": { + "full_name": "starkware.cairo.common.alloc.alloc.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "starkware.cairo.common.alloc.alloc.Return": { + "cairo_type": "(ptr: felt*)", + "type": "type_definition" + }, + "starkware.cairo.common.alloc.alloc.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.bitwise.ALL_ONES": { + "type": "const", + "value": -106710729501573572985208420194530329073740042555888586719234 + }, + "starkware.cairo.common.bitwise.BitwiseBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", + "type": "alias" + }, + "starkware.cairo.common.bool.FALSE": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.bool.TRUE": { + "type": "const", + "value": 1 + }, + "starkware.cairo.common.cairo_builtins.BitwiseBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", + "members": { + "x": { + "cairo_type": "felt", + "offset": 0 + }, + "x_and_y": { + "cairo_type": "felt", + "offset": 2 + }, + "x_or_y": { + "cairo_type": "felt", + "offset": 4 + }, + "x_xor_y": { + "cairo_type": "felt", + "offset": 3 + }, + "y": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 5, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.EcOpBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.EcOpBuiltin", + "members": { + "m": { + "cairo_type": "felt", + "offset": 4 + }, + "p": { + "cairo_type": "starkware.cairo.common.ec_point.EcPoint", + "offset": 0 + }, + "q": { + "cairo_type": "starkware.cairo.common.ec_point.EcPoint", + "offset": 2 + }, + "r": { + "cairo_type": "starkware.cairo.common.ec_point.EcPoint", + "offset": 5 + } + }, + "size": 7, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.EcPoint": { + "destination": "starkware.cairo.common.ec_point.EcPoint", + "type": "alias" + }, + "starkware.cairo.common.cairo_builtins.HashBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "members": { + "result": { + "cairo_type": "felt", + "offset": 2 + }, + "x": { + "cairo_type": "felt", + "offset": 0 + }, + "y": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.KeccakBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.KeccakBuiltin", + "members": { + "input": { + "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", + "offset": 0 + }, + "output": { + "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", + "offset": 8 + } + }, + "size": 16, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.KeccakBuiltinState": { + "destination": "starkware.cairo.common.keccak_state.KeccakBuiltinState", + "type": "alias" + }, + "starkware.cairo.common.cairo_builtins.PoseidonBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.PoseidonBuiltin", + "members": { + "input": { + "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", + "offset": 0 + }, + "output": { + "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", + "offset": 3 + } + }, + "size": 6, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.PoseidonBuiltinState": { + "destination": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", + "type": "alias" + }, + "starkware.cairo.common.cairo_builtins.SignatureBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.SignatureBuiltin", + "members": { + "message": { + "cairo_type": "felt", + "offset": 1 + }, + "pub_key": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.dict_access.DictAccess": { + "full_name": "starkware.cairo.common.dict_access.DictAccess", + "members": { + "key": { + "cairo_type": "felt", + "offset": 0 + }, + "new_value": { + "cairo_type": "felt", + "offset": 2 + }, + "prev_value": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.cairo.common.ec_point.EcPoint": { + "full_name": "starkware.cairo.common.ec_point.EcPoint", + "members": { + "x": { + "cairo_type": "felt", + "offset": 0 + }, + "y": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.hash.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "starkware.cairo.common.hash.hash2": { + "decorators": [], + "pc": 3, + "type": "function" + }, + "starkware.cairo.common.hash.hash2.Args": { + "full_name": "starkware.cairo.common.hash.hash2.Args", + "members": { + "x": { + "cairo_type": "felt", + "offset": 0 + }, + "y": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.hash.hash2.ImplicitArgs": { + "full_name": "starkware.cairo.common.hash.hash2.ImplicitArgs", + "members": { + "hash_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.hash.hash2.Return": { + "cairo_type": "(result: felt)", + "type": "type_definition" + }, + "starkware.cairo.common.hash.hash2.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.keccak_state.KeccakBuiltinState": { + "full_name": "starkware.cairo.common.keccak_state.KeccakBuiltinState", + "members": { + "s0": { + "cairo_type": "felt", + "offset": 0 + }, + "s1": { + "cairo_type": "felt", + "offset": 1 + }, + "s2": { + "cairo_type": "felt", + "offset": 2 + }, + "s3": { + "cairo_type": "felt", + "offset": 3 + }, + "s4": { + "cairo_type": "felt", + "offset": 4 + }, + "s5": { + "cairo_type": "felt", + "offset": 5 + }, + "s6": { + "cairo_type": "felt", + "offset": 6 + }, + "s7": { + "cairo_type": "felt", + "offset": 7 + } + }, + "size": 8, + "type": "struct" + }, + "starkware.cairo.common.math.FALSE": { + "destination": "starkware.cairo.common.bool.FALSE", + "type": "alias" + }, + "starkware.cairo.common.math.TRUE": { + "destination": "starkware.cairo.common.bool.TRUE", + "type": "alias" + }, + "starkware.cairo.common.math.assert_250_bit": { + "decorators": ["known_ap_change"], + "pc": 56, + "type": "function" + }, + "starkware.cairo.common.math.assert_250_bit.Args": { + "full_name": "starkware.cairo.common.math.assert_250_bit.Args", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_250_bit.HIGH_BOUND": { + "type": "const", + "value": 5316911983139663491615228241121378304 + }, + "starkware.cairo.common.math.assert_250_bit.ImplicitArgs": { + "full_name": "starkware.cairo.common.math.assert_250_bit.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_250_bit.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.math.assert_250_bit.SHIFT": { + "type": "const", + "value": 340282366920938463463374607431768211456 + }, + "starkware.cairo.common.math.assert_250_bit.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math.assert_250_bit.UPPER_BOUND": { + "type": "const", + "value": 1809251394333065553493296640760748560207343510400633813116524750123642650624 + }, + "starkware.cairo.common.math.assert_250_bit.high": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_250_bit.high", + "references": [ + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast([fp + (-4)] + 1, felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_250_bit.low": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_250_bit.low", + "references": [ + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast([fp + (-4)], felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_250_bit.value": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_250_bit.value", + "references": [ + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_le": { + "decorators": [], + "pc": 51, + "type": "function" + }, + "starkware.cairo.common.math.assert_le.Args": { + "full_name": "starkware.cairo.common.math.assert_le.Args", + "members": { + "a": { + "cairo_type": "felt", + "offset": 0 + }, + "b": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.math.assert_le.ImplicitArgs": { + "full_name": "starkware.cairo.common.math.assert_le.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_le.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.math.assert_le.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math.assert_le_felt": { + "decorators": ["known_ap_change"], + "pc": 69, + "type": "function" + }, + "starkware.cairo.common.math.assert_le_felt.Args": { + "full_name": "starkware.cairo.common.math.assert_le_felt.Args", + "members": { + "a": { + "cairo_type": "felt", + "offset": 0 + }, + "b": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.math.assert_le_felt.ImplicitArgs": { + "full_name": "starkware.cairo.common.math.assert_le_felt.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_le_felt.PRIME_OVER_2_HIGH": { + "type": "const", + "value": 5316911983139663648412552867652567041 + }, + "starkware.cairo.common.math.assert_le_felt.PRIME_OVER_3_HIGH": { + "type": "const", + "value": 3544607988759775765608368578435044694 + }, + "starkware.cairo.common.math.assert_le_felt.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.math.assert_le_felt.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math.assert_le_felt.a": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_le_felt.a", + "references": [ + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-4), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_le_felt.b": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_le_felt.b", + "references": [ + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_le_felt.range_check_ptr": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_le_felt.range_check_ptr", + "references": [ + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-5), felt*)]" + }, + { + "ap_tracking_data": { + "group": 10, + "offset": 8 + }, + "pc": 79, + "value": "cast([fp + (-5)] + 4, felt)" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_le_felt.skip_exclude_a": { + "pc": 93, + "type": "label" + }, + "starkware.cairo.common.math.assert_le_felt.skip_exclude_b_minus_a": { + "pc": 105, + "type": "label" + }, + "starkware.cairo.common.math.assert_nn": { + "decorators": [], + "pc": 47, + "type": "function" + }, + "starkware.cairo.common.math.assert_nn.Args": { + "full_name": "starkware.cairo.common.math.assert_nn.Args", + "members": { + "a": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_nn.ImplicitArgs": { + "full_name": "starkware.cairo.common.math.assert_nn.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_nn.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.math.assert_nn.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math.assert_nn.a": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_nn.a", + "references": [ + { + "ap_tracking_data": { + "group": 7, + "offset": 0 + }, + "pc": 47, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_not_zero": { + "decorators": [], + "pc": 42, + "type": "function" + }, + "starkware.cairo.common.math.assert_not_zero.Args": { + "full_name": "starkware.cairo.common.math.assert_not_zero.Args", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_not_zero.ImplicitArgs": { + "full_name": "starkware.cairo.common.math.assert_not_zero.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "starkware.cairo.common.math.assert_not_zero.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.math.assert_not_zero.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math.assert_not_zero.value": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_not_zero.value", + "references": [ + { + "ap_tracking_data": { + "group": 6, + "offset": 0 + }, + "pc": 42, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math_cmp.RC_BOUND": { + "type": "const", + "value": 340282366920938463463374607431768211456 + }, + "starkware.cairo.common.math_cmp.assert_le_felt": { + "destination": "starkware.cairo.common.math.assert_le_felt", + "type": "alias" + }, + "starkware.cairo.common.math_cmp.assert_lt_felt": { + "destination": "starkware.cairo.common.math.assert_lt_felt", + "type": "alias" + }, + "starkware.cairo.common.math_cmp.is_le": { + "decorators": ["known_ap_change"], + "pc": 187, + "type": "function" + }, + "starkware.cairo.common.math_cmp.is_le.Args": { + "full_name": "starkware.cairo.common.math_cmp.is_le.Args", + "members": { + "a": { + "cairo_type": "felt", + "offset": 0 + }, + "b": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.math_cmp.is_le.ImplicitArgs": { + "full_name": "starkware.cairo.common.math_cmp.is_le.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math_cmp.is_le.Return": { + "cairo_type": "felt", + "type": "type_definition" + }, + "starkware.cairo.common.math_cmp.is_le.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math_cmp.is_nn": { + "decorators": ["known_ap_change"], + "pc": 154, + "type": "function" + }, + "starkware.cairo.common.math_cmp.is_nn.Args": { + "full_name": "starkware.cairo.common.math_cmp.is_nn.Args", + "members": { + "a": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math_cmp.is_nn.ImplicitArgs": { + "full_name": "starkware.cairo.common.math_cmp.is_nn.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math_cmp.is_nn.Return": { + "cairo_type": "felt", + "type": "type_definition" + }, + "starkware.cairo.common.math_cmp.is_nn.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math_cmp.is_nn.a": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math_cmp.is_nn.a", + "references": [ + { + "ap_tracking_data": { + "group": 12, + "offset": 0 + }, + "pc": 154, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math_cmp.is_nn.need_felt_comparison": { + "pc": 178, + "type": "label" + }, + "starkware.cairo.common.math_cmp.is_nn.out_of_range": { + "pc": 164, + "type": "label" + }, + "starkware.cairo.common.poseidon_state.PoseidonBuiltinState": { + "full_name": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", + "members": { + "s0": { + "cairo_type": "felt", + "offset": 0 + }, + "s1": { + "cairo_type": "felt", + "offset": 1 + }, + "s2": { + "cairo_type": "felt", + "offset": 2 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.cairo.common.pow.assert_le": { + "destination": "starkware.cairo.common.math.assert_le", + "type": "alias" + }, + "starkware.cairo.common.pow.get_ap": { + "destination": "starkware.cairo.common.registers.get_ap", + "type": "alias" + }, + "starkware.cairo.common.pow.get_fp_and_pc": { + "destination": "starkware.cairo.common.registers.get_fp_and_pc", + "type": "alias" + }, + "starkware.cairo.common.registers.get_ap": { + "destination": "starkware.cairo.lang.compiler.lib.registers.get_ap", + "type": "alias" + }, + "starkware.cairo.common.registers.get_fp_and_pc": { + "destination": "starkware.cairo.lang.compiler.lib.registers.get_fp_and_pc", + "type": "alias" + }, + "starkware.cairo.common.uint256.ALL_ONES": { + "type": "const", + "value": 340282366920938463463374607431768211455 + }, + "starkware.cairo.common.uint256.BitwiseBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", + "type": "alias" + }, + "starkware.cairo.common.uint256.HALF_SHIFT": { + "type": "const", + "value": 18446744073709551616 + }, + "starkware.cairo.common.uint256.SHIFT": { + "type": "const", + "value": 340282366920938463463374607431768211456 + }, + "starkware.cairo.common.uint256.Uint256": { + "full_name": "starkware.cairo.common.uint256.Uint256", + "members": { + "high": { + "cairo_type": "felt", + "offset": 1 + }, + "low": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.uint256.assert_in_range": { + "destination": "starkware.cairo.common.math.assert_in_range", + "type": "alias" + }, + "starkware.cairo.common.uint256.assert_le": { + "destination": "starkware.cairo.common.math.assert_le", + "type": "alias" + }, + "starkware.cairo.common.uint256.assert_nn_le": { + "destination": "starkware.cairo.common.math.assert_nn_le", + "type": "alias" + }, + "starkware.cairo.common.uint256.assert_not_zero": { + "destination": "starkware.cairo.common.math.assert_not_zero", + "type": "alias" + }, + "starkware.cairo.common.uint256.bitwise_and": { + "destination": "starkware.cairo.common.bitwise.bitwise_and", + "type": "alias" + }, + "starkware.cairo.common.uint256.bitwise_or": { + "destination": "starkware.cairo.common.bitwise.bitwise_or", + "type": "alias" + }, + "starkware.cairo.common.uint256.bitwise_xor": { + "destination": "starkware.cairo.common.bitwise.bitwise_xor", + "type": "alias" + }, + "starkware.cairo.common.uint256.get_ap": { + "destination": "starkware.cairo.common.registers.get_ap", + "type": "alias" + }, + "starkware.cairo.common.uint256.get_fp_and_pc": { + "destination": "starkware.cairo.common.registers.get_fp_and_pc", + "type": "alias" + }, + "starkware.cairo.common.uint256.is_le": { + "destination": "starkware.cairo.common.math_cmp.is_le", + "type": "alias" + }, + "starkware.cairo.common.uint256.pow": { + "destination": "starkware.cairo.common.pow.pow", + "type": "alias" + }, + "starkware.cairo.common.uint256.uint256_add": { + "decorators": [], + "pc": 197, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_add.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_add.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_add.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_add.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_add.Return": { + "cairo_type": "(res: starkware.cairo.common.uint256.Uint256, carry: felt)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_add.SIZEOF_LOCALS": { + "type": "const", + "value": 4 + }, + "starkware.cairo.common.uint256.uint256_add.a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "full_name": "starkware.cairo.common.uint256.uint256_add.a", + "references": [ + { + "ap_tracking_data": { + "group": 15, + "offset": 0 + }, + "pc": 197, + "value": "[cast(fp + (-6), starkware.cairo.common.uint256.Uint256*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.uint256.uint256_add.b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "full_name": "starkware.cairo.common.uint256.uint256_add.b", + "references": [ + { + "ap_tracking_data": { + "group": 15, + "offset": 0 + }, + "pc": 197, + "value": "[cast(fp + (-4), starkware.cairo.common.uint256.Uint256*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.uint256.uint256_add.carry_high": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.uint256.uint256_add.carry_high", + "references": [ + { + "ap_tracking_data": { + "group": 15, + "offset": 4 + }, + "pc": 199, + "value": "[cast(fp + 3, felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.uint256.uint256_add.carry_low": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.uint256.uint256_add.carry_low", + "references": [ + { + "ap_tracking_data": { + "group": 15, + "offset": 4 + }, + "pc": 199, + "value": "[cast(fp + 2, felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.uint256.uint256_check": { + "decorators": [], + "pc": 192, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_check.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_check.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_check.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_check.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_check.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_check.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_eq": { + "decorators": [], + "pc": 287, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_eq.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_eq.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_eq.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_eq.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_eq.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_eq.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_le": { + "decorators": [], + "pc": 236, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_le.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_le.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_le.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_le.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_le.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_le.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_lt": { + "decorators": [], + "pc": 219, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_lt.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_lt.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_lt.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_lt.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_lt.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_lt.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_neg": { + "decorators": [], + "pc": 256, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_neg.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_neg.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_neg.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_neg.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_neg.Return": { + "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_neg.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_not": { + "decorators": [], + "pc": 248, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_not.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_not.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_not.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_not.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_not.Return": { + "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_not.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_sub": { + "decorators": [], + "pc": 271, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_sub.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_sub.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_sub.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_sub.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_sub.Return": { + "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_sub.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.storage.ADDR_BOUND": { + "type": "const", + "value": -106710729501573572985208420194530329073740042555888586719489 + }, + "starkware.starknet.common.storage.MAX_STORAGE_ITEM_SIZE": { + "type": "const", + "value": 256 + }, + "starkware.starknet.common.storage.assert_250_bit": { + "destination": "starkware.cairo.common.math.assert_250_bit", + "type": "alias" + }, + "starkware.starknet.common.storage.normalize_address": { + "decorators": ["known_ap_change"], + "pc": 114, + "type": "function" + }, + "starkware.starknet.common.storage.normalize_address.Args": { + "full_name": "starkware.starknet.common.storage.normalize_address.Args", + "members": { + "addr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.storage.normalize_address.ImplicitArgs": { + "full_name": "starkware.starknet.common.storage.normalize_address.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.storage.normalize_address.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "starkware.starknet.common.storage.normalize_address.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.storage.normalize_address.addr": { + "cairo_type": "felt", + "full_name": "starkware.starknet.common.storage.normalize_address.addr", + "references": [ + { + "ap_tracking_data": { + "group": 11, + "offset": 0 + }, + "pc": 114, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.starknet.common.storage.normalize_address.is_250": { + "cairo_type": "felt", + "full_name": "starkware.starknet.common.storage.normalize_address.is_250", + "references": [ + { + "ap_tracking_data": { + "group": 11, + "offset": 2 + }, + "pc": 134, + "value": "[cast(ap + (-1), felt*)]" + } + ], + "type": "reference" + }, + "starkware.starknet.common.storage.normalize_address.is_small": { + "cairo_type": "felt", + "full_name": "starkware.starknet.common.storage.normalize_address.is_small", + "references": [ + { + "ap_tracking_data": { + "group": 11, + "offset": 1 + }, + "pc": 116, + "value": "[cast(ap + (-1), felt*)]" + } + ], + "type": "reference" + }, + "starkware.starknet.common.syscalls.CALL_CONTRACT_SELECTOR": { + "type": "const", + "value": 20853273475220472486191784820 + }, + "starkware.starknet.common.syscalls.CallContract": { + "full_name": "starkware.starknet.common.syscalls.CallContract", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.CallContractRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.CallContractResponse", + "offset": 5 + } + }, + "size": 7, + "type": "struct" + }, + "starkware.starknet.common.syscalls.CallContractRequest": { + "full_name": "starkware.starknet.common.syscalls.CallContractRequest", + "members": { + "calldata": { + "cairo_type": "felt*", + "offset": 4 + }, + "calldata_size": { + "cairo_type": "felt", + "offset": 3 + }, + "contract_address": { + "cairo_type": "felt", + "offset": 1 + }, + "function_selector": { + "cairo_type": "felt", + "offset": 2 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 5, + "type": "struct" + }, + "starkware.starknet.common.syscalls.CallContractResponse": { + "full_name": "starkware.starknet.common.syscalls.CallContractResponse", + "members": { + "retdata": { + "cairo_type": "felt*", + "offset": 1 + }, + "retdata_size": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.DELEGATE_CALL_SELECTOR": { + "type": "const", + "value": 21167594061783206823196716140 + }, + "starkware.starknet.common.syscalls.DELEGATE_L1_HANDLER_SELECTOR": { + "type": "const", + "value": 23274015802972845247556842986379118667122 + }, + "starkware.starknet.common.syscalls.DEPLOY_SELECTOR": { + "type": "const", + "value": 75202468540281 + }, + "starkware.starknet.common.syscalls.Deploy": { + "full_name": "starkware.starknet.common.syscalls.Deploy", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.DeployRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.DeployResponse", + "offset": 6 + } + }, + "size": 9, + "type": "struct" + }, + "starkware.starknet.common.syscalls.DeployRequest": { + "full_name": "starkware.starknet.common.syscalls.DeployRequest", + "members": { + "class_hash": { + "cairo_type": "felt", + "offset": 1 + }, + "constructor_calldata": { + "cairo_type": "felt*", + "offset": 4 + }, + "constructor_calldata_size": { + "cairo_type": "felt", + "offset": 3 + }, + "contract_address_salt": { + "cairo_type": "felt", + "offset": 2 + }, + "deploy_from_zero": { + "cairo_type": "felt", + "offset": 5 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 6, + "type": "struct" + }, + "starkware.starknet.common.syscalls.DeployResponse": { + "full_name": "starkware.starknet.common.syscalls.DeployResponse", + "members": { + "constructor_retdata": { + "cairo_type": "felt*", + "offset": 2 + }, + "constructor_retdata_size": { + "cairo_type": "felt", + "offset": 1 + }, + "contract_address": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.starknet.common.syscalls.DictAccess": { + "destination": "starkware.cairo.common.dict_access.DictAccess", + "type": "alias" + }, + "starkware.starknet.common.syscalls.EMIT_EVENT_SELECTOR": { + "type": "const", + "value": 1280709301550335749748 + }, + "starkware.starknet.common.syscalls.EmitEvent": { + "full_name": "starkware.starknet.common.syscalls.EmitEvent", + "members": { + "data": { + "cairo_type": "felt*", + "offset": 4 + }, + "data_len": { + "cairo_type": "felt", + "offset": 3 + }, + "keys": { + "cairo_type": "felt*", + "offset": 2 + }, + "keys_len": { + "cairo_type": "felt", + "offset": 1 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 5, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GET_BLOCK_NUMBER_SELECTOR": { + "type": "const", + "value": 1448089106835523001438702345020786 + }, + "starkware.starknet.common.syscalls.GET_BLOCK_TIMESTAMP_SELECTOR": { + "type": "const", + "value": 24294903732626645868215235778792757751152 + }, + "starkware.starknet.common.syscalls.GET_CALLER_ADDRESS_SELECTOR": { + "type": "const", + "value": 94901967781393078444254803017658102643 + }, + "starkware.starknet.common.syscalls.GET_CONTRACT_ADDRESS_SELECTOR": { + "type": "const", + "value": 6219495360805491471215297013070624192820083 + }, + "starkware.starknet.common.syscalls.GET_SEQUENCER_ADDRESS_SELECTOR": { + "type": "const", + "value": 1592190833581991703053805829594610833820054387 + }, + "starkware.starknet.common.syscalls.GET_TX_INFO_SELECTOR": { + "type": "const", + "value": 1317029390204112103023 + }, + "starkware.starknet.common.syscalls.GET_TX_SIGNATURE_SELECTOR": { + "type": "const", + "value": 1448089128652340074717162277007973 + }, + "starkware.starknet.common.syscalls.GetBlockNumber": { + "full_name": "starkware.starknet.common.syscalls.GetBlockNumber", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetBlockNumberRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetBlockNumberResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetBlockNumberRequest": { + "full_name": "starkware.starknet.common.syscalls.GetBlockNumberRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetBlockNumberResponse": { + "full_name": "starkware.starknet.common.syscalls.GetBlockNumberResponse", + "members": { + "block_number": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetBlockTimestamp": { + "full_name": "starkware.starknet.common.syscalls.GetBlockTimestamp", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetBlockTimestampRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetBlockTimestampResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetBlockTimestampRequest": { + "full_name": "starkware.starknet.common.syscalls.GetBlockTimestampRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetBlockTimestampResponse": { + "full_name": "starkware.starknet.common.syscalls.GetBlockTimestampResponse", + "members": { + "block_timestamp": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetCallerAddress": { + "full_name": "starkware.starknet.common.syscalls.GetCallerAddress", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetCallerAddressRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetCallerAddressResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetCallerAddressRequest": { + "full_name": "starkware.starknet.common.syscalls.GetCallerAddressRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetCallerAddressResponse": { + "full_name": "starkware.starknet.common.syscalls.GetCallerAddressResponse", + "members": { + "caller_address": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetContractAddress": { + "full_name": "starkware.starknet.common.syscalls.GetContractAddress", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetContractAddressRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetContractAddressResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetContractAddressRequest": { + "full_name": "starkware.starknet.common.syscalls.GetContractAddressRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetContractAddressResponse": { + "full_name": "starkware.starknet.common.syscalls.GetContractAddressResponse", + "members": { + "contract_address": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetSequencerAddress": { + "full_name": "starkware.starknet.common.syscalls.GetSequencerAddress", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetSequencerAddressRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetSequencerAddressResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetSequencerAddressRequest": { + "full_name": "starkware.starknet.common.syscalls.GetSequencerAddressRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetSequencerAddressResponse": { + "full_name": "starkware.starknet.common.syscalls.GetSequencerAddressResponse", + "members": { + "sequencer_address": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxInfo": { + "full_name": "starkware.starknet.common.syscalls.GetTxInfo", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetTxInfoRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetTxInfoResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxInfoRequest": { + "full_name": "starkware.starknet.common.syscalls.GetTxInfoRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxInfoResponse": { + "full_name": "starkware.starknet.common.syscalls.GetTxInfoResponse", + "members": { + "tx_info": { + "cairo_type": "starkware.starknet.common.syscalls.TxInfo*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxSignature": { + "full_name": "starkware.starknet.common.syscalls.GetTxSignature", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetTxSignatureRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetTxSignatureResponse", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxSignatureRequest": { + "full_name": "starkware.starknet.common.syscalls.GetTxSignatureRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxSignatureResponse": { + "full_name": "starkware.starknet.common.syscalls.GetTxSignatureResponse", + "members": { + "signature": { + "cairo_type": "felt*", + "offset": 1 + }, + "signature_len": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.LIBRARY_CALL_L1_HANDLER_SELECTOR": { + "type": "const", + "value": 436233452754198157705746250789557519228244616562 + }, + "starkware.starknet.common.syscalls.LIBRARY_CALL_SELECTOR": { + "type": "const", + "value": 92376026794327011772951660 + }, + "starkware.starknet.common.syscalls.LibraryCall": { + "full_name": "starkware.starknet.common.syscalls.LibraryCall", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.LibraryCallRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.CallContractResponse", + "offset": 5 + } + }, + "size": 7, + "type": "struct" + }, + "starkware.starknet.common.syscalls.LibraryCallRequest": { + "full_name": "starkware.starknet.common.syscalls.LibraryCallRequest", + "members": { + "calldata": { + "cairo_type": "felt*", + "offset": 4 + }, + "calldata_size": { + "cairo_type": "felt", + "offset": 3 + }, + "class_hash": { + "cairo_type": "felt", + "offset": 1 + }, + "function_selector": { + "cairo_type": "felt", + "offset": 2 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 5, + "type": "struct" + }, + "starkware.starknet.common.syscalls.REPLACE_CLASS_SELECTOR": { + "type": "const", + "value": 25500403217443378527601783667 + }, + "starkware.starknet.common.syscalls.ReplaceClass": { + "full_name": "starkware.starknet.common.syscalls.ReplaceClass", + "members": { + "class_hash": { + "cairo_type": "felt", + "offset": 1 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.SEND_MESSAGE_TO_L1_SELECTOR": { + "type": "const", + "value": 433017908768303439907196859243777073 + }, + "starkware.starknet.common.syscalls.STORAGE_READ_SELECTOR": { + "type": "const", + "value": 100890693370601760042082660 + }, + "starkware.starknet.common.syscalls.STORAGE_WRITE_SELECTOR": { + "type": "const", + "value": 25828017502874050592466629733 + }, + "starkware.starknet.common.syscalls.SendMessageToL1SysCall": { + "full_name": "starkware.starknet.common.syscalls.SendMessageToL1SysCall", + "members": { + "payload_ptr": { + "cairo_type": "felt*", + "offset": 3 + }, + "payload_size": { + "cairo_type": "felt", + "offset": 2 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + }, + "to_address": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.starknet.common.syscalls.StorageRead": { + "full_name": "starkware.starknet.common.syscalls.StorageRead", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.StorageReadRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.StorageReadResponse", + "offset": 2 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.starknet.common.syscalls.StorageReadRequest": { + "full_name": "starkware.starknet.common.syscalls.StorageReadRequest", + "members": { + "address": { + "cairo_type": "felt", + "offset": 1 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.StorageReadResponse": { + "full_name": "starkware.starknet.common.syscalls.StorageReadResponse", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.StorageWrite": { + "full_name": "starkware.starknet.common.syscalls.StorageWrite", + "members": { + "address": { + "cairo_type": "felt", + "offset": 1 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + }, + "value": { + "cairo_type": "felt", + "offset": 2 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.starknet.common.syscalls.TxInfo": { + "full_name": "starkware.starknet.common.syscalls.TxInfo", + "members": { + "account_contract_address": { + "cairo_type": "felt", + "offset": 1 + }, + "chain_id": { + "cairo_type": "felt", + "offset": 6 + }, + "max_fee": { + "cairo_type": "felt", + "offset": 2 + }, + "nonce": { + "cairo_type": "felt", + "offset": 7 + }, + "signature": { + "cairo_type": "felt*", + "offset": 4 + }, + "signature_len": { + "cairo_type": "felt", + "offset": 3 + }, + "transaction_hash": { + "cairo_type": "felt", + "offset": 5 + }, + "version": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 8, + "type": "struct" + }, + "starkware.starknet.common.syscalls.emit_event": { + "decorators": [], + "pc": 32, + "type": "function" + }, + "starkware.starknet.common.syscalls.emit_event.Args": { + "full_name": "starkware.starknet.common.syscalls.emit_event.Args", + "members": { + "data": { + "cairo_type": "felt*", + "offset": 3 + }, + "data_len": { + "cairo_type": "felt", + "offset": 2 + }, + "keys": { + "cairo_type": "felt*", + "offset": 1 + }, + "keys_len": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.starknet.common.syscalls.emit_event.ImplicitArgs": { + "full_name": "starkware.starknet.common.syscalls.emit_event.ImplicitArgs", + "members": { + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.emit_event.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.starknet.common.syscalls.emit_event.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.syscalls.emit_event.syscall_ptr": { + "cairo_type": "felt*", + "full_name": "starkware.starknet.common.syscalls.emit_event.syscall_ptr", + "references": [ + { + "ap_tracking_data": { + "group": 5, + "offset": 0 + }, + "pc": 32, + "value": "[cast(fp + (-7), felt**)]" + }, + { + "ap_tracking_data": { + "group": 5, + "offset": 1 + }, + "pc": 39, + "value": "cast([fp + (-7)] + 5, felt*)" + } + ], + "type": "reference" + }, + "starkware.starknet.common.syscalls.get_caller_address": { + "decorators": [], + "pc": 9, + "type": "function" + }, + "starkware.starknet.common.syscalls.get_caller_address.Args": { + "full_name": "starkware.starknet.common.syscalls.get_caller_address.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "starkware.starknet.common.syscalls.get_caller_address.ImplicitArgs": { + "full_name": "starkware.starknet.common.syscalls.get_caller_address.ImplicitArgs", + "members": { + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.get_caller_address.Return": { + "cairo_type": "(caller_address: felt)", + "type": "type_definition" + }, + "starkware.starknet.common.syscalls.get_caller_address.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr": { + "cairo_type": "felt*", + "full_name": "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr", + "references": [ + { + "ap_tracking_data": { + "group": 2, + "offset": 0 + }, + "pc": 9, + "value": "[cast(fp + (-3), felt**)]" + }, + { + "ap_tracking_data": { + "group": 2, + "offset": 1 + }, + "pc": 12, + "value": "cast([fp + (-3)] + 2, felt*)" + } + ], + "type": "reference" + }, + "starkware.starknet.common.syscalls.storage_read": { + "decorators": [], + "pc": 16, + "type": "function" + }, + "starkware.starknet.common.syscalls.storage_read.Args": { + "full_name": "starkware.starknet.common.syscalls.storage_read.Args", + "members": { + "address": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.storage_read.ImplicitArgs": { + "full_name": "starkware.starknet.common.syscalls.storage_read.ImplicitArgs", + "members": { + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.storage_read.Return": { + "cairo_type": "(value: felt)", + "type": "type_definition" + }, + "starkware.starknet.common.syscalls.storage_read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.syscalls.storage_read.syscall_ptr": { + "cairo_type": "felt*", + "full_name": "starkware.starknet.common.syscalls.storage_read.syscall_ptr", + "references": [ + { + "ap_tracking_data": { + "group": 3, + "offset": 0 + }, + "pc": 16, + "value": "[cast(fp + (-4), felt**)]" + }, + { + "ap_tracking_data": { + "group": 3, + "offset": 1 + }, + "pc": 20, + "value": "cast([fp + (-4)] + 3, felt*)" + } + ], + "type": "reference" + }, + "starkware.starknet.common.syscalls.storage_write": { + "decorators": [], + "pc": 24, + "type": "function" + }, + "starkware.starknet.common.syscalls.storage_write.Args": { + "full_name": "starkware.starknet.common.syscalls.storage_write.Args", + "members": { + "address": { + "cairo_type": "felt", + "offset": 0 + }, + "value": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.storage_write.ImplicitArgs": { + "full_name": "starkware.starknet.common.syscalls.storage_write.ImplicitArgs", + "members": { + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.storage_write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.starknet.common.syscalls.storage_write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.syscalls.storage_write.syscall_ptr": { + "cairo_type": "felt*", + "full_name": "starkware.starknet.common.syscalls.storage_write.syscall_ptr", + "references": [ + { + "ap_tracking_data": { + "group": 4, + "offset": 0 + }, + "pc": 24, + "value": "[cast(fp + (-5), felt**)]" + }, + { + "ap_tracking_data": { + "group": 4, + "offset": 1 + }, + "pc": 29, + "value": "cast([fp + (-5)] + 3, felt*)" + } + ], + "type": "reference" + } + }, + "main_scope": "__main__", + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "reference_manager": { + "references": [ + { + "ap_tracking_data": { + "group": 2, + "offset": 0 + }, + "pc": 9, + "value": "[cast(fp + (-3), felt**)]" + }, + { + "ap_tracking_data": { + "group": 3, + "offset": 0 + }, + "pc": 16, + "value": "[cast(fp + (-4), felt**)]" + }, + { + "ap_tracking_data": { + "group": 4, + "offset": 0 + }, + "pc": 24, + "value": "[cast(fp + (-5), felt**)]" + }, + { + "ap_tracking_data": { + "group": 5, + "offset": 0 + }, + "pc": 32, + "value": "[cast(fp + (-7), felt**)]" + }, + { + "ap_tracking_data": { + "group": 6, + "offset": 0 + }, + "pc": 42, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 7, + "offset": 0 + }, + "pc": 47, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast([fp + (-4)], felt*)]" + }, + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast([fp + (-4)] + 1, felt*)]" + }, + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-4), felt*)]" + }, + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-5), felt*)]" + }, + { + "ap_tracking_data": { + "group": 11, + "offset": 0 + }, + "pc": 114, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 11, + "offset": 1 + }, + "pc": 116, + "value": "[cast(ap + (-1), felt*)]" + }, + { + "ap_tracking_data": { + "group": 11, + "offset": 2 + }, + "pc": 134, + "value": "[cast(ap + (-1), felt*)]" + }, + { + "ap_tracking_data": { + "group": 12, + "offset": 0 + }, + "pc": 154, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 15, + "offset": 0 + }, + "pc": 197, + "value": "[cast(fp + (-6), starkware.cairo.common.uint256.Uint256*)]" + }, + { + "ap_tracking_data": { + "group": 15, + "offset": 0 + }, + "pc": 197, + "value": "[cast(fp + (-4), starkware.cairo.common.uint256.Uint256*)]" + }, + { + "ap_tracking_data": { + "group": 15, + "offset": 4 + }, + "pc": 199, + "value": "[cast(fp + 2, felt*)]" + }, + { + "ap_tracking_data": { + "group": 15, + "offset": 4 + }, + "pc": 199, + "value": "[cast(fp + 3, felt*)]" + } + ] + } + } +} diff --git a/da-test/contracts/generate_declare_contracts.sh b/da-test/contracts/generate_declare_contracts.sh new file mode 100755 index 0000000000..93e4ef9b05 --- /dev/null +++ b/da-test/contracts/generate_declare_contracts.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# exit on first error +set -e + +# First argument is the number of contracts you need to generate + +END=$1 + +SCARB_STARKNET_DEPENDENCY="starknet = \"2.1.0\"\n[[target.starknet-contract]]\ncasm=true" + +for i in $(seq 0 $END); +do + dirname="Counter${i}" + filepath="${dirname}/src/lib.cairo" + mkdir -p ${dirname} + cd ${dirname} + filepath="src/lib.cairo" + scarb init + rm src/lib.cairo + cp ../Counter.cairo ${filepath} + sed -i '' -e "s/Counter/Counter${i}/g" ${filepath} + sed -i '' -e "s/balance/balance_${i}/g" ${filepath} + sed -i '' -e "s/+ amount/+ amount + ${i} + 1/g" ${filepath} + echo -e ${SCARB_STARKNET_DEPENDENCY} >> "Scarb.toml" + scarb build + mv target/dev/Counter${i}_Counter${i}.casm.json ./Counter${i}.casm.json + mv target/dev/Counter${i}_Counter${i}.sierra.json ./Counter${i}.sierra.json + mv src/lib.cairo ./Counter${i}.cairo + rm -rf src/ target/ .gitignore Scarb.toml .git + cd .. +done \ No newline at end of file diff --git a/da-test/src/constants.rs b/da-test/src/constants.rs new file mode 100644 index 0000000000..16157197a9 --- /dev/null +++ b/da-test/src/constants.rs @@ -0,0 +1,36 @@ +use starknet_ff::FieldElement; + +pub const TEST_CONTRACT_ADDRESS: &str = "0x0000000000000000000000000000000000000000000000000000000000001111"; +pub const ACCOUNT_CONTRACT: &str = "0x0000000000000000000000000000000000000000000000000000000000000001"; +pub const CAIRO_1_ACCOUNT_CONTRACT: &str = "0x0000000000000000000000000000000000000000000000000000000000000004"; +pub const CAIRO_1_ACCOUNT_CONTRACT_CLASS_HASH: &str = + "0x35ccefcf9d5656da623468e27e682271cd327af196785df99e7fee1436b6276"; +pub const ERC20_CAIRO_0_CONTRACT: &str = "0x040e59c2c182a58fb0a74349bfa4769cbbcba32547591dd3fb1def8623997d00"; +pub const SEQUENCER_ADDRESS: &str = "0xdead"; + +// https://github.com/keep-starknet-strange/madara/blob/main/crates/node/src/chain_spec.rs#L185-L186 +pub const ACCOUNT_CONTRACT_CLASS_HASH: &str = "0x0279d77db761fba82e0054125a6fdb5f6baa6286fa3fb73450cc44d193c2d37f"; +pub const ARGENT_PROXY_CLASS_HASH: &str = "0x0424b7f61e3c5dfd74400d96fdea7e1f0bf2757f31df04387eaa957f095dd7b9"; +pub const SIGNER_PUBLIC: &str = "0x03603a2692a2ae60abb343e832ee53b55d6b25f02a3ef1565ec691edc7a209b2"; +pub const SIGNER_PRIVATE: &str = "0x00c1cf1490de1352865301bb8705143f3ef938f97fdf892f1090dcb5ac7bcd1d"; +pub const SALT: &str = "0x0000000000000000000000000000000000000000000000000000000000001111"; + +// https://github.com/keep-starknet-strange/madara/blob/main/crates/node/src/chain_spec.rs#L191-L192 +pub const TEST_CONTRACT_CLASS_HASH: &str = "0x05a2b92d9a36509a3d651e7df99144a4ad8301e2caf42465ee6ab0451ae91882"; +pub const MINT_AMOUNT: &str = "0x0000000000000000000000000000000000000000000000000000000000000001"; +pub const DEPLOY_ACCOUNT_COST: &str = "0x00000000000000000000000000000000000000000000000000000000ffffffff"; +pub const CONTRACT_ADDRESS: &str = "0x0000000000000000000000000000000000000000000000000000000000000001"; +pub const FEE_TOKEN_ADDRESS: &str = "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"; +pub const TOKEN_CLASS_HASH: &str = "0x0000000000000000000000000000000000000000000000000000000000010000"; +pub const ARGENT_CONTRACT_ADDRESS: &str = "0x0000000000000000000000000000000000000000000000000000000000000002"; +pub const OZ_CONTRACT_ADDRESS: &str = "0x0000000000000000000000000000000000000000000000000000000000000003"; + +pub const MAX_U256: &str = "0xffffffffffffffffffffffffffffffff"; +pub const MAX_FEE_OVERRIDE: &str = "0x100000"; + +// Need to use `from_mont` because this needs to be a constant function call +/// ChainId for Starknet Goerli testnet +pub const SN_GOERLI_CHAIN_ID: FieldElement = + FieldElement::from_mont([3753493103916128178, 18446744073709548950, 18446744073709551615, 398700013197595345]); + +pub const SPEC_VERSION: &str = "0.4.0"; diff --git a/da-test/src/fixtures.rs b/da-test/src/fixtures.rs new file mode 100644 index 0000000000..6feec8bd2f --- /dev/null +++ b/da-test/src/fixtures.rs @@ -0,0 +1,25 @@ +use async_lock::RwLock; +use rstest::fixture; +use starknet_providers::jsonrpc::HttpTransport; +use starknet_providers::JsonRpcClient; + +use crate::MadaraClient; + +pub struct ThreadSafeMadaraClient(RwLock); + +#[fixture] +#[once] +pub fn madara() -> ThreadSafeMadaraClient { + ThreadSafeMadaraClient(RwLock::new(MadaraClient::new())) +} + +impl ThreadSafeMadaraClient { + pub async fn get_starknet_client(&self) -> JsonRpcClient { + let inner = self.0.read(); + inner.await.get_starknet_client() + } + + pub async fn write(&self) -> async_lock::RwLockWriteGuard<'_, MadaraClient> { + self.0.write().await + } +} diff --git a/da-test/src/lib.rs b/da-test/src/lib.rs new file mode 100644 index 0000000000..6dbe2766d2 --- /dev/null +++ b/da-test/src/lib.rs @@ -0,0 +1,201 @@ +#![feature(assert_matches)] + +use std::cell::Cell; +use std::fmt::Debug; + +use anyhow::anyhow; +use reqwest::header::CONTENT_TYPE; +use reqwest::{Client, Response}; +use serde_json::json; +use starknet_accounts::{ + Account, AccountDeployment, AccountError, AccountFactoryError, Declaration, Execution, LegacyDeclaration, + OpenZeppelinAccountFactory, SingleOwnerAccount, +}; +use starknet_core::types::{DeclareTransactionResult, DeployAccountTransactionResult, InvokeTransactionResult}; +use starknet_providers::jsonrpc::{HttpTransport, JsonRpcClient}; +use starknet_providers::Provider; +use starknet_signers::local_wallet::SignError; +use starknet_signers::LocalWallet; +use url::Url; + +/// Constants (addresses, contracts...) +pub mod constants; +/// Starknet related utilities +pub mod utils; + +pub mod fixtures; + +const NODE_RPC_URL: &str = "http://localhost:9944"; + +type RpcAccount<'a> = SingleOwnerAccount<&'a JsonRpcClient, LocalWallet>; +pub type RpcOzAccountFactory<'a> = OpenZeppelinAccountFactory>; +type TransactionExecution<'a> = Execution<'a, RpcAccount<'a>>; +type TransactionDeclaration<'a> = Declaration<'a, RpcAccount<'a>>; +type TransactionLegacyDeclaration<'a> = LegacyDeclaration<'a, RpcAccount<'a>>; +type TransactionAccountDeployment<'a> = AccountDeployment<'a, RpcOzAccountFactory<'a>>; +type StarknetAccountError = + AccountError<, LocalWallet> as Account>::SignError>; + +pub enum Transaction<'a> { + Execution(TransactionExecution<'a>), + Declaration(TransactionDeclaration<'a>), + LegacyDeclaration(TransactionLegacyDeclaration<'a>), + AccountDeployment(TransactionAccountDeployment<'a>), +} + +#[derive(Debug)] +pub enum TransactionResult { + Execution(InvokeTransactionResult), + Declaration(DeclareTransactionResult), + AccountDeployment(DeployAccountTransactionResult), +} + +#[derive(thiserror::Error, Debug)] +pub enum SendTransactionError { + #[error(transparent)] + AccountError(StarknetAccountError), + #[error(transparent)] + AccountFactoryError(AccountFactoryError), +} + +impl Transaction<'_> { + pub async fn send(&self) -> Result { + match self { + Transaction::Execution(execution) => { + execution.send().await.map(TransactionResult::Execution).map_err(SendTransactionError::AccountError) + } + Transaction::Declaration(declaration) => { + declaration.send().await.map(TransactionResult::Declaration).map_err(SendTransactionError::AccountError) + } + Transaction::LegacyDeclaration(declaration) => { + declaration.send().await.map(TransactionResult::Declaration).map_err(SendTransactionError::AccountError) + } + Transaction::AccountDeployment(deployment) => deployment + .send() + .await + .map(TransactionResult::AccountDeployment) + .map_err(SendTransactionError::AccountFactoryError), + } + } +} + +#[derive(Debug)] +/// A wrapper over the Madara process handle, reqwest client and request counter +pub struct MadaraClient { + rpc_request_count: Cell, + url: Url, +} + +impl Default for MadaraClient { + fn default() -> Self { + let url = Url::parse(NODE_RPC_URL).expect("Invalid JSONRPC Url"); + MadaraClient { url, rpc_request_count: Default::default() } + } +} + +impl MadaraClient { + pub fn new() -> Self { + Default::default() + } + + pub async fn run_to_block(&mut self, target_block: u64) -> anyhow::Result<()> { + let mut current_block = self.get_starknet_client().block_number().await?; + + if current_block >= target_block { + return Err(anyhow!("target_block must be in the future")); + } + + while current_block < target_block { + self.create_empty_block().await?; + current_block += 1; + } + + Ok(()) + } + + pub async fn create_n_blocks(&mut self, mut n: u64) -> anyhow::Result<()> { + while n > 0 { + self.create_empty_block().await?; + n -= 1; + } + + Ok(()) + } + + async fn call_rpc(&self, mut body: serde_json::Value) -> reqwest::Result { + let body = body.as_object_mut().expect("the body should be an object"); + body.insert("id".to_string(), self.rpc_request_count.get().into()); + body.insert("jsonrpc".to_string(), "2.0".into()); + + let body = serde_json::to_string(&body).expect("the json body must be serializable"); + + let response = Client::new() + .post("http://localhost:9944") + .header(CONTENT_TYPE, "application/json; charset=utf-8") + .body(body) + .send() + .await?; + + // Increment rpc_request_count + let previous = self.rpc_request_count.get(); + self.rpc_request_count.set(previous + 1); + + Ok(response) + } + + pub fn get_starknet_client(&self) -> JsonRpcClient { + JsonRpcClient::new(HttpTransport::new(self.url.clone())) + } + + pub async fn create_empty_block(&mut self) -> anyhow::Result<()> { + let body = json!({ + "method": "engine_createBlock", + "params": [true, true], + }); + + let response = self.call_rpc(body).await?; + // TODO: read actual error from response + response.status().is_success().then_some(()).ok_or(anyhow!("failed to create a new block")) + } + + pub async fn create_block_with_txs( + &mut self, + transactions: Vec>, + ) -> anyhow::Result>> { + let body = json!({ + "method": "engine_createBlock", + "params": [false, true], + }); + + let mut results = Vec::new(); + for tx in transactions { + let result = tx.send().await; + results.push(result); + } + + let response = self.call_rpc(body).await?; + // TODO: read actual error from response + response.status().is_success().then_some(results).ok_or(anyhow!("failed to create a new block")) + } + + pub async fn create_block_with_parent(&mut self, parent_hash: &str) -> anyhow::Result<()> { + let body = json!({ + "method": "engine_createBlock", + "params": [json!(true), json!(true), json!(parent_hash)], + }); + + let response = self.call_rpc(body).await?; + // TODO: read actual error from response + response.status().is_success().then_some(()).ok_or(anyhow!("failed to create a new block")) + } + + pub async fn health(&self) -> anyhow::Result { + let body = json!({ + "method": "system_health" + }); + + let response = self.call_rpc(body).await?; + + Ok(response.status().is_success()) + } +} diff --git a/da-test/src/utils.rs b/da-test/src/utils.rs new file mode 100644 index 0000000000..c7348971da --- /dev/null +++ b/da-test/src/utils.rs @@ -0,0 +1,193 @@ +use std::future::Future; +use std::sync::Arc; + +use starknet_accounts::{Account, AccountFactory, Call, OpenZeppelinAccountFactory, SingleOwnerAccount}; +use starknet_core::chain_id; +use starknet_core::types::contract::legacy::LegacyContractClass; +use starknet_core::types::contract::{CompiledClass, SierraClass}; +use starknet_core::types::{BlockId, BlockTag, FieldElement, FunctionCall, MsgToL1}; +use starknet_core::utils::get_selector_from_name; +use starknet_providers::jsonrpc::{HttpTransport, JsonRpcClient}; +use starknet_providers::Provider; +use starknet_signers::{LocalWallet, SigningKey}; + +use crate::constants::{FEE_TOKEN_ADDRESS, MAX_FEE_OVERRIDE}; +use crate::{ + RpcAccount, RpcOzAccountFactory, TransactionAccountDeployment, TransactionDeclaration, TransactionExecution, + TransactionLegacyDeclaration, +}; + +pub struct U256 { + pub high: FieldElement, + pub low: FieldElement, +} + +pub fn build_single_owner_account<'a>( + rpc: &'a JsonRpcClient, + private_key: &str, + account_address: &str, + is_legacy: bool, +) -> RpcAccount<'a> { + let signer = LocalWallet::from(SigningKey::from_secret_scalar(FieldElement::from_hex_be(private_key).unwrap())); + let account_address = FieldElement::from_hex_be(account_address).expect("Invalid Contract Address"); + let execution_encoding = if is_legacy { + starknet_accounts::ExecutionEncoding::Legacy + } else { + starknet_accounts::ExecutionEncoding::New + }; + SingleOwnerAccount::new(rpc, signer, account_address, chain_id::TESTNET, execution_encoding) +} + +pub async fn read_erc20_balance( + rpc: &JsonRpcClient, + contract_address: FieldElement, + account_address: FieldElement, +) -> Vec { + rpc.call( + FunctionCall { + contract_address, + entry_point_selector: get_selector_from_name("balanceOf").unwrap(), + calldata: vec![account_address], + }, + BlockId::Tag(BlockTag::Latest), + ) + .await + .unwrap() +} + +pub async fn build_oz_account_factory<'a>( + rpc: &'a JsonRpcClient, + private_key: &str, + class_hash: FieldElement, +) -> RpcOzAccountFactory<'a> { + let signer = LocalWallet::from(SigningKey::from_secret_scalar(FieldElement::from_hex_be(private_key).unwrap())); + OpenZeppelinAccountFactory::new(class_hash, chain_id::TESTNET, signer, rpc).await.unwrap() +} + +pub fn build_deploy_account_tx<'a>( + oz_factory: &'a RpcOzAccountFactory, + contract_address_salt: FieldElement, +) -> TransactionAccountDeployment<'a> { + let max_fee = FieldElement::from_hex_be(MAX_FEE_OVERRIDE).unwrap(); + oz_factory.deploy(contract_address_salt).max_fee(max_fee) +} + +pub trait AccountActions { + fn transfer_tokens_u256( + &self, + recipient: FieldElement, + transfer_amount: U256, + nonce: Option, + ) -> TransactionExecution; + + fn transfer_tokens( + &self, + recipient: FieldElement, + transfer_amount: FieldElement, + nonce: Option, + ) -> TransactionExecution; + + fn declare_contract( + &self, + path_to_sierra: &str, + path_to_casm: &str, + ) -> (TransactionDeclaration, FieldElement, FieldElement); + + fn declare_legacy_contract(&self, path_to_compiled_contract: &str) -> (TransactionLegacyDeclaration, FieldElement); +} + +impl AccountActions for SingleOwnerAccount<&JsonRpcClient, LocalWallet> { + fn transfer_tokens_u256( + &self, + recipient: FieldElement, + transfer_amount: U256, + nonce: Option, + ) -> TransactionExecution { + let fee_token_address = FieldElement::from_hex_be(FEE_TOKEN_ADDRESS).unwrap(); + + let calls = vec![Call { + to: fee_token_address, + selector: get_selector_from_name("transfer").unwrap(), + calldata: vec![recipient, transfer_amount.low, transfer_amount.high], + }]; + + // starknet-rs calls estimateFee with incorrect version which throws an error + let max_fee = FieldElement::from_hex_be(MAX_FEE_OVERRIDE).unwrap(); + + // TODO: add support for nonce with raw execution e.g https://github.com/0xSpaceShard/starknet-devnet-rs/blob/main/crates/starknet/src/starknet/add_invoke_transaction.rs#L10 + match nonce { + Some(nonce) => self.execute(calls).max_fee(max_fee).nonce(nonce.into()), + None => self.execute(calls).max_fee(max_fee), + } + } + + fn transfer_tokens( + &self, + recipient: FieldElement, + transfer_amount: FieldElement, + nonce: Option, + ) -> TransactionExecution { + self.transfer_tokens_u256(recipient, U256 { high: FieldElement::ZERO, low: transfer_amount }, nonce) + } + + fn declare_contract( + &self, + path_to_sierra: &str, + path_to_casm: &str, + ) -> (TransactionDeclaration, FieldElement, FieldElement) { + let sierra: SierraClass = serde_json::from_reader( + std::fs::File::open(env!("CARGO_MANIFEST_DIR").to_owned() + "/" + path_to_sierra).unwrap(), + ) + .unwrap(); + let casm: CompiledClass = serde_json::from_reader( + std::fs::File::open(env!("CARGO_MANIFEST_DIR").to_owned() + "/" + path_to_casm).unwrap(), + ) + .unwrap(); + let compiled_class_hash = casm.class_hash().unwrap(); + ( + self.declare(sierra.clone().flatten().unwrap().into(), compiled_class_hash) + // starknet-rs calls estimateFee with incorrect version which throws an error + .max_fee(FieldElement::from_hex_be(MAX_FEE_OVERRIDE).unwrap()), + sierra.class_hash().unwrap(), + compiled_class_hash, + ) + } + + fn declare_legacy_contract(&self, path_to_compiled_contract: &str) -> (TransactionLegacyDeclaration, FieldElement) { + let contract_artifact: LegacyContractClass = serde_json::from_reader( + std::fs::File::open(env!("CARGO_MANIFEST_DIR").to_owned() + "/" + path_to_compiled_contract).unwrap(), + ) + .unwrap(); + ( + self.declare_legacy(Arc::new(contract_artifact.clone())) + // starknet-rs calls estimateFee with incorrect version which throws an error + .max_fee(FieldElement::from_hex_be(MAX_FEE_OVERRIDE).unwrap()), + contract_artifact.class_hash().unwrap(), + ) + } +} + +pub fn assert_eq_msg_to_l1(l1: Vec, l2: Vec) { + assert_eq!(l1.len(), l2.len()); + for (m1, m2) in l1.iter().zip(l2.iter()) { + assert_eq!(m1.from_address, m2.from_address); + assert_eq!(m1.payload, m2.payload); + assert_eq!(m1.to_address, m2.to_address); + } +} + +pub async fn assert_poll(f: F, polling_time_ms: u64, max_poll_count: u32) +where + F: Fn() -> Fut, + Fut: Future, +{ + for _poll_count in 0..max_poll_count { + if f().await { + return; // The provided function returned true, exit safely. + } + + tokio::time::sleep(tokio::time::Duration::from_millis(polling_time_ms)).await; + } + + panic!("Max poll count exceeded."); +} diff --git a/da-test/state_diffs.rs b/da-test/state_diffs.rs new file mode 100644 index 0000000000..82c3fa6344 --- /dev/null +++ b/da-test/state_diffs.rs @@ -0,0 +1,42 @@ +extern crate starknet_rpc_test; + +use std::vec; + +use assert_matches::assert_matches; +use rstest::rstest; +use starknet_accounts::Account; +use starknet_core::types::{BlockId, StarknetError}; +use starknet_ff::FieldElement; +use starknet_providers::{MaybeUnknownErrorCode, Provider, ProviderError, StarknetErrorWithMessage}; +use starknet_rpc_test::constants::{ARGENT_CONTRACT_ADDRESS, FEE_TOKEN_ADDRESS, SIGNER_PRIVATE}; +use starknet_rpc_test::fixtures::{madara, ThreadSafeMadaraClient}; +use starknet_rpc_test::utils::{build_single_owner_account, read_erc20_balance, AccountActions, U256}; +use starknet_rpc_test::{SendTransactionError, Transaction}; + +#[rstest] +#[tokio::test] +async fn publishes_to_da_layer(madara: &ThreadSafeMadaraClient) -> Result<(), anyhow::Error> { + let rpc = madara.get_starknet_client().await; + + let txs = { + let mut madara_write_lock = madara.write().await; + // using incorrect private key to generate the wrong signature + let account = build_single_owner_account(&rpc, "0x1234", ARGENT_CONTRACT_ADDRESS, true); + + madara_write_lock + .create_block_with_txs(vec![Transaction::Execution(account.transfer_tokens( + FieldElement::from_hex_be("0x123").unwrap(), + FieldElement::ONE, + None, + ))]) + .await? + }; + + assert_eq!(txs.len(), 1); + + let tx = &txs[0]; + + // Check the state diff that has been published to the DA layer + + Ok(()) +} From 45c96975c79e51f0e02c8d9d0a99533ca5db2ff9 Mon Sep 17 00:00:00 2001 From: Evolve Date: Thu, 7 Dec 2023 22:10:31 +0100 Subject: [PATCH 15/30] fix: ethereum conf --- crates/examples/da-confs/ethereum.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/examples/da-confs/ethereum.json b/crates/examples/da-confs/ethereum.json index e4c309ed43..589066c42f 100644 --- a/crates/examples/da-confs/ethereum.json +++ b/crates/examples/da-confs/ethereum.json @@ -1,6 +1,6 @@ { "http_provider": "http://127.0.0.1:8545", - "core_contracts": "0x5FbDB2315678afecb367f032d93F642f64180aa3", + "core_contracts": "0xde29d060D45901Fb19ED6C6e959EB22d8626708e", "sequencer_key": "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", "chain_id": 31337 } From fcb02c704ecbfca2f210a87c0c568d567cafcd2e Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Fri, 8 Dec 2023 15:06:01 +0100 Subject: [PATCH 16/30] feat: zaun submodule --- .gitmodules | 3 +++ crates/examples/da-scripts/run_node.sh | 3 --- {crates/examples => examples}/da-confs/avail.json | 0 {crates/examples => examples}/da-confs/celestia.json | 0 {crates/examples => examples}/da-confs/ethereum.json | 4 ++-- madara-docs | 2 +- madara-tsukuyomi | 2 +- scripts/da_devnet.sh | 11 ++--------- zaun | 1 + 9 files changed, 10 insertions(+), 16 deletions(-) delete mode 100644 crates/examples/da-scripts/run_node.sh rename {crates/examples => examples}/da-confs/avail.json (100%) rename {crates/examples => examples}/da-confs/celestia.json (100%) rename {crates/examples => examples}/da-confs/ethereum.json (70%) create mode 160000 zaun diff --git a/.gitmodules b/.gitmodules index 32a1c93e3b..6949b7d838 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "madara-tsukuyomi"] path = madara-tsukuyomi url = https://github.com/keep-starknet-strange/madara-tsukuyomi +[submodule "zaun"] + path = zaun + url = https://github.com/keep-starknet-strange/zaun diff --git a/crates/examples/da-scripts/run_node.sh b/crates/examples/da-scripts/run_node.sh deleted file mode 100644 index 9298c55d60..0000000000 --- a/crates/examples/da-scripts/run_node.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash -# This script is meant to be run on Unix/Linux based systems -set -e diff --git a/crates/examples/da-confs/avail.json b/examples/da-confs/avail.json similarity index 100% rename from crates/examples/da-confs/avail.json rename to examples/da-confs/avail.json diff --git a/crates/examples/da-confs/celestia.json b/examples/da-confs/celestia.json similarity index 100% rename from crates/examples/da-confs/celestia.json rename to examples/da-confs/celestia.json diff --git a/crates/examples/da-confs/ethereum.json b/examples/da-confs/ethereum.json similarity index 70% rename from crates/examples/da-confs/ethereum.json rename to examples/da-confs/ethereum.json index 589066c42f..c997741b93 100644 --- a/crates/examples/da-confs/ethereum.json +++ b/examples/da-confs/ethereum.json @@ -1,6 +1,6 @@ { "http_provider": "http://127.0.0.1:8545", - "core_contracts": "0xde29d060D45901Fb19ED6C6e959EB22d8626708e", + "core_contracts": "0x5FbDB2315678afecb367f032d93F642f64180aa3", "sequencer_key": "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", "chain_id": 31337 -} +} \ No newline at end of file diff --git a/madara-docs b/madara-docs index 9b48c061b0..27654cbfbe 160000 --- a/madara-docs +++ b/madara-docs @@ -1 +1 @@ -Subproject commit 9b48c061b0fdeb710d95ac524e9f4f27c75f2847 +Subproject commit 27654cbfbe4519d101fdfbdb51bb0b6a454234a1 diff --git a/madara-tsukuyomi b/madara-tsukuyomi index bef32061fa..5acb3cafbe 160000 --- a/madara-tsukuyomi +++ b/madara-tsukuyomi @@ -1 +1 @@ -Subproject commit bef32061fa7c6ea60b39b8a9345b0d18ed47ab41 +Subproject commit 5acb3cafbe4f7422b31c506371312419d0e24c09 diff --git a/scripts/da_devnet.sh b/scripts/da_devnet.sh index ca2f833ddc..12424e962b 100755 --- a/scripts/da_devnet.sh +++ b/scripts/da_devnet.sh @@ -12,16 +12,12 @@ if [ ! -f "$MADARA_PATH/da-config.json" ]; then echo "{}" > $MADARA_PATH/da-config.json fi -cargo build --release - if [ "$DA_LAYER" = "ethereum" ]; then echo "Ethereum DA Test:" - # TODO: do we want to add zaun as submodule - git clone --recurse-submodules https://github.com/keep-starknet-strange/zaun.git target/zaun 2> /dev/null - ./target/zaun/scripts/sn-base-dev.sh target target/zaun 2> /dev/null + ./zaun/scripts/sn-base-dev.sh target zaun 2> /dev/null echo -e "\t anvil logs -> target/anvil.log" - echo -e "\t to kill anvil -> ./target/zaun/scripts/sn-base-kill.sh target" + echo -e "\t to kill anvil -> ./zaun/scripts/sn-base-kill.sh target" elif [ "$DA_LAYER" = "celestia" ]; then if ! command -v celestia > /dev/null then @@ -71,6 +67,3 @@ elif [ "$DA_LAYER" = "avail" ]; then sleep 5 fi - -echo "Launching Madara with DA $DA_LAYER" -./target/release/madara --dev --da-layer=$DA_LAYER diff --git a/zaun b/zaun new file mode 160000 index 0000000000..2b431a94c1 --- /dev/null +++ b/zaun @@ -0,0 +1 @@ +Subproject commit 2b431a94c194ad2efe62051811224c15e9196556 From 1738ffd00c98f3612bf7929b3e5b967904bee63b Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Fri, 8 Dec 2023 15:30:50 +0100 Subject: [PATCH 17/30] ci: start/stop da_devnet --- .github/workflows/da-tests.yml | 7 +++++++ scripts/stop_da_devnet.sh | 13 +++++++++++++ 2 files changed, 20 insertions(+) create mode 100755 scripts/stop_da_devnet.sh diff --git a/.github/workflows/da-tests.yml b/.github/workflows/da-tests.yml index f78a237af8..dc5c559505 100644 --- a/.github/workflows/da-tests.yml +++ b/.github/workflows/da-tests.yml @@ -37,6 +37,9 @@ jobs: - name: Setup dev chain run: | ./target/release/madara setup --chain=dev --from-local=configs + - name: Run DA Layer + run: | + bash ./scripts/da_devnet.sh ${{ matrix.da_layer }} - name: Run DA tests run: |- ./target/release/madara --dev --da-layer ${{ matrix.da_layer }} --da-conf examples/da-confs/${{ matrix.da_layer }}.json & @@ -45,3 +48,7 @@ jobs: cd da-test cargo test kill $MADARA_RUN_PID + - name: Stop DA Layer + run: | + bash ./scripts/stop_da_devnet.sh ${{ matrix.da_layer }} + diff --git a/scripts/stop_da_devnet.sh b/scripts/stop_da_devnet.sh new file mode 100755 index 0000000000..38fd45c51b --- /dev/null +++ b/scripts/stop_da_devnet.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# [ethereum, celestia, avail] +DA_LAYER=$1 + +if [ "$DA_LAYER" = "ethereum" ]; then + echo "Killing Anvil:" + ./zaun/scripts/sn-base-kill.sh target +elif [ "$DA_LAYER" = "celestia" ]; then + # TODO: Kill Celestia +elif [ "$DA_LAYER" = "avail" ]; then + # TODO: Kill Avail +fi From 7bec4aeaee12d70eb2f86bf212faefa7cdb90742 Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Fri, 8 Dec 2023 15:32:31 +0100 Subject: [PATCH 18/30] fix: script --- scripts/stop_da_devnet.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/stop_da_devnet.sh b/scripts/stop_da_devnet.sh index 38fd45c51b..934ac275dc 100755 --- a/scripts/stop_da_devnet.sh +++ b/scripts/stop_da_devnet.sh @@ -8,6 +8,8 @@ if [ "$DA_LAYER" = "ethereum" ]; then ./zaun/scripts/sn-base-kill.sh target elif [ "$DA_LAYER" = "celestia" ]; then # TODO: Kill Celestia + echo "Killing Celestia:" elif [ "$DA_LAYER" = "avail" ]; then # TODO: Kill Avail + echo "Killing Avail:" fi From eea0fbf1095f27f9d62e6ece187c715dd33c69ba Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Fri, 8 Dec 2023 17:15:18 +0100 Subject: [PATCH 19/30] fix: panick --- .../client/commitment-state-diff/src/lib.rs | 24 ++++++------------- crates/primitives/storage/src/lib.rs | 2 -- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/crates/client/commitment-state-diff/src/lib.rs b/crates/client/commitment-state-diff/src/lib.rs index 67b3875bbc..969d18bfcf 100644 --- a/crates/client/commitment-state-diff/src/lib.rs +++ b/crates/client/commitment-state-diff/src/lib.rs @@ -5,12 +5,9 @@ use std::task::Poll; use futures::channel::mpsc; use futures::Stream; -use indexmap::IndexMap; +use indexmap::{IndexMap, IndexSet}; use mp_hashers::HasherT; -use mp_storage::{ - SN_COMPILED_CLASS_HASH_PREFIX, SN_CONTRACT_CLASS_HASH_PREFIX, SN_CONTRACT_CLASS_PREFIX, SN_NONCE_PREFIX, - SN_STORAGE_PREFIX, -}; +use mp_storage::{SN_COMPILED_CLASS_HASH_PREFIX, SN_CONTRACT_CLASS_HASH_PREFIX, SN_NONCE_PREFIX, SN_STORAGE_PREFIX}; use pallet_starknet_runtime_api::StarknetRuntimeApi; use sc_client_api::client::BlockchainEvents; use sc_client_api::{StorageEventStream, StorageNotification}; @@ -139,7 +136,7 @@ where block.header().hash::().into() }; - let mut num_addrs_accessed: usize = 0; + let mut accessed_addrs: IndexSet = IndexSet::new(); let mut commitment_state_diff = ThinStateDiff { declared_classes: IndexMap::new(), storage_diffs: IndexMap::new(), @@ -167,6 +164,7 @@ where // `change` is safe to unwrap as `Nonces` storage is `ValueQuery` let nonce = Nonce(StarkFelt(change.unwrap().0.clone().try_into().unwrap())); commitment_state_diff.nonces.insert(contract_address, nonce); + accessed_addrs.insert(contract_address); } else if prefix == *SN_STORAGE_PREFIX { let contract_address = ContractAddress(PatriciaKey(StarkFelt(full_storage_key.0[32..64].try_into().unwrap()))); @@ -185,15 +183,7 @@ where commitment_state_diff.storage_diffs.insert(contract_address, contract_storage); } } - } else if prefix == *SN_CONTRACT_CLASS_PREFIX { - let class_hash = ClassHash(StarkFelt(full_storage_key.0[32..].try_into().unwrap())); - // In the current state of starknet protocol, a contract class can not be erased, so we should - // never see `change` being `None`. But there have been an "erase contract class" mechanism live on - // the network during the Regenesis migration. Better safe than sorry. - let compiled_class_hash = - CompiledClassHash(change.map(|data| StarkFelt(data.0.clone().try_into().unwrap())).unwrap_or_default()); - - commitment_state_diff.declared_classes.insert(class_hash, compiled_class_hash); + accessed_addrs.insert(contract_address); } else if prefix == *SN_CONTRACT_CLASS_HASH_PREFIX { let contract_address = ContractAddress(PatriciaKey(StarkFelt(full_storage_key.0[32..].try_into().unwrap()))); @@ -211,7 +201,7 @@ where } else { commitment_state_diff.deployed_contracts.insert(contract_address, class_hash); } - num_addrs_accessed += 1; + accessed_addrs.insert(contract_address); } else if prefix == *SN_COMPILED_CLASS_HASH_PREFIX { let class_hash = ClassHash(StarkFelt(full_storage_key.0[32..].try_into().unwrap())); // In the current state of starknet protocol, a compiled class hash can not be erased, so we should @@ -224,5 +214,5 @@ where } } - Ok((starknet_block_hash, commitment_state_diff, num_addrs_accessed)) + Ok((starknet_block_hash, commitment_state_diff, accessed_addrs.len())) } diff --git a/crates/primitives/storage/src/lib.rs b/crates/primitives/storage/src/lib.rs index 4ba17e4a31..c82e478f16 100644 --- a/crates/primitives/storage/src/lib.rs +++ b/crates/primitives/storage/src/lib.rs @@ -36,8 +36,6 @@ lazy_static! { pub static ref SN_NONCE_PREFIX: Vec = [twox_128(PALLET_STARKNET), twox_128(STARKNET_NONCE)].concat(); pub static ref SN_CONTRACT_CLASS_HASH_PREFIX: Vec = [twox_128(PALLET_STARKNET), twox_128(STARKNET_CONTRACT_CLASS_HASH)].concat(); - pub static ref SN_CONTRACT_CLASS_PREFIX: Vec = - [twox_128(PALLET_STARKNET), twox_128(STARKNET_CONTRACT_CLASS)].concat(); pub static ref SN_STORAGE_PREFIX: Vec = [twox_128(PALLET_STARKNET), twox_128(STARKNET_STORAGE)].concat(); pub static ref SN_COMPILED_CLASS_HASH_PREFIX: Vec = [twox_128(PALLET_STARKNET), twox_128(STARKNET_COMPILED_CLASS_HASH)].concat(); From 7cd4dbd84807a0e1a2bfa0010f32c90fbc449112 Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Fri, 8 Dec 2023 17:21:12 +0100 Subject: [PATCH 20/30] fix: format --- .github/workflows/da-tests.yml | 1 - .prettierignore | 3 +- CHANGELOG.md | 2 +- Cargo.toml | 100 ++++++++++++++++---------------- examples/da-confs/ethereum.json | 2 +- 5 files changed, 54 insertions(+), 54 deletions(-) diff --git a/.github/workflows/da-tests.yml b/.github/workflows/da-tests.yml index dc5c559505..1ed798e418 100644 --- a/.github/workflows/da-tests.yml +++ b/.github/workflows/da-tests.yml @@ -51,4 +51,3 @@ jobs: - name: Stop DA Layer run: | bash ./scripts/stop_da_devnet.sh ${{ matrix.da_layer }} - diff --git a/.prettierignore b/.prettierignore index 036998c861..3380681c80 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,6 +1,7 @@ target cairo-contracts/build -madara-app +madara-tsukuyomi madara-dev-explorer madara-docs madara-infra +zaun diff --git a/CHANGELOG.md b/CHANGELOG.md index ca38824fd7..49ab816d5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,7 +36,7 @@ reconnection logic - chore: update `polkadot-sdk` to `release-polkadot-v1.3.0` - feat(da): update da calldata encoding to v0.11.0 spec, da conf examples, da - conf flag + conf flag, da-tests in CI ## v0.5.0 diff --git a/Cargo.toml b/Cargo.toml index ead75c7475..d14a08af4a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,54 +1,54 @@ [workspace] resolver = "2" members = [ - "crates/node", - "crates/runtime", - "crates/pallets/starknet/runtime_api/", - "crates/pallets/starknet", - "crates/primitives/digest-log", - "crates/primitives/transactions", - "crates/primitives/felt", - "crates/primitives/hashers", - "crates/primitives/fee", - "crates/primitives/state", - "crates/primitives/block", - "crates/primitives/sequencer-address", - "crates/primitives/storage", - "crates/primitives/commitments", - "crates/primitives/chain-id", - "crates/client/db", - "crates/client/rpc-core", - "crates/client/rpc", - "crates/client/mapping-sync", - "crates/client/storage", - "crates/client/commitment-state-diff", - "starknet-rpc-test", - "da-test", + "crates/node", + "crates/runtime", + "crates/pallets/starknet/runtime_api/", + "crates/pallets/starknet", + "crates/primitives/digest-log", + "crates/primitives/transactions", + "crates/primitives/felt", + "crates/primitives/hashers", + "crates/primitives/fee", + "crates/primitives/state", + "crates/primitives/block", + "crates/primitives/sequencer-address", + "crates/primitives/storage", + "crates/primitives/commitments", + "crates/primitives/chain-id", + "crates/client/db", + "crates/client/rpc-core", + "crates/client/rpc", + "crates/client/mapping-sync", + "crates/client/storage", + "crates/client/commitment-state-diff", + "starknet-rpc-test", + "da-test", ] # All previous except for `starknet-rpc-test` # We don't want `cargo test` to trigger its tests default-members = [ - "crates/node", - "crates/runtime", - "crates/pallets/starknet/runtime_api/", - "crates/pallets/starknet", - "crates/primitives/digest-log", - "crates/primitives/transactions", - "crates/primitives/felt", - "crates/primitives/hashers", - "crates/primitives/fee", - "crates/primitives/state", - "crates/primitives/block", - "crates/primitives/sequencer-address", - "crates/primitives/storage", - "crates/primitives/commitments", - "crates/primitives/chain-id", - "crates/client/db", - "crates/client/rpc-core", - "crates/client/rpc", - "crates/client/mapping-sync", - "crates/client/storage", - "crates/client/commitment-state-diff", + "crates/node", + "crates/runtime", + "crates/pallets/starknet/runtime_api/", + "crates/pallets/starknet", + "crates/primitives/digest-log", + "crates/primitives/transactions", + "crates/primitives/felt", + "crates/primitives/hashers", + "crates/primitives/fee", + "crates/primitives/state", + "crates/primitives/block", + "crates/primitives/sequencer-address", + "crates/primitives/storage", + "crates/primitives/commitments", + "crates/primitives/chain-id", + "crates/client/db", + "crates/client/rpc-core", + "crates/client/rpc", + "crates/client/mapping-sync", + "crates/client/storage", + "crates/client/commitment-state-diff", ] [profile.release] @@ -110,7 +110,7 @@ sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "rel # Substrate client dependencies sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0", features = [ - "rocksdb", + "rocksdb", ] } sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0" } sc-network-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0" } @@ -179,8 +179,8 @@ madara-runtime = { path = "crates/runtime" } # Starknet dependencies # Cairo Virtual Machine cairo-vm = { git = "https://github.com/keep-starknet-strange/cairo-rs", branch = "no_std-support-21eff70", default-features = false, features = [ - "cairo-1-hints", - "parity-scale-codec", + "cairo-1-hints", + "parity-scale-codec", ] } starknet-crypto = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } starknet-core = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } @@ -191,11 +191,11 @@ starknet-accounts = { git = "https://github.com/xJonathanLEI/starknet-rs.git", r starknet-contract = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } blockifier = { git = "https://github.com/keep-starknet-strange/blockifier", branch = "no_std-support-7578442", default-features = false, features = [ - "parity-scale-codec", + "parity-scale-codec", ] } starknet_api = { git = "https://github.com/keep-starknet-strange/starknet-api", branch = "no_std-support-dc83f05", features = [ - "testing", - "parity-scale-codec", + "testing", + "parity-scale-codec", ], default-features = false } # Cairo lang diff --git a/examples/da-confs/ethereum.json b/examples/da-confs/ethereum.json index c997741b93..e4c309ed43 100644 --- a/examples/da-confs/ethereum.json +++ b/examples/da-confs/ethereum.json @@ -3,4 +3,4 @@ "core_contracts": "0x5FbDB2315678afecb367f032d93F642f64180aa3", "sequencer_key": "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", "chain_id": 31337 -} \ No newline at end of file +} From 0decab2a3b17fcea1ad11a46e37543f684627636 Mon Sep 17 00:00:00 2001 From: 0xevolve Date: Tue, 12 Dec 2023 20:01:47 +0100 Subject: [PATCH 21/30] feat: da layer test --- Cargo.lock | 2 + da-test/Cargo.toml | 6 +- da-test/src/constants.rs | 35 ------- da-test/src/fixtures.rs | 24 ----- da-test/src/lib.rs | 199 +----------------------------------- da-test/src/utils.rs | 213 +++++---------------------------------- da-test/state_diffs.rs | 42 +++++--- 7 files changed, 60 insertions(+), 461 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ba6ce7c1f5..ce21253e21 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2717,6 +2717,7 @@ dependencies = [ "anyhow", "assert_matches", "async-lock 3.2.0", + "ethers", "flate2", "mc-data-availability", "reqwest", @@ -2729,6 +2730,7 @@ dependencies = [ "starknet-crypto", "starknet-ff", "starknet-providers", + "starknet-rpc-test", "starknet-signers", "thiserror", "tokio", diff --git a/da-test/Cargo.toml b/da-test/Cargo.toml index 381d582acc..14d3a6e034 100644 --- a/da-test/Cargo.toml +++ b/da-test/Cargo.toml @@ -21,6 +21,8 @@ starknet-crypto = { workspace = true } starknet-ff = { workspace = true } starknet-providers = { workspace = true } starknet-signers = { workspace = true } +ethers = "2.0.7" +starknet-rpc-test = { path = "../starknet-rpc-test" } thiserror = { workspace = true } tokio = { version = "1.34.0", features = ["rt", "macros", "parking_lot"] } url = "2.4.1" @@ -29,5 +31,5 @@ url = "2.4.1" mc-data-availability = { workspace = true } [[test]] -name = "da_state_diifs" -path = "state_diifs.rs" +name = "da_state_diffs" +path = "state_diffs.rs" diff --git a/da-test/src/constants.rs b/da-test/src/constants.rs index 16157197a9..8b13789179 100644 --- a/da-test/src/constants.rs +++ b/da-test/src/constants.rs @@ -1,36 +1 @@ -use starknet_ff::FieldElement; -pub const TEST_CONTRACT_ADDRESS: &str = "0x0000000000000000000000000000000000000000000000000000000000001111"; -pub const ACCOUNT_CONTRACT: &str = "0x0000000000000000000000000000000000000000000000000000000000000001"; -pub const CAIRO_1_ACCOUNT_CONTRACT: &str = "0x0000000000000000000000000000000000000000000000000000000000000004"; -pub const CAIRO_1_ACCOUNT_CONTRACT_CLASS_HASH: &str = - "0x35ccefcf9d5656da623468e27e682271cd327af196785df99e7fee1436b6276"; -pub const ERC20_CAIRO_0_CONTRACT: &str = "0x040e59c2c182a58fb0a74349bfa4769cbbcba32547591dd3fb1def8623997d00"; -pub const SEQUENCER_ADDRESS: &str = "0xdead"; - -// https://github.com/keep-starknet-strange/madara/blob/main/crates/node/src/chain_spec.rs#L185-L186 -pub const ACCOUNT_CONTRACT_CLASS_HASH: &str = "0x0279d77db761fba82e0054125a6fdb5f6baa6286fa3fb73450cc44d193c2d37f"; -pub const ARGENT_PROXY_CLASS_HASH: &str = "0x0424b7f61e3c5dfd74400d96fdea7e1f0bf2757f31df04387eaa957f095dd7b9"; -pub const SIGNER_PUBLIC: &str = "0x03603a2692a2ae60abb343e832ee53b55d6b25f02a3ef1565ec691edc7a209b2"; -pub const SIGNER_PRIVATE: &str = "0x00c1cf1490de1352865301bb8705143f3ef938f97fdf892f1090dcb5ac7bcd1d"; -pub const SALT: &str = "0x0000000000000000000000000000000000000000000000000000000000001111"; - -// https://github.com/keep-starknet-strange/madara/blob/main/crates/node/src/chain_spec.rs#L191-L192 -pub const TEST_CONTRACT_CLASS_HASH: &str = "0x05a2b92d9a36509a3d651e7df99144a4ad8301e2caf42465ee6ab0451ae91882"; -pub const MINT_AMOUNT: &str = "0x0000000000000000000000000000000000000000000000000000000000000001"; -pub const DEPLOY_ACCOUNT_COST: &str = "0x00000000000000000000000000000000000000000000000000000000ffffffff"; -pub const CONTRACT_ADDRESS: &str = "0x0000000000000000000000000000000000000000000000000000000000000001"; -pub const FEE_TOKEN_ADDRESS: &str = "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"; -pub const TOKEN_CLASS_HASH: &str = "0x0000000000000000000000000000000000000000000000000000000000010000"; -pub const ARGENT_CONTRACT_ADDRESS: &str = "0x0000000000000000000000000000000000000000000000000000000000000002"; -pub const OZ_CONTRACT_ADDRESS: &str = "0x0000000000000000000000000000000000000000000000000000000000000003"; - -pub const MAX_U256: &str = "0xffffffffffffffffffffffffffffffff"; -pub const MAX_FEE_OVERRIDE: &str = "0x100000"; - -// Need to use `from_mont` because this needs to be a constant function call -/// ChainId for Starknet Goerli testnet -pub const SN_GOERLI_CHAIN_ID: FieldElement = - FieldElement::from_mont([3753493103916128178, 18446744073709548950, 18446744073709551615, 398700013197595345]); - -pub const SPEC_VERSION: &str = "0.4.0"; diff --git a/da-test/src/fixtures.rs b/da-test/src/fixtures.rs index 6feec8bd2f..8b13789179 100644 --- a/da-test/src/fixtures.rs +++ b/da-test/src/fixtures.rs @@ -1,25 +1 @@ -use async_lock::RwLock; -use rstest::fixture; -use starknet_providers::jsonrpc::HttpTransport; -use starknet_providers::JsonRpcClient; -use crate::MadaraClient; - -pub struct ThreadSafeMadaraClient(RwLock); - -#[fixture] -#[once] -pub fn madara() -> ThreadSafeMadaraClient { - ThreadSafeMadaraClient(RwLock::new(MadaraClient::new())) -} - -impl ThreadSafeMadaraClient { - pub async fn get_starknet_client(&self) -> JsonRpcClient { - let inner = self.0.read(); - inner.await.get_starknet_client() - } - - pub async fn write(&self) -> async_lock::RwLockWriteGuard<'_, MadaraClient> { - self.0.write().await - } -} diff --git a/da-test/src/lib.rs b/da-test/src/lib.rs index 6dbe2766d2..42e2b4d51f 100644 --- a/da-test/src/lib.rs +++ b/da-test/src/lib.rs @@ -1,201 +1,4 @@ #![feature(assert_matches)] -use std::cell::Cell; -use std::fmt::Debug; - -use anyhow::anyhow; -use reqwest::header::CONTENT_TYPE; -use reqwest::{Client, Response}; -use serde_json::json; -use starknet_accounts::{ - Account, AccountDeployment, AccountError, AccountFactoryError, Declaration, Execution, LegacyDeclaration, - OpenZeppelinAccountFactory, SingleOwnerAccount, -}; -use starknet_core::types::{DeclareTransactionResult, DeployAccountTransactionResult, InvokeTransactionResult}; -use starknet_providers::jsonrpc::{HttpTransport, JsonRpcClient}; -use starknet_providers::Provider; -use starknet_signers::local_wallet::SignError; -use starknet_signers::LocalWallet; -use url::Url; - -/// Constants (addresses, contracts...) -pub mod constants; -/// Starknet related utilities +/// Utilities for testing DA layers. pub mod utils; - -pub mod fixtures; - -const NODE_RPC_URL: &str = "http://localhost:9944"; - -type RpcAccount<'a> = SingleOwnerAccount<&'a JsonRpcClient, LocalWallet>; -pub type RpcOzAccountFactory<'a> = OpenZeppelinAccountFactory>; -type TransactionExecution<'a> = Execution<'a, RpcAccount<'a>>; -type TransactionDeclaration<'a> = Declaration<'a, RpcAccount<'a>>; -type TransactionLegacyDeclaration<'a> = LegacyDeclaration<'a, RpcAccount<'a>>; -type TransactionAccountDeployment<'a> = AccountDeployment<'a, RpcOzAccountFactory<'a>>; -type StarknetAccountError = - AccountError<, LocalWallet> as Account>::SignError>; - -pub enum Transaction<'a> { - Execution(TransactionExecution<'a>), - Declaration(TransactionDeclaration<'a>), - LegacyDeclaration(TransactionLegacyDeclaration<'a>), - AccountDeployment(TransactionAccountDeployment<'a>), -} - -#[derive(Debug)] -pub enum TransactionResult { - Execution(InvokeTransactionResult), - Declaration(DeclareTransactionResult), - AccountDeployment(DeployAccountTransactionResult), -} - -#[derive(thiserror::Error, Debug)] -pub enum SendTransactionError { - #[error(transparent)] - AccountError(StarknetAccountError), - #[error(transparent)] - AccountFactoryError(AccountFactoryError), -} - -impl Transaction<'_> { - pub async fn send(&self) -> Result { - match self { - Transaction::Execution(execution) => { - execution.send().await.map(TransactionResult::Execution).map_err(SendTransactionError::AccountError) - } - Transaction::Declaration(declaration) => { - declaration.send().await.map(TransactionResult::Declaration).map_err(SendTransactionError::AccountError) - } - Transaction::LegacyDeclaration(declaration) => { - declaration.send().await.map(TransactionResult::Declaration).map_err(SendTransactionError::AccountError) - } - Transaction::AccountDeployment(deployment) => deployment - .send() - .await - .map(TransactionResult::AccountDeployment) - .map_err(SendTransactionError::AccountFactoryError), - } - } -} - -#[derive(Debug)] -/// A wrapper over the Madara process handle, reqwest client and request counter -pub struct MadaraClient { - rpc_request_count: Cell, - url: Url, -} - -impl Default for MadaraClient { - fn default() -> Self { - let url = Url::parse(NODE_RPC_URL).expect("Invalid JSONRPC Url"); - MadaraClient { url, rpc_request_count: Default::default() } - } -} - -impl MadaraClient { - pub fn new() -> Self { - Default::default() - } - - pub async fn run_to_block(&mut self, target_block: u64) -> anyhow::Result<()> { - let mut current_block = self.get_starknet_client().block_number().await?; - - if current_block >= target_block { - return Err(anyhow!("target_block must be in the future")); - } - - while current_block < target_block { - self.create_empty_block().await?; - current_block += 1; - } - - Ok(()) - } - - pub async fn create_n_blocks(&mut self, mut n: u64) -> anyhow::Result<()> { - while n > 0 { - self.create_empty_block().await?; - n -= 1; - } - - Ok(()) - } - - async fn call_rpc(&self, mut body: serde_json::Value) -> reqwest::Result { - let body = body.as_object_mut().expect("the body should be an object"); - body.insert("id".to_string(), self.rpc_request_count.get().into()); - body.insert("jsonrpc".to_string(), "2.0".into()); - - let body = serde_json::to_string(&body).expect("the json body must be serializable"); - - let response = Client::new() - .post("http://localhost:9944") - .header(CONTENT_TYPE, "application/json; charset=utf-8") - .body(body) - .send() - .await?; - - // Increment rpc_request_count - let previous = self.rpc_request_count.get(); - self.rpc_request_count.set(previous + 1); - - Ok(response) - } - - pub fn get_starknet_client(&self) -> JsonRpcClient { - JsonRpcClient::new(HttpTransport::new(self.url.clone())) - } - - pub async fn create_empty_block(&mut self) -> anyhow::Result<()> { - let body = json!({ - "method": "engine_createBlock", - "params": [true, true], - }); - - let response = self.call_rpc(body).await?; - // TODO: read actual error from response - response.status().is_success().then_some(()).ok_or(anyhow!("failed to create a new block")) - } - - pub async fn create_block_with_txs( - &mut self, - transactions: Vec>, - ) -> anyhow::Result>> { - let body = json!({ - "method": "engine_createBlock", - "params": [false, true], - }); - - let mut results = Vec::new(); - for tx in transactions { - let result = tx.send().await; - results.push(result); - } - - let response = self.call_rpc(body).await?; - // TODO: read actual error from response - response.status().is_success().then_some(results).ok_or(anyhow!("failed to create a new block")) - } - - pub async fn create_block_with_parent(&mut self, parent_hash: &str) -> anyhow::Result<()> { - let body = json!({ - "method": "engine_createBlock", - "params": [json!(true), json!(true), json!(parent_hash)], - }); - - let response = self.call_rpc(body).await?; - // TODO: read actual error from response - response.status().is_success().then_some(()).ok_or(anyhow!("failed to create a new block")) - } - - pub async fn health(&self) -> anyhow::Result { - let body = json!({ - "method": "system_health" - }); - - let response = self.call_rpc(body).await?; - - Ok(response.status().is_success()) - } -} diff --git a/da-test/src/utils.rs b/da-test/src/utils.rs index c7348971da..ae5def5ece 100644 --- a/da-test/src/utils.rs +++ b/da-test/src/utils.rs @@ -1,193 +1,28 @@ -use std::future::Future; -use std::sync::Arc; - -use starknet_accounts::{Account, AccountFactory, Call, OpenZeppelinAccountFactory, SingleOwnerAccount}; -use starknet_core::chain_id; -use starknet_core::types::contract::legacy::LegacyContractClass; -use starknet_core::types::contract::{CompiledClass, SierraClass}; -use starknet_core::types::{BlockId, BlockTag, FieldElement, FunctionCall, MsgToL1}; -use starknet_core::utils::get_selector_from_name; -use starknet_providers::jsonrpc::{HttpTransport, JsonRpcClient}; -use starknet_providers::Provider; -use starknet_signers::{LocalWallet, SigningKey}; - -use crate::constants::{FEE_TOKEN_ADDRESS, MAX_FEE_OVERRIDE}; -use crate::{ - RpcAccount, RpcOzAccountFactory, TransactionAccountDeployment, TransactionDeclaration, TransactionExecution, - TransactionLegacyDeclaration, -}; - -pub struct U256 { - pub high: FieldElement, - pub low: FieldElement, -} - -pub fn build_single_owner_account<'a>( - rpc: &'a JsonRpcClient, - private_key: &str, - account_address: &str, - is_legacy: bool, -) -> RpcAccount<'a> { - let signer = LocalWallet::from(SigningKey::from_secret_scalar(FieldElement::from_hex_be(private_key).unwrap())); - let account_address = FieldElement::from_hex_be(account_address).expect("Invalid Contract Address"); - let execution_encoding = if is_legacy { - starknet_accounts::ExecutionEncoding::Legacy - } else { - starknet_accounts::ExecutionEncoding::New - }; - SingleOwnerAccount::new(rpc, signer, account_address, chain_id::TESTNET, execution_encoding) -} - -pub async fn read_erc20_balance( - rpc: &JsonRpcClient, - contract_address: FieldElement, - account_address: FieldElement, -) -> Vec { - rpc.call( - FunctionCall { - contract_address, - entry_point_selector: get_selector_from_name("balanceOf").unwrap(), - calldata: vec![account_address], - }, - BlockId::Tag(BlockTag::Latest), - ) - .await - .unwrap() -} - -pub async fn build_oz_account_factory<'a>( - rpc: &'a JsonRpcClient, - private_key: &str, - class_hash: FieldElement, -) -> RpcOzAccountFactory<'a> { - let signer = LocalWallet::from(SigningKey::from_secret_scalar(FieldElement::from_hex_be(private_key).unwrap())); - OpenZeppelinAccountFactory::new(class_hash, chain_id::TESTNET, signer, rpc).await.unwrap() -} - -pub fn build_deploy_account_tx<'a>( - oz_factory: &'a RpcOzAccountFactory, - contract_address_salt: FieldElement, -) -> TransactionAccountDeployment<'a> { - let max_fee = FieldElement::from_hex_be(MAX_FEE_OVERRIDE).unwrap(); - oz_factory.deploy(contract_address_salt).max_fee(max_fee) -} - -pub trait AccountActions { - fn transfer_tokens_u256( - &self, - recipient: FieldElement, - transfer_amount: U256, - nonce: Option, - ) -> TransactionExecution; - - fn transfer_tokens( - &self, - recipient: FieldElement, - transfer_amount: FieldElement, - nonce: Option, - ) -> TransactionExecution; - - fn declare_contract( - &self, - path_to_sierra: &str, - path_to_casm: &str, - ) -> (TransactionDeclaration, FieldElement, FieldElement); - - fn declare_legacy_contract(&self, path_to_compiled_contract: &str) -> (TransactionLegacyDeclaration, FieldElement); -} - -impl AccountActions for SingleOwnerAccount<&JsonRpcClient, LocalWallet> { - fn transfer_tokens_u256( - &self, - recipient: FieldElement, - transfer_amount: U256, - nonce: Option, - ) -> TransactionExecution { - let fee_token_address = FieldElement::from_hex_be(FEE_TOKEN_ADDRESS).unwrap(); - - let calls = vec![Call { - to: fee_token_address, - selector: get_selector_from_name("transfer").unwrap(), - calldata: vec![recipient, transfer_amount.low, transfer_amount.high], - }]; - - // starknet-rs calls estimateFee with incorrect version which throws an error - let max_fee = FieldElement::from_hex_be(MAX_FEE_OVERRIDE).unwrap(); - - // TODO: add support for nonce with raw execution e.g https://github.com/0xSpaceShard/starknet-devnet-rs/blob/main/crates/starknet/src/starknet/add_invoke_transaction.rs#L10 - match nonce { - Some(nonce) => self.execute(calls).max_fee(max_fee).nonce(nonce.into()), - None => self.execute(calls).max_fee(max_fee), +use std::path::PathBuf; + +use mc_data_availability::avail::config::AvailConfig; +use mc_data_availability::avail::AvailClient; +use mc_data_availability::celestia::config::CelestiaConfig; +use mc_data_availability::celestia::CelestiaClient; +use mc_data_availability::ethereum::config::EthereumConfig; +use mc_data_availability::ethereum::EthereumClient; +use mc_data_availability::{DaClient, DaLayer}; + +pub fn get_da_client(da_layer: DaLayer, da_path: PathBuf) -> Box { + let da_client: Box = match da_layer { + DaLayer::Celestia => { + let celestia_conf = CelestiaConfig::try_from(&da_path).expect("Failed to read Celestia config"); + Box::new(CelestiaClient::try_from(celestia_conf).expect("Failed to create Celestia client")) } - } - - fn transfer_tokens( - &self, - recipient: FieldElement, - transfer_amount: FieldElement, - nonce: Option, - ) -> TransactionExecution { - self.transfer_tokens_u256(recipient, U256 { high: FieldElement::ZERO, low: transfer_amount }, nonce) - } - - fn declare_contract( - &self, - path_to_sierra: &str, - path_to_casm: &str, - ) -> (TransactionDeclaration, FieldElement, FieldElement) { - let sierra: SierraClass = serde_json::from_reader( - std::fs::File::open(env!("CARGO_MANIFEST_DIR").to_owned() + "/" + path_to_sierra).unwrap(), - ) - .unwrap(); - let casm: CompiledClass = serde_json::from_reader( - std::fs::File::open(env!("CARGO_MANIFEST_DIR").to_owned() + "/" + path_to_casm).unwrap(), - ) - .unwrap(); - let compiled_class_hash = casm.class_hash().unwrap(); - ( - self.declare(sierra.clone().flatten().unwrap().into(), compiled_class_hash) - // starknet-rs calls estimateFee with incorrect version which throws an error - .max_fee(FieldElement::from_hex_be(MAX_FEE_OVERRIDE).unwrap()), - sierra.class_hash().unwrap(), - compiled_class_hash, - ) - } - - fn declare_legacy_contract(&self, path_to_compiled_contract: &str) -> (TransactionLegacyDeclaration, FieldElement) { - let contract_artifact: LegacyContractClass = serde_json::from_reader( - std::fs::File::open(env!("CARGO_MANIFEST_DIR").to_owned() + "/" + path_to_compiled_contract).unwrap(), - ) - .unwrap(); - ( - self.declare_legacy(Arc::new(contract_artifact.clone())) - // starknet-rs calls estimateFee with incorrect version which throws an error - .max_fee(FieldElement::from_hex_be(MAX_FEE_OVERRIDE).unwrap()), - contract_artifact.class_hash().unwrap(), - ) - } -} - -pub fn assert_eq_msg_to_l1(l1: Vec, l2: Vec) { - assert_eq!(l1.len(), l2.len()); - for (m1, m2) in l1.iter().zip(l2.iter()) { - assert_eq!(m1.from_address, m2.from_address); - assert_eq!(m1.payload, m2.payload); - assert_eq!(m1.to_address, m2.to_address); - } -} - -pub async fn assert_poll(f: F, polling_time_ms: u64, max_poll_count: u32) -where - F: Fn() -> Fut, - Fut: Future, -{ - for _poll_count in 0..max_poll_count { - if f().await { - return; // The provided function returned true, exit safely. + DaLayer::Ethereum => { + let ethereum_conf = EthereumConfig::try_from(&da_path).expect("Failed to read Ethereum config"); + Box::new(EthereumClient::try_from(ethereum_conf).expect("Failed to create Ethereum client")) } + DaLayer::Avail => { + let avail_conf = AvailConfig::try_from(&da_path).expect("Failed to read Avail config"); + Box::new(AvailClient::try_from(avail_conf).expect("Failed to create Avail client")) + } + }; - tokio::time::sleep(tokio::time::Duration::from_millis(polling_time_ms)).await; - } - - panic!("Max poll count exceeded."); + da_client } diff --git a/da-test/state_diffs.rs b/da-test/state_diffs.rs index 82c3fa6344..fe3992421a 100644 --- a/da-test/state_diffs.rs +++ b/da-test/state_diffs.rs @@ -1,42 +1,58 @@ -extern crate starknet_rpc_test; +extern crate da_test; +use std::path::PathBuf; use std::vec; -use assert_matches::assert_matches; +use da_test::utils::get_da_client; +use ethers::types::I256; +use mc_data_availability::DaLayer; use rstest::rstest; -use starknet_accounts::Account; -use starknet_core::types::{BlockId, StarknetError}; use starknet_ff::FieldElement; -use starknet_providers::{MaybeUnknownErrorCode, Provider, ProviderError, StarknetErrorWithMessage}; -use starknet_rpc_test::constants::{ARGENT_CONTRACT_ADDRESS, FEE_TOKEN_ADDRESS, SIGNER_PRIVATE}; +use starknet_providers::Provider; +use starknet_rpc_test::constants::ARGENT_CONTRACT_ADDRESS; use starknet_rpc_test::fixtures::{madara, ThreadSafeMadaraClient}; -use starknet_rpc_test::utils::{build_single_owner_account, read_erc20_balance, AccountActions, U256}; -use starknet_rpc_test::{SendTransactionError, Transaction}; +use starknet_rpc_test::utils::{build_single_owner_account, AccountActions}; +use starknet_rpc_test::Transaction; #[rstest] +#[case(DaLayer::Celestia, "examples/da-confs/celestia.json")] +#[case(DaLayer::Ethereum, "examples/da-confs/ethereum.json")] +#[case(DaLayer::Avail, "examples/da-confs/avail.json")] #[tokio::test] -async fn publishes_to_da_layer(madara: &ThreadSafeMadaraClient) -> Result<(), anyhow::Error> { +async fn publish_to_da_layer( + madara: &ThreadSafeMadaraClient, + #[case] da_layer: DaLayer, + #[case] da_path: PathBuf, +) -> Result<(), anyhow::Error> { let rpc = madara.get_starknet_client().await; - let txs = { + let (txs, block_number) = { let mut madara_write_lock = madara.write().await; // using incorrect private key to generate the wrong signature let account = build_single_owner_account(&rpc, "0x1234", ARGENT_CONTRACT_ADDRESS, true); - madara_write_lock + let txs = madara_write_lock .create_block_with_txs(vec![Transaction::Execution(account.transfer_tokens( FieldElement::from_hex_be("0x123").unwrap(), FieldElement::ONE, None, ))]) - .await? + .await?; + let block_number = rpc.block_number().await?; + + (txs, block_number) }; assert_eq!(txs.len(), 1); - let tx = &txs[0]; + let _tx = &txs[0]; + + let da_client = get_da_client(da_layer, da_path); // Check the state diff that has been published to the DA layer + let published_block_number = da_client.last_published_state().await?; + + assert_eq!(published_block_number, I256::from(block_number)); Ok(()) } From 3ab3042cbba9802bfc4edd8ad501550c53a6554e Mon Sep 17 00:00:00 2001 From: Evolve Date: Wed, 13 Dec 2023 14:00:40 +0100 Subject: [PATCH 22/30] feat: da_client fixture + docs --- .github/workflows/da-tests.yml | 2 +- Cargo.lock | 2 ++ da-test/Cargo.toml | 2 ++ da-test/src/constants.rs | 8 ++++++++ da-test/src/fixtures.rs | 12 ++++++++++++ da-test/src/lib.rs | 8 +++++++- da-test/src/utils.rs | 14 +++++++++++++- da-test/state_diffs.rs | 13 ++----------- docs/da-contribution.md | 30 ++++++++++++++++++++++++++++++ 9 files changed, 77 insertions(+), 14 deletions(-) create mode 100644 docs/da-contribution.md diff --git a/.github/workflows/da-tests.yml b/.github/workflows/da-tests.yml index 1ed798e418..9a0b3a2d0f 100644 --- a/.github/workflows/da-tests.yml +++ b/.github/workflows/da-tests.yml @@ -46,7 +46,7 @@ jobs: MADARA_RUN_PID=$! while ! echo exit | nc localhost 9944; do sleep 1; done cd da-test - cargo test + DA_LAYER=${{ matrix.da_layer }} cargo test kill $MADARA_RUN_PID - name: Stop DA Layer run: | diff --git a/Cargo.lock b/Cargo.lock index ce21253e21..944bc4be08 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2717,8 +2717,10 @@ dependencies = [ "anyhow", "assert_matches", "async-lock 3.2.0", + "clap 4.4.11", "ethers", "flate2", + "lazy_static", "mc-data-availability", "reqwest", "rstest", diff --git a/da-test/Cargo.toml b/da-test/Cargo.toml index 14d3a6e034..16bfc61952 100644 --- a/da-test/Cargo.toml +++ b/da-test/Cargo.toml @@ -8,7 +8,9 @@ edition = "2021" anyhow = "1.0.72" assert_matches = "1.5.0" +clap = { workspace = true, features = ["derive"] } async-lock = "3.1.0" +lazy_static = "1.4.0" flate2 = { workspace = true } reqwest = "0.11.18" rstest = "0.18.1" diff --git a/da-test/src/constants.rs b/da-test/src/constants.rs index 8b13789179..2afcdb5fcf 100644 --- a/da-test/src/constants.rs +++ b/da-test/src/constants.rs @@ -1 +1,9 @@ +use std::path::PathBuf; +use lazy_static::lazy_static; + +lazy_static! { + pub static ref ETHEREUM_DA_CONFIG: PathBuf = PathBuf::from("examples/da-confs/ethereum.json"); + pub static ref CELESTIA_DA_CONFIG: PathBuf = PathBuf::from("examples/da-confs/celestia.json"); + pub static ref AVAIL_DA_CONFIG: PathBuf = PathBuf::from("examples/da-confs/avail.json"); +} diff --git a/da-test/src/fixtures.rs b/da-test/src/fixtures.rs index 8b13789179..a7351b8af3 100644 --- a/da-test/src/fixtures.rs +++ b/da-test/src/fixtures.rs @@ -1 +1,13 @@ +use clap::ValueEnum; +use mc_data_availability::{DaClient, DaLayer}; +use rstest::fixture; +use crate::utils::get_da_client; + +#[fixture] +pub fn da_client() -> Box { + let da_layer_str = std::env::var("DA_LAYER").expect("DA_LAYER env var not set"); + let da_layer = DaLayer::from_str(&da_layer_str, true).expect("Invalid value for DA_LAYER"); + + get_da_client(da_layer) +} diff --git a/da-test/src/lib.rs b/da-test/src/lib.rs index 42e2b4d51f..cf1ded826f 100644 --- a/da-test/src/lib.rs +++ b/da-test/src/lib.rs @@ -1,4 +1,10 @@ #![feature(assert_matches)] -/// Utilities for testing DA layers. +/// Utilities for connecting to DA layers. pub mod utils; + +/// Fixtures +pub mod fixtures; + +/// Constants +pub mod constants; diff --git a/da-test/src/utils.rs b/da-test/src/utils.rs index ae5def5ece..af231381e9 100644 --- a/da-test/src/utils.rs +++ b/da-test/src/utils.rs @@ -8,7 +8,11 @@ use mc_data_availability::ethereum::config::EthereumConfig; use mc_data_availability::ethereum::EthereumClient; use mc_data_availability::{DaClient, DaLayer}; -pub fn get_da_client(da_layer: DaLayer, da_path: PathBuf) -> Box { +use crate::constants::{AVAIL_DA_CONFIG, CELESTIA_DA_CONFIG, ETHEREUM_DA_CONFIG}; + +pub fn get_da_client(da_layer: DaLayer) -> Box { + let da_path = get_da_path(da_layer); + let da_client: Box = match da_layer { DaLayer::Celestia => { let celestia_conf = CelestiaConfig::try_from(&da_path).expect("Failed to read Celestia config"); @@ -26,3 +30,11 @@ pub fn get_da_client(da_layer: DaLayer, da_path: PathBuf) -> Box PathBuf { + match da_layer { + DaLayer::Celestia => *CELESTIA_DA_CONFIG, + DaLayer::Ethereum => *ETHEREUM_DA_CONFIG, + DaLayer::Avail => *AVAIL_DA_CONFIG, + } +} diff --git a/da-test/state_diffs.rs b/da-test/state_diffs.rs index fe3992421a..4915adac11 100644 --- a/da-test/state_diffs.rs +++ b/da-test/state_diffs.rs @@ -3,7 +3,7 @@ extern crate da_test; use std::path::PathBuf; use std::vec; -use da_test::utils::get_da_client; +use da_test::fixtures::da_client; use ethers::types::I256; use mc_data_availability::DaLayer; use rstest::rstest; @@ -15,15 +15,8 @@ use starknet_rpc_test::utils::{build_single_owner_account, AccountActions}; use starknet_rpc_test::Transaction; #[rstest] -#[case(DaLayer::Celestia, "examples/da-confs/celestia.json")] -#[case(DaLayer::Ethereum, "examples/da-confs/ethereum.json")] -#[case(DaLayer::Avail, "examples/da-confs/avail.json")] #[tokio::test] -async fn publish_to_da_layer( - madara: &ThreadSafeMadaraClient, - #[case] da_layer: DaLayer, - #[case] da_path: PathBuf, -) -> Result<(), anyhow::Error> { +async fn publish_to_da_layer(madara: &ThreadSafeMadaraClient, da_client: DaClient) -> Result<(), anyhow::Error> { let rpc = madara.get_starknet_client().await; let (txs, block_number) = { @@ -47,8 +40,6 @@ async fn publish_to_da_layer( let _tx = &txs[0]; - let da_client = get_da_client(da_layer, da_path); - // Check the state diff that has been published to the DA layer let published_block_number = da_client.last_published_state().await?; diff --git a/docs/da-contribution.md b/docs/da-contribution.md new file mode 100644 index 0000000000..784ff2c7f2 --- /dev/null +++ b/docs/da-contribution.md @@ -0,0 +1,30 @@ +# Data Availability Testing + +To contribute to the DA related crates, you will need to run the tests locally. + +## Run tests + +First you will need to run locally the DA devnet node. + +```bash +bash scripts/da_devnet.sh +``` + +Once it's up and running, you can run madara with the same DA layer. + +```bash +./target/release/madara --dev --da-layer --da-conf examples/da-confs/.json +``` + +Now you can run the tests inside the `da-test` crate. + +```bash +cd da-test +DA_LAYER= cargo test +``` + +Finally make sure to stop the DA devnet node. + +```bash +bash scripts/stop_da_devnet.sh +``` From ea8372fe85f6ea10f28b1e56b1be4c5dca721e24 Mon Sep 17 00:00:00 2001 From: Evolve Date: Wed, 13 Dec 2023 14:10:41 +0100 Subject: [PATCH 23/30] fix: build --- da-test/src/utils.rs | 6 +++--- da-test/state_diffs.rs | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/da-test/src/utils.rs b/da-test/src/utils.rs index af231381e9..0758286da7 100644 --- a/da-test/src/utils.rs +++ b/da-test/src/utils.rs @@ -33,8 +33,8 @@ pub fn get_da_client(da_layer: DaLayer) -> Box { pub(crate) fn get_da_path(da_layer: DaLayer) -> PathBuf { match da_layer { - DaLayer::Celestia => *CELESTIA_DA_CONFIG, - DaLayer::Ethereum => *ETHEREUM_DA_CONFIG, - DaLayer::Avail => *AVAIL_DA_CONFIG, + DaLayer::Celestia => CELESTIA_DA_CONFIG.clone(), + DaLayer::Ethereum => ETHEREUM_DA_CONFIG.clone(), + DaLayer::Avail => AVAIL_DA_CONFIG.clone(), } } diff --git a/da-test/state_diffs.rs b/da-test/state_diffs.rs index 4915adac11..4c4b9bf9c6 100644 --- a/da-test/state_diffs.rs +++ b/da-test/state_diffs.rs @@ -1,11 +1,10 @@ extern crate da_test; -use std::path::PathBuf; use std::vec; use da_test::fixtures::da_client; use ethers::types::I256; -use mc_data_availability::DaLayer; +use mc_data_availability::DaClient; use rstest::rstest; use starknet_ff::FieldElement; use starknet_providers::Provider; @@ -16,7 +15,10 @@ use starknet_rpc_test::Transaction; #[rstest] #[tokio::test] -async fn publish_to_da_layer(madara: &ThreadSafeMadaraClient, da_client: DaClient) -> Result<(), anyhow::Error> { +async fn publish_to_da_layer( + madara: &ThreadSafeMadaraClient, + da_client: Box, +) -> Result<(), anyhow::Error> { let rpc = madara.get_starknet_client().await; let (txs, block_number) = { From 6b723f1f9ae22c6064f2f1dc56e5f3fefe97a530 Mon Sep 17 00:00:00 2001 From: Evolve Date: Wed, 13 Dec 2023 14:22:26 +0100 Subject: [PATCH 24/30] fix: BlockDAData struct --- crates/client/commitment-state-diff/src/lib.rs | 12 +++++++----- crates/client/data-availability/src/lib.rs | 7 +++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/crates/client/commitment-state-diff/src/lib.rs b/crates/client/commitment-state-diff/src/lib.rs index 969d18bfcf..24111d4fff 100644 --- a/crates/client/commitment-state-diff/src/lib.rs +++ b/crates/client/commitment-state-diff/src/lib.rs @@ -20,11 +20,13 @@ use starknet_api::hash::StarkFelt; use starknet_api::state::{StorageKey as StarknetStorageKey, ThinStateDiff}; use thiserror::Error; +pub struct BlockDAData(pub BlockHash, pub ThinStateDiff, pub usize); + pub struct CommitmentStateDiffWorker { client: Arc, storage_event_stream: StorageEventStream, - tx: mpsc::Sender<(BlockHash, ThinStateDiff, usize)>, - msg: Option<(BlockHash, ThinStateDiff, usize)>, + tx: mpsc::Sender, + msg: Option, phantom: PhantomData, } @@ -32,7 +34,7 @@ impl CommitmentStateDiffWorker where C: BlockchainEvents, { - pub fn new(client: Arc, tx: mpsc::Sender<(BlockHash, ThinStateDiff, usize)>) -> Self { + pub fn new(client: Arc, tx: mpsc::Sender) -> Self { let storage_event_stream = client .storage_changes_notification_stream(None, None) .expect("the node storage changes notification stream should be up and running"); @@ -122,7 +124,7 @@ enum BuildCommitmentStateDiffError { fn build_commitment_state_diff( client: Arc, storage_notification: StorageNotification, -) -> Result<(BlockHash, ThinStateDiff, usize), BuildCommitmentStateDiffError> +) -> Result where C: ProvideRuntimeApi, C::Api: StarknetRuntimeApi, @@ -214,5 +216,5 @@ where } } - Ok((starknet_block_hash, commitment_state_diff, accessed_addrs.len())) + Ok(BlockDAData(starknet_block_hash, commitment_state_diff, accessed_addrs.len())) } diff --git a/crates/client/data-availability/src/lib.rs b/crates/client/data-availability/src/lib.rs index 6f38aacb5e..748fe95065 100644 --- a/crates/client/data-availability/src/lib.rs +++ b/crates/client/data-availability/src/lib.rs @@ -12,6 +12,7 @@ use async_trait::async_trait; use ethers::types::{I256, U256}; use futures::channel::mpsc; use futures::StreamExt; +use mc_commitment_state_diff::BlockDAData; use mp_hashers::HasherT; use pallet_starknet_runtime_api::StarknetRuntimeApi; use sc_client_api::client::BlockchainEvents; @@ -19,8 +20,6 @@ use serde::Deserialize; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; use sp_runtime::traits::{Block as BlockT, Header}; -use starknet_api::block::BlockHash; -use starknet_api::state::ThinStateDiff; use utils::state_diff_to_calldata; pub struct DataAvailabilityWorker(PhantomData<(B, C, H)>); @@ -79,10 +78,10 @@ where { pub async fn prove_current_block( da_mode: DaMode, - mut state_diffs_rx: mpsc::Receiver<(BlockHash, ThinStateDiff, usize)>, + mut state_diffs_rx: mpsc::Receiver, madara_backend: Arc>, ) { - while let Some((block_hash, csd, num_addr_accessed)) = state_diffs_rx.next().await { + while let Some(BlockDAData(block_hash, csd, num_addr_accessed)) = state_diffs_rx.next().await { log::info!("received state diff for block {block_hash}: {csd:?}. {num_addr_accessed} addresses accessed."); // store the da encoded calldata for the state update worker From 37ca3e76463960a8a5f57e5771b14b57a6e101af Mon Sep 17 00:00:00 2001 From: Evolve Date: Wed, 13 Dec 2023 14:49:15 +0100 Subject: [PATCH 25/30] fix: taplo + clean --- da-test/Cargo.toml | 8 +- da-test/contracts/Counter.cairo | 19 - da-test/contracts/Counter.casm.json | 733 -- da-test/contracts/Counter.sierra.json | 392 - da-test/contracts/Counter0/Counter0.cairo | 19 - da-test/contracts/Counter0/Counter0.casm.json | 579 -- .../contracts/Counter0/Counter0.sierra.json | 661 -- da-test/contracts/Counter1/Counter1.cairo | 19 - da-test/contracts/Counter1/Counter1.casm.json | 579 -- .../contracts/Counter1/Counter1.sierra.json | 660 -- da-test/contracts/Counter2/Counter2.cairo | 19 - da-test/contracts/Counter2/Counter2.casm.json | 579 -- .../contracts/Counter2/Counter2.sierra.json | 661 -- da-test/contracts/Counter3/Counter3.cairo | 19 - da-test/contracts/Counter3/Counter3.casm.json | 579 -- .../contracts/Counter3/Counter3.sierra.json | 661 -- da-test/contracts/Counter4/Counter4.cairo | 19 - da-test/contracts/Counter4/Counter4.casm.json | 579 -- .../contracts/Counter4/Counter4.sierra.json | 661 -- da-test/contracts/Counter5/Counter5.cairo | 19 - da-test/contracts/Counter5/Counter5.casm.json | 579 -- .../contracts/Counter5/Counter5.sierra.json | 661 -- da-test/contracts/ERC20.cairo | 18 - da-test/contracts/ERC20.json | 8597 ----------------- .../contracts/generate_declare_contracts.sh | 31 - 25 files changed, 4 insertions(+), 17347 deletions(-) delete mode 100644 da-test/contracts/Counter.cairo delete mode 100644 da-test/contracts/Counter.casm.json delete mode 100644 da-test/contracts/Counter.sierra.json delete mode 100644 da-test/contracts/Counter0/Counter0.cairo delete mode 100644 da-test/contracts/Counter0/Counter0.casm.json delete mode 100644 da-test/contracts/Counter0/Counter0.sierra.json delete mode 100644 da-test/contracts/Counter1/Counter1.cairo delete mode 100644 da-test/contracts/Counter1/Counter1.casm.json delete mode 100644 da-test/contracts/Counter1/Counter1.sierra.json delete mode 100644 da-test/contracts/Counter2/Counter2.cairo delete mode 100644 da-test/contracts/Counter2/Counter2.casm.json delete mode 100644 da-test/contracts/Counter2/Counter2.sierra.json delete mode 100644 da-test/contracts/Counter3/Counter3.cairo delete mode 100644 da-test/contracts/Counter3/Counter3.casm.json delete mode 100644 da-test/contracts/Counter3/Counter3.sierra.json delete mode 100644 da-test/contracts/Counter4/Counter4.cairo delete mode 100644 da-test/contracts/Counter4/Counter4.casm.json delete mode 100644 da-test/contracts/Counter4/Counter4.sierra.json delete mode 100644 da-test/contracts/Counter5/Counter5.cairo delete mode 100644 da-test/contracts/Counter5/Counter5.casm.json delete mode 100644 da-test/contracts/Counter5/Counter5.sierra.json delete mode 100644 da-test/contracts/ERC20.cairo delete mode 100644 da-test/contracts/ERC20.json delete mode 100755 da-test/contracts/generate_declare_contracts.sh diff --git a/da-test/Cargo.toml b/da-test/Cargo.toml index 16bfc61952..df1b14cafa 100644 --- a/da-test/Cargo.toml +++ b/da-test/Cargo.toml @@ -8,10 +8,11 @@ edition = "2021" anyhow = "1.0.72" assert_matches = "1.5.0" -clap = { workspace = true, features = ["derive"] } async-lock = "3.1.0" -lazy_static = "1.4.0" +clap = { workspace = true, features = ["derive"] } +ethers = "2.0.7" flate2 = { workspace = true } +lazy_static = "1.4.0" reqwest = "0.11.18" rstest = "0.18.1" serde = { version = "1.0.192", features = ["derive"] } @@ -22,9 +23,8 @@ starknet-core = { workspace = true } starknet-crypto = { workspace = true } starknet-ff = { workspace = true } starknet-providers = { workspace = true } -starknet-signers = { workspace = true } -ethers = "2.0.7" starknet-rpc-test = { path = "../starknet-rpc-test" } +starknet-signers = { workspace = true } thiserror = { workspace = true } tokio = { version = "1.34.0", features = ["rt", "macros", "parking_lot"] } url = "2.4.1" diff --git a/da-test/contracts/Counter.cairo b/da-test/contracts/Counter.cairo deleted file mode 100644 index 11c2dffb6f..0000000000 --- a/da-test/contracts/Counter.cairo +++ /dev/null @@ -1,19 +0,0 @@ -#[starknet::contract] -mod Counter { - #[storage] - struct Storage { - balance: felt252, - } - - // Increases the balance by the given amount. - #[external(v0)] - fn increase_balance(ref self: ContractState, amount: felt252) { - self.balance.write(self.balance.read() + amount); - } - - // Returns the current balance. - #[external(v0)] - fn get_balance(self: @ContractState) -> felt252 { - self.balance.read() - } -} diff --git a/da-test/contracts/Counter.casm.json b/da-test/contracts/Counter.casm.json deleted file mode 100644 index 28c96a4080..0000000000 --- a/da-test/contracts/Counter.casm.json +++ /dev/null @@ -1,733 +0,0 @@ -{ - "prime": "0x800000000000011000000000000000000000000000000000000000000000001", - "compiler_version": "2.1.0", - "bytecode": [ - "0xa0680017fff8000", - "0x7", - "0x482680017ffa8000", - "0xffffffffffffffffffffffffffffa9e8", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x6e", - "0x4825800180007ffa", - "0x5618", - "0x400280007ff97fff", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xe8", - "0x482680017ff98000", - "0x1", - "0x20680017fff7ffd", - "0x55", - "0x48307ffb80007ffc", - "0x4824800180007fff", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0xfe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff77fff8000", - "0x48127fe67fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x1b0", - "0x482480017fff8000", - "0x1af", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007fe8", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff67fff", - "0x10780017fff7fff", - "0x20", - "0x4824800180007fe8", - "0x0", - "0x400080007ff77fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x48127ff47fff8000", - "0x1104800180018000", - "0xdc", - "0x482480017fbe8000", - "0x1", - "0x20680017fff7ffc", - "0xc", - "0x40780017fff7fff", - "0x1", - "0x48127ffe7fff8000", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff48000", - "0x1", - "0x48127fe37fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ffd7fff8000", - "0x48127fec7fff8000", - "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", - "0xffffffffffffffffffffffffffffe2f0", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x5e", - "0x4825800180007ffa", - "0x1d10", - "0x400280007ff97fff", - "0x48297ffc80007ffd", - "0x482680017ff98000", - "0x1", - "0x4824800180007ffe", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x82", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff87fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x134", - "0x482480017fff8000", - "0x133", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007ff7", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff77fff", - "0x10780017fff7fff", - "0x24", - "0x4824800180007ff7", - "0x0", - "0x400080007ff87fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x87", - "0x482480017fd88000", - "0x1", - "0x20680017fff7ffc", - "0x11", - "0x40780017fff7fff", - "0x1", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x91", - "0x48127ff77fff8000", - "0x48127ff17fff8000", - "0x48127ff17fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff58000", - "0x1", - "0x48127ff27fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482680017ff98000", - "0x1", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x48297ffc80007ffd", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0xa", - "0x482680017ffc8000", - "0x1", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x0", - "0x480a7ffc7fff8000", - "0x10780017fff7fff", - "0x8", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x20680017fff7ffc", - "0x8", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x0", - "0x480080007ffa8000", - "0x208b7fff7fff7ffe", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x3e", - "0x20680017fff7ffd", - "0x19", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48287ffd7ffd8000", - "0x1104800180018000", - "0x68", - "0x20680017fff7ffd", - "0xb", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x18", - "0x48127fe37fff8000", - "0x48127fe37fff8000", - "0x480680017fff8000", - "0x1", - "0x48127fe37fff8000", - "0x48127fe37fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x18", - "0x20680017fff7ffd", - "0xa", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x400380007ffd7ffb", - "0x480a7ffc7fff8000", - "0x482680017ffd8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x206f38f7e4f15e87567361213c28f235cccdaa1d7fd34c9db1dfe9489c6a091", - "0x480680017fff8000", - "0x53746f7261676552656164", - "0x400280007ffd7fff", - "0x400380017ffd7ffc", - "0x400280027ffd7ffd", - "0x400280037ffd7ffe", - "0x480280057ffd8000", - "0x20680017fff7fff", - "0xc", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480280067ffd8000", - "0x10780017fff7fff", - "0x9", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x8", - "0x480680017fff8000", - "0x1", - "0x480280067ffd8000", - "0x480280077ffd8000", - "0x1104800180018000", - "0x47", - "0x20680017fff7ffd", - "0xa", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x206f38f7e4f15e87567361213c28f235cccdaa1d7fd34c9db1dfe9489c6a091", - "0x480680017fff8000", - "0x53746f726167655772697465", - "0x400280007ffc7fff", - "0x400380017ffc7ffb", - "0x400280027ffc7ffd", - "0x400280037ffc7ffe", - "0x400380047ffc7ffd", - "0x480280067ffc8000", - "0x20680017fff7fff", - "0xd", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x10780017fff7fff", - "0x9", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x9", - "0x480680017fff8000", - "0x1", - "0x480280077ffc8000", - "0x480280087ffc8000", - "0x1104800180018000", - "0x21", - "0x20680017fff7ffd", - "0xb", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x8", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x9", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe" - ], - "hints": [ - [ - 0, - [ - { - "TestLessThanOrEqual": { - "lhs": { - "Immediate": "0x5618" - }, - "rhs": { - "Deref": { - "register": "FP", - "offset": -6 - } - }, - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 28, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 47, - [ - { - "TestLessThanOrEqual": { - "lhs": { - "Immediate": "0x0" - }, - "rhs": { - "Deref": { - "register": "AP", - "offset": -23 - } - }, - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 68, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 86, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 101, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 115, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 130, - [ - { - "TestLessThanOrEqual": { - "lhs": { - "Immediate": "0x1d10" - }, - "rhs": { - "Deref": { - "register": "FP", - "offset": -6 - } - }, - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 152, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 171, - [ - { - "TestLessThanOrEqual": { - "lhs": { - "Immediate": "0x0" - }, - "rhs": { - "Deref": { - "register": "AP", - "offset": -8 - } - }, - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 191, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 214, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 229, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 356, - [ - { - "SystemCall": { - "system": { - "Deref": { - "register": "FP", - "offset": -3 - } - } - } - } - ] - ], - [ - 406, - [ - { - "SystemCall": { - "system": { - "Deref": { - "register": "FP", - "offset": -4 - } - } - } - } - ] - ] - ], - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0x362398bec32bc0ebb411203221a35a0301193a96f317ebe5e40be9f60d15320", - "offset": 0, - "builtins": ["range_check"] - }, - { - "selector": "0x39e11d48192e4333233c7eb19d10ad67c362bb28580c604d67884c85da39695", - "offset": 130, - "builtins": ["range_check"] - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - } -} diff --git a/da-test/contracts/Counter.sierra.json b/da-test/contracts/Counter.sierra.json deleted file mode 100644 index ceff05db0e..0000000000 --- a/da-test/contracts/Counter.sierra.json +++ /dev/null @@ -1,392 +0,0 @@ -{ - "sierra_program": [ - "0x1", - "0x3", - "0x0", - "0x2", - "0x1", - "0x0", - "0xc9", - "0x37", - "0x1f", - "0x52616e6765436865636b", - "0x0", - "0x4761734275696c74696e", - "0x66656c74323532", - "0x4172726179", - "0x1", - "0x2", - "0x536e617073686f74", - "0x3", - "0x537472756374", - "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", - "0x4", - "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", - "0x456e756d", - "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", - "0x6", - "0x753332", - "0x53797374656d", - "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", - "0xa", - "0x5", - "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", - "0xc", - "0xb", - "0x4275696c74696e436f737473", - "0xc9f3fad1dc4fa20af164b78a214f371dee3ef8a9e7d5a9ddc2d3e8b6328f9c", - "0x3f4f1a5ef38b5e28d030a36a5cec556b9a86d203f74fc599b9f9e8465e8e3ca", - "0xf", - "0x10", - "0xc76d156a5e3bcdc52519814afd123b4c55c2280b8ffb593aa360c9226aa4f5", - "0x11", - "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", - "0x13", - "0x426f78", - "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", - "0x15", - "0x54d1ece615ecb19d7c6709a8a27d7cf65ff271497980eda4c723bf587f0cae", - "0x17", - "0x53746f726167654261736541646472657373", - "0x53746f7261676541646472657373", - "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", - "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", - "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", - "0x1d", - "0x6f", - "0x7265766f6b655f61705f747261636b696e67", - "0x77697468647261775f676173", - "0x6272616e63685f616c69676e", - "0x73746f72655f74656d70", - "0x66756e6374696f6e5f63616c6c", - "0x656e756d5f6d61746368", - "0x7", - "0x7374727563745f6465636f6e737472756374", - "0x61727261795f6c656e", - "0x736e617073686f745f74616b65", - "0x8", - "0x64726f70", - "0x7533325f636f6e7374", - "0x72656e616d65", - "0x7533325f6571", - "0x9", - "0x61727261795f6e6577", - "0x66656c743235325f636f6e7374", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x61727261795f617070656e64", - "0x7374727563745f636f6e737472756374", - "0x656e756d5f696e6974", - "0xd", - "0x6765745f6275696c74696e5f636f737473", - "0xe", - "0x77697468647261775f6761735f616c6c", - "0x12", - "0x4f7574206f6620676173", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x14", - "0x61727261795f736e617073686f745f706f705f66726f6e74", - "0x16", - "0x6a756d70", - "0x756e626f78", - "0x66656c743235325f616464", - "0x18", - "0x73746f726167655f626173655f616464726573735f636f6e7374", - "0x206f38f7e4f15e87567361213c28f235cccdaa1d7fd34c9db1dfe9489c6a091", - "0x73746f726167655f616464726573735f66726f6d5f62617365", - "0x1a", - "0x73746f726167655f726561645f73797363616c6c", - "0x1b", - "0x73746f726167655f77726974655f73797363616c6c", - "0x1c", - "0x1e", - "0x199", - "0xffffffffffffffff", - "0x63", - "0x54", - "0x24", - "0x19", - "0x20", - "0x21", - "0x22", - "0x23", - "0x25", - "0x46", - "0x26", - "0x27", - "0x28", - "0x29", - "0x2d", - "0x2e", - "0x2f", - "0x30", - "0x2a", - "0x2b", - "0x2c", - "0x31", - "0x3f", - "0x32", - "0x33", - "0x34", - "0x35", - "0x36", - "0x37", - "0x38", - "0x39", - "0x3a", - "0x3b", - "0x3c", - "0x3d", - "0x3e", - "0x40", - "0x41", - "0x42", - "0x43", - "0x44", - "0x45", - "0x47", - "0x48", - "0x49", - "0x4a", - "0x4b", - "0x4c", - "0x4d", - "0x4e", - "0x4f", - "0x50", - "0x51", - "0x52", - "0x53", - "0x55", - "0x56", - "0x57", - "0x58", - "0x59", - "0x5a", - "0x5b", - "0x5c", - "0x5d", - "0x5e", - "0x5f", - "0xc6", - "0x90", - "0xb9", - "0xb2", - "0xdb", - "0xe0", - "0xea", - "0x116", - "0x110", - "0x12c", - "0x145", - "0x14a", - "0x155", - "0x16a", - "0x16f", - "0x60", - "0x61", - "0x62", - "0x17a", - "0x64", - "0x65", - "0x66", - "0x67", - "0x68", - "0x69", - "0x187", - "0x6a", - "0x193", - "0x6b", - "0x6c", - "0x6d", - "0x6e", - "0x71", - "0xd4", - "0xf1", - "0xf5", - "0x11e", - "0x132", - "0x138", - "0x15b", - "0x181", - "0x18d", - "0xf51", - "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", - "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", - "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", - "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", - "0x70a090610062a02090e090607062902090e02280227180626062502090e10", - "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", - "0x606313806063b0207063a3806063938060637070606361506063534060633", - "0x70606314007063f0706063e10060639090906323d06063107060639023c38", - "0x6063102454406063106060631060744060743180606421406064207060641", - "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", - "0x374a07063f150606394907063f020744060743170606421506064209060639", - "0x100906320906063107060637210606354b060633150906321d0606391d0606", - "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", - "0x10060631060734060743340606310207340607430706063b0706064f4d0606", - "0x422606063551060633380906320250340906321c0606311c0606371d060635", - "0x4b060743210606421c060639060748060743480606310207480607431f0606", - "0x3102075706074302565506063102545307065206074b0607434b0606310207", - "0x7435906063102075906074302583d0906325706063b060757060743570606", - "0x31020751060743260606422c0606355a060633140906325906063b06075906", - "0x5a06063102075a0607432c0606425906063357060633060751060743510606", - "0x60207023410075d150c075c070602070602025c060202025b06075a060743", - "0x3d0610020c065c060c0615023d38075c0614060c0214065c0609060902025c", - "0x3d0246065c064406380244065c0638063402025c0602070217065e18065c07", - "0x22148075c061f063d021f065c06021802025c061c0614021d1c075c064606", - "0x24b065c064b06440224065c06210617024b065c061d061702025c06480614", - "0x251065c0607061d02025c0618061c02025c06020702025f025c07244b0746", - "0x240255065c06024b0260065c06022102025c0626064802264d075c0651061f", - "0x2c065c06575907510259065c0602260257065c065560074d0255065c065506", - "0x65c064d061d0261065c061506550200065c060c0615025a065c062c066002", - "0x62c0264065c06025902025c06020702636261000c0663065c065a06570262", - "0x5c06020002025c0602070268670766655f075c0764150c095a0264065c0664", - "0x66a0662026c065c0607061d026b065c06650655026a065c06690661026906", - "0x65c065f06150271706f095c066e6d6c6b0c63026e065c06180624026d065c", - "0x65c06022102025c0672065f02025c0602070274067372065c07710664025f", - "0x5c067806690278065c0677066802025c06760667027776075c067506650275", - "0x670061d027c065c066f0655027b065c065f0615027a065c0679066a027906", - "0x7f065c0674066002025c060207027e7d7c7b0c067e065c067a0657027d065c", - "0x65c067f06570281065c0670061d0273065c066f06550280065c065f061502", - "0x6026f0283065c06022102025c0618061c02025c06020702828173800c0682", - "0x8607510286065c0602260285065c068483074d0284065c068406240284065c", - "0x1d0289065c066806550288065c066706150287065c066606600266065c0685", - "0x617064802025c060207028b8a89880c068b065c06870657028a065c060706", - "0x8d065c068d0624028d065c060271028c065c06022102025c0638067002025c", - "0x5c069006600290065c068e8f0751028f065c060226028e065c068d8c074d02", - "0x6910657025e065c0607061d0293065c061506550292065c060c0615029106", - "0x6f0295065c06022102025c0609067002025c06020702945e93920c0694065c", - "0x510298065c0602260297065c069695074d0296065c069606240296065c0602", - "0x9c065c06340655029b065c06100615029a065c069906600299065c06979807", - "0x70602025c060202029e9d9c9b0c069e065c069a0657029d065c0607061d02", - "0x5c063806380238065c0609063402025c060207023410079f150c075c070602", - "0x5c0617063d0217065c06021802025c06140614021814075c063d063d023d06", - "0x61c0644021d065c06460617021c065c0618061702025c0644061402464407", - "0x7061d02025c0602070202a0025c071d1c0746020c065c060c0615021c065c", - "0x6024b024b065c06022102025c0648064802481f075c0621061f0221065c06", - "0x2607510226065c060226024d065c06244b074d0224065c062406240224065c", - "0x1d0257065c061506550255065c060c06150260065c065106600251065c064d", - "0x5c06025902025c060207022c5957550c062c065c066006570259065c061f06", - "0x25c06020702636207a16100075c075a150c095a025a065c065a062c025a06", - "0x25c0665066c026765075c065f066b025f065c066406610264065c06020002", - "0x671706f096d0271065c066706620270065c0607061d026f065c0661065502", - "0x2025c060207026c06a26b065c076a066e0200065c06000615026a6968095c", - "0x2025c0672061c027472075c066d0674026e065c060221026d065c066b0672", - "0x5c06760648027675075c06787707760278065c066e06750277065c06740624", - "0x5c067b0669027b065c067a066802025c06790667027a79075c067506650202", - "0x669061d027f065c06680655027e065c06000615027d065c067c066a027c06", - "0x81065c066c066002025c0602070273807f7e0c0673065c067d06570280065c", - "0x65c068106570284065c0669061d0283065c066806550282065c0600061502", - "0x6606240266065c06026f0286065c06022102025c06020702858483820c0685", - "0x600289065c06878807510288065c0602260287065c066686074d0266065c06", - "0x28d065c0607061d028c065c06630655028b065c06620615028a065c068906", - "0x5c06022102025c0609067002025c060207028e8d8c8b0c068e065c068a0657", - "0x5c0602260291065c06908f074d0290065c069006240290065c06026f028f06", - "0x3406550294065c06100615025e065c069306600293065c0691920751029206", - "0x602063402979695940c0697065c065e06570296065c0607061d0295065c06", - "0x790215065c0609067802025c060207020c06a30907075c070606770206065c", - "0x5c06027c02025c0602070202a406027b0234065c0615067a0210065c060706", - "0x61006680234065c063d067a0210065c060c0679023d065c0638067d023806", - "0x67f02025c060207021706a518065c0734067e0214065c061406090214065c", - "0x81021d065c06140609021c065c064606730246065c064406800244065c0618", - "0x248065c06027c02025c0617064802025c060207021f1d07061f065c061c06", - "0x6027c02244b070624065c06210681024b065c061406090221065c06480682", - "0xc065c06070684020907070609065c060606830207065c0602061d0206065c", - "0x5c061006860218065c0606061d0214065c06020655021015075c060c068502", - "0x25c060207024606a644065c073d066e023d3834095c061718140966021706", - "0x5c0638061d024b065c06340655021d065c06091c0787021c065c0644067202", - "0x21481f095c06264d244b0c880226065c061d0624024d065c06150686022406", - "0x6570648025755075c0651068a02025c060207026006a751065c0721068902", - "0x65a068c025a065c062c59078b022c065c06027c0259065c0655066102025c", - "0x6261090663065c0600068d0262065c0648061d0261065c061f06550200065c", - "0x65065c0648061d025f065c061f06550264065c0660068e02025c0602070263", - "0x609061c02025c0615068f02025c0602070267655f090667065c0664068d02", - "0x668068d026a065c0638061d0269065c063406550268065c0646068e02025c", - "0x65c0606061d0234065c060206550209065c06070684026f6a6909066f065c", - "0x6a814065c0710066e0210150c095c063d38340966023d065c060906860238", - "0x46065c064406910244065c061706900217065c0614067202025c0602070218", - "0x7021f1d1c09061f065c06460692021d065c0615061d021c065c060c065502", - "0x692024b065c0615061d0221065c060c06550248065c0618069302025c0602", - "0x6027c0209065c060706074d0207065c0602068002244b21090624065c0648", - "0x2025c0607068f021015070610065c060c06830215065c06090675020c065c", - "0x950215065c061506440215065c060218020c065c060906940209065c06025e", - "0x2025c0602070218143d09a9383410095c070c1506020c96020c065c060c06", - "0x1c065c061706980246065c0634061d0244065c061006550217065c06380697", - "0x61d0244065c063d0655021d065c0618069902025c0602070202aa06027b02", - "0x6e021f065c0648069b0248065c061c069a021c065c061d06980246065c0614", - "0x4d065c062406900224065c0621067202025c060207024b06ab21065c071f06", - "0x65c062606920260065c0646061d0251065c064406550226065c064d069102", - "0x61d0259065c064406550257065c064b069302025c06020702556051090655", - "0x15068f02150c075c06070685025a2c5909065a065c06570692022c065c0646", - "0x5c063806440238065c0602180234065c061006940210065c06025e02025c06", - "0x2070244171809ac143d075c070934380602159c0234065c06340695023806", - "0x614061d021d065c063d0655021c065c0646069d0246065c06027c02025c06", - "0x21065c064406ae02025c0602070202ad06027b0248065c061c069e021f065c", - "0x65c064806af0248065c0621069e021f065c0617061d021d065c0618065502", - "0x64d06b202025c060207022606b14d065c074b065d024b065c062406b00224", - "0x61d0257065c061d06550255065c066006b40260065c06510c07b30251065c", - "0x25c060c068f02025c060207022c595709062c065c065506b50259065c061f", - "0x65c065a06b50261065c061f061d0200065c061d0655025a065c062606b602", - "0x9065c0606069002025c060207020706b806065c070206b702626100090662", - "0x65c06022602025c0602070215060615065c060c0692020c065c0609069102", - "0xb9023d06063d065c063806920238065c063406930234065c06071007510210", - "0xc065c060906bc0209065c060606bb02025c060207020706ba06065c070206", - "0x5c06071007510210065c06022602025c0602070215060615065c060c06bd02", - "0x3d06020c153d06020c183d06063d065c063806bd0238065c063406be023406", - "0x73d06c0023415071506bf09070602443d06020c153d06020c020907060244", - "0x7c30706024b3d06091d3d0609c209070602483d0609071d3d060cc102103d", - "0x602513d0609071c3d060cc50706024b3d06091c3d0609c406021009070907", - "0xc8025a065906c7024b065706c60907" - ], - "sierra_program_debug_info": { - "type_names": [], - "libfunc_names": [], - "user_func_names": [] - }, - "contract_class_version": "0.1.0", - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0x362398bec32bc0ebb411203221a35a0301193a96f317ebe5e40be9f60d15320", - "function_idx": 0 - }, - { - "selector": "0x39e11d48192e4333233c7eb19d10ad67c362bb28580c604d67884c85da39695", - "function_idx": 1 - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - }, - "abi": [ - { - "type": "function", - "name": "increase_balance", - "inputs": [ - { - "name": "amount", - "type": "core::felt252" - } - ], - "outputs": [], - "state_mutability": "external" - }, - { - "type": "function", - "name": "get_balance", - "inputs": [], - "outputs": [ - { - "type": "core::felt252" - } - ], - "state_mutability": "view" - }, - { - "type": "event", - "name": "Counter::Counter::Counter::Event", - "kind": "enum", - "variants": [] - } - ] -} diff --git a/da-test/contracts/Counter0/Counter0.cairo b/da-test/contracts/Counter0/Counter0.cairo deleted file mode 100644 index 5468441837..0000000000 --- a/da-test/contracts/Counter0/Counter0.cairo +++ /dev/null @@ -1,19 +0,0 @@ -#[starknet::contract] -mod Counter0 { - #[storage] - struct Storage { - balance_0: felt252, - } - - // Increases the balance_0 by the given amount. - #[external(v0)] - fn increase_balance_0(ref self: ContractState, amount: felt252) { - self.balance_0.write(self.balance_0.read() + amount + 0 + 1); - } - - // Returns the current balance_0. - #[external(v0)] - fn get_balance_0(self: @ContractState) -> felt252 { - self.balance_0.read() - } -} diff --git a/da-test/contracts/Counter0/Counter0.casm.json b/da-test/contracts/Counter0/Counter0.casm.json deleted file mode 100644 index 2028e1ebfc..0000000000 --- a/da-test/contracts/Counter0/Counter0.casm.json +++ /dev/null @@ -1,579 +0,0 @@ -{ - "prime": "0x800000000000011000000000000000000000000000000000000000000000001", - "compiler_version": "2.1.0", - "bytecode": [ - "0xa0680017fff8000", - "0x7", - "0x482680017ffa8000", - "0xffffffffffffffffffffffffffffa920", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x6e", - "0x4825800180007ffa", - "0x56e0", - "0x400280007ff97fff", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xe8", - "0x482680017ff98000", - "0x1", - "0x20680017fff7ffd", - "0x55", - "0x48307ffb80007ffc", - "0x4824800180007fff", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0xfe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff77fff8000", - "0x48127fe67fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x1b4", - "0x482480017fff8000", - "0x1b3", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007fe8", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff67fff", - "0x10780017fff7fff", - "0x20", - "0x4824800180007fe8", - "0x0", - "0x400080007ff77fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x48127ff47fff8000", - "0x1104800180018000", - "0xdc", - "0x482480017fbc8000", - "0x1", - "0x20680017fff7ffc", - "0xc", - "0x40780017fff7fff", - "0x1", - "0x48127ffe7fff8000", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff48000", - "0x1", - "0x48127fe37fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ffd7fff8000", - "0x48127fec7fff8000", - "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", - "0xffffffffffffffffffffffffffffe2f0", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x5e", - "0x4825800180007ffa", - "0x1d10", - "0x400280007ff97fff", - "0x48297ffc80007ffd", - "0x482680017ff98000", - "0x1", - "0x4824800180007ffe", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x82", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff87fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x138", - "0x482480017fff8000", - "0x137", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007ff7", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff77fff", - "0x10780017fff7fff", - "0x24", - "0x4824800180007ff7", - "0x0", - "0x400080007ff87fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x8b", - "0x482480017fd88000", - "0x1", - "0x20680017fff7ffc", - "0x11", - "0x40780017fff7fff", - "0x1", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x95", - "0x48127ff77fff8000", - "0x48127ff17fff8000", - "0x48127ff17fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff58000", - "0x1", - "0x48127ff27fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482680017ff98000", - "0x1", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x48297ffc80007ffd", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0xa", - "0x482680017ffc8000", - "0x1", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x0", - "0x480a7ffc7fff8000", - "0x10780017fff7fff", - "0x8", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x20680017fff7ffc", - "0x8", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x0", - "0x480080007ffa8000", - "0x208b7fff7fff7ffe", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x42", - "0x20680017fff7ffd", - "0x1d", - "0x48287ffd7fff8000", - "0x482480017fff8000", - "0x0", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x482480017ffd8000", - "0x1", - "0x1104800180018000", - "0x68", - "0x20680017fff7ffd", - "0xb", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1a", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x480680017fff8000", - "0x1", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x18", - "0x20680017fff7ffd", - "0xa", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x400380007ffd7ffb", - "0x480a7ffc7fff8000", - "0x482680017ffd8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x904f2833296109453ae83969e306a0ffe26d05f3d29af52bcc8fe626ac1d6b", - "0x480680017fff8000", - "0x53746f7261676552656164", - "0x400280007ffd7fff", - "0x400380017ffd7ffc", - "0x400280027ffd7ffd", - "0x400280037ffd7ffe", - "0x480280057ffd8000", - "0x20680017fff7fff", - "0xc", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480280067ffd8000", - "0x10780017fff7fff", - "0x9", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x8", - "0x480680017fff8000", - "0x1", - "0x480280067ffd8000", - "0x480280077ffd8000", - "0x1104800180018000", - "0x47", - "0x20680017fff7ffd", - "0xa", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x904f2833296109453ae83969e306a0ffe26d05f3d29af52bcc8fe626ac1d6b", - "0x480680017fff8000", - "0x53746f726167655772697465", - "0x400280007ffc7fff", - "0x400380017ffc7ffb", - "0x400280027ffc7ffd", - "0x400280037ffc7ffe", - "0x400380047ffc7ffd", - "0x480280067ffc8000", - "0x20680017fff7fff", - "0xd", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x10780017fff7fff", - "0x9", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x9", - "0x480680017fff8000", - "0x1", - "0x480280077ffc8000", - "0x480280087ffc8000", - "0x1104800180018000", - "0x21", - "0x20680017fff7ffd", - "0xb", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x8", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x9", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe" - ], - "hints": [ - [ - 0, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x56e0" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 47, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -23 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 130, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x1d10" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 171, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -8 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 360, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -3 } } - } - } - ] - ], - [ - 410, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -4 } } - } - } - ] - ] - ], - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0xb61015b8f0a9aa3e16e55c2d2094e84095c29c1376bd5a44680c1449e63575", - "offset": 0, - "builtins": ["range_check"] - }, - { - "selector": "0x113e3540ab23de9f67c67a9c0ee7796d0ebb8afafdba2af272927e34f1713e2", - "offset": 130, - "builtins": ["range_check"] - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - } -} diff --git a/da-test/contracts/Counter0/Counter0.sierra.json b/da-test/contracts/Counter0/Counter0.sierra.json deleted file mode 100644 index cc0e80ccc8..0000000000 --- a/da-test/contracts/Counter0/Counter0.sierra.json +++ /dev/null @@ -1,661 +0,0 @@ -{ - "sierra_program": [ - "0x1", - "0x3", - "0x0", - "0x2", - "0x1", - "0x0", - "0xca", - "0x36", - "0x1f", - "0x52616e6765436865636b", - "0x0", - "0x4761734275696c74696e", - "0x66656c74323532", - "0x4172726179", - "0x1", - "0x2", - "0x536e617073686f74", - "0x3", - "0x537472756374", - "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", - "0x4", - "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", - "0x456e756d", - "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", - "0x6", - "0x753332", - "0x53797374656d", - "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", - "0xa", - "0x5", - "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", - "0xc", - "0xb", - "0x4275696c74696e436f737473", - "0x1e1ba6f64cc53a607e0869ea0c734b5241e1d83aa67b1a4de8594a296768b91", - "0x7278224f70cfcb7322ec5f24ac8a315a8f2d83e4751e4032c52eba0d0c215b", - "0xf", - "0x10", - "0x26bf7e20eb37b4072fcf3a87bbfbea1a03c515e6a585e8079ceeb51b005cfcf", - "0x11", - "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", - "0x13", - "0x426f78", - "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", - "0x15", - "0x332c8facfa6abea2729b057ae3ff989da7f108683698295e575ed04f5fa24a1", - "0x17", - "0x53746f726167654261736541646472657373", - "0x53746f7261676541646472657373", - "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", - "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", - "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", - "0x1d", - "0x71", - "0x7265766f6b655f61705f747261636b696e67", - "0x77697468647261775f676173", - "0x6272616e63685f616c69676e", - "0x73746f72655f74656d70", - "0x66756e6374696f6e5f63616c6c", - "0x656e756d5f6d61746368", - "0x7", - "0x7374727563745f6465636f6e737472756374", - "0x61727261795f6c656e", - "0x736e617073686f745f74616b65", - "0x8", - "0x64726f70", - "0x7533325f636f6e7374", - "0x72656e616d65", - "0x7533325f6571", - "0x9", - "0x61727261795f6e6577", - "0x66656c743235325f636f6e7374", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x61727261795f617070656e64", - "0x7374727563745f636f6e737472756374", - "0x656e756d5f696e6974", - "0xd", - "0x6765745f6275696c74696e5f636f737473", - "0xe", - "0x77697468647261775f6761735f616c6c", - "0x12", - "0x4f7574206f6620676173", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x14", - "0x61727261795f736e617073686f745f706f705f66726f6e74", - "0x16", - "0x6a756d70", - "0x756e626f78", - "0x66656c743235325f616464", - "0x18", - "0x73746f726167655f626173655f616464726573735f636f6e7374", - "0x904f2833296109453ae83969e306a0ffe26d05f3d29af52bcc8fe626ac1d6b", - "0x73746f726167655f616464726573735f66726f6d5f62617365", - "0x1a", - "0x73746f726167655f726561645f73797363616c6c", - "0x1b", - "0x73746f726167655f77726974655f73797363616c6c", - "0x1c", - "0x1e", - "0x19f", - "0xffffffffffffffff", - "0x63", - "0x54", - "0x24", - "0x19", - "0x20", - "0x21", - "0x22", - "0x23", - "0x25", - "0x46", - "0x26", - "0x27", - "0x28", - "0x29", - "0x2d", - "0x2e", - "0x2f", - "0x30", - "0x2a", - "0x2b", - "0x2c", - "0x31", - "0x3f", - "0x32", - "0x33", - "0x34", - "0x35", - "0x36", - "0x37", - "0x38", - "0x39", - "0x3a", - "0x3b", - "0x3c", - "0x3d", - "0x3e", - "0x40", - "0x41", - "0x42", - "0x43", - "0x44", - "0x45", - "0x47", - "0x48", - "0x49", - "0x4a", - "0x4b", - "0x4c", - "0x4d", - "0x4e", - "0x4f", - "0x50", - "0x51", - "0x52", - "0x53", - "0x55", - "0x56", - "0x57", - "0x58", - "0x59", - "0x5a", - "0x5b", - "0x5c", - "0x5d", - "0x5e", - "0x5f", - "0xc6", - "0x90", - "0xb9", - "0xb2", - "0xdb", - "0xe0", - "0xea", - "0x11c", - "0x116", - "0x132", - "0x14b", - "0x150", - "0x15b", - "0x170", - "0x60", - "0x61", - "0x175", - "0x62", - "0x64", - "0x65", - "0x180", - "0x66", - "0x67", - "0x68", - "0x69", - "0x6a", - "0x6b", - "0x18d", - "0x6c", - "0x199", - "0x6d", - "0x6e", - "0x6f", - "0x70", - "0xd4", - "0xf1", - "0xf5", - "0x124", - "0x138", - "0x13e", - "0x161", - "0x187", - "0x193", - "0xf89", - "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", - "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", - "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", - "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", - "0x70a090610062a02090e090607062902090e02280227180626062502090e10", - "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", - "0x606313806063b0207063a3806063938060637070606361506063534060633", - "0x70606314007063f0706063e10060639090906323d06063107060639023c38", - "0x6063102454406063106060631060744060743180606421406064207060641", - "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", - "0x374a07063f150606394907063f020744060743170606421506064209060639", - "0x100906320906063107060637210606354b060633150906321d0606391d0606", - "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", - "0x10060631060734060743340606310207340607430706063b0706064f4d0606", - "0x33380906320607063f0207063f0250340906321c0606311c0606371d060635", - "0x1c060639060748060743480606310207480607431f06064226060635510606", - "0x565506063102545307065206074b0607434b06063102074b06074321060642", - "0x5906074302583d0906325706063b0607570607435706063102075706074302", - "0x606422c0606355a060633140906325906063b060759060743590606310207", - "0x7432c06064259060633570606330607510607435106063102075106074326", - "0x150c075c070602070602025c060202025b06075a0607435a06063102075a06", - "0xc0615023d38075c0614060c0214065c0609060902025c060207023410075d", - "0x380244065c0638063402025c0602070217065e18065c073d0610020c065c06", - "0x3d021f065c06021802025c061c0614021d1c075c0646063d0246065c064406", - "0x224065c06210617024b065c061d061702025c06480614022148075c061f06", - "0x2025c0618061c02025c06020702025f025c07244b0746024b065c064b0644", - "0x260065c06022102025c0626064802264d075c0651061f0251065c0607061d", - "0x259065c0602260257065c065560074d0255065c065506240255065c06024b", - "0x65c061506550200065c060c0615025a065c062c0660022c065c0657590751", - "0x5902025c06020702636261000c0663065c065a06570262065c064d061d0261", - "0x2070268670766655f075c0764150c095a0264065c0664062c0264065c0602", - "0x607061d026b065c06650655026a065c066906610269065c06020002025c06", - "0x706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662026c065c", - "0x672065f02025c0602070274067372065c07710664025f065c065f06150271", - "0x5c0677066802025c06760667027776075c067506650275065c06022102025c", - "0x66f0655027b065c065f0615027a065c0679066a0279065c06780669027806", - "0x25c060207027e7d7c7b0c067e065c067a0657027d065c0670061d027c065c", - "0x65c0670061d0273065c066f06550280065c065f0615027f065c0674066002", - "0x22102025c0618061c02025c06020702828173800c0682065c067f06570281", - "0x2260285065c068483074d0284065c068406240284065c06026f0283065c06", - "0x550288065c066706150287065c066606600266065c06858607510286065c06", - "0x207028b8a89880c068b065c06870657028a065c0607061d0289065c066806", - "0x8d065c060271028c065c06022102025c0638067002025c0617064802025c06", - "0x5c068e8f0751028f065c060226028e065c068d8c074d028d065c068d062402", - "0x607061d0293065c061506550292065c060c06150291065c06900660029006", - "0x2025c0609067002025c06020702945e93920c0694065c06910657025e065c", - "0x297065c069695074d0296065c069606240296065c06026f0295065c060221", - "0x9b065c06100615029a065c069906600299065c06979807510298065c060226", - "0x29e9d9c9b0c069e065c069a0657029d065c0607061d029c065c0634065502", - "0x5c0609063402025c060207023410079f150c075c070602070602025c060202", - "0x5c06021802025c06140614021814075c063d063d023d065c06380638023806", - "0x6460617021c065c0618061702025c06440614024644075c0617063d021706", - "0x70202a0025c071d1c0746020c065c060c0615021c065c061c0644021d065c", - "0x22102025c0648064802481f075c0621061f0221065c0607061d02025c0602", - "0x226024d065c06244b074d0224065c062406240224065c06024b024b065c06", - "0x550255065c060c06150260065c065106600251065c064d2607510226065c06", - "0x207022c5957550c062c065c066006570259065c061f061d0257065c061506", - "0x7a16100075c075a150c095a025a065c065a062c025a065c06025902025c06", - "0x65075c065f066b025f065c066406610264065c06020002025c060207026362", - "0x65c066706620270065c0607061d026f065c0661065502025c0665066c0267", - "0x6a26b065c076a066e0200065c06000615026a6968095c0671706f096d0271", - "0x7472075c066d0674026e065c060221026d065c066b067202025c060207026c", - "0x75c06787707760278065c066e06750277065c0674062402025c0672061c02", - "0x5c067a066802025c06790667027a79075c0675066502025c06760648027675", - "0x6680655027e065c06000615027d065c067c066a027c065c067b0669027b06", - "0x25c0602070273807f7e0c0673065c067d06570280065c0669061d027f065c", - "0x65c0669061d0283065c066806550282065c060006150281065c066c066002", - "0x26f0286065c06022102025c06020702858483820c0685065c068106570284", - "0x7510288065c0602260287065c066686074d0266065c066606240266065c06", - "0x28c065c06630655028b065c06620615028a065c068906600289065c068788", - "0x9067002025c060207028e8d8c8b0c068e065c068a0657028d065c0607061d", - "0x6908f074d0290065c069006240290065c06026f028f065c06022102025c06", - "0x100615025e065c069306600293065c06919207510292065c0602260291065c", - "0x940c0697065c065e06570296065c0607061d0295065c063406550294065c06", - "0x7802025c060207020c06a30907075c070606770206065c0602063402979695", - "0x2070202a406027b0234065c0615067a0210065c060706790215065c060906", - "0x63d067a0210065c060c0679023d065c0638067d0238065c06027c02025c06", - "0x21706a518065c0734067e0214065c061406090214065c061006680234065c", - "0x9021c065c064606730246065c064406800244065c0618067f02025c060207", - "0x25c0617064802025c060207021f1d07061f065c061c0681021d065c061406", - "0x24065c06210681024b065c061406090221065c064806820248065c06027c02", - "0x907070609065c060606830207065c0602061d0206065c06027c02244b0706", - "0x5c0606061d0214065c06020655021015075c060c0685020c065c0607068402", - "0xa644065c073d066e023d3834095c0617181409660217065c06100686021806", - "0x65c060288021d065c06091c0787021c065c0644067202025c060207024606", - "0x5c064806240221065c0602890248065c061f1d0787021d065c061d0624021f", - "0x1506860260065c0638061d0251065c06340655024b065c0621480787024806", - "0x5c0726068b02264d24095c06575560510c8a0257065c064b06240255065c06", - "0x5a066102025c0600064802005a075c0659068c02025c060207022c06a75906", - "0x6550264065c0663068e0263065c066261078d0262065c06027c0261065c06", - "0x5c0602070267655f090667065c0664068f0265065c064d061d025f065c0624", - "0x5c0668068f026a065c064d061d0269065c062406550268065c062c06900202", - "0x46069002025c0609061c02025c0615069102025c060207026f6a6909066f06", - "0x7109066c065c0670068f026b065c0638061d0271065c063406550270065c06", - "0x60906860238065c0606061d0234065c060206550209065c06070684026c6b", - "0x5c060207021806a814065c0710066e0210150c095c063d38340966023d065c", - "0x5c060c06550246065c064406930244065c061706920217065c061406720202", - "0x9402025c060207021f1d1c09061f065c0646065e021d065c0615061d021c06", - "0x624065c0648065e024b065c0615061d0221065c060c06550248065c061806", - "0x675020c065c06027c0209065c060706074d0207065c0602068002244b2109", - "0x9065c06029502025c06070691021015070610065c060c06830215065c0609", - "0xc065c060c06970215065c061506440215065c060218020c065c0609069602", - "0x65c0638069902025c0602070218143d09a9383410095c070c1506020c9802", - "0x2aa06027b021c065c0617069a0246065c0634061d0244065c061006550217", - "0x246065c0614061d0244065c063d0655021d065c0618069b02025c06020702", - "0x21065c071f066e021f065c0648069d0248065c061c069c021c065c061d069a", - "0x5c064d0693024d065c062406920224065c0621067202025c060207024b06ab", - "0x556051090655065c0626065e0260065c0646061d0251065c06440655022606", - "0x22c065c0646061d0259065c064406550257065c064b069402025c06020702", - "0x29502025c0615069102150c075c06070685025a2c5909065a065c0657065e", - "0x3406970238065c063806440238065c0602180234065c061006960210065c06", - "0x27c02025c0602070244171809ac143d075c070934380602159e0234065c06", - "0x6ae021f065c0614061d021d065c063d0655021c065c064606ad0246065c06", - "0x5c061806550221065c064406b002025c0602070202af06027b0248065c061c", - "0x62406b10224065c0648065d0248065c062106ae021f065c0617061d021d06", - "0x7b50251065c064d06b402025c060207022606b34d065c074b06b2024b065c", - "0x259065c061f061d0257065c061d06550255065c066006b60260065c06510c", - "0x5c062606b802025c060c069102025c060207022c595709062c065c065506b7", - "0x626100090662065c065a06b70261065c061f061d0200065c061d0655025a06", - "0x5c060906930209065c0606069202025c060207020706ba06065c070206b902", - "0x71007510210065c06022602025c0602070215060615065c060c065e020c06", - "0x6065c070206bb023d06063d065c0638065e0238065c063406940234065c06", - "0x5c060c06bf020c065c060906be0209065c060606bd02025c060207020706bc", - "0x3406c00234065c06071007510210065c06022602025c060207021506061506", - "0x209070602443d06020c153d06020c183d06063d065c063806bf0238065c06", - "0x60cc202103d073d06c10234150715062d09070602443d06020c153d06020c", - "0x2100907090707c40706024b3d06091d3d0609c309070602483d0609071d3d", - "0x65706c709070602513d0609071c3d060cc60706024b3d06091c3d0609c506", - "0xc9025a065906c8024b" - ], - "sierra_program_debug_info": { - "type_names": [ - [0, "RangeCheck"], - [1, "GasBuiltin"], - [2, "felt252"], - [3, "Array"], - [4, "Snapshot>"], - [5, "core::array::Span::"], - [6, "Unit"], - [7, "core::option::Option::"], - [8, "u32"], - [9, "System"], - [10, "core::panics::Panic"], - [11, "Tuple>"], - [12, "Tuple>"], - [ - 13, - "core::panics::PanicResult::<(core::array::Span::,)>" - ], - [14, "BuiltinCosts"], - [15, "Counter0::Counter0::balance_0::ContractState"], - [16, "Counter0::Counter0::ContractState"], - [17, "Tuple"], - [ - 18, - "core::panics::PanicResult::<(Counter0::Counter0::ContractState, ())>" - ], - [19, "Tuple"], - [20, "core::panics::PanicResult::<(core::felt252,)>"], - [21, "Box"], - [22, "core::option::Option::>"], - [23, "Tuple"], - [ - 24, - "core::panics::PanicResult::<(Counter0::Counter0::balance_0::ContractState, ())>" - ], - [25, "StorageBaseAddress"], - [26, "StorageAddress"], - [ - 27, - "core::result::Result::>" - ], - [28, "core::result::Result::<(), core::array::Array::>"], - [29, "Tuple"], - [30, "core::panics::PanicResult::<((),)>"] - ], - "libfunc_names": [ - [0, "revoke_ap_tracking"], - [1, "withdraw_gas"], - [2, "branch_align"], - [3, "store_temp>"], - [4, "function_call"], - [5, "store_temp"], - [6, "enum_match>"], - [7, "struct_deconstruct>"], - [8, "array_len"], - [9, "snapshot_take"], - [10, "drop"], - [11, "u32_const<0>"], - [12, "rename"], - [13, "store_temp"], - [14, "u32_eq"], - [15, "drop"], - [16, "store_temp"], - [17, "function_call"], - [18, "drop"], - [19, "array_new"], - [ - 20, - "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" - ], - [21, "store_temp"], - [22, "array_append"], - [23, "struct_construct"], - [24, "struct_construct>>"], - [ - 25, - "enum_init,)>, 1>" - ], - [26, "store_temp"], - [ - 27, - "store_temp,)>>" - ], - [28, "get_builtin_costs"], - [29, "store_temp"], - [30, "withdraw_gas_all"], - [31, "struct_construct"], - [32, "struct_construct"], - [33, "store_temp"], - [34, "function_call"], - [ - 35, - "enum_match>" - ], - [36, "drop>"], - [37, "snapshot_take>"], - [38, "drop>"], - [39, "struct_construct>"], - [40, "struct_construct>>"], - [ - 41, - "enum_init,)>, 0>" - ], - [42, "felt252_const<375233589013918064796019>"], - [43, "drop>"], - [ - 44, - "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" - ], - [45, "snapshot_take"], - [46, "drop"], - [47, "function_call"], - [48, "enum_match>"], - [49, "struct_deconstruct>"], - [50, "snapshot_take"], - [51, "store_temp>"], - [52, "function_call"], - [53, "array_snapshot_pop_front"], - [ - 54, - "enum_init>, 0>" - ], - [55, "store_temp>>"], - [ - 56, - "store_temp>>" - ], - [57, "jump"], - [58, "struct_construct"], - [ - 59, - "enum_init>, 1>" - ], - [ - 60, - "enum_match>>" - ], - [61, "unbox"], - [62, "rename"], - [63, "enum_init, 0>"], - [64, "store_temp>"], - [65, "enum_init, 1>"], - [66, "store_temp"], - [67, "struct_deconstruct"], - [68, "snapshot_take"], - [69, "store_temp"], - [ - 70, - "function_call" - ], - [71, "felt252_add"], - [72, "felt252_const<0>"], - [73, "felt252_const<1>"], - [ - 74, - "function_call" - ], - [ - 75, - "enum_match>" - ], - [ - 76, - "struct_deconstruct>" - ], - [77, "struct_construct>"], - [ - 78, - "enum_init, 0>" - ], - [ - 79, - "store_temp>" - ], - [ - 80, - "enum_init, 1>" - ], - [81, "drop"], - [82, "struct_construct>"], - [83, "enum_init, 0>"], - [84, "store_temp>"], - [85, "enum_init, 1>"], - [ - 86, - "storage_base_address_const<254972299075299712015478855430390632050936182311486400521237190787151437163>" - ], - [87, "storage_address_from_base"], - [88, "store_temp"], - [89, "storage_read_syscall"], - [ - 90, - "enum_init>, 0>" - ], - [ - 91, - "store_temp>>" - ], - [ - 92, - "enum_init>, 1>" - ], - [ - 93, - "rename>>" - ], - [ - 94, - "function_call::unwrap_syscall>" - ], - [95, "storage_write_syscall"], - [ - 96, - "enum_init>, 0>" - ], - [ - 97, - "store_temp>>" - ], - [ - 98, - "enum_init>, 1>" - ], - [ - 99, - "rename>>" - ], - [ - 100, - "function_call::unwrap_syscall>" - ], - [101, "enum_match>"], - [102, "struct_deconstruct>"], - [ - 103, - "struct_construct>" - ], - [ - 104, - "enum_init, 0>" - ], - [ - 105, - "store_temp>" - ], - [ - 106, - "enum_init, 1>" - ], - [ - 107, - "enum_match>>" - ], - [ - 108, - "enum_match>>" - ], - [109, "struct_construct>"], - [110, "enum_init, 0>"], - [111, "store_temp>"], - [112, "enum_init, 1>"] - ], - "user_func_names": [ - [0, "Counter0::Counter0::__external::increase_balance_0"], - [1, "Counter0::Counter0::__external::get_balance_0"], - [2, "core::Felt252Serde::deserialize"], - [3, "core::starknet::use_system_implicit"], - [4, "Counter0::Counter0::increase_balance_0"], - [5, "Counter0::Counter0::get_balance_0"], - [6, "core::Felt252Serde::serialize"], - [7, "Counter0::Counter0::balance_0::InternalContractStateImpl::read"], - [8, "Counter0::Counter0::balance_0::InternalContractStateImpl::write"], - [ - 9, - "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" - ], - [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] - ] - }, - "contract_class_version": "0.1.0", - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0xb61015b8f0a9aa3e16e55c2d2094e84095c29c1376bd5a44680c1449e63575", - "function_idx": 0 - }, - { - "selector": "0x113e3540ab23de9f67c67a9c0ee7796d0ebb8afafdba2af272927e34f1713e2", - "function_idx": 1 - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - }, - "abi": [ - { - "type": "function", - "name": "increase_balance_0", - "inputs": [{ "name": "amount", "type": "core::felt252" }], - "outputs": [], - "state_mutability": "external" - }, - { - "type": "function", - "name": "get_balance_0", - "inputs": [], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - }, - { - "type": "event", - "name": "Counter0::Counter0::Event", - "kind": "enum", - "variants": [] - } - ] -} diff --git a/da-test/contracts/Counter1/Counter1.cairo b/da-test/contracts/Counter1/Counter1.cairo deleted file mode 100644 index 0d756d4165..0000000000 --- a/da-test/contracts/Counter1/Counter1.cairo +++ /dev/null @@ -1,19 +0,0 @@ -#[starknet::contract] -mod Counter1 { - #[storage] - struct Storage { - balance_1: felt252, - } - - // Increases the balance_1 by the given amount. - #[external(v0)] - fn increase_balance_1(ref self: ContractState, amount: felt252) { - self.balance_1.write(self.balance_1.read() + amount + 1 + 1); - } - - // Returns the current balance_1. - #[external(v0)] - fn get_balance_1(self: @ContractState) -> felt252 { - self.balance_1.read() - } -} diff --git a/da-test/contracts/Counter1/Counter1.casm.json b/da-test/contracts/Counter1/Counter1.casm.json deleted file mode 100644 index 9779276ecb..0000000000 --- a/da-test/contracts/Counter1/Counter1.casm.json +++ /dev/null @@ -1,579 +0,0 @@ -{ - "prime": "0x800000000000011000000000000000000000000000000000000000000000001", - "compiler_version": "2.1.0", - "bytecode": [ - "0xa0680017fff8000", - "0x7", - "0x482680017ffa8000", - "0xffffffffffffffffffffffffffffa920", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x6e", - "0x4825800180007ffa", - "0x56e0", - "0x400280007ff97fff", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xe8", - "0x482680017ff98000", - "0x1", - "0x20680017fff7ffd", - "0x55", - "0x48307ffb80007ffc", - "0x4824800180007fff", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0xfe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff77fff8000", - "0x48127fe67fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x1b4", - "0x482480017fff8000", - "0x1b3", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007fe8", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff67fff", - "0x10780017fff7fff", - "0x20", - "0x4824800180007fe8", - "0x0", - "0x400080007ff77fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x48127ff47fff8000", - "0x1104800180018000", - "0xdc", - "0x482480017fbc8000", - "0x1", - "0x20680017fff7ffc", - "0xc", - "0x40780017fff7fff", - "0x1", - "0x48127ffe7fff8000", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff48000", - "0x1", - "0x48127fe37fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ffd7fff8000", - "0x48127fec7fff8000", - "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", - "0xffffffffffffffffffffffffffffe2f0", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x5e", - "0x4825800180007ffa", - "0x1d10", - "0x400280007ff97fff", - "0x48297ffc80007ffd", - "0x482680017ff98000", - "0x1", - "0x4824800180007ffe", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x82", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff87fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x138", - "0x482480017fff8000", - "0x137", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007ff7", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff77fff", - "0x10780017fff7fff", - "0x24", - "0x4824800180007ff7", - "0x0", - "0x400080007ff87fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x8b", - "0x482480017fd88000", - "0x1", - "0x20680017fff7ffc", - "0x11", - "0x40780017fff7fff", - "0x1", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x95", - "0x48127ff77fff8000", - "0x48127ff17fff8000", - "0x48127ff17fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff58000", - "0x1", - "0x48127ff27fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482680017ff98000", - "0x1", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x48297ffc80007ffd", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0xa", - "0x482680017ffc8000", - "0x1", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x0", - "0x480a7ffc7fff8000", - "0x10780017fff7fff", - "0x8", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x20680017fff7ffc", - "0x8", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x0", - "0x480080007ffa8000", - "0x208b7fff7fff7ffe", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x42", - "0x20680017fff7ffd", - "0x1d", - "0x48287ffd7fff8000", - "0x482480017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x482480017ffd8000", - "0x1", - "0x1104800180018000", - "0x68", - "0x20680017fff7ffd", - "0xb", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1a", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x480680017fff8000", - "0x1", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x18", - "0x20680017fff7ffd", - "0xa", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x400380007ffd7ffb", - "0x480a7ffc7fff8000", - "0x482680017ffd8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x27d877ff18f2ff9ed25ad76706d4f9d684e1bc6bae661861ea8b5c8baaa1ec0", - "0x480680017fff8000", - "0x53746f7261676552656164", - "0x400280007ffd7fff", - "0x400380017ffd7ffc", - "0x400280027ffd7ffd", - "0x400280037ffd7ffe", - "0x480280057ffd8000", - "0x20680017fff7fff", - "0xc", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480280067ffd8000", - "0x10780017fff7fff", - "0x9", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x8", - "0x480680017fff8000", - "0x1", - "0x480280067ffd8000", - "0x480280077ffd8000", - "0x1104800180018000", - "0x47", - "0x20680017fff7ffd", - "0xa", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x27d877ff18f2ff9ed25ad76706d4f9d684e1bc6bae661861ea8b5c8baaa1ec0", - "0x480680017fff8000", - "0x53746f726167655772697465", - "0x400280007ffc7fff", - "0x400380017ffc7ffb", - "0x400280027ffc7ffd", - "0x400280037ffc7ffe", - "0x400380047ffc7ffd", - "0x480280067ffc8000", - "0x20680017fff7fff", - "0xd", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x10780017fff7fff", - "0x9", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x9", - "0x480680017fff8000", - "0x1", - "0x480280077ffc8000", - "0x480280087ffc8000", - "0x1104800180018000", - "0x21", - "0x20680017fff7ffd", - "0xb", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x8", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x9", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe" - ], - "hints": [ - [ - 0, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x56e0" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 47, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -23 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 130, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x1d10" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 171, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -8 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 360, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -3 } } - } - } - ] - ], - [ - 410, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -4 } } - } - } - ] - ] - ], - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0x10b66bc7b40e8a760ea83aa5565a123b11b072c59341409cd87912ef31bb924", - "offset": 130, - "builtins": ["range_check"] - }, - { - "selector": "0x3ee6ae9fd7cdd42b3704e72c065a40336068c2aaa8eae0946457182b543962e", - "offset": 0, - "builtins": ["range_check"] - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - } -} diff --git a/da-test/contracts/Counter1/Counter1.sierra.json b/da-test/contracts/Counter1/Counter1.sierra.json deleted file mode 100644 index 348af14a84..0000000000 --- a/da-test/contracts/Counter1/Counter1.sierra.json +++ /dev/null @@ -1,660 +0,0 @@ -{ - "sierra_program": [ - "0x1", - "0x3", - "0x0", - "0x2", - "0x1", - "0x0", - "0xca", - "0x36", - "0x1f", - "0x52616e6765436865636b", - "0x0", - "0x4761734275696c74696e", - "0x66656c74323532", - "0x4172726179", - "0x1", - "0x2", - "0x536e617073686f74", - "0x3", - "0x537472756374", - "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", - "0x4", - "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", - "0x456e756d", - "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", - "0x6", - "0x753332", - "0x53797374656d", - "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", - "0xa", - "0x5", - "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", - "0xc", - "0xb", - "0x4275696c74696e436f737473", - "0x16f85ae9467bd936afe01ccb07331475e4725265d7c11d5091e60a1c885c11e", - "0x3503d263af90d8c512a88ff14ec50aae3411c579608f3465874743c7620cd6", - "0xf", - "0x10", - "0x2f0cb34fa5cad702cdcbdd7c7bc96d0dd97edf763c461114d91a34181583db7", - "0x11", - "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", - "0x13", - "0x426f78", - "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", - "0x15", - "0x2e9b13c4214615a4a10337319a9cf00b1f3ae3d5a1f49a7ec885ff403c77390", - "0x17", - "0x53746f726167654261736541646472657373", - "0x53746f7261676541646472657373", - "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", - "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", - "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", - "0x1d", - "0x70", - "0x7265766f6b655f61705f747261636b696e67", - "0x77697468647261775f676173", - "0x6272616e63685f616c69676e", - "0x73746f72655f74656d70", - "0x66756e6374696f6e5f63616c6c", - "0x656e756d5f6d61746368", - "0x7", - "0x7374727563745f6465636f6e737472756374", - "0x61727261795f6c656e", - "0x736e617073686f745f74616b65", - "0x8", - "0x64726f70", - "0x7533325f636f6e7374", - "0x72656e616d65", - "0x7533325f6571", - "0x9", - "0x61727261795f6e6577", - "0x66656c743235325f636f6e7374", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x61727261795f617070656e64", - "0x7374727563745f636f6e737472756374", - "0x656e756d5f696e6974", - "0xd", - "0x6765745f6275696c74696e5f636f737473", - "0xe", - "0x77697468647261775f6761735f616c6c", - "0x12", - "0x4f7574206f6620676173", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x14", - "0x61727261795f736e617073686f745f706f705f66726f6e74", - "0x16", - "0x6a756d70", - "0x756e626f78", - "0x66656c743235325f616464", - "0x18", - "0x73746f726167655f626173655f616464726573735f636f6e7374", - "0x27d877ff18f2ff9ed25ad76706d4f9d684e1bc6bae661861ea8b5c8baaa1ec0", - "0x73746f726167655f616464726573735f66726f6d5f62617365", - "0x1a", - "0x73746f726167655f726561645f73797363616c6c", - "0x1b", - "0x73746f726167655f77726974655f73797363616c6c", - "0x1c", - "0x1e", - "0x19f", - "0xffffffffffffffff", - "0x63", - "0x54", - "0x24", - "0x19", - "0x20", - "0x21", - "0x22", - "0x23", - "0x25", - "0x46", - "0x26", - "0x27", - "0x28", - "0x29", - "0x2d", - "0x2e", - "0x2f", - "0x30", - "0x2a", - "0x2b", - "0x2c", - "0x31", - "0x3f", - "0x32", - "0x33", - "0x34", - "0x35", - "0x36", - "0x37", - "0x38", - "0x39", - "0x3a", - "0x3b", - "0x3c", - "0x3d", - "0x3e", - "0x40", - "0x41", - "0x42", - "0x43", - "0x44", - "0x45", - "0x47", - "0x48", - "0x49", - "0x4a", - "0x4b", - "0x4c", - "0x4d", - "0x4e", - "0x4f", - "0x50", - "0x51", - "0x52", - "0x53", - "0x55", - "0x56", - "0x57", - "0x58", - "0x59", - "0x5a", - "0x5b", - "0x5c", - "0x5d", - "0x5e", - "0x5f", - "0xc6", - "0x90", - "0xb9", - "0xb2", - "0xdb", - "0xe0", - "0xea", - "0x11c", - "0x116", - "0x132", - "0x14b", - "0x150", - "0x15b", - "0x170", - "0x60", - "0x175", - "0x61", - "0x62", - "0x64", - "0x180", - "0x65", - "0x66", - "0x67", - "0x68", - "0x69", - "0x6a", - "0x18d", - "0x6b", - "0x199", - "0x6c", - "0x6d", - "0x6e", - "0x6f", - "0x71", - "0xd4", - "0xf1", - "0xf5", - "0x124", - "0x138", - "0x13e", - "0x161", - "0x187", - "0x193", - "0xf85", - "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", - "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", - "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", - "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", - "0x70a090610062a02090e090607062902090e02280227180626062502090e10", - "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", - "0x606313806063b0207063a3806063938060637070606361506063534060633", - "0x70606314007063f0706063e10060639090906323d06063107060639023c38", - "0x6063102454406063106060631060744060743180606421406064207060641", - "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", - "0x374a07063f150606394907063f020744060743170606421506064209060639", - "0x100906320906063107060637210606354b060633150906321d0606391d0606", - "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", - "0x10060631060734060743340606310207340607430706063b0706064f4d0606", - "0x3551060633380906320607063f0250340906321c0606311c0606371d060635", - "0x210606421c060639060748060743480606310207480607431f060642260606", - "0x6074302565506063102545307065206074b0607434b06063102074b060743", - "0x63102075906074302583d0906325706063b06075706074357060631020757", - "0x60743260606422c0606355a060633140906325906063b0607590607435906", - "0x2075a0607432c060642590606335706063306075106074351060631020751", - "0x3410075d150c075c070602070602025c060202025b06075a0607435a060631", - "0xc065c060c0615023d38075c0614060c0214065c0609060902025c06020702", - "0x5c064406380244065c0638063402025c0602070217065e18065c073d061002", - "0x5c061f063d021f065c06021802025c061c0614021d1c075c0646063d024606", - "0x64b06440224065c06210617024b065c061d061702025c0648061402214807", - "0x607061d02025c0618061c02025c06020702025f025c07244b0746024b065c", - "0x5c06024b0260065c06022102025c0626064802264d075c0651061f0251065c", - "0x575907510259065c0602260257065c065560074d0255065c06550624025506", - "0x61d0261065c061506550200065c060c0615025a065c062c0660022c065c06", - "0x65c06025902025c06020702636261000c0663065c065a06570262065c064d", - "0x2025c0602070268670766655f075c0764150c095a0264065c0664062c0264", - "0x26c065c0607061d026b065c06650655026a065c066906610269065c060200", - "0x6150271706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662", - "0x2102025c0672065f02025c0602070274067372065c07710664025f065c065f", - "0x690278065c0677066802025c06760667027776075c067506650275065c0602", - "0x27c065c066f0655027b065c065f0615027a065c0679066a0279065c067806", - "0x74066002025c060207027e7d7c7b0c067e065c067a0657027d065c0670061d", - "0x6570281065c0670061d0273065c066f06550280065c065f0615027f065c06", - "0x83065c06022102025c0618061c02025c06020702828173800c0682065c067f", - "0x86065c0602260285065c068483074d0284065c068406240284065c06026f02", - "0x5c066806550288065c066706150287065c066606600266065c068586075102", - "0x2025c060207028b8a89880c068b065c06870657028a065c0607061d028906", - "0x8d0624028d065c060271028c065c06022102025c0638067002025c06170648", - "0x600290065c068e8f0751028f065c060226028e065c068d8c074d028d065c06", - "0x25e065c0607061d0293065c061506550292065c060c06150291065c069006", - "0x5c06022102025c0609067002025c06020702945e93920c0694065c06910657", - "0x5c0602260297065c069695074d0296065c069606240296065c06026f029506", - "0x340655029b065c06100615029a065c069906600299065c0697980751029806", - "0x5c060202029e9d9c9b0c069e065c069a0657029d065c0607061d029c065c06", - "0x380238065c0609063402025c060207023410079f150c075c07060207060202", - "0x3d0217065c06021802025c06140614021814075c063d063d023d065c063806", - "0x21d065c06460617021c065c0618061702025c06440614024644075c061706", - "0x25c0602070202a0025c071d1c0746020c065c060c0615021c065c061c0644", - "0x4b065c06022102025c0648064802481f075c0621061f0221065c0607061d02", - "0x26065c060226024d065c06244b074d0224065c062406240224065c06024b02", - "0x5c061506550255065c060c06150260065c065106600251065c064d26075102", - "0x2025c060207022c5957550c062c065c066006570259065c061f061d025706", - "0x702636207a16100075c075a150c095a025a065c065a062c025a065c060259", - "0x66c026765075c065f066b025f065c066406610264065c06020002025c0602", - "0x96d0271065c066706620270065c0607061d026f065c0661065502025c0665", - "0x207026c06a26b065c076a066e0200065c06000615026a6968095c0671706f", - "0x72061c027472075c066d0674026e065c060221026d065c066b067202025c06", - "0x48027675075c06787707760278065c066e06750277065c0674062402025c06", - "0x69027b065c067a066802025c06790667027a79075c0675066502025c067606", - "0x27f065c06680655027e065c06000615027d065c067c066a027c065c067b06", - "0x6c066002025c0602070273807f7e0c0673065c067d06570280065c0669061d", - "0x6570284065c0669061d0283065c066806550282065c060006150281065c06", - "0x66065c06026f0286065c06022102025c06020702858483820c0685065c0681", - "0x5c06878807510288065c0602260287065c066686074d0266065c0666062402", - "0x607061d028c065c06630655028b065c06620615028a065c06890660028906", - "0x2025c0609067002025c060207028e8d8c8b0c068e065c068a0657028d065c", - "0x291065c06908f074d0290065c069006240290065c06026f028f065c060221", - "0x94065c06100615025e065c069306600293065c06919207510292065c060226", - "0x2979695940c0697065c065e06570296065c0607061d0295065c0634065502", - "0x5c0609067802025c060207020c06a30907075c070606770206065c06020634", - "0x2025c0602070202a406027b0234065c0615067a0210065c06070679021506", - "0x234065c063d067a0210065c060c0679023d065c0638067d0238065c06027c", - "0x5c060207021706a518065c0734067e0214065c061406090214065c06100668", - "0x5c06140609021c065c064606730246065c064406800244065c0618067f0202", - "0x6027c02025c0617064802025c060207021f1d07061f065c061c0681021d06", - "0x244b070624065c06210681024b065c061406090221065c064806820248065c", - "0x70684020907070609065c060606830207065c0602061d0206065c06027c02", - "0x860218065c0606061d0214065c06020655021015075c060c0685020c065c06", - "0x7024606a644065c073d066e023d3834095c0617181409660217065c061006", - "0x624021f065c060288021d065c06091c0787021c065c0644067202025c0602", - "0x870248065c064806240221065c0602880248065c061f1d0787021d065c061d", - "0x55065c061506860260065c0638061d0251065c06340655024b065c06214807", - "0x6a759065c0726068a02264d24095c06575560510c890257065c064b062402", - "0x61065c065a066102025c0600064802005a075c0659068b02025c060207022c", - "0x65c062406550264065c0663068d0263065c066261078c0262065c06027c02", - "0x68f02025c0602070267655f090667065c0664068e0265065c064d061d025f", - "0x9066f065c0668068e026a065c064d061d0269065c062406550268065c062c", - "0x70065c0646068f02025c0609061c02025c0615069002025c060207026f6a69", - "0x84026c6b7109066c065c0670068e026b065c0638061d0271065c0634065502", - "0x23d065c060906860238065c0606061d0234065c060206550209065c060706", - "0x67202025c060207021806a814065c0710066e0210150c095c063d38340966", - "0x1d021c065c060c06550246065c064406920244065c061706910217065c0614", - "0x5c0618065e02025c060207021f1d1c09061f065c06460693021d065c061506", - "0x244b21090624065c06480693024b065c0615061d0221065c060c0655024806", - "0x65c06090675020c065c06027c0209065c060706074d0207065c0602068002", - "0x906950209065c06029402025c06070690021015070610065c060c06830215", - "0x20c97020c065c060c06960215065c061506440215065c060218020c065c06", - "0x6550217065c0638069802025c0602070218143d09a9383410095c070c1506", - "0x602070202aa06027b021c065c061706990246065c0634061d0244065c0610", - "0x61d06990246065c0614061d0244065c063d0655021d065c0618069a02025c", - "0x24b06ab21065c071f066e021f065c0648069c0248065c061c069b021c065c", - "0x550226065c064d0692024d065c062406910224065c0621067202025c060207", - "0x6020702556051090655065c062606930260065c0646061d0251065c064406", - "0x6570693022c065c0646061d0259065c064406550257065c064b065e02025c", - "0x10065c06029402025c0615069002150c075c06070685025a2c5909065a065c", - "0x34065c063406960238065c063806440238065c0602180234065c0610069502", - "0x46065c06027c02025c0602070244171809ac143d075c070934380602159d02", - "0x65c061c06ad021f065c0614061d021d065c063d0655021c065c0646069e02", - "0x1d021d065c061806550221065c064406af02025c0602070202ae06027b0248", - "0x24b065c0624065d0224065c064806b00248065c062106ad021f065c061706", - "0x5c06510c07b40251065c064d06b302025c060207022606b24d065c074b06b1", - "0x65506b60259065c061f061d0257065c061d06550255065c066006b5026006", - "0x55025a065c062606b702025c060c069002025c060207022c595709062c065c", - "0x206b802626100090662065c065a06b60261065c061f061d0200065c061d06", - "0x93020c065c060906920209065c0606069102025c060207020706b906065c07", - "0x34065c06071007510210065c06022602025c0602070215060615065c060c06", - "0x20706bb06065c070206ba023d06063d065c063806930238065c0634065e02", - "0x60615065c060c06be020c065c060906bd0209065c060606bc02025c060207", - "0x38065c063406bf0234065c06071007510210065c06022602025c0602070215", - "0x3d06020c0209070602443d06020c153d06020c183d06063d065c063806be02", - "0x9071d3d060cc202103d073d06c1023415071506c009070602443d06020c15", - "0x609c50602100907090707c40706024b3d06091d3d0609c309070602483d06", - "0x6c8024b065706c709070602513d0609071c3d060cc60706024b3d06091c3d", - "0xc9025a0659" - ], - "sierra_program_debug_info": { - "type_names": [ - [0, "RangeCheck"], - [1, "GasBuiltin"], - [2, "felt252"], - [3, "Array"], - [4, "Snapshot>"], - [5, "core::array::Span::"], - [6, "Unit"], - [7, "core::option::Option::"], - [8, "u32"], - [9, "System"], - [10, "core::panics::Panic"], - [11, "Tuple>"], - [12, "Tuple>"], - [ - 13, - "core::panics::PanicResult::<(core::array::Span::,)>" - ], - [14, "BuiltinCosts"], - [15, "Counter1::Counter1::balance_1::ContractState"], - [16, "Counter1::Counter1::ContractState"], - [17, "Tuple"], - [ - 18, - "core::panics::PanicResult::<(Counter1::Counter1::ContractState, ())>" - ], - [19, "Tuple"], - [20, "core::panics::PanicResult::<(core::felt252,)>"], - [21, "Box"], - [22, "core::option::Option::>"], - [23, "Tuple"], - [ - 24, - "core::panics::PanicResult::<(Counter1::Counter1::balance_1::ContractState, ())>" - ], - [25, "StorageBaseAddress"], - [26, "StorageAddress"], - [ - 27, - "core::result::Result::>" - ], - [28, "core::result::Result::<(), core::array::Array::>"], - [29, "Tuple"], - [30, "core::panics::PanicResult::<((),)>"] - ], - "libfunc_names": [ - [0, "revoke_ap_tracking"], - [1, "withdraw_gas"], - [2, "branch_align"], - [3, "store_temp>"], - [4, "function_call"], - [5, "store_temp"], - [6, "enum_match>"], - [7, "struct_deconstruct>"], - [8, "array_len"], - [9, "snapshot_take"], - [10, "drop"], - [11, "u32_const<0>"], - [12, "rename"], - [13, "store_temp"], - [14, "u32_eq"], - [15, "drop"], - [16, "store_temp"], - [17, "function_call"], - [18, "drop"], - [19, "array_new"], - [ - 20, - "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" - ], - [21, "store_temp"], - [22, "array_append"], - [23, "struct_construct"], - [24, "struct_construct>>"], - [ - 25, - "enum_init,)>, 1>" - ], - [26, "store_temp"], - [ - 27, - "store_temp,)>>" - ], - [28, "get_builtin_costs"], - [29, "store_temp"], - [30, "withdraw_gas_all"], - [31, "struct_construct"], - [32, "struct_construct"], - [33, "store_temp"], - [34, "function_call"], - [ - 35, - "enum_match>" - ], - [36, "drop>"], - [37, "snapshot_take>"], - [38, "drop>"], - [39, "struct_construct>"], - [40, "struct_construct>>"], - [ - 41, - "enum_init,)>, 0>" - ], - [42, "felt252_const<375233589013918064796019>"], - [43, "drop>"], - [ - 44, - "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" - ], - [45, "snapshot_take"], - [46, "drop"], - [47, "function_call"], - [48, "enum_match>"], - [49, "struct_deconstruct>"], - [50, "snapshot_take"], - [51, "store_temp>"], - [52, "function_call"], - [53, "array_snapshot_pop_front"], - [ - 54, - "enum_init>, 0>" - ], - [55, "store_temp>>"], - [ - 56, - "store_temp>>" - ], - [57, "jump"], - [58, "struct_construct"], - [ - 59, - "enum_init>, 1>" - ], - [ - 60, - "enum_match>>" - ], - [61, "unbox"], - [62, "rename"], - [63, "enum_init, 0>"], - [64, "store_temp>"], - [65, "enum_init, 1>"], - [66, "store_temp"], - [67, "struct_deconstruct"], - [68, "snapshot_take"], - [69, "store_temp"], - [ - 70, - "function_call" - ], - [71, "felt252_add"], - [72, "felt252_const<1>"], - [ - 73, - "function_call" - ], - [ - 74, - "enum_match>" - ], - [ - 75, - "struct_deconstruct>" - ], - [76, "struct_construct>"], - [ - 77, - "enum_init, 0>" - ], - [ - 78, - "store_temp>" - ], - [ - 79, - "enum_init, 1>" - ], - [80, "drop"], - [81, "struct_construct>"], - [82, "enum_init, 0>"], - [83, "store_temp>"], - [84, "enum_init, 1>"], - [ - 85, - "storage_base_address_const<1126416765373040447134877403742562949829456288349438530158544342912871308992>" - ], - [86, "storage_address_from_base"], - [87, "store_temp"], - [88, "storage_read_syscall"], - [ - 89, - "enum_init>, 0>" - ], - [ - 90, - "store_temp>>" - ], - [ - 91, - "enum_init>, 1>" - ], - [ - 92, - "rename>>" - ], - [ - 93, - "function_call::unwrap_syscall>" - ], - [94, "storage_write_syscall"], - [ - 95, - "enum_init>, 0>" - ], - [ - 96, - "store_temp>>" - ], - [ - 97, - "enum_init>, 1>" - ], - [ - 98, - "rename>>" - ], - [ - 99, - "function_call::unwrap_syscall>" - ], - [100, "enum_match>"], - [101, "struct_deconstruct>"], - [ - 102, - "struct_construct>" - ], - [ - 103, - "enum_init, 0>" - ], - [ - 104, - "store_temp>" - ], - [ - 105, - "enum_init, 1>" - ], - [ - 106, - "enum_match>>" - ], - [ - 107, - "enum_match>>" - ], - [108, "struct_construct>"], - [109, "enum_init, 0>"], - [110, "store_temp>"], - [111, "enum_init, 1>"] - ], - "user_func_names": [ - [0, "Counter1::Counter1::__external::increase_balance_1"], - [1, "Counter1::Counter1::__external::get_balance_1"], - [2, "core::Felt252Serde::deserialize"], - [3, "core::starknet::use_system_implicit"], - [4, "Counter1::Counter1::increase_balance_1"], - [5, "Counter1::Counter1::get_balance_1"], - [6, "core::Felt252Serde::serialize"], - [7, "Counter1::Counter1::balance_1::InternalContractStateImpl::read"], - [8, "Counter1::Counter1::balance_1::InternalContractStateImpl::write"], - [ - 9, - "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" - ], - [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] - ] - }, - "contract_class_version": "0.1.0", - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0x10b66bc7b40e8a760ea83aa5565a123b11b072c59341409cd87912ef31bb924", - "function_idx": 1 - }, - { - "selector": "0x3ee6ae9fd7cdd42b3704e72c065a40336068c2aaa8eae0946457182b543962e", - "function_idx": 0 - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - }, - "abi": [ - { - "type": "function", - "name": "increase_balance_1", - "inputs": [{ "name": "amount", "type": "core::felt252" }], - "outputs": [], - "state_mutability": "external" - }, - { - "type": "function", - "name": "get_balance_1", - "inputs": [], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - }, - { - "type": "event", - "name": "Counter1::Counter1::Event", - "kind": "enum", - "variants": [] - } - ] -} diff --git a/da-test/contracts/Counter2/Counter2.cairo b/da-test/contracts/Counter2/Counter2.cairo deleted file mode 100644 index 3cfbfaab92..0000000000 --- a/da-test/contracts/Counter2/Counter2.cairo +++ /dev/null @@ -1,19 +0,0 @@ -#[starknet::contract] -mod Counter2 { - #[storage] - struct Storage { - balance_2: felt252, - } - - // Increases the balance_2 by the given amount. - #[external(v0)] - fn increase_balance_2(ref self: ContractState, amount: felt252) { - self.balance_2.write(self.balance_2.read() + amount + 2 + 1); - } - - // Returns the current balance_2. - #[external(v0)] - fn get_balance_2(self: @ContractState) -> felt252 { - self.balance_2.read() - } -} diff --git a/da-test/contracts/Counter2/Counter2.casm.json b/da-test/contracts/Counter2/Counter2.casm.json deleted file mode 100644 index d50f4d26c0..0000000000 --- a/da-test/contracts/Counter2/Counter2.casm.json +++ /dev/null @@ -1,579 +0,0 @@ -{ - "prime": "0x800000000000011000000000000000000000000000000000000000000000001", - "compiler_version": "2.1.0", - "bytecode": [ - "0xa0680017fff8000", - "0x7", - "0x482680017ffa8000", - "0xffffffffffffffffffffffffffffa920", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x6e", - "0x4825800180007ffa", - "0x56e0", - "0x400280007ff97fff", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xe8", - "0x482680017ff98000", - "0x1", - "0x20680017fff7ffd", - "0x55", - "0x48307ffb80007ffc", - "0x4824800180007fff", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0xfe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff77fff8000", - "0x48127fe67fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x1b4", - "0x482480017fff8000", - "0x1b3", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007fe8", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff67fff", - "0x10780017fff7fff", - "0x20", - "0x4824800180007fe8", - "0x0", - "0x400080007ff77fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x48127ff47fff8000", - "0x1104800180018000", - "0xdc", - "0x482480017fbc8000", - "0x1", - "0x20680017fff7ffc", - "0xc", - "0x40780017fff7fff", - "0x1", - "0x48127ffe7fff8000", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff48000", - "0x1", - "0x48127fe37fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ffd7fff8000", - "0x48127fec7fff8000", - "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", - "0xffffffffffffffffffffffffffffe2f0", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x5e", - "0x4825800180007ffa", - "0x1d10", - "0x400280007ff97fff", - "0x48297ffc80007ffd", - "0x482680017ff98000", - "0x1", - "0x4824800180007ffe", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x82", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff87fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x138", - "0x482480017fff8000", - "0x137", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007ff7", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff77fff", - "0x10780017fff7fff", - "0x24", - "0x4824800180007ff7", - "0x0", - "0x400080007ff87fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x8b", - "0x482480017fd88000", - "0x1", - "0x20680017fff7ffc", - "0x11", - "0x40780017fff7fff", - "0x1", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x95", - "0x48127ff77fff8000", - "0x48127ff17fff8000", - "0x48127ff17fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff58000", - "0x1", - "0x48127ff27fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482680017ff98000", - "0x1", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x48297ffc80007ffd", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0xa", - "0x482680017ffc8000", - "0x1", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x0", - "0x480a7ffc7fff8000", - "0x10780017fff7fff", - "0x8", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x20680017fff7ffc", - "0x8", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x0", - "0x480080007ffa8000", - "0x208b7fff7fff7ffe", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x42", - "0x20680017fff7ffd", - "0x1d", - "0x48287ffd7fff8000", - "0x482480017fff8000", - "0x2", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x482480017ffd8000", - "0x1", - "0x1104800180018000", - "0x68", - "0x20680017fff7ffd", - "0xb", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1a", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x480680017fff8000", - "0x1", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x18", - "0x20680017fff7ffd", - "0xa", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x400380007ffd7ffb", - "0x480a7ffc7fff8000", - "0x482680017ffd8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x1f3694f95b7dfd5d7c412de0955718cd18eb234ad39c2e1aeb5d3d1f702b575", - "0x480680017fff8000", - "0x53746f7261676552656164", - "0x400280007ffd7fff", - "0x400380017ffd7ffc", - "0x400280027ffd7ffd", - "0x400280037ffd7ffe", - "0x480280057ffd8000", - "0x20680017fff7fff", - "0xc", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480280067ffd8000", - "0x10780017fff7fff", - "0x9", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x8", - "0x480680017fff8000", - "0x1", - "0x480280067ffd8000", - "0x480280077ffd8000", - "0x1104800180018000", - "0x47", - "0x20680017fff7ffd", - "0xa", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x1f3694f95b7dfd5d7c412de0955718cd18eb234ad39c2e1aeb5d3d1f702b575", - "0x480680017fff8000", - "0x53746f726167655772697465", - "0x400280007ffc7fff", - "0x400380017ffc7ffb", - "0x400280027ffc7ffd", - "0x400280037ffc7ffe", - "0x400380047ffc7ffd", - "0x480280067ffc8000", - "0x20680017fff7fff", - "0xd", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x10780017fff7fff", - "0x9", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x9", - "0x480680017fff8000", - "0x1", - "0x480280077ffc8000", - "0x480280087ffc8000", - "0x1104800180018000", - "0x21", - "0x20680017fff7ffd", - "0xb", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x8", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x9", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe" - ], - "hints": [ - [ - 0, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x56e0" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 47, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -23 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 130, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x1d10" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 171, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -8 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 360, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -3 } } - } - } - ] - ], - [ - 410, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -4 } } - } - } - ] - ] - ], - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0x100781e70ee4c8fe9095638e2f60c7d1d8102a337cc9f7619fd0d3c23f97358", - "offset": 0, - "builtins": ["range_check"] - }, - { - "selector": "0x3a8a260575c99ad54c35e92934105827032e08dc2f03097e6014d94706b0a7f", - "offset": 130, - "builtins": ["range_check"] - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - } -} diff --git a/da-test/contracts/Counter2/Counter2.sierra.json b/da-test/contracts/Counter2/Counter2.sierra.json deleted file mode 100644 index f9de4ba6f6..0000000000 --- a/da-test/contracts/Counter2/Counter2.sierra.json +++ /dev/null @@ -1,661 +0,0 @@ -{ - "sierra_program": [ - "0x1", - "0x3", - "0x0", - "0x2", - "0x1", - "0x0", - "0xca", - "0x36", - "0x1f", - "0x52616e6765436865636b", - "0x0", - "0x4761734275696c74696e", - "0x66656c74323532", - "0x4172726179", - "0x1", - "0x2", - "0x536e617073686f74", - "0x3", - "0x537472756374", - "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", - "0x4", - "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", - "0x456e756d", - "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", - "0x6", - "0x753332", - "0x53797374656d", - "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", - "0xa", - "0x5", - "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", - "0xc", - "0xb", - "0x4275696c74696e436f737473", - "0x29f42f081b39b7a95af7de50c360d817b2d3267526e04d1c82194503d6741f5", - "0x137cd6e9a4a8465ec5587137fce150747aa77ffb322ddd97f7d17f021a4d3d7", - "0xf", - "0x10", - "0xc0764d0105132ee2c23ff8b3bb5a956e28de073773f2ca19cd88a286832866", - "0x11", - "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", - "0x13", - "0x426f78", - "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", - "0x15", - "0x167da147c848d82223137ce6d4116fc13e47127577ad1b4c91f8b9e045c9785", - "0x17", - "0x53746f726167654261736541646472657373", - "0x53746f7261676541646472657373", - "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", - "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", - "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", - "0x1d", - "0x71", - "0x7265766f6b655f61705f747261636b696e67", - "0x77697468647261775f676173", - "0x6272616e63685f616c69676e", - "0x73746f72655f74656d70", - "0x66756e6374696f6e5f63616c6c", - "0x656e756d5f6d61746368", - "0x7", - "0x7374727563745f6465636f6e737472756374", - "0x61727261795f6c656e", - "0x736e617073686f745f74616b65", - "0x8", - "0x64726f70", - "0x7533325f636f6e7374", - "0x72656e616d65", - "0x7533325f6571", - "0x9", - "0x61727261795f6e6577", - "0x66656c743235325f636f6e7374", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x61727261795f617070656e64", - "0x7374727563745f636f6e737472756374", - "0x656e756d5f696e6974", - "0xd", - "0x6765745f6275696c74696e5f636f737473", - "0xe", - "0x77697468647261775f6761735f616c6c", - "0x12", - "0x4f7574206f6620676173", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x14", - "0x61727261795f736e617073686f745f706f705f66726f6e74", - "0x16", - "0x6a756d70", - "0x756e626f78", - "0x66656c743235325f616464", - "0x18", - "0x73746f726167655f626173655f616464726573735f636f6e7374", - "0x1f3694f95b7dfd5d7c412de0955718cd18eb234ad39c2e1aeb5d3d1f702b575", - "0x73746f726167655f616464726573735f66726f6d5f62617365", - "0x1a", - "0x73746f726167655f726561645f73797363616c6c", - "0x1b", - "0x73746f726167655f77726974655f73797363616c6c", - "0x1c", - "0x1e", - "0x19f", - "0xffffffffffffffff", - "0x63", - "0x54", - "0x24", - "0x19", - "0x20", - "0x21", - "0x22", - "0x23", - "0x25", - "0x46", - "0x26", - "0x27", - "0x28", - "0x29", - "0x2d", - "0x2e", - "0x2f", - "0x30", - "0x2a", - "0x2b", - "0x2c", - "0x31", - "0x3f", - "0x32", - "0x33", - "0x34", - "0x35", - "0x36", - "0x37", - "0x38", - "0x39", - "0x3a", - "0x3b", - "0x3c", - "0x3d", - "0x3e", - "0x40", - "0x41", - "0x42", - "0x43", - "0x44", - "0x45", - "0x47", - "0x48", - "0x49", - "0x4a", - "0x4b", - "0x4c", - "0x4d", - "0x4e", - "0x4f", - "0x50", - "0x51", - "0x52", - "0x53", - "0x55", - "0x56", - "0x57", - "0x58", - "0x59", - "0x5a", - "0x5b", - "0x5c", - "0x5d", - "0x5e", - "0x5f", - "0xc6", - "0x90", - "0xb9", - "0xb2", - "0xdb", - "0xe0", - "0xea", - "0x11c", - "0x116", - "0x132", - "0x14b", - "0x150", - "0x15b", - "0x170", - "0x60", - "0x61", - "0x175", - "0x62", - "0x64", - "0x65", - "0x180", - "0x66", - "0x67", - "0x68", - "0x69", - "0x6a", - "0x6b", - "0x18d", - "0x6c", - "0x199", - "0x6d", - "0x6e", - "0x6f", - "0x70", - "0xd4", - "0xf1", - "0xf5", - "0x124", - "0x138", - "0x13e", - "0x161", - "0x187", - "0x193", - "0xf89", - "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", - "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", - "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", - "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", - "0x70a090610062a02090e090607062902090e02280227180626062502090e10", - "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", - "0x606313806063b0207063a3806063938060637070606361506063534060633", - "0x70606314007063f0706063e10060639090906323d06063107060639023c38", - "0x6063102454406063106060631060744060743180606421406064207060641", - "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", - "0x374a07063f150606394907063f020744060743170606421506064209060639", - "0x100906320906063107060637210606354b060633150906321d0606391d0606", - "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", - "0x10060631060734060743340606310207340607430706063b0706064f4d0606", - "0x33380906320607063f0707063f0250340906321c0606311c0606371d060635", - "0x1c060639060748060743480606310207480607431f06064226060635510606", - "0x565506063102545307065206074b0607434b06063102074b06074321060642", - "0x5906074302583d0906325706063b0607570607435706063102075706074302", - "0x606422c0606355a060633140906325906063b060759060743590606310207", - "0x7432c06064259060633570606330607510607435106063102075106074326", - "0x150c075c070602070602025c060202025b06075a0607435a06063102075a06", - "0xc0615023d38075c0614060c0214065c0609060902025c060207023410075d", - "0x380244065c0638063402025c0602070217065e18065c073d0610020c065c06", - "0x3d021f065c06021802025c061c0614021d1c075c0646063d0246065c064406", - "0x224065c06210617024b065c061d061702025c06480614022148075c061f06", - "0x2025c0618061c02025c06020702025f025c07244b0746024b065c064b0644", - "0x260065c06022102025c0626064802264d075c0651061f0251065c0607061d", - "0x259065c0602260257065c065560074d0255065c065506240255065c06024b", - "0x65c061506550200065c060c0615025a065c062c0660022c065c0657590751", - "0x5902025c06020702636261000c0663065c065a06570262065c064d061d0261", - "0x2070268670766655f075c0764150c095a0264065c0664062c0264065c0602", - "0x607061d026b065c06650655026a065c066906610269065c06020002025c06", - "0x706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662026c065c", - "0x672065f02025c0602070274067372065c07710664025f065c065f06150271", - "0x5c0677066802025c06760667027776075c067506650275065c06022102025c", - "0x66f0655027b065c065f0615027a065c0679066a0279065c06780669027806", - "0x25c060207027e7d7c7b0c067e065c067a0657027d065c0670061d027c065c", - "0x65c0670061d0273065c066f06550280065c065f0615027f065c0674066002", - "0x22102025c0618061c02025c06020702828173800c0682065c067f06570281", - "0x2260285065c068483074d0284065c068406240284065c06026f0283065c06", - "0x550288065c066706150287065c066606600266065c06858607510286065c06", - "0x207028b8a89880c068b065c06870657028a065c0607061d0289065c066806", - "0x8d065c060271028c065c06022102025c0638067002025c0617064802025c06", - "0x5c068e8f0751028f065c060226028e065c068d8c074d028d065c068d062402", - "0x607061d0293065c061506550292065c060c06150291065c06900660029006", - "0x2025c0609067002025c06020702945e93920c0694065c06910657025e065c", - "0x297065c069695074d0296065c069606240296065c06026f0295065c060221", - "0x9b065c06100615029a065c069906600299065c06979807510298065c060226", - "0x29e9d9c9b0c069e065c069a0657029d065c0607061d029c065c0634065502", - "0x5c0609063402025c060207023410079f150c075c070602070602025c060202", - "0x5c06021802025c06140614021814075c063d063d023d065c06380638023806", - "0x6460617021c065c0618061702025c06440614024644075c0617063d021706", - "0x70202a0025c071d1c0746020c065c060c0615021c065c061c0644021d065c", - "0x22102025c0648064802481f075c0621061f0221065c0607061d02025c0602", - "0x226024d065c06244b074d0224065c062406240224065c06024b024b065c06", - "0x550255065c060c06150260065c065106600251065c064d2607510226065c06", - "0x207022c5957550c062c065c066006570259065c061f061d0257065c061506", - "0x7a16100075c075a150c095a025a065c065a062c025a065c06025902025c06", - "0x65075c065f066b025f065c066406610264065c06020002025c060207026362", - "0x65c066706620270065c0607061d026f065c0661065502025c0665066c0267", - "0x6a26b065c076a066e0200065c06000615026a6968095c0671706f096d0271", - "0x7472075c066d0674026e065c060221026d065c066b067202025c060207026c", - "0x75c06787707760278065c066e06750277065c0674062402025c0672061c02", - "0x5c067a066802025c06790667027a79075c0675066502025c06760648027675", - "0x6680655027e065c06000615027d065c067c066a027c065c067b0669027b06", - "0x25c0602070273807f7e0c0673065c067d06570280065c0669061d027f065c", - "0x65c0669061d0283065c066806550282065c060006150281065c066c066002", - "0x26f0286065c06022102025c06020702858483820c0685065c068106570284", - "0x7510288065c0602260287065c066686074d0266065c066606240266065c06", - "0x28c065c06630655028b065c06620615028a065c068906600289065c068788", - "0x9067002025c060207028e8d8c8b0c068e065c068a0657028d065c0607061d", - "0x6908f074d0290065c069006240290065c06026f028f065c06022102025c06", - "0x100615025e065c069306600293065c06919207510292065c0602260291065c", - "0x940c0697065c065e06570296065c0607061d0295065c063406550294065c06", - "0x7802025c060207020c06a30907075c070606770206065c0602063402979695", - "0x2070202a406027b0234065c0615067a0210065c060706790215065c060906", - "0x63d067a0210065c060c0679023d065c0638067d0238065c06027c02025c06", - "0x21706a518065c0734067e0214065c061406090214065c061006680234065c", - "0x9021c065c064606730246065c064406800244065c0618067f02025c060207", - "0x25c0617064802025c060207021f1d07061f065c061c0681021d065c061406", - "0x24065c06210681024b065c061406090221065c064806820248065c06027c02", - "0x907070609065c060606830207065c0602061d0206065c06027c02244b0706", - "0x5c0606061d0214065c06020655021015075c060c0685020c065c0607068402", - "0xa644065c073d066e023d3834095c0617181409660217065c06100686021806", - "0x65c060288021d065c06091c0787021c065c0644067202025c060207024606", - "0x5c064806240221065c0602890248065c061f1d0787021d065c061d0624021f", - "0x1506860260065c0638061d0251065c06340655024b065c0621480787024806", - "0x5c0726068b02264d24095c06575560510c8a0257065c064b06240255065c06", - "0x5a066102025c0600064802005a075c0659068c02025c060207022c06a75906", - "0x6550264065c0663068e0263065c066261078d0262065c06027c0261065c06", - "0x5c0602070267655f090667065c0664068f0265065c064d061d025f065c0624", - "0x5c0668068f026a065c064d061d0269065c062406550268065c062c06900202", - "0x46069002025c0609061c02025c0615069102025c060207026f6a6909066f06", - "0x7109066c065c0670068f026b065c0638061d0271065c063406550270065c06", - "0x60906860238065c0606061d0234065c060206550209065c06070684026c6b", - "0x5c060207021806a814065c0710066e0210150c095c063d38340966023d065c", - "0x5c060c06550246065c064406930244065c061706920217065c061406720202", - "0x9402025c060207021f1d1c09061f065c0646065e021d065c0615061d021c06", - "0x624065c0648065e024b065c0615061d0221065c060c06550248065c061806", - "0x675020c065c06027c0209065c060706074d0207065c0602068002244b2109", - "0x9065c06029502025c06070691021015070610065c060c06830215065c0609", - "0xc065c060c06970215065c061506440215065c060218020c065c0609069602", - "0x65c0638069902025c0602070218143d09a9383410095c070c1506020c9802", - "0x2aa06027b021c065c0617069a0246065c0634061d0244065c061006550217", - "0x246065c0614061d0244065c063d0655021d065c0618069b02025c06020702", - "0x21065c071f066e021f065c0648069d0248065c061c069c021c065c061d069a", - "0x5c064d0693024d065c062406920224065c0621067202025c060207024b06ab", - "0x556051090655065c0626065e0260065c0646061d0251065c06440655022606", - "0x22c065c0646061d0259065c064406550257065c064b069402025c06020702", - "0x29502025c0615069102150c075c06070685025a2c5909065a065c0657065e", - "0x3406970238065c063806440238065c0602180234065c061006960210065c06", - "0x27c02025c0602070244171809ac143d075c070934380602159e0234065c06", - "0x6ae021f065c0614061d021d065c063d0655021c065c064606ad0246065c06", - "0x5c061806550221065c064406b002025c0602070202af06027b0248065c061c", - "0x62406b10224065c0648065d0248065c062106ae021f065c0617061d021d06", - "0x7b50251065c064d06b402025c060207022606b34d065c074b06b2024b065c", - "0x259065c061f061d0257065c061d06550255065c066006b60260065c06510c", - "0x5c062606b802025c060c069102025c060207022c595709062c065c065506b7", - "0x626100090662065c065a06b70261065c061f061d0200065c061d0655025a06", - "0x5c060906930209065c0606069202025c060207020706ba06065c070206b902", - "0x71007510210065c06022602025c0602070215060615065c060c065e020c06", - "0x6065c070206bb023d06063d065c0638065e0238065c063406940234065c06", - "0x5c060c06bf020c065c060906be0209065c060606bd02025c060207020706bc", - "0x3406c00234065c06071007510210065c06022602025c060207021506061506", - "0x209070602443d06020c153d06020c183d06063d065c063806bf0238065c06", - "0x60cc202103d073d06c10234150715062d09070602443d06020c153d06020c", - "0x2100907090707c40706024b3d06091d3d0609c309070602483d0609071d3d", - "0x65706c709070602513d0609071c3d060cc60706024b3d06091c3d0609c506", - "0xc9025a065906c8024b" - ], - "sierra_program_debug_info": { - "type_names": [ - [0, "RangeCheck"], - [1, "GasBuiltin"], - [2, "felt252"], - [3, "Array"], - [4, "Snapshot>"], - [5, "core::array::Span::"], - [6, "Unit"], - [7, "core::option::Option::"], - [8, "u32"], - [9, "System"], - [10, "core::panics::Panic"], - [11, "Tuple>"], - [12, "Tuple>"], - [ - 13, - "core::panics::PanicResult::<(core::array::Span::,)>" - ], - [14, "BuiltinCosts"], - [15, "Counter2::Counter2::balance_2::ContractState"], - [16, "Counter2::Counter2::ContractState"], - [17, "Tuple"], - [ - 18, - "core::panics::PanicResult::<(Counter2::Counter2::ContractState, ())>" - ], - [19, "Tuple"], - [20, "core::panics::PanicResult::<(core::felt252,)>"], - [21, "Box"], - [22, "core::option::Option::>"], - [23, "Tuple"], - [ - 24, - "core::panics::PanicResult::<(Counter2::Counter2::balance_2::ContractState, ())>" - ], - [25, "StorageBaseAddress"], - [26, "StorageAddress"], - [ - 27, - "core::result::Result::>" - ], - [28, "core::result::Result::<(), core::array::Array::>"], - [29, "Tuple"], - [30, "core::panics::PanicResult::<((),)>"] - ], - "libfunc_names": [ - [0, "revoke_ap_tracking"], - [1, "withdraw_gas"], - [2, "branch_align"], - [3, "store_temp>"], - [4, "function_call"], - [5, "store_temp"], - [6, "enum_match>"], - [7, "struct_deconstruct>"], - [8, "array_len"], - [9, "snapshot_take"], - [10, "drop"], - [11, "u32_const<0>"], - [12, "rename"], - [13, "store_temp"], - [14, "u32_eq"], - [15, "drop"], - [16, "store_temp"], - [17, "function_call"], - [18, "drop"], - [19, "array_new"], - [ - 20, - "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" - ], - [21, "store_temp"], - [22, "array_append"], - [23, "struct_construct"], - [24, "struct_construct>>"], - [ - 25, - "enum_init,)>, 1>" - ], - [26, "store_temp"], - [ - 27, - "store_temp,)>>" - ], - [28, "get_builtin_costs"], - [29, "store_temp"], - [30, "withdraw_gas_all"], - [31, "struct_construct"], - [32, "struct_construct"], - [33, "store_temp"], - [34, "function_call"], - [ - 35, - "enum_match>" - ], - [36, "drop>"], - [37, "snapshot_take>"], - [38, "drop>"], - [39, "struct_construct>"], - [40, "struct_construct>>"], - [ - 41, - "enum_init,)>, 0>" - ], - [42, "felt252_const<375233589013918064796019>"], - [43, "drop>"], - [ - 44, - "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" - ], - [45, "snapshot_take"], - [46, "drop"], - [47, "function_call"], - [48, "enum_match>"], - [49, "struct_deconstruct>"], - [50, "snapshot_take"], - [51, "store_temp>"], - [52, "function_call"], - [53, "array_snapshot_pop_front"], - [ - 54, - "enum_init>, 0>" - ], - [55, "store_temp>>"], - [ - 56, - "store_temp>>" - ], - [57, "jump"], - [58, "struct_construct"], - [ - 59, - "enum_init>, 1>" - ], - [ - 60, - "enum_match>>" - ], - [61, "unbox"], - [62, "rename"], - [63, "enum_init, 0>"], - [64, "store_temp>"], - [65, "enum_init, 1>"], - [66, "store_temp"], - [67, "struct_deconstruct"], - [68, "snapshot_take"], - [69, "store_temp"], - [ - 70, - "function_call" - ], - [71, "felt252_add"], - [72, "felt252_const<2>"], - [73, "felt252_const<1>"], - [ - 74, - "function_call" - ], - [ - 75, - "enum_match>" - ], - [ - 76, - "struct_deconstruct>" - ], - [77, "struct_construct>"], - [ - 78, - "enum_init, 0>" - ], - [ - 79, - "store_temp>" - ], - [ - 80, - "enum_init, 1>" - ], - [81, "drop"], - [82, "struct_construct>"], - [83, "enum_init, 0>"], - [84, "store_temp>"], - [85, "enum_init, 1>"], - [ - 86, - "storage_base_address_const<882383514293786476169860057603731312574256808446185275593542539777216263541>" - ], - [87, "storage_address_from_base"], - [88, "store_temp"], - [89, "storage_read_syscall"], - [ - 90, - "enum_init>, 0>" - ], - [ - 91, - "store_temp>>" - ], - [ - 92, - "enum_init>, 1>" - ], - [ - 93, - "rename>>" - ], - [ - 94, - "function_call::unwrap_syscall>" - ], - [95, "storage_write_syscall"], - [ - 96, - "enum_init>, 0>" - ], - [ - 97, - "store_temp>>" - ], - [ - 98, - "enum_init>, 1>" - ], - [ - 99, - "rename>>" - ], - [ - 100, - "function_call::unwrap_syscall>" - ], - [101, "enum_match>"], - [102, "struct_deconstruct>"], - [ - 103, - "struct_construct>" - ], - [ - 104, - "enum_init, 0>" - ], - [ - 105, - "store_temp>" - ], - [ - 106, - "enum_init, 1>" - ], - [ - 107, - "enum_match>>" - ], - [ - 108, - "enum_match>>" - ], - [109, "struct_construct>"], - [110, "enum_init, 0>"], - [111, "store_temp>"], - [112, "enum_init, 1>"] - ], - "user_func_names": [ - [0, "Counter2::Counter2::__external::increase_balance_2"], - [1, "Counter2::Counter2::__external::get_balance_2"], - [2, "core::Felt252Serde::deserialize"], - [3, "core::starknet::use_system_implicit"], - [4, "Counter2::Counter2::increase_balance_2"], - [5, "Counter2::Counter2::get_balance_2"], - [6, "core::Felt252Serde::serialize"], - [7, "Counter2::Counter2::balance_2::InternalContractStateImpl::read"], - [8, "Counter2::Counter2::balance_2::InternalContractStateImpl::write"], - [ - 9, - "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" - ], - [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] - ] - }, - "contract_class_version": "0.1.0", - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0x100781e70ee4c8fe9095638e2f60c7d1d8102a337cc9f7619fd0d3c23f97358", - "function_idx": 0 - }, - { - "selector": "0x3a8a260575c99ad54c35e92934105827032e08dc2f03097e6014d94706b0a7f", - "function_idx": 1 - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - }, - "abi": [ - { - "type": "function", - "name": "increase_balance_2", - "inputs": [{ "name": "amount", "type": "core::felt252" }], - "outputs": [], - "state_mutability": "external" - }, - { - "type": "function", - "name": "get_balance_2", - "inputs": [], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - }, - { - "type": "event", - "name": "Counter2::Counter2::Event", - "kind": "enum", - "variants": [] - } - ] -} diff --git a/da-test/contracts/Counter3/Counter3.cairo b/da-test/contracts/Counter3/Counter3.cairo deleted file mode 100644 index 22fa48ba32..0000000000 --- a/da-test/contracts/Counter3/Counter3.cairo +++ /dev/null @@ -1,19 +0,0 @@ -#[starknet::contract] -mod Counter3 { - #[storage] - struct Storage { - balance_3: felt252, - } - - // Increases the balance_3 by the given amount. - #[external(v0)] - fn increase_balance_3(ref self: ContractState, amount: felt252) { - self.balance_3.write(self.balance_3.read() + amount + 3 + 1); - } - - // Returns the current balance_3. - #[external(v0)] - fn get_balance_3(self: @ContractState) -> felt252 { - self.balance_3.read() - } -} diff --git a/da-test/contracts/Counter3/Counter3.casm.json b/da-test/contracts/Counter3/Counter3.casm.json deleted file mode 100644 index 7108cd0470..0000000000 --- a/da-test/contracts/Counter3/Counter3.casm.json +++ /dev/null @@ -1,579 +0,0 @@ -{ - "prime": "0x800000000000011000000000000000000000000000000000000000000000001", - "compiler_version": "2.1.0", - "bytecode": [ - "0xa0680017fff8000", - "0x7", - "0x482680017ffa8000", - "0xffffffffffffffffffffffffffffa920", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x6e", - "0x4825800180007ffa", - "0x56e0", - "0x400280007ff97fff", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xe8", - "0x482680017ff98000", - "0x1", - "0x20680017fff7ffd", - "0x55", - "0x48307ffb80007ffc", - "0x4824800180007fff", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0xfe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff77fff8000", - "0x48127fe67fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x1b4", - "0x482480017fff8000", - "0x1b3", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007fe8", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff67fff", - "0x10780017fff7fff", - "0x20", - "0x4824800180007fe8", - "0x0", - "0x400080007ff77fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x48127ff47fff8000", - "0x1104800180018000", - "0xdc", - "0x482480017fbc8000", - "0x1", - "0x20680017fff7ffc", - "0xc", - "0x40780017fff7fff", - "0x1", - "0x48127ffe7fff8000", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff48000", - "0x1", - "0x48127fe37fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ffd7fff8000", - "0x48127fec7fff8000", - "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", - "0xffffffffffffffffffffffffffffe2f0", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x5e", - "0x4825800180007ffa", - "0x1d10", - "0x400280007ff97fff", - "0x48297ffc80007ffd", - "0x482680017ff98000", - "0x1", - "0x4824800180007ffe", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x82", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff87fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x138", - "0x482480017fff8000", - "0x137", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007ff7", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff77fff", - "0x10780017fff7fff", - "0x24", - "0x4824800180007ff7", - "0x0", - "0x400080007ff87fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x8b", - "0x482480017fd88000", - "0x1", - "0x20680017fff7ffc", - "0x11", - "0x40780017fff7fff", - "0x1", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x95", - "0x48127ff77fff8000", - "0x48127ff17fff8000", - "0x48127ff17fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff58000", - "0x1", - "0x48127ff27fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482680017ff98000", - "0x1", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x48297ffc80007ffd", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0xa", - "0x482680017ffc8000", - "0x1", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x0", - "0x480a7ffc7fff8000", - "0x10780017fff7fff", - "0x8", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x20680017fff7ffc", - "0x8", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x0", - "0x480080007ffa8000", - "0x208b7fff7fff7ffe", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x42", - "0x20680017fff7ffd", - "0x1d", - "0x48287ffd7fff8000", - "0x482480017fff8000", - "0x3", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x482480017ffd8000", - "0x1", - "0x1104800180018000", - "0x68", - "0x20680017fff7ffd", - "0xb", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1a", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x480680017fff8000", - "0x1", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x18", - "0x20680017fff7ffd", - "0xa", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x400380007ffd7ffb", - "0x480a7ffc7fff8000", - "0x482680017ffd8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x13f8f977246b9de639fa8cb66b97c7a963aa52dcc226d464b423dadd448247", - "0x480680017fff8000", - "0x53746f7261676552656164", - "0x400280007ffd7fff", - "0x400380017ffd7ffc", - "0x400280027ffd7ffd", - "0x400280037ffd7ffe", - "0x480280057ffd8000", - "0x20680017fff7fff", - "0xc", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480280067ffd8000", - "0x10780017fff7fff", - "0x9", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x8", - "0x480680017fff8000", - "0x1", - "0x480280067ffd8000", - "0x480280077ffd8000", - "0x1104800180018000", - "0x47", - "0x20680017fff7ffd", - "0xa", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x13f8f977246b9de639fa8cb66b97c7a963aa52dcc226d464b423dadd448247", - "0x480680017fff8000", - "0x53746f726167655772697465", - "0x400280007ffc7fff", - "0x400380017ffc7ffb", - "0x400280027ffc7ffd", - "0x400280037ffc7ffe", - "0x400380047ffc7ffd", - "0x480280067ffc8000", - "0x20680017fff7fff", - "0xd", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x10780017fff7fff", - "0x9", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x9", - "0x480680017fff8000", - "0x1", - "0x480280077ffc8000", - "0x480280087ffc8000", - "0x1104800180018000", - "0x21", - "0x20680017fff7ffd", - "0xb", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x8", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x9", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe" - ], - "hints": [ - [ - 0, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x56e0" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 47, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -23 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 130, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x1d10" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 171, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -8 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 360, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -3 } } - } - } - ] - ], - [ - 410, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -4 } } - } - } - ] - ] - ], - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0xf6c331c5ed8d385d90b6701440a8dae60db11ce6de5a9f3b5f5cd83d3cd388", - "offset": 0, - "builtins": ["range_check"] - }, - { - "selector": "0x28f4c2012b5ef4f71461a66fc2edbf0f514e10156cbc990e81e49d1effd4cc0", - "offset": 130, - "builtins": ["range_check"] - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - } -} diff --git a/da-test/contracts/Counter3/Counter3.sierra.json b/da-test/contracts/Counter3/Counter3.sierra.json deleted file mode 100644 index a004ed9e0e..0000000000 --- a/da-test/contracts/Counter3/Counter3.sierra.json +++ /dev/null @@ -1,661 +0,0 @@ -{ - "sierra_program": [ - "0x1", - "0x3", - "0x0", - "0x2", - "0x1", - "0x0", - "0xca", - "0x36", - "0x1f", - "0x52616e6765436865636b", - "0x0", - "0x4761734275696c74696e", - "0x66656c74323532", - "0x4172726179", - "0x1", - "0x2", - "0x536e617073686f74", - "0x3", - "0x537472756374", - "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", - "0x4", - "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", - "0x456e756d", - "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", - "0x6", - "0x753332", - "0x53797374656d", - "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", - "0xa", - "0x5", - "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", - "0xc", - "0xb", - "0x4275696c74696e436f737473", - "0x27e1ff2ea5add551250ed7482a598efb2cf17bae11c6002350798758fb0d420", - "0x1675aa1c3ac14a06572450b3b91b1c077eef0027236f7c5df800ba8a083692d", - "0xf", - "0x10", - "0x2ccc8f147504dd59053a5da3887864869fa5772447ec2e27601918fbb982fe2", - "0x11", - "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", - "0x13", - "0x426f78", - "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", - "0x15", - "0x2ccb70c969149f3940a206d9764fae33b52b7aa9ee8a8211c303a820a145963", - "0x17", - "0x53746f726167654261736541646472657373", - "0x53746f7261676541646472657373", - "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", - "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", - "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", - "0x1d", - "0x71", - "0x7265766f6b655f61705f747261636b696e67", - "0x77697468647261775f676173", - "0x6272616e63685f616c69676e", - "0x73746f72655f74656d70", - "0x66756e6374696f6e5f63616c6c", - "0x656e756d5f6d61746368", - "0x7", - "0x7374727563745f6465636f6e737472756374", - "0x61727261795f6c656e", - "0x736e617073686f745f74616b65", - "0x8", - "0x64726f70", - "0x7533325f636f6e7374", - "0x72656e616d65", - "0x7533325f6571", - "0x9", - "0x61727261795f6e6577", - "0x66656c743235325f636f6e7374", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x61727261795f617070656e64", - "0x7374727563745f636f6e737472756374", - "0x656e756d5f696e6974", - "0xd", - "0x6765745f6275696c74696e5f636f737473", - "0xe", - "0x77697468647261775f6761735f616c6c", - "0x12", - "0x4f7574206f6620676173", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x14", - "0x61727261795f736e617073686f745f706f705f66726f6e74", - "0x16", - "0x6a756d70", - "0x756e626f78", - "0x66656c743235325f616464", - "0x18", - "0x73746f726167655f626173655f616464726573735f636f6e7374", - "0x13f8f977246b9de639fa8cb66b97c7a963aa52dcc226d464b423dadd448247", - "0x73746f726167655f616464726573735f66726f6d5f62617365", - "0x1a", - "0x73746f726167655f726561645f73797363616c6c", - "0x1b", - "0x73746f726167655f77726974655f73797363616c6c", - "0x1c", - "0x1e", - "0x19f", - "0xffffffffffffffff", - "0x63", - "0x54", - "0x24", - "0x19", - "0x20", - "0x21", - "0x22", - "0x23", - "0x25", - "0x46", - "0x26", - "0x27", - "0x28", - "0x29", - "0x2d", - "0x2e", - "0x2f", - "0x30", - "0x2a", - "0x2b", - "0x2c", - "0x31", - "0x3f", - "0x32", - "0x33", - "0x34", - "0x35", - "0x36", - "0x37", - "0x38", - "0x39", - "0x3a", - "0x3b", - "0x3c", - "0x3d", - "0x3e", - "0x40", - "0x41", - "0x42", - "0x43", - "0x44", - "0x45", - "0x47", - "0x48", - "0x49", - "0x4a", - "0x4b", - "0x4c", - "0x4d", - "0x4e", - "0x4f", - "0x50", - "0x51", - "0x52", - "0x53", - "0x55", - "0x56", - "0x57", - "0x58", - "0x59", - "0x5a", - "0x5b", - "0x5c", - "0x5d", - "0x5e", - "0x5f", - "0xc6", - "0x90", - "0xb9", - "0xb2", - "0xdb", - "0xe0", - "0xea", - "0x11c", - "0x116", - "0x132", - "0x14b", - "0x150", - "0x15b", - "0x170", - "0x60", - "0x61", - "0x175", - "0x62", - "0x64", - "0x65", - "0x180", - "0x66", - "0x67", - "0x68", - "0x69", - "0x6a", - "0x6b", - "0x18d", - "0x6c", - "0x199", - "0x6d", - "0x6e", - "0x6f", - "0x70", - "0xd4", - "0xf1", - "0xf5", - "0x124", - "0x138", - "0x13e", - "0x161", - "0x187", - "0x193", - "0xf89", - "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", - "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", - "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", - "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", - "0x70a090610062a02090e090607062902090e02280227180626062502090e10", - "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", - "0x606313806063b0207063a3806063938060637070606361506063534060633", - "0x70606314007063f0706063e10060639090906323d06063107060639023c38", - "0x6063102454406063106060631060744060743180606421406064207060641", - "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", - "0x374a07063f150606394907063f020744060743170606421506064209060639", - "0x100906320906063107060637210606354b060633150906321d0606391d0606", - "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", - "0x10060631060734060743340606310207340607430706063b0706064f4d0606", - "0x33380906320607063f0907063f0250340906321c0606311c0606371d060635", - "0x1c060639060748060743480606310207480607431f06064226060635510606", - "0x565506063102545307065206074b0607434b06063102074b06074321060642", - "0x5906074302583d0906325706063b0607570607435706063102075706074302", - "0x606422c0606355a060633140906325906063b060759060743590606310207", - "0x7432c06064259060633570606330607510607435106063102075106074326", - "0x150c075c070602070602025c060202025b06075a0607435a06063102075a06", - "0xc0615023d38075c0614060c0214065c0609060902025c060207023410075d", - "0x380244065c0638063402025c0602070217065e18065c073d0610020c065c06", - "0x3d021f065c06021802025c061c0614021d1c075c0646063d0246065c064406", - "0x224065c06210617024b065c061d061702025c06480614022148075c061f06", - "0x2025c0618061c02025c06020702025f025c07244b0746024b065c064b0644", - "0x260065c06022102025c0626064802264d075c0651061f0251065c0607061d", - "0x259065c0602260257065c065560074d0255065c065506240255065c06024b", - "0x65c061506550200065c060c0615025a065c062c0660022c065c0657590751", - "0x5902025c06020702636261000c0663065c065a06570262065c064d061d0261", - "0x2070268670766655f075c0764150c095a0264065c0664062c0264065c0602", - "0x607061d026b065c06650655026a065c066906610269065c06020002025c06", - "0x706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662026c065c", - "0x672065f02025c0602070274067372065c07710664025f065c065f06150271", - "0x5c0677066802025c06760667027776075c067506650275065c06022102025c", - "0x66f0655027b065c065f0615027a065c0679066a0279065c06780669027806", - "0x25c060207027e7d7c7b0c067e065c067a0657027d065c0670061d027c065c", - "0x65c0670061d0273065c066f06550280065c065f0615027f065c0674066002", - "0x22102025c0618061c02025c06020702828173800c0682065c067f06570281", - "0x2260285065c068483074d0284065c068406240284065c06026f0283065c06", - "0x550288065c066706150287065c066606600266065c06858607510286065c06", - "0x207028b8a89880c068b065c06870657028a065c0607061d0289065c066806", - "0x8d065c060271028c065c06022102025c0638067002025c0617064802025c06", - "0x5c068e8f0751028f065c060226028e065c068d8c074d028d065c068d062402", - "0x607061d0293065c061506550292065c060c06150291065c06900660029006", - "0x2025c0609067002025c06020702945e93920c0694065c06910657025e065c", - "0x297065c069695074d0296065c069606240296065c06026f0295065c060221", - "0x9b065c06100615029a065c069906600299065c06979807510298065c060226", - "0x29e9d9c9b0c069e065c069a0657029d065c0607061d029c065c0634065502", - "0x5c0609063402025c060207023410079f150c075c070602070602025c060202", - "0x5c06021802025c06140614021814075c063d063d023d065c06380638023806", - "0x6460617021c065c0618061702025c06440614024644075c0617063d021706", - "0x70202a0025c071d1c0746020c065c060c0615021c065c061c0644021d065c", - "0x22102025c0648064802481f075c0621061f0221065c0607061d02025c0602", - "0x226024d065c06244b074d0224065c062406240224065c06024b024b065c06", - "0x550255065c060c06150260065c065106600251065c064d2607510226065c06", - "0x207022c5957550c062c065c066006570259065c061f061d0257065c061506", - "0x7a16100075c075a150c095a025a065c065a062c025a065c06025902025c06", - "0x65075c065f066b025f065c066406610264065c06020002025c060207026362", - "0x65c066706620270065c0607061d026f065c0661065502025c0665066c0267", - "0x6a26b065c076a066e0200065c06000615026a6968095c0671706f096d0271", - "0x7472075c066d0674026e065c060221026d065c066b067202025c060207026c", - "0x75c06787707760278065c066e06750277065c0674062402025c0672061c02", - "0x5c067a066802025c06790667027a79075c0675066502025c06760648027675", - "0x6680655027e065c06000615027d065c067c066a027c065c067b0669027b06", - "0x25c0602070273807f7e0c0673065c067d06570280065c0669061d027f065c", - "0x65c0669061d0283065c066806550282065c060006150281065c066c066002", - "0x26f0286065c06022102025c06020702858483820c0685065c068106570284", - "0x7510288065c0602260287065c066686074d0266065c066606240266065c06", - "0x28c065c06630655028b065c06620615028a065c068906600289065c068788", - "0x9067002025c060207028e8d8c8b0c068e065c068a0657028d065c0607061d", - "0x6908f074d0290065c069006240290065c06026f028f065c06022102025c06", - "0x100615025e065c069306600293065c06919207510292065c0602260291065c", - "0x940c0697065c065e06570296065c0607061d0295065c063406550294065c06", - "0x7802025c060207020c06a30907075c070606770206065c0602063402979695", - "0x2070202a406027b0234065c0615067a0210065c060706790215065c060906", - "0x63d067a0210065c060c0679023d065c0638067d0238065c06027c02025c06", - "0x21706a518065c0734067e0214065c061406090214065c061006680234065c", - "0x9021c065c064606730246065c064406800244065c0618067f02025c060207", - "0x25c0617064802025c060207021f1d07061f065c061c0681021d065c061406", - "0x24065c06210681024b065c061406090221065c064806820248065c06027c02", - "0x907070609065c060606830207065c0602061d0206065c06027c02244b0706", - "0x5c0606061d0214065c06020655021015075c060c0685020c065c0607068402", - "0xa644065c073d066e023d3834095c0617181409660217065c06100686021806", - "0x65c060288021d065c06091c0787021c065c0644067202025c060207024606", - "0x5c064806240221065c0602890248065c061f1d0787021d065c061d0624021f", - "0x1506860260065c0638061d0251065c06340655024b065c0621480787024806", - "0x5c0726068b02264d24095c06575560510c8a0257065c064b06240255065c06", - "0x5a066102025c0600064802005a075c0659068c02025c060207022c06a75906", - "0x6550264065c0663068e0263065c066261078d0262065c06027c0261065c06", - "0x5c0602070267655f090667065c0664068f0265065c064d061d025f065c0624", - "0x5c0668068f026a065c064d061d0269065c062406550268065c062c06900202", - "0x46069002025c0609061c02025c0615069102025c060207026f6a6909066f06", - "0x7109066c065c0670068f026b065c0638061d0271065c063406550270065c06", - "0x60906860238065c0606061d0234065c060206550209065c06070684026c6b", - "0x5c060207021806a814065c0710066e0210150c095c063d38340966023d065c", - "0x5c060c06550246065c064406930244065c061706920217065c061406720202", - "0x9402025c060207021f1d1c09061f065c0646065e021d065c0615061d021c06", - "0x624065c0648065e024b065c0615061d0221065c060c06550248065c061806", - "0x675020c065c06027c0209065c060706074d0207065c0602068002244b2109", - "0x9065c06029502025c06070691021015070610065c060c06830215065c0609", - "0xc065c060c06970215065c061506440215065c060218020c065c0609069602", - "0x65c0638069902025c0602070218143d09a9383410095c070c1506020c9802", - "0x2aa06027b021c065c0617069a0246065c0634061d0244065c061006550217", - "0x246065c0614061d0244065c063d0655021d065c0618069b02025c06020702", - "0x21065c071f066e021f065c0648069d0248065c061c069c021c065c061d069a", - "0x5c064d0693024d065c062406920224065c0621067202025c060207024b06ab", - "0x556051090655065c0626065e0260065c0646061d0251065c06440655022606", - "0x22c065c0646061d0259065c064406550257065c064b069402025c06020702", - "0x29502025c0615069102150c075c06070685025a2c5909065a065c0657065e", - "0x3406970238065c063806440238065c0602180234065c061006960210065c06", - "0x27c02025c0602070244171809ac143d075c070934380602159e0234065c06", - "0x6ae021f065c0614061d021d065c063d0655021c065c064606ad0246065c06", - "0x5c061806550221065c064406b002025c0602070202af06027b0248065c061c", - "0x62406b10224065c0648065d0248065c062106ae021f065c0617061d021d06", - "0x7b50251065c064d06b402025c060207022606b34d065c074b06b2024b065c", - "0x259065c061f061d0257065c061d06550255065c066006b60260065c06510c", - "0x5c062606b802025c060c069102025c060207022c595709062c065c065506b7", - "0x626100090662065c065a06b70261065c061f061d0200065c061d0655025a06", - "0x5c060906930209065c0606069202025c060207020706ba06065c070206b902", - "0x71007510210065c06022602025c0602070215060615065c060c065e020c06", - "0x6065c070206bb023d06063d065c0638065e0238065c063406940234065c06", - "0x5c060c06bf020c065c060906be0209065c060606bd02025c060207020706bc", - "0x3406c00234065c06071007510210065c06022602025c060207021506061506", - "0x209070602443d06020c153d06020c183d06063d065c063806bf0238065c06", - "0x60cc202103d073d06c10234150715062d09070602443d06020c153d06020c", - "0x2100907090707c40706024b3d06091d3d0609c309070602483d0609071d3d", - "0x65706c709070602513d0609071c3d060cc60706024b3d06091c3d0609c506", - "0xc9025a065906c8024b" - ], - "sierra_program_debug_info": { - "type_names": [ - [0, "RangeCheck"], - [1, "GasBuiltin"], - [2, "felt252"], - [3, "Array"], - [4, "Snapshot>"], - [5, "core::array::Span::"], - [6, "Unit"], - [7, "core::option::Option::"], - [8, "u32"], - [9, "System"], - [10, "core::panics::Panic"], - [11, "Tuple>"], - [12, "Tuple>"], - [ - 13, - "core::panics::PanicResult::<(core::array::Span::,)>" - ], - [14, "BuiltinCosts"], - [15, "Counter3::Counter3::balance_3::ContractState"], - [16, "Counter3::Counter3::ContractState"], - [17, "Tuple"], - [ - 18, - "core::panics::PanicResult::<(Counter3::Counter3::ContractState, ())>" - ], - [19, "Tuple"], - [20, "core::panics::PanicResult::<(core::felt252,)>"], - [21, "Box"], - [22, "core::option::Option::>"], - [23, "Tuple"], - [ - 24, - "core::panics::PanicResult::<(Counter3::Counter3::balance_3::ContractState, ())>" - ], - [25, "StorageBaseAddress"], - [26, "StorageAddress"], - [ - 27, - "core::result::Result::>" - ], - [28, "core::result::Result::<(), core::array::Array::>"], - [29, "Tuple"], - [30, "core::panics::PanicResult::<((),)>"] - ], - "libfunc_names": [ - [0, "revoke_ap_tracking"], - [1, "withdraw_gas"], - [2, "branch_align"], - [3, "store_temp>"], - [4, "function_call"], - [5, "store_temp"], - [6, "enum_match>"], - [7, "struct_deconstruct>"], - [8, "array_len"], - [9, "snapshot_take"], - [10, "drop"], - [11, "u32_const<0>"], - [12, "rename"], - [13, "store_temp"], - [14, "u32_eq"], - [15, "drop"], - [16, "store_temp"], - [17, "function_call"], - [18, "drop"], - [19, "array_new"], - [ - 20, - "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" - ], - [21, "store_temp"], - [22, "array_append"], - [23, "struct_construct"], - [24, "struct_construct>>"], - [ - 25, - "enum_init,)>, 1>" - ], - [26, "store_temp"], - [ - 27, - "store_temp,)>>" - ], - [28, "get_builtin_costs"], - [29, "store_temp"], - [30, "withdraw_gas_all"], - [31, "struct_construct"], - [32, "struct_construct"], - [33, "store_temp"], - [34, "function_call"], - [ - 35, - "enum_match>" - ], - [36, "drop>"], - [37, "snapshot_take>"], - [38, "drop>"], - [39, "struct_construct>"], - [40, "struct_construct>>"], - [ - 41, - "enum_init,)>, 0>" - ], - [42, "felt252_const<375233589013918064796019>"], - [43, "drop>"], - [ - 44, - "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" - ], - [45, "snapshot_take"], - [46, "drop"], - [47, "function_call"], - [48, "enum_match>"], - [49, "struct_deconstruct>"], - [50, "snapshot_take"], - [51, "store_temp>"], - [52, "function_call"], - [53, "array_snapshot_pop_front"], - [ - 54, - "enum_init>, 0>" - ], - [55, "store_temp>>"], - [ - 56, - "store_temp>>" - ], - [57, "jump"], - [58, "struct_construct"], - [ - 59, - "enum_init>, 1>" - ], - [ - 60, - "enum_match>>" - ], - [61, "unbox"], - [62, "rename"], - [63, "enum_init, 0>"], - [64, "store_temp>"], - [65, "enum_init, 1>"], - [66, "store_temp"], - [67, "struct_deconstruct"], - [68, "snapshot_take"], - [69, "store_temp"], - [ - 70, - "function_call" - ], - [71, "felt252_add"], - [72, "felt252_const<3>"], - [73, "felt252_const<1>"], - [ - 74, - "function_call" - ], - [ - 75, - "enum_match>" - ], - [ - 76, - "struct_deconstruct>" - ], - [77, "struct_construct>"], - [ - 78, - "enum_init, 0>" - ], - [ - 79, - "store_temp>" - ], - [ - 80, - "enum_init, 1>" - ], - [81, "drop"], - [82, "struct_construct>"], - [83, "enum_init, 0>"], - [84, "store_temp>"], - [85, "enum_init, 1>"], - [ - 86, - "storage_base_address_const<35288452898658665685716430661979605016082915154569074077194047146435052103>" - ], - [87, "storage_address_from_base"], - [88, "store_temp"], - [89, "storage_read_syscall"], - [ - 90, - "enum_init>, 0>" - ], - [ - 91, - "store_temp>>" - ], - [ - 92, - "enum_init>, 1>" - ], - [ - 93, - "rename>>" - ], - [ - 94, - "function_call::unwrap_syscall>" - ], - [95, "storage_write_syscall"], - [ - 96, - "enum_init>, 0>" - ], - [ - 97, - "store_temp>>" - ], - [ - 98, - "enum_init>, 1>" - ], - [ - 99, - "rename>>" - ], - [ - 100, - "function_call::unwrap_syscall>" - ], - [101, "enum_match>"], - [102, "struct_deconstruct>"], - [ - 103, - "struct_construct>" - ], - [ - 104, - "enum_init, 0>" - ], - [ - 105, - "store_temp>" - ], - [ - 106, - "enum_init, 1>" - ], - [ - 107, - "enum_match>>" - ], - [ - 108, - "enum_match>>" - ], - [109, "struct_construct>"], - [110, "enum_init, 0>"], - [111, "store_temp>"], - [112, "enum_init, 1>"] - ], - "user_func_names": [ - [0, "Counter3::Counter3::__external::increase_balance_3"], - [1, "Counter3::Counter3::__external::get_balance_3"], - [2, "core::Felt252Serde::deserialize"], - [3, "core::starknet::use_system_implicit"], - [4, "Counter3::Counter3::increase_balance_3"], - [5, "Counter3::Counter3::get_balance_3"], - [6, "core::Felt252Serde::serialize"], - [7, "Counter3::Counter3::balance_3::InternalContractStateImpl::read"], - [8, "Counter3::Counter3::balance_3::InternalContractStateImpl::write"], - [ - 9, - "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" - ], - [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] - ] - }, - "contract_class_version": "0.1.0", - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0xf6c331c5ed8d385d90b6701440a8dae60db11ce6de5a9f3b5f5cd83d3cd388", - "function_idx": 0 - }, - { - "selector": "0x28f4c2012b5ef4f71461a66fc2edbf0f514e10156cbc990e81e49d1effd4cc0", - "function_idx": 1 - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - }, - "abi": [ - { - "type": "function", - "name": "increase_balance_3", - "inputs": [{ "name": "amount", "type": "core::felt252" }], - "outputs": [], - "state_mutability": "external" - }, - { - "type": "function", - "name": "get_balance_3", - "inputs": [], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - }, - { - "type": "event", - "name": "Counter3::Counter3::Event", - "kind": "enum", - "variants": [] - } - ] -} diff --git a/da-test/contracts/Counter4/Counter4.cairo b/da-test/contracts/Counter4/Counter4.cairo deleted file mode 100644 index be0284d02b..0000000000 --- a/da-test/contracts/Counter4/Counter4.cairo +++ /dev/null @@ -1,19 +0,0 @@ -#[starknet::contract] -mod Counter4 { - #[storage] - struct Storage { - balance_4: felt252, - } - - // Increases the balance_4 by the given amount. - #[external(v0)] - fn increase_balance_4(ref self: ContractState, amount: felt252) { - self.balance_4.write(self.balance_4.read() + amount + 4 + 1); - } - - // Returns the current balance_4. - #[external(v0)] - fn get_balance_4(self: @ContractState) -> felt252 { - self.balance_4.read() - } -} diff --git a/da-test/contracts/Counter4/Counter4.casm.json b/da-test/contracts/Counter4/Counter4.casm.json deleted file mode 100644 index 2a05bca4bd..0000000000 --- a/da-test/contracts/Counter4/Counter4.casm.json +++ /dev/null @@ -1,579 +0,0 @@ -{ - "prime": "0x800000000000011000000000000000000000000000000000000000000000001", - "compiler_version": "2.1.0", - "bytecode": [ - "0xa0680017fff8000", - "0x7", - "0x482680017ffa8000", - "0xffffffffffffffffffffffffffffa920", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x6e", - "0x4825800180007ffa", - "0x56e0", - "0x400280007ff97fff", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xe8", - "0x482680017ff98000", - "0x1", - "0x20680017fff7ffd", - "0x55", - "0x48307ffb80007ffc", - "0x4824800180007fff", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0xfe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff77fff8000", - "0x48127fe67fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x1b4", - "0x482480017fff8000", - "0x1b3", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007fe8", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff67fff", - "0x10780017fff7fff", - "0x20", - "0x4824800180007fe8", - "0x0", - "0x400080007ff77fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x48127ff47fff8000", - "0x1104800180018000", - "0xdc", - "0x482480017fbc8000", - "0x1", - "0x20680017fff7ffc", - "0xc", - "0x40780017fff7fff", - "0x1", - "0x48127ffe7fff8000", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff48000", - "0x1", - "0x48127fe37fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ffd7fff8000", - "0x48127fec7fff8000", - "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", - "0xffffffffffffffffffffffffffffe2f0", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x5e", - "0x4825800180007ffa", - "0x1d10", - "0x400280007ff97fff", - "0x48297ffc80007ffd", - "0x482680017ff98000", - "0x1", - "0x4824800180007ffe", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x82", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff87fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x138", - "0x482480017fff8000", - "0x137", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007ff7", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff77fff", - "0x10780017fff7fff", - "0x24", - "0x4824800180007ff7", - "0x0", - "0x400080007ff87fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x8b", - "0x482480017fd88000", - "0x1", - "0x20680017fff7ffc", - "0x11", - "0x40780017fff7fff", - "0x1", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x95", - "0x48127ff77fff8000", - "0x48127ff17fff8000", - "0x48127ff17fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff58000", - "0x1", - "0x48127ff27fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482680017ff98000", - "0x1", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x48297ffc80007ffd", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0xa", - "0x482680017ffc8000", - "0x1", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x0", - "0x480a7ffc7fff8000", - "0x10780017fff7fff", - "0x8", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x20680017fff7ffc", - "0x8", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x0", - "0x480080007ffa8000", - "0x208b7fff7fff7ffe", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x42", - "0x20680017fff7ffd", - "0x1d", - "0x48287ffd7fff8000", - "0x482480017fff8000", - "0x4", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x482480017ffd8000", - "0x1", - "0x1104800180018000", - "0x68", - "0x20680017fff7ffd", - "0xb", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1a", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x480680017fff8000", - "0x1", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x18", - "0x20680017fff7ffd", - "0xa", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x400380007ffd7ffb", - "0x480a7ffc7fff8000", - "0x482680017ffd8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0xb3633fe1a3145fd8916511eec02c76561b27a40ed2f7320e18c0d6659f8611", - "0x480680017fff8000", - "0x53746f7261676552656164", - "0x400280007ffd7fff", - "0x400380017ffd7ffc", - "0x400280027ffd7ffd", - "0x400280037ffd7ffe", - "0x480280057ffd8000", - "0x20680017fff7fff", - "0xc", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480280067ffd8000", - "0x10780017fff7fff", - "0x9", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x8", - "0x480680017fff8000", - "0x1", - "0x480280067ffd8000", - "0x480280077ffd8000", - "0x1104800180018000", - "0x47", - "0x20680017fff7ffd", - "0xa", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0xb3633fe1a3145fd8916511eec02c76561b27a40ed2f7320e18c0d6659f8611", - "0x480680017fff8000", - "0x53746f726167655772697465", - "0x400280007ffc7fff", - "0x400380017ffc7ffb", - "0x400280027ffc7ffd", - "0x400280037ffc7ffe", - "0x400380047ffc7ffd", - "0x480280067ffc8000", - "0x20680017fff7fff", - "0xd", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x10780017fff7fff", - "0x9", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x9", - "0x480680017fff8000", - "0x1", - "0x480280077ffc8000", - "0x480280087ffc8000", - "0x1104800180018000", - "0x21", - "0x20680017fff7ffd", - "0xb", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x8", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x9", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe" - ], - "hints": [ - [ - 0, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x56e0" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 47, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -23 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 130, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x1d10" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 171, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -8 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 360, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -3 } } - } - } - ] - ], - [ - 410, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -4 } } - } - } - ] - ] - ], - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0xe5732e1abf2909f924739d35ad19184f11cff2efc7bf0b7693fe8837f3ac4c", - "offset": 130, - "builtins": ["range_check"] - }, - { - "selector": "0x354216d012194965ac6e58f1e42de318f61ca46953301e5bb9716250d532058", - "offset": 0, - "builtins": ["range_check"] - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - } -} diff --git a/da-test/contracts/Counter4/Counter4.sierra.json b/da-test/contracts/Counter4/Counter4.sierra.json deleted file mode 100644 index 1853983bfd..0000000000 --- a/da-test/contracts/Counter4/Counter4.sierra.json +++ /dev/null @@ -1,661 +0,0 @@ -{ - "sierra_program": [ - "0x1", - "0x3", - "0x0", - "0x2", - "0x1", - "0x0", - "0xca", - "0x36", - "0x1f", - "0x52616e6765436865636b", - "0x0", - "0x4761734275696c74696e", - "0x66656c74323532", - "0x4172726179", - "0x1", - "0x2", - "0x536e617073686f74", - "0x3", - "0x537472756374", - "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", - "0x4", - "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", - "0x456e756d", - "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", - "0x6", - "0x753332", - "0x53797374656d", - "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", - "0xa", - "0x5", - "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", - "0xc", - "0xb", - "0x4275696c74696e436f737473", - "0x19f41788e75f73141fc2e2624c2e398a7769e10026dcf2fd7b3fdbf256180f2", - "0x27498ba833e1219d17251edae00ac126910e4e81045c840bc93f2a45c8d0bd", - "0xf", - "0x10", - "0x36c281b09357dd15c81f0055a2a3485290180ece418bf8fea32eec61539c005", - "0x11", - "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", - "0x13", - "0x426f78", - "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", - "0x15", - "0xa0edc028aaa2fb447bbaca46a2defedfa82c42a7cb5a62a224841bfbf88ddb", - "0x17", - "0x53746f726167654261736541646472657373", - "0x53746f7261676541646472657373", - "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", - "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", - "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", - "0x1d", - "0x71", - "0x7265766f6b655f61705f747261636b696e67", - "0x77697468647261775f676173", - "0x6272616e63685f616c69676e", - "0x73746f72655f74656d70", - "0x66756e6374696f6e5f63616c6c", - "0x656e756d5f6d61746368", - "0x7", - "0x7374727563745f6465636f6e737472756374", - "0x61727261795f6c656e", - "0x736e617073686f745f74616b65", - "0x8", - "0x64726f70", - "0x7533325f636f6e7374", - "0x72656e616d65", - "0x7533325f6571", - "0x9", - "0x61727261795f6e6577", - "0x66656c743235325f636f6e7374", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x61727261795f617070656e64", - "0x7374727563745f636f6e737472756374", - "0x656e756d5f696e6974", - "0xd", - "0x6765745f6275696c74696e5f636f737473", - "0xe", - "0x77697468647261775f6761735f616c6c", - "0x12", - "0x4f7574206f6620676173", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x14", - "0x61727261795f736e617073686f745f706f705f66726f6e74", - "0x16", - "0x6a756d70", - "0x756e626f78", - "0x66656c743235325f616464", - "0x18", - "0x73746f726167655f626173655f616464726573735f636f6e7374", - "0xb3633fe1a3145fd8916511eec02c76561b27a40ed2f7320e18c0d6659f8611", - "0x73746f726167655f616464726573735f66726f6d5f62617365", - "0x1a", - "0x73746f726167655f726561645f73797363616c6c", - "0x1b", - "0x73746f726167655f77726974655f73797363616c6c", - "0x1c", - "0x1e", - "0x19f", - "0xffffffffffffffff", - "0x63", - "0x54", - "0x24", - "0x19", - "0x20", - "0x21", - "0x22", - "0x23", - "0x25", - "0x46", - "0x26", - "0x27", - "0x28", - "0x29", - "0x2d", - "0x2e", - "0x2f", - "0x30", - "0x2a", - "0x2b", - "0x2c", - "0x31", - "0x3f", - "0x32", - "0x33", - "0x34", - "0x35", - "0x36", - "0x37", - "0x38", - "0x39", - "0x3a", - "0x3b", - "0x3c", - "0x3d", - "0x3e", - "0x40", - "0x41", - "0x42", - "0x43", - "0x44", - "0x45", - "0x47", - "0x48", - "0x49", - "0x4a", - "0x4b", - "0x4c", - "0x4d", - "0x4e", - "0x4f", - "0x50", - "0x51", - "0x52", - "0x53", - "0x55", - "0x56", - "0x57", - "0x58", - "0x59", - "0x5a", - "0x5b", - "0x5c", - "0x5d", - "0x5e", - "0x5f", - "0xc6", - "0x90", - "0xb9", - "0xb2", - "0xdb", - "0xe0", - "0xea", - "0x11c", - "0x116", - "0x132", - "0x14b", - "0x150", - "0x15b", - "0x170", - "0x60", - "0x61", - "0x175", - "0x62", - "0x64", - "0x65", - "0x180", - "0x66", - "0x67", - "0x68", - "0x69", - "0x6a", - "0x6b", - "0x18d", - "0x6c", - "0x199", - "0x6d", - "0x6e", - "0x6f", - "0x70", - "0xd4", - "0xf1", - "0xf5", - "0x124", - "0x138", - "0x13e", - "0x161", - "0x187", - "0x193", - "0xf89", - "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", - "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", - "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", - "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", - "0x70a090610062a02090e090607062902090e02280227180626062502090e10", - "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", - "0x606313806063b0207063a3806063938060637070606361506063534060633", - "0x70606314007063f0706063e10060639090906323d06063107060639023c38", - "0x6063102454406063106060631060744060743180606421406064207060641", - "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", - "0x374a07063f150606394907063f020744060743170606421506064209060639", - "0x100906320906063107060637210606354b060633150906321d0606391d0606", - "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", - "0x10060631060734060743340606310207340607430706063b0706064f4d0606", - "0x33380906320607063f0c07063f0250340906321c0606311c0606371d060635", - "0x1c060639060748060743480606310207480607431f06064226060635510606", - "0x565506063102545307065206074b0607434b06063102074b06074321060642", - "0x5906074302583d0906325706063b0607570607435706063102075706074302", - "0x606422c0606355a060633140906325906063b060759060743590606310207", - "0x7432c06064259060633570606330607510607435106063102075106074326", - "0x150c075c070602070602025c060202025b06075a0607435a06063102075a06", - "0xc0615023d38075c0614060c0214065c0609060902025c060207023410075d", - "0x380244065c0638063402025c0602070217065e18065c073d0610020c065c06", - "0x3d021f065c06021802025c061c0614021d1c075c0646063d0246065c064406", - "0x224065c06210617024b065c061d061702025c06480614022148075c061f06", - "0x2025c0618061c02025c06020702025f025c07244b0746024b065c064b0644", - "0x260065c06022102025c0626064802264d075c0651061f0251065c0607061d", - "0x259065c0602260257065c065560074d0255065c065506240255065c06024b", - "0x65c061506550200065c060c0615025a065c062c0660022c065c0657590751", - "0x5902025c06020702636261000c0663065c065a06570262065c064d061d0261", - "0x2070268670766655f075c0764150c095a0264065c0664062c0264065c0602", - "0x607061d026b065c06650655026a065c066906610269065c06020002025c06", - "0x706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662026c065c", - "0x672065f02025c0602070274067372065c07710664025f065c065f06150271", - "0x5c0677066802025c06760667027776075c067506650275065c06022102025c", - "0x66f0655027b065c065f0615027a065c0679066a0279065c06780669027806", - "0x25c060207027e7d7c7b0c067e065c067a0657027d065c0670061d027c065c", - "0x65c0670061d0273065c066f06550280065c065f0615027f065c0674066002", - "0x22102025c0618061c02025c06020702828173800c0682065c067f06570281", - "0x2260285065c068483074d0284065c068406240284065c06026f0283065c06", - "0x550288065c066706150287065c066606600266065c06858607510286065c06", - "0x207028b8a89880c068b065c06870657028a065c0607061d0289065c066806", - "0x8d065c060271028c065c06022102025c0638067002025c0617064802025c06", - "0x5c068e8f0751028f065c060226028e065c068d8c074d028d065c068d062402", - "0x607061d0293065c061506550292065c060c06150291065c06900660029006", - "0x2025c0609067002025c06020702945e93920c0694065c06910657025e065c", - "0x297065c069695074d0296065c069606240296065c06026f0295065c060221", - "0x9b065c06100615029a065c069906600299065c06979807510298065c060226", - "0x29e9d9c9b0c069e065c069a0657029d065c0607061d029c065c0634065502", - "0x5c0609063402025c060207023410079f150c075c070602070602025c060202", - "0x5c06021802025c06140614021814075c063d063d023d065c06380638023806", - "0x6460617021c065c0618061702025c06440614024644075c0617063d021706", - "0x70202a0025c071d1c0746020c065c060c0615021c065c061c0644021d065c", - "0x22102025c0648064802481f075c0621061f0221065c0607061d02025c0602", - "0x226024d065c06244b074d0224065c062406240224065c06024b024b065c06", - "0x550255065c060c06150260065c065106600251065c064d2607510226065c06", - "0x207022c5957550c062c065c066006570259065c061f061d0257065c061506", - "0x7a16100075c075a150c095a025a065c065a062c025a065c06025902025c06", - "0x65075c065f066b025f065c066406610264065c06020002025c060207026362", - "0x65c066706620270065c0607061d026f065c0661065502025c0665066c0267", - "0x6a26b065c076a066e0200065c06000615026a6968095c0671706f096d0271", - "0x7472075c066d0674026e065c060221026d065c066b067202025c060207026c", - "0x75c06787707760278065c066e06750277065c0674062402025c0672061c02", - "0x5c067a066802025c06790667027a79075c0675066502025c06760648027675", - "0x6680655027e065c06000615027d065c067c066a027c065c067b0669027b06", - "0x25c0602070273807f7e0c0673065c067d06570280065c0669061d027f065c", - "0x65c0669061d0283065c066806550282065c060006150281065c066c066002", - "0x26f0286065c06022102025c06020702858483820c0685065c068106570284", - "0x7510288065c0602260287065c066686074d0266065c066606240266065c06", - "0x28c065c06630655028b065c06620615028a065c068906600289065c068788", - "0x9067002025c060207028e8d8c8b0c068e065c068a0657028d065c0607061d", - "0x6908f074d0290065c069006240290065c06026f028f065c06022102025c06", - "0x100615025e065c069306600293065c06919207510292065c0602260291065c", - "0x940c0697065c065e06570296065c0607061d0295065c063406550294065c06", - "0x7802025c060207020c06a30907075c070606770206065c0602063402979695", - "0x2070202a406027b0234065c0615067a0210065c060706790215065c060906", - "0x63d067a0210065c060c0679023d065c0638067d0238065c06027c02025c06", - "0x21706a518065c0734067e0214065c061406090214065c061006680234065c", - "0x9021c065c064606730246065c064406800244065c0618067f02025c060207", - "0x25c0617064802025c060207021f1d07061f065c061c0681021d065c061406", - "0x24065c06210681024b065c061406090221065c064806820248065c06027c02", - "0x907070609065c060606830207065c0602061d0206065c06027c02244b0706", - "0x5c0606061d0214065c06020655021015075c060c0685020c065c0607068402", - "0xa644065c073d066e023d3834095c0617181409660217065c06100686021806", - "0x65c060288021d065c06091c0787021c065c0644067202025c060207024606", - "0x5c064806240221065c0602890248065c061f1d0787021d065c061d0624021f", - "0x1506860260065c0638061d0251065c06340655024b065c0621480787024806", - "0x5c0726068b02264d24095c06575560510c8a0257065c064b06240255065c06", - "0x5a066102025c0600064802005a075c0659068c02025c060207022c06a75906", - "0x6550264065c0663068e0263065c066261078d0262065c06027c0261065c06", - "0x5c0602070267655f090667065c0664068f0265065c064d061d025f065c0624", - "0x5c0668068f026a065c064d061d0269065c062406550268065c062c06900202", - "0x46069002025c0609061c02025c0615069102025c060207026f6a6909066f06", - "0x7109066c065c0670068f026b065c0638061d0271065c063406550270065c06", - "0x60906860238065c0606061d0234065c060206550209065c06070684026c6b", - "0x5c060207021806a814065c0710066e0210150c095c063d38340966023d065c", - "0x5c060c06550246065c064406930244065c061706920217065c061406720202", - "0x9402025c060207021f1d1c09061f065c0646065e021d065c0615061d021c06", - "0x624065c0648065e024b065c0615061d0221065c060c06550248065c061806", - "0x675020c065c06027c0209065c060706074d0207065c0602068002244b2109", - "0x9065c06029502025c06070691021015070610065c060c06830215065c0609", - "0xc065c060c06970215065c061506440215065c060218020c065c0609069602", - "0x65c0638069902025c0602070218143d09a9383410095c070c1506020c9802", - "0x2aa06027b021c065c0617069a0246065c0634061d0244065c061006550217", - "0x246065c0614061d0244065c063d0655021d065c0618069b02025c06020702", - "0x21065c071f066e021f065c0648069d0248065c061c069c021c065c061d069a", - "0x5c064d0693024d065c062406920224065c0621067202025c060207024b06ab", - "0x556051090655065c0626065e0260065c0646061d0251065c06440655022606", - "0x22c065c0646061d0259065c064406550257065c064b069402025c06020702", - "0x29502025c0615069102150c075c06070685025a2c5909065a065c0657065e", - "0x3406970238065c063806440238065c0602180234065c061006960210065c06", - "0x27c02025c0602070244171809ac143d075c070934380602159e0234065c06", - "0x6ae021f065c0614061d021d065c063d0655021c065c064606ad0246065c06", - "0x5c061806550221065c064406b002025c0602070202af06027b0248065c061c", - "0x62406b10224065c0648065d0248065c062106ae021f065c0617061d021d06", - "0x7b50251065c064d06b402025c060207022606b34d065c074b06b2024b065c", - "0x259065c061f061d0257065c061d06550255065c066006b60260065c06510c", - "0x5c062606b802025c060c069102025c060207022c595709062c065c065506b7", - "0x626100090662065c065a06b70261065c061f061d0200065c061d0655025a06", - "0x5c060906930209065c0606069202025c060207020706ba06065c070206b902", - "0x71007510210065c06022602025c0602070215060615065c060c065e020c06", - "0x6065c070206bb023d06063d065c0638065e0238065c063406940234065c06", - "0x5c060c06bf020c065c060906be0209065c060606bd02025c060207020706bc", - "0x3406c00234065c06071007510210065c06022602025c060207021506061506", - "0x209070602443d06020c153d06020c183d06063d065c063806bf0238065c06", - "0x60cc202103d073d06c10234150715062d09070602443d06020c153d06020c", - "0x2100907090707c40706024b3d06091d3d0609c309070602483d0609071d3d", - "0x65706c709070602513d0609071c3d060cc60706024b3d06091c3d0609c506", - "0xc9025a065906c8024b" - ], - "sierra_program_debug_info": { - "type_names": [ - [0, "RangeCheck"], - [1, "GasBuiltin"], - [2, "felt252"], - [3, "Array"], - [4, "Snapshot>"], - [5, "core::array::Span::"], - [6, "Unit"], - [7, "core::option::Option::"], - [8, "u32"], - [9, "System"], - [10, "core::panics::Panic"], - [11, "Tuple>"], - [12, "Tuple>"], - [ - 13, - "core::panics::PanicResult::<(core::array::Span::,)>" - ], - [14, "BuiltinCosts"], - [15, "Counter4::Counter4::balance_4::ContractState"], - [16, "Counter4::Counter4::ContractState"], - [17, "Tuple"], - [ - 18, - "core::panics::PanicResult::<(Counter4::Counter4::ContractState, ())>" - ], - [19, "Tuple"], - [20, "core::panics::PanicResult::<(core::felt252,)>"], - [21, "Box"], - [22, "core::option::Option::>"], - [23, "Tuple"], - [ - 24, - "core::panics::PanicResult::<(Counter4::Counter4::balance_4::ContractState, ())>" - ], - [25, "StorageBaseAddress"], - [26, "StorageAddress"], - [ - 27, - "core::result::Result::>" - ], - [28, "core::result::Result::<(), core::array::Array::>"], - [29, "Tuple"], - [30, "core::panics::PanicResult::<((),)>"] - ], - "libfunc_names": [ - [0, "revoke_ap_tracking"], - [1, "withdraw_gas"], - [2, "branch_align"], - [3, "store_temp>"], - [4, "function_call"], - [5, "store_temp"], - [6, "enum_match>"], - [7, "struct_deconstruct>"], - [8, "array_len"], - [9, "snapshot_take"], - [10, "drop"], - [11, "u32_const<0>"], - [12, "rename"], - [13, "store_temp"], - [14, "u32_eq"], - [15, "drop"], - [16, "store_temp"], - [17, "function_call"], - [18, "drop"], - [19, "array_new"], - [ - 20, - "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" - ], - [21, "store_temp"], - [22, "array_append"], - [23, "struct_construct"], - [24, "struct_construct>>"], - [ - 25, - "enum_init,)>, 1>" - ], - [26, "store_temp"], - [ - 27, - "store_temp,)>>" - ], - [28, "get_builtin_costs"], - [29, "store_temp"], - [30, "withdraw_gas_all"], - [31, "struct_construct"], - [32, "struct_construct"], - [33, "store_temp"], - [34, "function_call"], - [ - 35, - "enum_match>" - ], - [36, "drop>"], - [37, "snapshot_take>"], - [38, "drop>"], - [39, "struct_construct>"], - [40, "struct_construct>>"], - [ - 41, - "enum_init,)>, 0>" - ], - [42, "felt252_const<375233589013918064796019>"], - [43, "drop>"], - [ - 44, - "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" - ], - [45, "snapshot_take"], - [46, "drop"], - [47, "function_call"], - [48, "enum_match>"], - [49, "struct_deconstruct>"], - [50, "snapshot_take"], - [51, "store_temp>"], - [52, "function_call"], - [53, "array_snapshot_pop_front"], - [ - 54, - "enum_init>, 0>" - ], - [55, "store_temp>>"], - [ - 56, - "store_temp>>" - ], - [57, "jump"], - [58, "struct_construct"], - [ - 59, - "enum_init>, 1>" - ], - [ - 60, - "enum_match>>" - ], - [61, "unbox"], - [62, "rename"], - [63, "enum_init, 0>"], - [64, "store_temp>"], - [65, "enum_init, 1>"], - [66, "store_temp"], - [67, "struct_deconstruct"], - [68, "snapshot_take"], - [69, "store_temp"], - [ - 70, - "function_call" - ], - [71, "felt252_add"], - [72, "felt252_const<4>"], - [73, "felt252_const<1>"], - [ - 74, - "function_call" - ], - [ - 75, - "enum_match>" - ], - [ - 76, - "struct_deconstruct>" - ], - [77, "struct_construct>"], - [ - 78, - "enum_init, 0>" - ], - [ - 79, - "store_temp>" - ], - [ - 80, - "enum_init, 1>" - ], - [81, "drop"], - [82, "struct_construct>"], - [83, "enum_init, 0>"], - [84, "store_temp>"], - [85, "enum_init, 1>"], - [ - 86, - "storage_base_address_const<316950619722655767832660197141350043205615163178495764245768411372419253777>" - ], - [87, "storage_address_from_base"], - [88, "store_temp"], - [89, "storage_read_syscall"], - [ - 90, - "enum_init>, 0>" - ], - [ - 91, - "store_temp>>" - ], - [ - 92, - "enum_init>, 1>" - ], - [ - 93, - "rename>>" - ], - [ - 94, - "function_call::unwrap_syscall>" - ], - [95, "storage_write_syscall"], - [ - 96, - "enum_init>, 0>" - ], - [ - 97, - "store_temp>>" - ], - [ - 98, - "enum_init>, 1>" - ], - [ - 99, - "rename>>" - ], - [ - 100, - "function_call::unwrap_syscall>" - ], - [101, "enum_match>"], - [102, "struct_deconstruct>"], - [ - 103, - "struct_construct>" - ], - [ - 104, - "enum_init, 0>" - ], - [ - 105, - "store_temp>" - ], - [ - 106, - "enum_init, 1>" - ], - [ - 107, - "enum_match>>" - ], - [ - 108, - "enum_match>>" - ], - [109, "struct_construct>"], - [110, "enum_init, 0>"], - [111, "store_temp>"], - [112, "enum_init, 1>"] - ], - "user_func_names": [ - [0, "Counter4::Counter4::__external::increase_balance_4"], - [1, "Counter4::Counter4::__external::get_balance_4"], - [2, "core::Felt252Serde::deserialize"], - [3, "core::starknet::use_system_implicit"], - [4, "Counter4::Counter4::increase_balance_4"], - [5, "Counter4::Counter4::get_balance_4"], - [6, "core::Felt252Serde::serialize"], - [7, "Counter4::Counter4::balance_4::InternalContractStateImpl::read"], - [8, "Counter4::Counter4::balance_4::InternalContractStateImpl::write"], - [ - 9, - "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" - ], - [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] - ] - }, - "contract_class_version": "0.1.0", - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0xe5732e1abf2909f924739d35ad19184f11cff2efc7bf0b7693fe8837f3ac4c", - "function_idx": 1 - }, - { - "selector": "0x354216d012194965ac6e58f1e42de318f61ca46953301e5bb9716250d532058", - "function_idx": 0 - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - }, - "abi": [ - { - "type": "function", - "name": "increase_balance_4", - "inputs": [{ "name": "amount", "type": "core::felt252" }], - "outputs": [], - "state_mutability": "external" - }, - { - "type": "function", - "name": "get_balance_4", - "inputs": [], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - }, - { - "type": "event", - "name": "Counter4::Counter4::Event", - "kind": "enum", - "variants": [] - } - ] -} diff --git a/da-test/contracts/Counter5/Counter5.cairo b/da-test/contracts/Counter5/Counter5.cairo deleted file mode 100644 index d031fb0bae..0000000000 --- a/da-test/contracts/Counter5/Counter5.cairo +++ /dev/null @@ -1,19 +0,0 @@ -#[starknet::contract] -mod Counter5 { - #[storage] - struct Storage { - balance_5: felt252, - } - - // Increases the balance_5 by the given amount. - #[external(v0)] - fn increase_balance_5(ref self: ContractState, amount: felt252) { - self.balance_5.write(self.balance_5.read() + amount + 5 + 1); - } - - // Returns the current balance_5. - #[external(v0)] - fn get_balance_5(self: @ContractState) -> felt252 { - self.balance_5.read() - } -} diff --git a/da-test/contracts/Counter5/Counter5.casm.json b/da-test/contracts/Counter5/Counter5.casm.json deleted file mode 100644 index a480507e67..0000000000 --- a/da-test/contracts/Counter5/Counter5.casm.json +++ /dev/null @@ -1,579 +0,0 @@ -{ - "prime": "0x800000000000011000000000000000000000000000000000000000000000001", - "compiler_version": "2.1.0", - "bytecode": [ - "0xa0680017fff8000", - "0x7", - "0x482680017ffa8000", - "0xffffffffffffffffffffffffffffa920", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x6e", - "0x4825800180007ffa", - "0x56e0", - "0x400280007ff97fff", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xe8", - "0x482680017ff98000", - "0x1", - "0x20680017fff7ffd", - "0x55", - "0x48307ffb80007ffc", - "0x4824800180007fff", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0xfe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff77fff8000", - "0x48127fe67fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x1b4", - "0x482480017fff8000", - "0x1b3", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007fe8", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff67fff", - "0x10780017fff7fff", - "0x20", - "0x4824800180007fe8", - "0x0", - "0x400080007ff77fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x48127ff47fff8000", - "0x1104800180018000", - "0xdc", - "0x482480017fbc8000", - "0x1", - "0x20680017fff7ffc", - "0xc", - "0x40780017fff7fff", - "0x1", - "0x48127ffe7fff8000", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff48000", - "0x1", - "0x48127fe37fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ffd7fff8000", - "0x48127fec7fff8000", - "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", - "0xffffffffffffffffffffffffffffe2f0", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x5e", - "0x4825800180007ffa", - "0x1d10", - "0x400280007ff97fff", - "0x48297ffc80007ffd", - "0x482680017ff98000", - "0x1", - "0x4824800180007ffe", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x13", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x82", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x400080007ffe7fff", - "0x48127ff87fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x1104800180018000", - "0x138", - "0x482480017fff8000", - "0x137", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x9", - "0x4824800180007ff7", - "0x0", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff77fff", - "0x10780017fff7fff", - "0x24", - "0x4824800180007ff7", - "0x0", - "0x400080007ff87fff", - "0x48127fff7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x8b", - "0x482480017fd88000", - "0x1", - "0x20680017fff7ffc", - "0x11", - "0x40780017fff7fff", - "0x1", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x95", - "0x48127ff77fff8000", - "0x48127ff17fff8000", - "0x48127ff17fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x208b7fff7fff7ffe", - "0x48127fff7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482480017ff58000", - "0x1", - "0x48127ff27fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482680017ff98000", - "0x1", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x48297ffc80007ffd", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0xa", - "0x482680017ffc8000", - "0x1", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x0", - "0x480a7ffc7fff8000", - "0x10780017fff7fff", - "0x8", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x20680017fff7ffc", - "0x8", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x0", - "0x480080007ffa8000", - "0x208b7fff7fff7ffe", - "0x48127ffe7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x42", - "0x20680017fff7ffd", - "0x1d", - "0x48287ffd7fff8000", - "0x482480017fff8000", - "0x5", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x482480017ffd8000", - "0x1", - "0x1104800180018000", - "0x68", - "0x20680017fff7ffd", - "0xb", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1a", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x480680017fff8000", - "0x1", - "0x48127fe17fff8000", - "0x48127fe17fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x18", - "0x20680017fff7ffd", - "0xa", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x400380007ffd7ffb", - "0x480a7ffc7fff8000", - "0x482680017ffd8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0xe5ec26188d710190e1d454ed168f6cb6ceda3fa7f665ae3d70fd00b54cee5c", - "0x480680017fff8000", - "0x53746f7261676552656164", - "0x400280007ffd7fff", - "0x400380017ffd7ffc", - "0x400280027ffd7ffd", - "0x400280037ffd7ffe", - "0x480280057ffd8000", - "0x20680017fff7fff", - "0xc", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480280067ffd8000", - "0x10780017fff7fff", - "0x9", - "0x480280047ffd8000", - "0x482680017ffd8000", - "0x8", - "0x480680017fff8000", - "0x1", - "0x480280067ffd8000", - "0x480280077ffd8000", - "0x1104800180018000", - "0x47", - "0x20680017fff7ffd", - "0xa", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0xe5ec26188d710190e1d454ed168f6cb6ceda3fa7f665ae3d70fd00b54cee5c", - "0x480680017fff8000", - "0x53746f726167655772697465", - "0x400280007ffc7fff", - "0x400380017ffc7ffb", - "0x400280027ffc7ffd", - "0x400280037ffc7ffe", - "0x400380047ffc7ffd", - "0x480280067ffc8000", - "0x20680017fff7fff", - "0xd", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x7", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x10780017fff7fff", - "0x9", - "0x480280057ffc8000", - "0x482680017ffc8000", - "0x9", - "0x480680017fff8000", - "0x1", - "0x480280077ffc8000", - "0x480280087ffc8000", - "0x1104800180018000", - "0x21", - "0x20680017fff7ffd", - "0xb", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x8", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffb", - "0x9", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe" - ], - "hints": [ - [ - 0, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x56e0" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [28, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 47, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -23 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [68, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [86, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [101, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [115, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 130, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x1d10" }, - "rhs": { "Deref": { "register": "FP", "offset": -6 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [152, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 171, - [ - { - "TestLessThanOrEqual": { - "lhs": { "Immediate": "0x0" }, - "rhs": { "Deref": { "register": "AP", "offset": -8 } }, - "dst": { "register": "AP", "offset": 0 } - } - } - ] - ], - [191, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [214, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [229, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], - [ - 360, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -3 } } - } - } - ] - ], - [ - 410, - [ - { - "SystemCall": { - "system": { "Deref": { "register": "FP", "offset": -4 } } - } - } - ] - ] - ], - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0x267cbb3c3e283a65af18ea0520413af29ad394bb92e89f5cec63d7bf8e3cc02", - "offset": 0, - "builtins": ["range_check"] - }, - { - "selector": "0x389381eb1816554e8631e7462dd12b632049ad60885626e36757af3a8b169dd", - "offset": 130, - "builtins": ["range_check"] - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - } -} diff --git a/da-test/contracts/Counter5/Counter5.sierra.json b/da-test/contracts/Counter5/Counter5.sierra.json deleted file mode 100644 index 0fe2c7fcdc..0000000000 --- a/da-test/contracts/Counter5/Counter5.sierra.json +++ /dev/null @@ -1,661 +0,0 @@ -{ - "sierra_program": [ - "0x1", - "0x3", - "0x0", - "0x2", - "0x1", - "0x0", - "0xca", - "0x36", - "0x1f", - "0x52616e6765436865636b", - "0x0", - "0x4761734275696c74696e", - "0x66656c74323532", - "0x4172726179", - "0x1", - "0x2", - "0x536e617073686f74", - "0x3", - "0x537472756374", - "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", - "0x4", - "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", - "0x456e756d", - "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", - "0x6", - "0x753332", - "0x53797374656d", - "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", - "0xa", - "0x5", - "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", - "0xc", - "0xb", - "0x4275696c74696e436f737473", - "0x2928dd7df7498c25e62967fd9be6515eaa381bfd8109ee7daa130a969b59e37", - "0x11a0ea1a7bee2a39526877a475042c8a007debcddf1866e2b0c630af0726916", - "0xf", - "0x10", - "0x221c8496d0c4f26c4d9a66b1feda54b6deb08942d0342a0d930831a6a49f8e0", - "0x11", - "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", - "0x13", - "0x426f78", - "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", - "0x15", - "0x2ba1e913d9308fb0a14be146b076f6af6cd7ba6198ff49c580bbf7401fa1fb3", - "0x17", - "0x53746f726167654261736541646472657373", - "0x53746f7261676541646472657373", - "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", - "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", - "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", - "0x1d", - "0x71", - "0x7265766f6b655f61705f747261636b696e67", - "0x77697468647261775f676173", - "0x6272616e63685f616c69676e", - "0x73746f72655f74656d70", - "0x66756e6374696f6e5f63616c6c", - "0x656e756d5f6d61746368", - "0x7", - "0x7374727563745f6465636f6e737472756374", - "0x61727261795f6c656e", - "0x736e617073686f745f74616b65", - "0x8", - "0x64726f70", - "0x7533325f636f6e7374", - "0x72656e616d65", - "0x7533325f6571", - "0x9", - "0x61727261795f6e6577", - "0x66656c743235325f636f6e7374", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x61727261795f617070656e64", - "0x7374727563745f636f6e737472756374", - "0x656e756d5f696e6974", - "0xd", - "0x6765745f6275696c74696e5f636f737473", - "0xe", - "0x77697468647261775f6761735f616c6c", - "0x12", - "0x4f7574206f6620676173", - "0x496e70757420746f6f2073686f727420666f7220617267756d656e7473", - "0x14", - "0x61727261795f736e617073686f745f706f705f66726f6e74", - "0x16", - "0x6a756d70", - "0x756e626f78", - "0x66656c743235325f616464", - "0x18", - "0x73746f726167655f626173655f616464726573735f636f6e7374", - "0xe5ec26188d710190e1d454ed168f6cb6ceda3fa7f665ae3d70fd00b54cee5c", - "0x73746f726167655f616464726573735f66726f6d5f62617365", - "0x1a", - "0x73746f726167655f726561645f73797363616c6c", - "0x1b", - "0x73746f726167655f77726974655f73797363616c6c", - "0x1c", - "0x1e", - "0x19f", - "0xffffffffffffffff", - "0x63", - "0x54", - "0x24", - "0x19", - "0x20", - "0x21", - "0x22", - "0x23", - "0x25", - "0x46", - "0x26", - "0x27", - "0x28", - "0x29", - "0x2d", - "0x2e", - "0x2f", - "0x30", - "0x2a", - "0x2b", - "0x2c", - "0x31", - "0x3f", - "0x32", - "0x33", - "0x34", - "0x35", - "0x36", - "0x37", - "0x38", - "0x39", - "0x3a", - "0x3b", - "0x3c", - "0x3d", - "0x3e", - "0x40", - "0x41", - "0x42", - "0x43", - "0x44", - "0x45", - "0x47", - "0x48", - "0x49", - "0x4a", - "0x4b", - "0x4c", - "0x4d", - "0x4e", - "0x4f", - "0x50", - "0x51", - "0x52", - "0x53", - "0x55", - "0x56", - "0x57", - "0x58", - "0x59", - "0x5a", - "0x5b", - "0x5c", - "0x5d", - "0x5e", - "0x5f", - "0xc6", - "0x90", - "0xb9", - "0xb2", - "0xdb", - "0xe0", - "0xea", - "0x11c", - "0x116", - "0x132", - "0x14b", - "0x150", - "0x15b", - "0x170", - "0x60", - "0x61", - "0x175", - "0x62", - "0x64", - "0x65", - "0x180", - "0x66", - "0x67", - "0x68", - "0x69", - "0x6a", - "0x6b", - "0x18d", - "0x6c", - "0x199", - "0x6d", - "0x6e", - "0x6f", - "0x70", - "0xd4", - "0xf1", - "0xf5", - "0x124", - "0x138", - "0x13e", - "0x161", - "0x187", - "0x193", - "0xf89", - "0x7060f02090e0d02060a0c060b02070a090606080706060502040203020100", - "0x617061602090e15060d02070a090614060d02090a1302060a021202111006", - "0x70a18061f061e02090e10061d060d02090a1c061b02070a1a02060a021918", - "0x61c060d02090a100624062302090e07060622180621062002090e07060d02", - "0x70a090610062a02090e090607062902090e02280227180626062502090e10", - "0x206063107090632150606310230022f022e2d18062c062b02090e10060d02", - "0x606313806063b0207063a3806063938060637070606361506063534060633", - "0x70606314007063f0706063e10060639090906323d06063107060639023c38", - "0x6063102454406063106060631060744060743180606421406064207060641", - "0x90606371f060639480606330c0906321d0606311d0606421c060642024746", - "0x374a07063f150606394907063f020744060743170606421506064209060639", - "0x100906320906063107060637210606354b060633150906321d0606391d0606", - "0x3306074d06074310060642024e4d0606310c06063102074d0607430706064c", - "0x10060631060734060743340606310207340607430706063b0706064f4d0606", - "0x33380906320607063f1507063f0250340906321c0606311c0606371d060635", - "0x1c060639060748060743480606310207480607431f06064226060635510606", - "0x565506063102545307065206074b0607434b06063102074b06074321060642", - "0x5906074302583d0906325706063b0607570607435706063102075706074302", - "0x606422c0606355a060633140906325906063b060759060743590606310207", - "0x7432c06064259060633570606330607510607435106063102075106074326", - "0x150c075c070602070602025c060202025b06075a0607435a06063102075a06", - "0xc0615023d38075c0614060c0214065c0609060902025c060207023410075d", - "0x380244065c0638063402025c0602070217065e18065c073d0610020c065c06", - "0x3d021f065c06021802025c061c0614021d1c075c0646063d0246065c064406", - "0x224065c06210617024b065c061d061702025c06480614022148075c061f06", - "0x2025c0618061c02025c06020702025f025c07244b0746024b065c064b0644", - "0x260065c06022102025c0626064802264d075c0651061f0251065c0607061d", - "0x259065c0602260257065c065560074d0255065c065506240255065c06024b", - "0x65c061506550200065c060c0615025a065c062c0660022c065c0657590751", - "0x5902025c06020702636261000c0663065c065a06570262065c064d061d0261", - "0x2070268670766655f075c0764150c095a0264065c0664062c0264065c0602", - "0x607061d026b065c06650655026a065c066906610269065c06020002025c06", - "0x706f095c066e6d6c6b0c63026e065c06180624026d065c066a0662026c065c", - "0x672065f02025c0602070274067372065c07710664025f065c065f06150271", - "0x5c0677066802025c06760667027776075c067506650275065c06022102025c", - "0x66f0655027b065c065f0615027a065c0679066a0279065c06780669027806", - "0x25c060207027e7d7c7b0c067e065c067a0657027d065c0670061d027c065c", - "0x65c0670061d0273065c066f06550280065c065f0615027f065c0674066002", - "0x22102025c0618061c02025c06020702828173800c0682065c067f06570281", - "0x2260285065c068483074d0284065c068406240284065c06026f0283065c06", - "0x550288065c066706150287065c066606600266065c06858607510286065c06", - "0x207028b8a89880c068b065c06870657028a065c0607061d0289065c066806", - "0x8d065c060271028c065c06022102025c0638067002025c0617064802025c06", - "0x5c068e8f0751028f065c060226028e065c068d8c074d028d065c068d062402", - "0x607061d0293065c061506550292065c060c06150291065c06900660029006", - "0x2025c0609067002025c06020702945e93920c0694065c06910657025e065c", - "0x297065c069695074d0296065c069606240296065c06026f0295065c060221", - "0x9b065c06100615029a065c069906600299065c06979807510298065c060226", - "0x29e9d9c9b0c069e065c069a0657029d065c0607061d029c065c0634065502", - "0x5c0609063402025c060207023410079f150c075c070602070602025c060202", - "0x5c06021802025c06140614021814075c063d063d023d065c06380638023806", - "0x6460617021c065c0618061702025c06440614024644075c0617063d021706", - "0x70202a0025c071d1c0746020c065c060c0615021c065c061c0644021d065c", - "0x22102025c0648064802481f075c0621061f0221065c0607061d02025c0602", - "0x226024d065c06244b074d0224065c062406240224065c06024b024b065c06", - "0x550255065c060c06150260065c065106600251065c064d2607510226065c06", - "0x207022c5957550c062c065c066006570259065c061f061d0257065c061506", - "0x7a16100075c075a150c095a025a065c065a062c025a065c06025902025c06", - "0x65075c065f066b025f065c066406610264065c06020002025c060207026362", - "0x65c066706620270065c0607061d026f065c0661065502025c0665066c0267", - "0x6a26b065c076a066e0200065c06000615026a6968095c0671706f096d0271", - "0x7472075c066d0674026e065c060221026d065c066b067202025c060207026c", - "0x75c06787707760278065c066e06750277065c0674062402025c0672061c02", - "0x5c067a066802025c06790667027a79075c0675066502025c06760648027675", - "0x6680655027e065c06000615027d065c067c066a027c065c067b0669027b06", - "0x25c0602070273807f7e0c0673065c067d06570280065c0669061d027f065c", - "0x65c0669061d0283065c066806550282065c060006150281065c066c066002", - "0x26f0286065c06022102025c06020702858483820c0685065c068106570284", - "0x7510288065c0602260287065c066686074d0266065c066606240266065c06", - "0x28c065c06630655028b065c06620615028a065c068906600289065c068788", - "0x9067002025c060207028e8d8c8b0c068e065c068a0657028d065c0607061d", - "0x6908f074d0290065c069006240290065c06026f028f065c06022102025c06", - "0x100615025e065c069306600293065c06919207510292065c0602260291065c", - "0x940c0697065c065e06570296065c0607061d0295065c063406550294065c06", - "0x7802025c060207020c06a30907075c070606770206065c0602063402979695", - "0x2070202a406027b0234065c0615067a0210065c060706790215065c060906", - "0x63d067a0210065c060c0679023d065c0638067d0238065c06027c02025c06", - "0x21706a518065c0734067e0214065c061406090214065c061006680234065c", - "0x9021c065c064606730246065c064406800244065c0618067f02025c060207", - "0x25c0617064802025c060207021f1d07061f065c061c0681021d065c061406", - "0x24065c06210681024b065c061406090221065c064806820248065c06027c02", - "0x907070609065c060606830207065c0602061d0206065c06027c02244b0706", - "0x5c0606061d0214065c06020655021015075c060c0685020c065c0607068402", - "0xa644065c073d066e023d3834095c0617181409660217065c06100686021806", - "0x65c060288021d065c06091c0787021c065c0644067202025c060207024606", - "0x5c064806240221065c0602890248065c061f1d0787021d065c061d0624021f", - "0x1506860260065c0638061d0251065c06340655024b065c0621480787024806", - "0x5c0726068b02264d24095c06575560510c8a0257065c064b06240255065c06", - "0x5a066102025c0600064802005a075c0659068c02025c060207022c06a75906", - "0x6550264065c0663068e0263065c066261078d0262065c06027c0261065c06", - "0x5c0602070267655f090667065c0664068f0265065c064d061d025f065c0624", - "0x5c0668068f026a065c064d061d0269065c062406550268065c062c06900202", - "0x46069002025c0609061c02025c0615069102025c060207026f6a6909066f06", - "0x7109066c065c0670068f026b065c0638061d0271065c063406550270065c06", - "0x60906860238065c0606061d0234065c060206550209065c06070684026c6b", - "0x5c060207021806a814065c0710066e0210150c095c063d38340966023d065c", - "0x5c060c06550246065c064406930244065c061706920217065c061406720202", - "0x9402025c060207021f1d1c09061f065c0646065e021d065c0615061d021c06", - "0x624065c0648065e024b065c0615061d0221065c060c06550248065c061806", - "0x675020c065c06027c0209065c060706074d0207065c0602068002244b2109", - "0x9065c06029502025c06070691021015070610065c060c06830215065c0609", - "0xc065c060c06970215065c061506440215065c060218020c065c0609069602", - "0x65c0638069902025c0602070218143d09a9383410095c070c1506020c9802", - "0x2aa06027b021c065c0617069a0246065c0634061d0244065c061006550217", - "0x246065c0614061d0244065c063d0655021d065c0618069b02025c06020702", - "0x21065c071f066e021f065c0648069d0248065c061c069c021c065c061d069a", - "0x5c064d0693024d065c062406920224065c0621067202025c060207024b06ab", - "0x556051090655065c0626065e0260065c0646061d0251065c06440655022606", - "0x22c065c0646061d0259065c064406550257065c064b069402025c06020702", - "0x29502025c0615069102150c075c06070685025a2c5909065a065c0657065e", - "0x3406970238065c063806440238065c0602180234065c061006960210065c06", - "0x27c02025c0602070244171809ac143d075c070934380602159e0234065c06", - "0x6ae021f065c0614061d021d065c063d0655021c065c064606ad0246065c06", - "0x5c061806550221065c064406b002025c0602070202af06027b0248065c061c", - "0x62406b10224065c0648065d0248065c062106ae021f065c0617061d021d06", - "0x7b50251065c064d06b402025c060207022606b34d065c074b06b2024b065c", - "0x259065c061f061d0257065c061d06550255065c066006b60260065c06510c", - "0x5c062606b802025c060c069102025c060207022c595709062c065c065506b7", - "0x626100090662065c065a06b70261065c061f061d0200065c061d0655025a06", - "0x5c060906930209065c0606069202025c060207020706ba06065c070206b902", - "0x71007510210065c06022602025c0602070215060615065c060c065e020c06", - "0x6065c070206bb023d06063d065c0638065e0238065c063406940234065c06", - "0x5c060c06bf020c065c060906be0209065c060606bd02025c060207020706bc", - "0x3406c00234065c06071007510210065c06022602025c060207021506061506", - "0x209070602443d06020c153d06020c183d06063d065c063806bf0238065c06", - "0x60cc202103d073d06c10234150715062d09070602443d06020c153d06020c", - "0x2100907090707c40706024b3d06091d3d0609c309070602483d0609071d3d", - "0x65706c709070602513d0609071c3d060cc60706024b3d06091c3d0609c506", - "0xc9025a065906c8024b" - ], - "sierra_program_debug_info": { - "type_names": [ - [0, "RangeCheck"], - [1, "GasBuiltin"], - [2, "felt252"], - [3, "Array"], - [4, "Snapshot>"], - [5, "core::array::Span::"], - [6, "Unit"], - [7, "core::option::Option::"], - [8, "u32"], - [9, "System"], - [10, "core::panics::Panic"], - [11, "Tuple>"], - [12, "Tuple>"], - [ - 13, - "core::panics::PanicResult::<(core::array::Span::,)>" - ], - [14, "BuiltinCosts"], - [15, "Counter5::Counter5::balance_5::ContractState"], - [16, "Counter5::Counter5::ContractState"], - [17, "Tuple"], - [ - 18, - "core::panics::PanicResult::<(Counter5::Counter5::ContractState, ())>" - ], - [19, "Tuple"], - [20, "core::panics::PanicResult::<(core::felt252,)>"], - [21, "Box"], - [22, "core::option::Option::>"], - [23, "Tuple"], - [ - 24, - "core::panics::PanicResult::<(Counter5::Counter5::balance_5::ContractState, ())>" - ], - [25, "StorageBaseAddress"], - [26, "StorageAddress"], - [ - 27, - "core::result::Result::>" - ], - [28, "core::result::Result::<(), core::array::Array::>"], - [29, "Tuple"], - [30, "core::panics::PanicResult::<((),)>"] - ], - "libfunc_names": [ - [0, "revoke_ap_tracking"], - [1, "withdraw_gas"], - [2, "branch_align"], - [3, "store_temp>"], - [4, "function_call"], - [5, "store_temp"], - [6, "enum_match>"], - [7, "struct_deconstruct>"], - [8, "array_len"], - [9, "snapshot_take"], - [10, "drop"], - [11, "u32_const<0>"], - [12, "rename"], - [13, "store_temp"], - [14, "u32_eq"], - [15, "drop"], - [16, "store_temp"], - [17, "function_call"], - [18, "drop"], - [19, "array_new"], - [ - 20, - "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" - ], - [21, "store_temp"], - [22, "array_append"], - [23, "struct_construct"], - [24, "struct_construct>>"], - [ - 25, - "enum_init,)>, 1>" - ], - [26, "store_temp"], - [ - 27, - "store_temp,)>>" - ], - [28, "get_builtin_costs"], - [29, "store_temp"], - [30, "withdraw_gas_all"], - [31, "struct_construct"], - [32, "struct_construct"], - [33, "store_temp"], - [34, "function_call"], - [ - 35, - "enum_match>" - ], - [36, "drop>"], - [37, "snapshot_take>"], - [38, "drop>"], - [39, "struct_construct>"], - [40, "struct_construct>>"], - [ - 41, - "enum_init,)>, 0>" - ], - [42, "felt252_const<375233589013918064796019>"], - [43, "drop>"], - [ - 44, - "felt252_const<1979706721653833758925397712865600297316042839304765459608024204080243>" - ], - [45, "snapshot_take"], - [46, "drop"], - [47, "function_call"], - [48, "enum_match>"], - [49, "struct_deconstruct>"], - [50, "snapshot_take"], - [51, "store_temp>"], - [52, "function_call"], - [53, "array_snapshot_pop_front"], - [ - 54, - "enum_init>, 0>" - ], - [55, "store_temp>>"], - [ - 56, - "store_temp>>" - ], - [57, "jump"], - [58, "struct_construct"], - [ - 59, - "enum_init>, 1>" - ], - [ - 60, - "enum_match>>" - ], - [61, "unbox"], - [62, "rename"], - [63, "enum_init, 0>"], - [64, "store_temp>"], - [65, "enum_init, 1>"], - [66, "store_temp"], - [67, "struct_deconstruct"], - [68, "snapshot_take"], - [69, "store_temp"], - [ - 70, - "function_call" - ], - [71, "felt252_add"], - [72, "felt252_const<5>"], - [73, "felt252_const<1>"], - [ - 74, - "function_call" - ], - [ - 75, - "enum_match>" - ], - [ - 76, - "struct_deconstruct>" - ], - [77, "struct_construct>"], - [ - 78, - "enum_init, 0>" - ], - [ - 79, - "store_temp>" - ], - [ - 80, - "enum_init, 1>" - ], - [81, "drop"], - [82, "struct_construct>"], - [83, "enum_init, 0>"], - [84, "store_temp>"], - [85, "enum_init, 1>"], - [ - 86, - "storage_base_address_const<406237817035746565772269809858978531940011558089048847818012947058325778012>" - ], - [87, "storage_address_from_base"], - [88, "store_temp"], - [89, "storage_read_syscall"], - [ - 90, - "enum_init>, 0>" - ], - [ - 91, - "store_temp>>" - ], - [ - 92, - "enum_init>, 1>" - ], - [ - 93, - "rename>>" - ], - [ - 94, - "function_call::unwrap_syscall>" - ], - [95, "storage_write_syscall"], - [ - 96, - "enum_init>, 0>" - ], - [ - 97, - "store_temp>>" - ], - [ - 98, - "enum_init>, 1>" - ], - [ - 99, - "rename>>" - ], - [ - 100, - "function_call::unwrap_syscall>" - ], - [101, "enum_match>"], - [102, "struct_deconstruct>"], - [ - 103, - "struct_construct>" - ], - [ - 104, - "enum_init, 0>" - ], - [ - 105, - "store_temp>" - ], - [ - 106, - "enum_init, 1>" - ], - [ - 107, - "enum_match>>" - ], - [ - 108, - "enum_match>>" - ], - [109, "struct_construct>"], - [110, "enum_init, 0>"], - [111, "store_temp>"], - [112, "enum_init, 1>"] - ], - "user_func_names": [ - [0, "Counter5::Counter5::__external::increase_balance_5"], - [1, "Counter5::Counter5::__external::get_balance_5"], - [2, "core::Felt252Serde::deserialize"], - [3, "core::starknet::use_system_implicit"], - [4, "Counter5::Counter5::increase_balance_5"], - [5, "Counter5::Counter5::get_balance_5"], - [6, "core::Felt252Serde::serialize"], - [7, "Counter5::Counter5::balance_5::InternalContractStateImpl::read"], - [8, "Counter5::Counter5::balance_5::InternalContractStateImpl::write"], - [ - 9, - "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" - ], - [10, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"] - ] - }, - "contract_class_version": "0.1.0", - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0x267cbb3c3e283a65af18ea0520413af29ad394bb92e89f5cec63d7bf8e3cc02", - "function_idx": 0 - }, - { - "selector": "0x389381eb1816554e8631e7462dd12b632049ad60885626e36757af3a8b169dd", - "function_idx": 1 - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [] - }, - "abi": [ - { - "type": "function", - "name": "increase_balance_5", - "inputs": [{ "name": "amount", "type": "core::felt252" }], - "outputs": [], - "state_mutability": "external" - }, - { - "type": "function", - "name": "get_balance_5", - "inputs": [], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - }, - { - "type": "event", - "name": "Counter5::Counter5::Event", - "kind": "enum", - "variants": [] - } - ] -} diff --git a/da-test/contracts/ERC20.cairo b/da-test/contracts/ERC20.cairo deleted file mode 100644 index 74dcaed08a..0000000000 --- a/da-test/contracts/ERC20.cairo +++ /dev/null @@ -1,18 +0,0 @@ -// contracts/MyToken.cairo - -%lang starknet - -from openzeppelin.token.erc20.presets.ERC20 import ( - constructor, - name, - symbol, - totalSupply, - decimals, - balanceOf, - allowance, - transfer, - transferFrom, - approve, - increaseAllowance, - decreaseAllowance, -) diff --git a/da-test/contracts/ERC20.json b/da-test/contracts/ERC20.json deleted file mode 100644 index 3063dfad02..0000000000 --- a/da-test/contracts/ERC20.json +++ /dev/null @@ -1,8597 +0,0 @@ -{ - "abi": [ - { - "members": [ - { - "name": "low", - "offset": 0, - "type": "felt" - }, - { - "name": "high", - "offset": 1, - "type": "felt" - } - ], - "name": "Uint256", - "size": 2, - "type": "struct" - }, - { - "data": [ - { - "name": "from_", - "type": "felt" - }, - { - "name": "to", - "type": "felt" - }, - { - "name": "value", - "type": "Uint256" - } - ], - "keys": [], - "name": "Transfer", - "type": "event" - }, - { - "data": [ - { - "name": "owner", - "type": "felt" - }, - { - "name": "spender", - "type": "felt" - }, - { - "name": "value", - "type": "Uint256" - } - ], - "keys": [], - "name": "Approval", - "type": "event" - }, - { - "inputs": [ - { - "name": "name", - "type": "felt" - }, - { - "name": "symbol", - "type": "felt" - }, - { - "name": "decimals", - "type": "felt" - }, - { - "name": "initial_supply", - "type": "Uint256" - }, - { - "name": "recipient", - "type": "felt" - } - ], - "name": "constructor", - "outputs": [], - "type": "constructor" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "name": "name", - "type": "felt" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "symbol", - "type": "felt" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "totalSupply", - "type": "Uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "name": "decimals", - "type": "felt" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "account", - "type": "felt" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "Uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "owner", - "type": "felt" - }, - { - "name": "spender", - "type": "felt" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "remaining", - "type": "Uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "recipient", - "type": "felt" - }, - { - "name": "amount", - "type": "Uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "sender", - "type": "felt" - }, - { - "name": "recipient", - "type": "felt" - }, - { - "name": "amount", - "type": "Uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "spender", - "type": "felt" - }, - { - "name": "amount", - "type": "Uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "spender", - "type": "felt" - }, - { - "name": "added_value", - "type": "Uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "spender", - "type": "felt" - }, - { - "name": "subtracted_value", - "type": "Uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - } - ], - "entry_points_by_type": { - "CONSTRUCTOR": [ - { - "offset": "0x410", - "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194" - } - ], - "EXTERNAL": [ - { - "offset": "0x521", - "selector": "0x41b033f4a31df8067c24d1e9b550a2ce75fd4a29e1147af9752174f0e6cb20" - }, - { - "offset": "0x491", - "selector": "0x4c4fb1ab068f6039d5780c68dd0fa2f8742cceb3426d19667778ca7f3518a9" - }, - { - "offset": "0x473", - "selector": "0x80aa9fdbfaf9615e4afc7f5f722e265daca5ccc655360fa5ccacf9c267936d" - }, - { - "offset": "0x4fa", - "selector": "0x83afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e" - }, - { - "offset": "0x56e", - "selector": "0x16cc063b8338363cf388ce7fe1df408bf10f16cd51635d392e21d852fafb683" - }, - { - "offset": "0x594", - "selector": "0x1aaf3e6107dd1349c81543ff4221a326814f77dadcc5810807b74f1a49ded4e" - }, - { - "offset": "0x4d5", - "selector": "0x1e888a1026b19c8c0b57c72d63ed1737106aa10034105b980ba117bd0c29fe1" - }, - { - "offset": "0x454", - "selector": "0x216b05c387bab9ac31918a3e61672f4618601f3c598a2f3f2710f37053e1ea4" - }, - { - "offset": "0x548", - "selector": "0x219209e083275171774dab1df80982e9df2096516f06319c5c6d71ae0a8480c" - }, - { - "offset": "0x4b1", - "selector": "0x2e4263afad30923c891518314c3c95dbe830a16874e8abc5777a9a20b54c76e" - }, - { - "offset": "0x436", - "selector": "0x361458367e696363fbcc70777d07ebbd2394e89fd0adcaf147faccd1d294d60" - } - ], - "L1_HANDLER": [] - }, - "program": { - "attributes": [ - { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "end_pc": 326, - "flow_tracking_data": { - "ap_tracking": { - "group": 22, - "offset": 35 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 324, - "value": "SafeUint256: addition overflow" - }, - { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "end_pc": 349, - "flow_tracking_data": { - "ap_tracking": { - "group": 23, - "offset": 60 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 347, - "value": "SafeUint256: subtraction overflow" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "end_pc": 665, - "flow_tracking_data": { - "ap_tracking": { - "group": 44, - "offset": 41 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 660, - "value": "ERC20: decimals exceed 2^8" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "end_pc": 752, - "flow_tracking_data": { - "ap_tracking": { - "group": 56, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 747, - "value": "ERC20: amount is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "end_pc": 772, - "flow_tracking_data": { - "ap_tracking": { - "group": 58, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error", - "start_pc": 767, - "value": "ERC20: added_value is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "end_pc": 786, - "flow_tracking_data": { - "ap_tracking": { - "group": 58, - "offset": 88 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 782, - "value": "ERC20: allowance overflow" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "end_pc": 805, - "flow_tracking_data": { - "ap_tracking": { - "group": 60, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 800, - "value": "ERC20: subtracted_value is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "end_pc": 819, - "flow_tracking_data": { - "ap_tracking": { - "group": 60, - "offset": 88 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 815, - "value": "ERC20: allowance below zero" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "end_pc": 836, - "flow_tracking_data": { - "ap_tracking": { - "group": 62, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 831, - "value": "ERC20: amount is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "end_pc": 839, - "flow_tracking_data": { - "ap_tracking": { - "group": 62, - "offset": 6 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 836, - "value": "ERC20: cannot mint to the zero address" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "end_pc": 848, - "flow_tracking_data": { - "ap_tracking": { - "group": 62, - "offset": 40 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 844, - "value": "ERC20: mint overflow" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "end_pc": 888, - "flow_tracking_data": { - "ap_tracking": { - "group": 63, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 883, - "value": "ERC20: amount is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "end_pc": 891, - "flow_tracking_data": { - "ap_tracking": { - "group": 63, - "offset": 6 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 888, - "value": "ERC20: cannot transfer from the zero address" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "end_pc": 894, - "flow_tracking_data": { - "ap_tracking": { - "group": 63, - "offset": 9 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 891, - "value": "ERC20: cannot transfer to the zero address" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "end_pc": 904, - "flow_tracking_data": { - "ap_tracking": { - "group": 63, - "offset": 81 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 900, - "value": "ERC20: transfer amount exceeds balance" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "end_pc": 944, - "flow_tracking_data": { - "ap_tracking": { - "group": 64, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 939, - "value": "ERC20: amount is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "end_pc": 947, - "flow_tracking_data": { - "ap_tracking": { - "group": 64, - "offset": 6 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 944, - "value": "ERC20: cannot approve from the zero address" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "end_pc": 950, - "flow_tracking_data": { - "ap_tracking": { - "group": 64, - "offset": 9 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 947, - "value": "ERC20: cannot approve to the zero address" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "end_pc": 978, - "flow_tracking_data": { - "ap_tracking": { - "group": 65, - "offset": 4 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 973, - "value": "ERC20: amount is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "end_pc": 1012, - "flow_tracking_data": { - "ap_tracking": { - "group": 66, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 1005, - "value": "ERC20: insufficient allowance" - } - ], - "builtins": ["pedersen", "range_check"], - "compiler_version": "0.11.2", - "data": [ - "0x40780017fff7fff", - "0x1", - "0x208b7fff7fff7ffe", - "0x400380007ffb7ffc", - "0x400380017ffb7ffd", - "0x482680017ffb8000", - "0x3", - "0x480280027ffb8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x47657443616c6c657241646472657373", - "0x400280007ffd7fff", - "0x482680017ffd8000", - "0x2", - "0x480280017ffd8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x53746f7261676552656164", - "0x400280007ffc7fff", - "0x400380017ffc7ffd", - "0x482680017ffc8000", - "0x3", - "0x480280027ffc8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x53746f726167655772697465", - "0x400280007ffb7fff", - "0x400380017ffb7ffc", - "0x400380027ffb7ffd", - "0x482680017ffb8000", - "0x3", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x456d69744576656e74", - "0x400280007ff97fff", - "0x400380017ff97ffa", - "0x400380027ff97ffb", - "0x400380037ff97ffc", - "0x400380047ff97ffd", - "0x482680017ff98000", - "0x5", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffd", - "0x4", - "0x400780017fff7ffd", - "0x1", - "0x208b7fff7fff7ffe", - "0x400380007ffc7ffd", - "0x482680017ffc8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x48297ffc80007ffd", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffb", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x3ffffffffffffffffffffffffffffff", - "0x480280017ffc8000", - "0x48307fff80007ffe", - "0x400280027ffc7fff", - "0x480280017ffc8000", - "0x484480017fff8000", - "0x100000000000000000000000000000000", - "0x480280007ffc8000", - "0x40317fff7ffe7ffd", - "0x482680017ffc8000", - "0x3", - "0x208b7fff7fff7ffe", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x484480017fff8000", - "0x2aaaaaaaaaaaab05555555555555556", - "0x48307fff7ffd8000", - "0x480280027ffb8000", - "0x480280037ffb8000", - "0x484480017fff8000", - "0x4000000000000088000000000000001", - "0x48307fff7ffd8000", - "0xa0680017fff8000", - "0xe", - "0x480680017fff8000", - "0x800000000000011000000000000000000000000000000000000000000000000", - "0x48287ffc80007fff", - "0x40307ffc7ff87fff", - "0x48297ffd80007ffc", - "0x482680017ffd8000", - "0x1", - "0x48507fff7ffe8000", - "0x40507ff97ff57fff", - "0x482680017ffb8000", - "0x4", - "0x208b7fff7fff7ffe", - "0xa0680017fff8000", - "0xc", - "0x480680017fff8000", - "0x800000000000011000000000000000000000000000000000000000000000000", - "0x48287ffd80007fff", - "0x48327fff7ffc8000", - "0x40307ffa7ff67fff", - "0x48527ffe7ffc8000", - "0x40507ff97ff57fff", - "0x482680017ffb8000", - "0x4", - "0x208b7fff7fff7ffe", - "0x40317ffd7ff97ffd", - "0x48297ffc80007ffd", - "0x48527fff7ffc8000", - "0x40507ffb7ff77fff", - "0x40780017fff7fff", - "0x2", - "0x482680017ffb8000", - "0x4", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x20680017fff7fff", - "0x10", - "0x480a7ffc7fff8000", - "0x482680017ffd8000", - "0x11000000000000000000000000000000000000000000000101", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc0", - "0x480680017fff8000", - "0x800000000000011000000000000000000000000000000000000000000000000", - "0x48127ffe7fff8000", - "0x48287ffd80007ffe", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffba", - "0x482680017ffd8000", - "0x11000000000000000000000000000000000000000000000101", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x20680017fff7fff", - "0xc", - "0x40780017fff7fff", - "0xa", - "0x480680017fff8000", - "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeff", - "0x480a7ffc7fff8000", - "0x48287ffd80007ffe", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffab", - "0x10780017fff7fff", - "0x8", - "0x40780017fff7fff", - "0xb", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa3", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0xa0680017fff8000", - "0xa", - "0x400380007ffc7ffd", - "0x40780017fff7fff", - "0x14", - "0x482680017ffc8000", - "0x1", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0xa0680017fff8000", - "0xe", - "0x484680017ffd8000", - "0x800000000000011000000000000000000000000000000000000000000000000", - "0x482480017fff8000", - "0x800000000000011000000000000000000000000000000000000000000000000", - "0x400280007ffc7fff", - "0x40780017fff7fff", - "0x11", - "0x482680017ffc8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480680017fff8000", - "0x100000000000000000000000000000000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff90", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x48297ffc80007ffd", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffde", - "0x208b7fff7fff7ffe", - "0x400380007ffb7ffc", - "0x400380017ffb7ffd", - "0x482680017ffb8000", - "0x2", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x4", - "0x404b800280028002", - "0x404b800380038003", - "0x482a7ffc7ffa8000", - "0x4846800180028000", - "0x100000000000000000000000000000000", - "0x40327fff80007ffe", - "0x482a7ffd7ffb8000", - "0x482880027fff8000", - "0x4846800180038000", - "0x100000000000000000000000000000000", - "0x40327fff80017ffe", - "0x480a7ff97fff8000", - "0x480a80007fff8000", - "0x480a80017fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x480a80007fff8000", - "0x480a80017fff8000", - "0x480a80037fff8000", - "0x208b7fff7fff7ffe", - "0x48297ffd80007ffb", - "0x20680017fff7fff", - "0x9", - "0x480a7ff97fff8000", - "0x482680017ffa8000", - "0x1", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffda", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x482680017ffb8000", - "0x1", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd3", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffeb", - "0x480680017fff8000", - "0x1", - "0x48127ffd7fff8000", - "0x48307ffd80007ffe", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0xffffffffffffffffffffffffffffffff", - "0x480680017fff8000", - "0xffffffffffffffffffffffffffffffff", - "0x480a7ffb7fff8000", - "0x48287ffc80007ffd", - "0x48287ffd80007ffd", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff6", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffbd", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef", - "0x48127ffd7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffad", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x48297ffd80007ffb", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x6", - "0x480a7ff97fff8000", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48297ffc80007ffa", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x6", - "0x480a7ff97fff8000", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff89", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff85", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff84", - "0x400680017fff7fff", - "0x0", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x0", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff72", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff6e", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff94", - "0x400680017fff7fff", - "0x1", - "0x48127ffe7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffae", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x2", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe9a", - "0x40137fff7fff8000", - "0x480680017fff8000", - "0x99cd8bde557814842a3121e8ddfd433a539b8c9f14bf31ebf108d12e6196e9", - "0x4002800080007fff", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe94", - "0x40137fff7fff8001", - "0x4003800080017ffa", - "0x4003800180017ffb", - "0x4003800280017ffc", - "0x4003800380017ffd", - "0x4826800180018000", - "0x4", - "0x480a7ff87fff8000", - "0x480680017fff8000", - "0x1", - "0x480a80007fff8000", - "0x4828800180007ffc", - "0x480a80017fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea5", - "0x480a7ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x2", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe7f", - "0x40137fff7fff8000", - "0x480680017fff8000", - "0x134692b230b9e1ffa39098904722134159652b09c5bc41d88d6698779d228ff", - "0x4002800080007fff", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe79", - "0x40137fff7fff8001", - "0x4003800080017ffa", - "0x4003800180017ffb", - "0x4003800280017ffc", - "0x4003800380017ffd", - "0x4826800180018000", - "0x4", - "0x480a7ff87fff8000", - "0x480680017fff8000", - "0x1", - "0x480a80007fff8000", - "0x4828800180007ffc", - "0x480a80017fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe8a", - "0x480a7ff97fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x341c1bdfd89f69748aa00b5742b03adbffd79b8e80cab5c50d91cd8c2a79be1", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", - "0x480a7ffb7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe6b", - "0x48127ffe7fff8000", - "0x48127ff57fff8000", - "0x48127ff57fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", - "0x480a7ffa7fff8000", - "0x48127ffe7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe65", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0xb6ce5410fca59d078ee9b2a4371a9d684c530d697c64fbef0ae6d5e8f0ac72", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", - "0x480a7ffb7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe4d", - "0x48127ffe7fff8000", - "0x48127ff57fff8000", - "0x48127ff57fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", - "0x480a7ffa7fff8000", - "0x48127ffe7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe47", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x1f0d4aa99431d246bac9b8e48c33e888245b15e9678f64f9bdfc8823dc8f979", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", - "0x480a7ffb7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe2f", - "0x48127ffe7fff8000", - "0x48127ff57fff8000", - "0x48127ff57fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", - "0x480a7ffa7fff8000", - "0x48127ffe7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe29", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", - "0x480a7ffb7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe11", - "0x48127ffe7fff8000", - "0x482480017ff78000", - "0x1", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe0c", - "0x48127ffe7fff8000", - "0x48127fee7fff8000", - "0x48127fee7fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", - "0x480a7ff97fff8000", - "0x48127ffe7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe05", - "0x482480017ff88000", - "0x1", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe00", - "0x48127ff07fff8000", - "0x48127ff07fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffde2", - "0x480a7ffc7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe4d", - "0x48127fe17fff8000", - "0x48127ffd7fff8000", - "0x48127ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff0", - "0x480a7ffa7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdde", - "0x48127ffe7fff8000", - "0x482480017ff78000", - "0x1", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd9", - "0x48127ffe7fff8000", - "0x48127fee7fff8000", - "0x48127fee7fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffdc", - "0x480a7ff87fff8000", - "0x48127ffe7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd1", - "0x482480017ff88000", - "0x1", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdcc", - "0x48127ff07fff8000", - "0x48127ff07fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480680017fff8000", - "0x3c87bf42ed4f01f11883bf54f43d91d2cbbd5fec26d1df9c74c57ae138800a4", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdae", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdab", - "0x480a7ffb7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe16", - "0x48127fe17fff8000", - "0x48127ffd7fff8000", - "0x48127ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x480a7ff97fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda6", - "0x48127ffe7fff8000", - "0x482480017ff78000", - "0x1", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda1", - "0x48127ffe7fff8000", - "0x48127fee7fff8000", - "0x48127fee7fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd7", - "0x480a7ff77fff8000", - "0x48127ffe7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd98", - "0x482480017ff88000", - "0x1", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd93", - "0x48127ff07fff8000", - "0x48127ff07fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff1f", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff3a", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0xff", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd9d", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffd7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff4d", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffefe", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff16", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff4c", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff28", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff71", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa0", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd42", - "0x48127ffe7fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x48127ffc7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xa2", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ff77fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd33", - "0x48127ffe7fff8000", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x48127ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xeb", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x8d", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd3", - "0x480a7ff87fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd19", - "0x48127ffe7fff8000", - "0x480a7ff97fff8000", - "0x48127ff77fff8000", - "0x48127ffc7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xb1", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdbf", - "0x480a7ff87fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd05", - "0x48127ffe7fff8000", - "0x480a7ff97fff8000", - "0x48127ff77fff8000", - "0x48127ffc7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff58", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe26", - "0x48127fd17fff8000", - "0x48127fd17fff8000", - "0x48127ffb7fff8000", - "0x48127f867fff8000", - "0x480a7ffb7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x1104800180018000", - "0x92", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x0", - "0x480a7ffa7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd9e", - "0x480a7ff87fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffce4", - "0x48127ffe7fff8000", - "0x480a7ff97fff8000", - "0x48127ff77fff8000", - "0x48127ffc7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff37", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe1a", - "0x48127f707fff8000", - "0x48127f707fff8000", - "0x48127ffb7fff8000", - "0x48127f257fff8000", - "0x480a7ffb7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x1104800180018000", - "0x71", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd7f", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffce6", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x48127ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffde8", - "0x48127fd17fff8000", - "0x48127fd17fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb9", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffed5", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdda", - "0x48127fd17fff8000", - "0x48127fd17fff8000", - "0x48127ffb7fff8000", - "0x480a7ffb7fff8000", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffedd", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x0", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdf9", - "0x48127ffe7fff8000", - "0x48127fe17fff8000", - "0x48127ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd4b", - "0x480a7ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcb2", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcaf", - "0x480a7ff77fff8000", - "0x480a7ff87fff8000", - "0x48127ff77fff8000", - "0x480a7ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeab", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc5", - "0x48127f707fff8000", - "0x48127f707fff8000", - "0x48127ffb7fff8000", - "0x480a7ffa7fff8000", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb3", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe9c", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda1", - "0x48127fd17fff8000", - "0x48127fd17fff8000", - "0x48127ffb7fff8000", - "0x480a7ffb7fff8000", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea4", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc1", - "0x48127ffe7fff8000", - "0x48127fe17fff8000", - "0x48127ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd13", - "0x480a7ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc7a", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc77", - "0x480a7ff77fff8000", - "0x480a7ff87fff8000", - "0x48127ff77fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffebc", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdbc", - "0x48127ffe7fff8000", - "0x48127fe17fff8000", - "0x48127ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x4", - "0x480a7ff97fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcf1", - "0x480a7ff77fff8000", - "0x480a7ff87fff8000", - "0x48127ffd7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe8d", - "0x40137ffe7fff8000", - "0x40137fff7fff8001", - "0x40137ffb7fff8002", - "0x40137ffc7fff8003", - "0x48127ffd7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd17", - "0x48127ffd7fff8000", - "0x480a80007fff8000", - "0x480a80017fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd37", - "0x20680017fff7fff", - "0x13", - "0x48127ffe7fff8000", - "0x480a80007fff8000", - "0x480a80017fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd59", - "0x480a80027fff8000", - "0x480a80037fff8000", - "0x48127ffb7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffb1", - "0x208b7fff7fff7ffe", - "0x480a80027fff8000", - "0x480a80037fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff57fff8000", - "0x480a7ff67fff8000", - "0x480a7ff77fff8000", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe84", - "0x480a7ffd7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff33", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x6", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x480280037ffd8000", - "0x480280047ffd8000", - "0x480280057ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", - "0x40780017fff7fff", - "0x1", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe77", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x402b7ffd7ffc7ffd", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe5f", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x402b7ffd7ffc7ffd", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe47", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffb", - "0x4003800180007ffc", - "0x4826800180008000", - "0x2", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x402b7ffd7ffc7ffd", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff0", - "0x48127ff37fff8000", - "0x48127ff37fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe2e", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x402b7ffd7ffc7ffd", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe15", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffb", - "0x4003800180007ffc", - "0x4826800180008000", - "0x2", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x1", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe9", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", - "0x48127ff37fff8000", - "0x48127ff37fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdf8", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffb", - "0x4003800180007ffc", - "0x4826800180008000", - "0x2", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x2", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x48127ff37fff8000", - "0x48127ff37fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdda", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x3", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff77fff8000", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc2", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x4", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x480280037ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe4", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffeb", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdb0", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x3", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd9e", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x3", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd97", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x3", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe" - ], - "debug_info": null, - "hints": { - "0": [ - { - "accessible_scopes": [ - "starkware.cairo.common.alloc", - "starkware.cairo.common.alloc.alloc" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 0, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "12": [ - { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.get_caller_address" - ], - "code": "syscall_handler.get_caller_address(segments=segments, syscall_ptr=ids.syscall_ptr)", - "flow_tracking_data": { - "ap_tracking": { - "group": 2, - "offset": 1 - }, - "reference_ids": { - "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr": 0 - } - } - } - ], - "20": [ - { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_read" - ], - "code": "syscall_handler.storage_read(segments=segments, syscall_ptr=ids.syscall_ptr)", - "flow_tracking_data": { - "ap_tracking": { - "group": 3, - "offset": 1 - }, - "reference_ids": { - "starkware.starknet.common.syscalls.storage_read.syscall_ptr": 1 - } - } - } - ], - "29": [ - { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_write" - ], - "code": "syscall_handler.storage_write(segments=segments, syscall_ptr=ids.syscall_ptr)", - "flow_tracking_data": { - "ap_tracking": { - "group": 4, - "offset": 1 - }, - "reference_ids": { - "starkware.starknet.common.syscalls.storage_write.syscall_ptr": 2 - } - } - } - ], - "39": [ - { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.emit_event" - ], - "code": "syscall_handler.emit_event(segments=segments, syscall_ptr=ids.syscall_ptr)", - "flow_tracking_data": { - "ap_tracking": { - "group": 5, - "offset": 1 - }, - "reference_ids": { - "starkware.starknet.common.syscalls.emit_event.syscall_ptr": 3 - } - } - } - ], - "42": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_not_zero" - ], - "code": "from starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.value)\nassert ids.value % PRIME != 0, f'assert_not_zero failed: {ids.value} = 0.'", - "flow_tracking_data": { - "ap_tracking": { - "group": 6, - "offset": 0 - }, - "reference_ids": { - "starkware.cairo.common.math.assert_not_zero.value": 4 - } - } - } - ], - "47": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_nn" - ], - "code": "from starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.a)\nassert 0 <= ids.a % PRIME < range_check_builtin.bound, f'a = {ids.a} is out of range.'", - "flow_tracking_data": { - "ap_tracking": { - "group": 7, - "offset": 0 - }, - "reference_ids": { - "starkware.cairo.common.math.assert_nn.a": 5 - } - } - } - ], - "56": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "code": "from starkware.cairo.common.math_utils import as_int\n\n# Correctness check.\nvalue = as_int(ids.value, PRIME) % PRIME\nassert value < ids.UPPER_BOUND, f'{value} is outside of the range [0, 2**250).'\n\n# Calculation for the assertion.\nids.high, ids.low = divmod(ids.value, ids.SHIFT)", - "flow_tracking_data": { - "ap_tracking": { - "group": 9, - "offset": 0 - }, - "reference_ids": { - "starkware.cairo.common.math.assert_250_bit.high": 8, - "starkware.cairo.common.math.assert_250_bit.low": 7, - "starkware.cairo.common.math.assert_250_bit.value": 6 - } - } - } - ], - "69": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "code": "import itertools\n\nfrom starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.a)\nassert_integer(ids.b)\na = ids.a % PRIME\nb = ids.b % PRIME\nassert a <= b, f'a = {a} is not less than or equal to b = {b}.'\n\n# Find an arc less than PRIME / 3, and another less than PRIME / 2.\nlengths_and_indices = [(a, 0), (b - a, 1), (PRIME - 1 - b, 2)]\nlengths_and_indices.sort()\nassert lengths_and_indices[0][0] <= PRIME // 3 and lengths_and_indices[1][0] <= PRIME // 2\nexcluded = lengths_and_indices[2][1]\n\nmemory[ids.range_check_ptr + 1], memory[ids.range_check_ptr + 0] = (\n divmod(lengths_and_indices[0][0], ids.PRIME_OVER_3_HIGH))\nmemory[ids.range_check_ptr + 3], memory[ids.range_check_ptr + 2] = (\n divmod(lengths_and_indices[1][0], ids.PRIME_OVER_2_HIGH))", - "flow_tracking_data": { - "ap_tracking": { - "group": 10, - "offset": 0 - }, - "reference_ids": { - "starkware.cairo.common.math.assert_le_felt.a": 9, - "starkware.cairo.common.math.assert_le_felt.b": 10, - "starkware.cairo.common.math.assert_le_felt.range_check_ptr": 11 - } - } - } - ], - "79": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "code": "memory[ap] = 1 if excluded != 0 else 0", - "flow_tracking_data": { - "ap_tracking": { - "group": 10, - "offset": 8 - }, - "reference_ids": {} - } - } - ], - "93": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "code": "memory[ap] = 1 if excluded != 1 else 0", - "flow_tracking_data": { - "ap_tracking": { - "group": 10, - "offset": 9 - }, - "reference_ids": {} - } - } - ], - "105": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "code": "assert excluded == 2", - "flow_tracking_data": { - "ap_tracking": { - "group": 10, - "offset": 10 - }, - "reference_ids": {} - } - } - ], - "116": [ - { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "code": "# Verify the assumptions on the relationship between 2**250, ADDR_BOUND and PRIME.\nADDR_BOUND = ids.ADDR_BOUND % PRIME\nassert (2**250 < ADDR_BOUND <= 2**251) and (2 * 2**250 < PRIME) and (\n ADDR_BOUND * 2 > PRIME), \\\n 'normalize_address() cannot be used with the current constants.'\nids.is_small = 1 if ids.addr < ADDR_BOUND else 0", - "flow_tracking_data": { - "ap_tracking": { - "group": 11, - "offset": 1 - }, - "reference_ids": { - "starkware.starknet.common.storage.normalize_address.addr": 12, - "starkware.starknet.common.storage.normalize_address.is_small": 13 - } - } - } - ], - "134": [ - { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "code": "ids.is_250 = 1 if ids.addr < 2**250 else 0", - "flow_tracking_data": { - "ap_tracking": { - "group": 11, - "offset": 2 - }, - "reference_ids": { - "starkware.starknet.common.storage.normalize_address.addr": 12, - "starkware.starknet.common.storage.normalize_address.is_250": 14 - } - } - } - ], - "154": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "code": "memory[ap] = 0 if 0 <= (ids.a % PRIME) < range_check_builtin.bound else 1", - "flow_tracking_data": { - "ap_tracking": { - "group": 12, - "offset": 0 - }, - "reference_ids": { - "starkware.cairo.common.math_cmp.is_nn.a": 15 - } - } - } - ], - "164": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "code": "memory[ap] = 0 if 0 <= ((-ids.a - 1) % PRIME) < range_check_builtin.bound else 1", - "flow_tracking_data": { - "ap_tracking": { - "group": 12, - "offset": 1 - }, - "reference_ids": { - "starkware.cairo.common.math_cmp.is_nn.a": 15 - } - } - } - ], - "199": [ - { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "code": "sum_low = ids.a.low + ids.b.low\nids.carry_low = 1 if sum_low >= ids.SHIFT else 0\nsum_high = ids.a.high + ids.b.high + ids.carry_low\nids.carry_high = 1 if sum_high >= ids.SHIFT else 0", - "flow_tracking_data": { - "ap_tracking": { - "group": 15, - "offset": 4 - }, - "reference_ids": { - "starkware.cairo.common.uint256.uint256_add.a": 16, - "starkware.cairo.common.uint256.uint256_add.b": 17, - "starkware.cairo.common.uint256.uint256_add.carry_high": 19, - "starkware.cairo.common.uint256.uint256_add.carry_low": 18 - } - } - } - ], - "1054": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.constructor" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 68, - "offset": 414 - }, - "reference_ids": {} - } - } - ], - "1069": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.name_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 70, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1099": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.symbol_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 73, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1129": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.totalSupply_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 76, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1160": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.decimals_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 79, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1191": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.balanceOf_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 82, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1227": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.allowance_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 85, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1265": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.transfer_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 89, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1304": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.transferFrom_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 94, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1343": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.approve_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 99, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1381": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.increaseAllowance_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 104, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1419": [ - { - "accessible_scopes": [ - "openzeppelin.token.erc20.presets.ERC20", - "openzeppelin.token.erc20.presets.ERC20", - "__wrappers__", - "__wrappers__.decreaseAllowance_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 109, - "offset": 0 - }, - "reference_ids": {} - } - } - ] - }, - "identifiers": { - "__main__.allowance": { - "destination": "openzeppelin.token.erc20.presets.ERC20.allowance", - "type": "alias" - }, - "__main__.approve": { - "destination": "openzeppelin.token.erc20.presets.ERC20.approve", - "type": "alias" - }, - "__main__.balanceOf": { - "destination": "openzeppelin.token.erc20.presets.ERC20.balanceOf", - "type": "alias" - }, - "__main__.constructor": { - "destination": "openzeppelin.token.erc20.presets.ERC20.constructor", - "type": "alias" - }, - "__main__.decimals": { - "destination": "openzeppelin.token.erc20.presets.ERC20.decimals", - "type": "alias" - }, - "__main__.decreaseAllowance": { - "destination": "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance", - "type": "alias" - }, - "__main__.increaseAllowance": { - "destination": "openzeppelin.token.erc20.presets.ERC20.increaseAllowance", - "type": "alias" - }, - "__main__.name": { - "destination": "openzeppelin.token.erc20.presets.ERC20.name", - "type": "alias" - }, - "__main__.symbol": { - "destination": "openzeppelin.token.erc20.presets.ERC20.symbol", - "type": "alias" - }, - "__main__.totalSupply": { - "destination": "openzeppelin.token.erc20.presets.ERC20.totalSupply", - "type": "alias" - }, - "__main__.transfer": { - "destination": "openzeppelin.token.erc20.presets.ERC20.transfer", - "type": "alias" - }, - "__main__.transferFrom": { - "destination": "openzeppelin.token.erc20.presets.ERC20.transferFrom", - "type": "alias" - }, - "__wrappers__.allowance": { - "decorators": ["view"], - "pc": 1237, - "type": "function" - }, - "__wrappers__.allowance.Args": { - "full_name": "__wrappers__.allowance.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.allowance.ImplicitArgs": { - "full_name": "__wrappers__.allowance.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.allowance.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.allowance.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.allowance", - "type": "alias" - }, - "__wrappers__.allowance_encode_return": { - "decorators": [], - "pc": 1227, - "type": "function" - }, - "__wrappers__.allowance_encode_return.Args": { - "full_name": "__wrappers__.allowance_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "ret_value": { - "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__wrappers__.allowance_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.allowance_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.allowance_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.allowance_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.allowance_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.approve": { - "decorators": ["external"], - "pc": 1352, - "type": "function" - }, - "__wrappers__.approve.Args": { - "full_name": "__wrappers__.approve.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.approve.ImplicitArgs": { - "full_name": "__wrappers__.approve.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.approve.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.approve.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.approve.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.approve", - "type": "alias" - }, - "__wrappers__.approve_encode_return": { - "decorators": [], - "pc": 1343, - "type": "function" - }, - "__wrappers__.approve_encode_return.Args": { - "full_name": "__wrappers__.approve_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(success: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.approve_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.approve_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.approve_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.approve_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.approve_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.balanceOf": { - "decorators": ["view"], - "pc": 1201, - "type": "function" - }, - "__wrappers__.balanceOf.Args": { - "full_name": "__wrappers__.balanceOf.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.balanceOf.ImplicitArgs": { - "full_name": "__wrappers__.balanceOf.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.balanceOf.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.balanceOf.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.balanceOf.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.balanceOf", - "type": "alias" - }, - "__wrappers__.balanceOf_encode_return": { - "decorators": [], - "pc": 1191, - "type": "function" - }, - "__wrappers__.balanceOf_encode_return.Args": { - "full_name": "__wrappers__.balanceOf_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "ret_value": { - "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__wrappers__.balanceOf_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.balanceOf_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.balanceOf_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.balanceOf_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.balanceOf_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.constructor": { - "decorators": ["constructor"], - "pc": 1040, - "type": "function" - }, - "__wrappers__.constructor.Args": { - "full_name": "__wrappers__.constructor.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.constructor.ImplicitArgs": { - "full_name": "__wrappers__.constructor.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.constructor.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.constructor.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.constructor.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.constructor", - "type": "alias" - }, - "__wrappers__.constructor_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.decimals": { - "decorators": ["view"], - "pc": 1169, - "type": "function" - }, - "__wrappers__.decimals.Args": { - "full_name": "__wrappers__.decimals.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decimals.ImplicitArgs": { - "full_name": "__wrappers__.decimals.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decimals.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.decimals.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.decimals.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.decimals", - "type": "alias" - }, - "__wrappers__.decimals_encode_return": { - "decorators": [], - "pc": 1160, - "type": "function" - }, - "__wrappers__.decimals_encode_return.Args": { - "full_name": "__wrappers__.decimals_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(decimals: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.decimals_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.decimals_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decimals_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.decimals_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.decimals_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.decreaseAllowance": { - "decorators": ["external"], - "pc": 1428, - "type": "function" - }, - "__wrappers__.decreaseAllowance.Args": { - "full_name": "__wrappers__.decreaseAllowance.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decreaseAllowance.ImplicitArgs": { - "full_name": "__wrappers__.decreaseAllowance.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decreaseAllowance.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.decreaseAllowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.decreaseAllowance.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance", - "type": "alias" - }, - "__wrappers__.decreaseAllowance_encode_return": { - "decorators": [], - "pc": 1419, - "type": "function" - }, - "__wrappers__.decreaseAllowance_encode_return.Args": { - "full_name": "__wrappers__.decreaseAllowance_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(success: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.decreaseAllowance_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.decreaseAllowance_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decreaseAllowance_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.decreaseAllowance_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.decreaseAllowance_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.increaseAllowance": { - "decorators": ["external"], - "pc": 1390, - "type": "function" - }, - "__wrappers__.increaseAllowance.Args": { - "full_name": "__wrappers__.increaseAllowance.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.increaseAllowance.ImplicitArgs": { - "full_name": "__wrappers__.increaseAllowance.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.increaseAllowance.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.increaseAllowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.increaseAllowance.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.increaseAllowance", - "type": "alias" - }, - "__wrappers__.increaseAllowance_encode_return": { - "decorators": [], - "pc": 1381, - "type": "function" - }, - "__wrappers__.increaseAllowance_encode_return.Args": { - "full_name": "__wrappers__.increaseAllowance_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(success: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.increaseAllowance_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.increaseAllowance_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.increaseAllowance_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.increaseAllowance_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.increaseAllowance_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.name": { - "decorators": ["view"], - "pc": 1078, - "type": "function" - }, - "__wrappers__.name.Args": { - "full_name": "__wrappers__.name.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.name.ImplicitArgs": { - "full_name": "__wrappers__.name.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.name.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.name.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.name.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.name", - "type": "alias" - }, - "__wrappers__.name_encode_return": { - "decorators": [], - "pc": 1069, - "type": "function" - }, - "__wrappers__.name_encode_return.Args": { - "full_name": "__wrappers__.name_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(name: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.name_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.name_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.name_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.name_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.name_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.symbol": { - "decorators": ["view"], - "pc": 1108, - "type": "function" - }, - "__wrappers__.symbol.Args": { - "full_name": "__wrappers__.symbol.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.symbol.ImplicitArgs": { - "full_name": "__wrappers__.symbol.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.symbol.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.symbol.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.symbol.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.symbol", - "type": "alias" - }, - "__wrappers__.symbol_encode_return": { - "decorators": [], - "pc": 1099, - "type": "function" - }, - "__wrappers__.symbol_encode_return.Args": { - "full_name": "__wrappers__.symbol_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(symbol: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.symbol_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.symbol_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.symbol_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.symbol_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.symbol_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.totalSupply": { - "decorators": ["view"], - "pc": 1139, - "type": "function" - }, - "__wrappers__.totalSupply.Args": { - "full_name": "__wrappers__.totalSupply.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.totalSupply.ImplicitArgs": { - "full_name": "__wrappers__.totalSupply.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.totalSupply.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.totalSupply.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.totalSupply.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.totalSupply", - "type": "alias" - }, - "__wrappers__.totalSupply_encode_return": { - "decorators": [], - "pc": 1129, - "type": "function" - }, - "__wrappers__.totalSupply_encode_return.Args": { - "full_name": "__wrappers__.totalSupply_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "ret_value": { - "cairo_type": "(totalSupply: starkware.cairo.common.uint256.Uint256)", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__wrappers__.totalSupply_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.totalSupply_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.totalSupply_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.totalSupply_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.totalSupply_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.transfer": { - "decorators": ["external"], - "pc": 1274, - "type": "function" - }, - "__wrappers__.transfer.Args": { - "full_name": "__wrappers__.transfer.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transfer.ImplicitArgs": { - "full_name": "__wrappers__.transfer.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transfer.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.transfer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.transfer.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.transfer", - "type": "alias" - }, - "__wrappers__.transferFrom": { - "decorators": ["external"], - "pc": 1313, - "type": "function" - }, - "__wrappers__.transferFrom.Args": { - "full_name": "__wrappers__.transferFrom.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transferFrom.ImplicitArgs": { - "full_name": "__wrappers__.transferFrom.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transferFrom.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.transferFrom.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.transferFrom.__wrapped_func": { - "destination": "openzeppelin.token.erc20.presets.ERC20.transferFrom", - "type": "alias" - }, - "__wrappers__.transferFrom_encode_return": { - "decorators": [], - "pc": 1304, - "type": "function" - }, - "__wrappers__.transferFrom_encode_return.Args": { - "full_name": "__wrappers__.transferFrom_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(success: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.transferFrom_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.transferFrom_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transferFrom_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.transferFrom_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.transferFrom_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.transfer_encode_return": { - "decorators": [], - "pc": 1265, - "type": "function" - }, - "__wrappers__.transfer_encode_return.Args": { - "full_name": "__wrappers__.transfer_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(success: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.transfer_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.transfer_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transfer_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.transfer_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.transfer_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "openzeppelin.security.safemath.library.FALSE": { - "destination": "starkware.cairo.common.bool.FALSE", - "type": "alias" - }, - "openzeppelin.security.safemath.library.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.security.safemath.library.SafeUint256": { - "type": "namespace" - }, - "openzeppelin.security.safemath.library.SafeUint256.Args": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.ImplicitArgs": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.security.safemath.library.SafeUint256.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.security.safemath.library.SafeUint256.add": { - "decorators": [], - "pc": 309, - "type": "function" - }, - "openzeppelin.security.safemath.library.SafeUint256.add.Args": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.add.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.add.ImplicitArgs": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.add.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.add.Return": { - "cairo_type": "(c: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.security.safemath.library.SafeUint256.add.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.security.safemath.library.SafeUint256.sub_le": { - "decorators": [], - "pc": 330, - "type": "function" - }, - "openzeppelin.security.safemath.library.SafeUint256.sub_le.Args": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.sub_le.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.sub_le.ImplicitArgs": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.sub_le.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.sub_le.Return": { - "cairo_type": "(c: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.security.safemath.library.SafeUint256.sub_le.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.security.safemath.library.TRUE": { - "destination": "starkware.cairo.common.bool.TRUE", - "type": "alias" - }, - "openzeppelin.security.safemath.library.Uint256": { - "destination": "starkware.cairo.common.uint256.Uint256", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_add": { - "destination": "starkware.cairo.common.uint256.uint256_add", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_check": { - "destination": "starkware.cairo.common.uint256.uint256_check", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_eq": { - "destination": "starkware.cairo.common.uint256.uint256_eq", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_le": { - "destination": "starkware.cairo.common.uint256.uint256_le", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_lt": { - "destination": "starkware.cairo.common.uint256.uint256_lt", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_mul": { - "destination": "starkware.cairo.common.uint256.uint256_mul", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_sub": { - "destination": "starkware.cairo.common.uint256.uint256_sub", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_unsigned_div_rem": { - "destination": "starkware.cairo.common.uint256.uint256_unsigned_div_rem", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Approval": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.Approval.Args": { - "full_name": "openzeppelin.token.erc20.library.Approval.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Approval.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.Approval.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Approval.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.Approval.SELECTOR": { - "type": "const", - "value": 544914742286571513055574265148471203182105283038408585630116262969508767999 - }, - "openzeppelin.token.erc20.library.Approval.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.Approval.alloc": { - "destination": "starkware.cairo.common.alloc.alloc", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Approval.emit": { - "decorators": [], - "pc": 384, - "type": "function" - }, - "openzeppelin.token.erc20.library.Approval.emit.Args": { - "full_name": "openzeppelin.token.erc20.library.Approval.emit.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - }, - "value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Approval.emit.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.Approval.emit.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Approval.emit.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.Approval.emit.SIZEOF_LOCALS": { - "type": "const", - "value": 2 - }, - "openzeppelin.token.erc20.library.Approval.emit_event": { - "destination": "starkware.starknet.common.syscalls.emit_event", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Approval.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20._approve": { - "decorators": [], - "pc": 939, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20._approve.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20._approve.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - }, - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._approve.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20._approve.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._approve.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20._approve.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20._mint": { - "decorators": [], - "pc": 831, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20._mint.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20._mint.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "recipient": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._mint.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20._mint.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._mint.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20._mint.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20._spend_allowance": { - "decorators": [], - "pc": 971, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20._spend_allowance.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20._spend_allowance.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - }, - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._spend_allowance.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20._spend_allowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._spend_allowance.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20._spend_allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 4 - }, - "openzeppelin.token.erc20.library.ERC20._transfer": { - "decorators": [], - "pc": 883, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20._transfer.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20._transfer.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - }, - "recipient": { - "cairo_type": "felt", - "offset": 1 - }, - "sender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._transfer.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20._transfer.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._transfer.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20._transfer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.allowance": { - "decorators": [], - "pc": 703, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.allowance.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.allowance.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.allowance.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.allowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.allowance.Return": { - "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.approve": { - "decorators": [], - "pc": 747, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.approve.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.approve.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "spender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.approve.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.approve.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.approve.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.approve.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.balance_of": { - "decorators": [], - "pc": 696, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.balance_of.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.balance_of.Args", - "members": { - "account": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.balance_of.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.balance_of.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.balance_of.Return": { - "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.balance_of.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.decimals": { - "decorators": [], - "pc": 690, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.decimals.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.decimals.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.decimals.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.decimals.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.decimals.Return": { - "cairo_type": "(decimals: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.decimals.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.decrease_allowance": { - "decorators": [], - "pc": 798, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Args", - "members": { - "spender": { - "cairo_type": "felt", - "offset": 0 - }, - "subtracted_value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.decrease_allowance.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.decrease_allowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.decrease_allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.increase_allowance": { - "decorators": [], - "pc": 767, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.increase_allowance.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.increase_allowance.Args", - "members": { - "added_value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "spender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.increase_allowance.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.increase_allowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.increase_allowance.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.increase_allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.initializer": { - "decorators": [], - "pc": 651, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.initializer.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.initializer.Args", - "members": { - "decimals": { - "cairo_type": "felt", - "offset": 2 - }, - "name": { - "cairo_type": "felt", - "offset": 0 - }, - "symbol": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.initializer.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.initializer.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.initializer.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.initializer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.name": { - "decorators": [], - "pc": 672, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.name.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.name.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.name.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.name.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.name.Return": { - "cairo_type": "(name: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.name.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.symbol": { - "decorators": [], - "pc": 678, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.symbol.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.symbol.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.symbol.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.symbol.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.symbol.Return": { - "cairo_type": "(symbol: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.symbol.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.total_supply": { - "decorators": [], - "pc": 684, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.total_supply.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.total_supply.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.total_supply.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.total_supply.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.total_supply.Return": { - "cairo_type": "(total_supply: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.total_supply.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.transfer": { - "decorators": [], - "pc": 711, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.transfer.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.transfer.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "recipient": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.transfer.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.transfer.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.transfer.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.transfer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.transfer_from": { - "decorators": [], - "pc": 726, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.transfer_from.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.transfer_from.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - }, - "recipient": { - "cairo_type": "felt", - "offset": 1 - }, - "sender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.transfer_from.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.transfer_from.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.transfer_from.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.transfer_from.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_allowances": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_allowances.addr": { - "decorators": [], - "pc": 594, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.addr.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_allowances.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.read": { - "decorators": [], - "pc": 611, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.read.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.read.Return": { - "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_allowances.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.write": { - "decorators": [], - "pc": 632, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.write.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - }, - "value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_balances": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_balances.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_balances.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_balances.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_balances.addr": { - "decorators": [], - "pc": 542, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_balances.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.addr.Args", - "members": { - "account": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_balances.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_balances.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_balances.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_balances.read": { - "decorators": [], - "pc": 556, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_balances.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.read.Args", - "members": { - "account": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.read.Return": { - "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_balances.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_balances.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_balances.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_balances.write": { - "decorators": [], - "pc": 576, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_balances.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.write.Args", - "members": { - "account": { - "cairo_type": "felt", - "offset": 0 - }, - "value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_balances.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_decimals": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_decimals.addr": { - "decorators": [], - "pc": 471, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.addr.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_decimals.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.read": { - "decorators": [], - "pc": 476, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.read.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.read.Return": { - "cairo_type": "(decimals: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_decimals.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.write": { - "decorators": [], - "pc": 489, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.write.Args", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_name": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_name.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_name.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_name.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_name.addr": { - "decorators": [], - "pc": 411, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_name.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.addr.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_name.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_name.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_name.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_name.read": { - "decorators": [], - "pc": 416, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_name.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.read.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.read.Return": { - "cairo_type": "(name: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_name.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_name.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_name.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_name.write": { - "decorators": [], - "pc": 429, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_name.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.write.Args", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_name.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_symbol": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_symbol.addr": { - "decorators": [], - "pc": 441, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.addr.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_symbol.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.read": { - "decorators": [], - "pc": 446, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.read.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.read.Return": { - "cairo_type": "(symbol: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_symbol.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.write": { - "decorators": [], - "pc": 459, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.write.Args", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_total_supply": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.addr": { - "decorators": [], - "pc": 501, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.read": { - "decorators": [], - "pc": 506, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.read.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.read.Return": { - "cairo_type": "(total_supply: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.write": { - "decorators": [], - "pc": 525, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.write.Args", - "members": { - "value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.FALSE": { - "destination": "starkware.cairo.common.bool.FALSE", - "type": "alias" - }, - "openzeppelin.token.erc20.library.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.SafeUint256": { - "destination": "openzeppelin.security.safemath.library.SafeUint256", - "type": "alias" - }, - "openzeppelin.token.erc20.library.TRUE": { - "destination": "starkware.cairo.common.bool.TRUE", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Transfer": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.Transfer.Args": { - "full_name": "openzeppelin.token.erc20.library.Transfer.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Transfer.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.Transfer.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Transfer.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.Transfer.SELECTOR": { - "type": "const", - "value": 271746229759260285552388728919865295615886751538523744128730118297934206697 - }, - "openzeppelin.token.erc20.library.Transfer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.Transfer.alloc": { - "destination": "starkware.cairo.common.alloc.alloc", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Transfer.emit": { - "decorators": [], - "pc": 357, - "type": "function" - }, - "openzeppelin.token.erc20.library.Transfer.emit.Args": { - "full_name": "openzeppelin.token.erc20.library.Transfer.emit.Args", - "members": { - "from_": { - "cairo_type": "felt", - "offset": 0 - }, - "to": { - "cairo_type": "felt", - "offset": 1 - }, - "value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Transfer.emit.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.Transfer.emit.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Transfer.emit.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.Transfer.emit.SIZEOF_LOCALS": { - "type": "const", - "value": 2 - }, - "openzeppelin.token.erc20.library.Transfer.emit_event": { - "destination": "starkware.starknet.common.syscalls.emit_event", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Transfer.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "openzeppelin.token.erc20.library.UINT8_MAX": { - "destination": "openzeppelin.utils.constants.library.UINT8_MAX", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Uint256": { - "destination": "starkware.cairo.common.uint256.Uint256", - "type": "alias" - }, - "openzeppelin.token.erc20.library.assert_le": { - "destination": "starkware.cairo.common.math.assert_le", - "type": "alias" - }, - "openzeppelin.token.erc20.library.assert_not_zero": { - "destination": "starkware.cairo.common.math.assert_not_zero", - "type": "alias" - }, - "openzeppelin.token.erc20.library.get_caller_address": { - "destination": "starkware.starknet.common.syscalls.get_caller_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.uint256_check": { - "destination": "starkware.cairo.common.uint256.uint256_check", - "type": "alias" - }, - "openzeppelin.token.erc20.library.uint256_eq": { - "destination": "starkware.cairo.common.uint256.uint256_eq", - "type": "alias" - }, - "openzeppelin.token.erc20.library.uint256_not": { - "destination": "starkware.cairo.common.uint256.uint256_not", - "type": "alias" - }, - "openzeppelin.token.erc20.presets.ERC20.ERC20": { - "destination": "openzeppelin.token.erc20.library.ERC20", - "type": "alias" - }, - "openzeppelin.token.erc20.presets.ERC20.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.presets.ERC20.Uint256": { - "destination": "starkware.cairo.common.uint256.Uint256", - "type": "alias" - }, - "openzeppelin.token.erc20.presets.ERC20.allowance": { - "decorators": ["view"], - "pc": 1219, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.allowance.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.allowance.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.allowance.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.allowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.allowance.Return": { - "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.presets.ERC20.approve": { - "decorators": ["external"], - "pc": 1334, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.approve.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.approve.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "spender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.approve.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.approve.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.approve.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.approve.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.presets.ERC20.balanceOf": { - "decorators": ["view"], - "pc": 1184, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.balanceOf.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.balanceOf.Args", - "members": { - "account": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.balanceOf.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.balanceOf.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.balanceOf.Return": { - "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.balanceOf.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.presets.ERC20.constructor": { - "decorators": ["constructor"], - "pc": 1026, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.constructor.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.constructor.Args", - "members": { - "decimals": { - "cairo_type": "felt", - "offset": 2 - }, - "initial_supply": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 3 - }, - "name": { - "cairo_type": "felt", - "offset": 0 - }, - "recipient": { - "cairo_type": "felt", - "offset": 5 - }, - "symbol": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 6, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.constructor.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.constructor.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.constructor.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.constructor.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.presets.ERC20.decimals": { - "decorators": ["view"], - "pc": 1154, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.decimals.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.decimals.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.decimals.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.decimals.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.decimals.Return": { - "cairo_type": "(decimals: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.decimals.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance": { - "decorators": ["external"], - "pc": 1410, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.Args", - "members": { - "spender": { - "cairo_type": "felt", - "offset": 0 - }, - "subtracted_value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.decreaseAllowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.presets.ERC20.increaseAllowance": { - "decorators": ["external"], - "pc": 1372, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.Args", - "members": { - "added_value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "spender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.increaseAllowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.presets.ERC20.name": { - "decorators": ["view"], - "pc": 1063, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.name.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.name.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.name.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.name.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.name.Return": { - "cairo_type": "(name: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.name.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.presets.ERC20.symbol": { - "decorators": ["view"], - "pc": 1093, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.symbol.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.symbol.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.symbol.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.symbol.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.symbol.Return": { - "cairo_type": "(symbol: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.symbol.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.presets.ERC20.totalSupply": { - "decorators": ["view"], - "pc": 1123, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.totalSupply.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.totalSupply.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.totalSupply.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.totalSupply.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.totalSupply.Return": { - "cairo_type": "(totalSupply: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.totalSupply.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.presets.ERC20.transfer": { - "decorators": ["external"], - "pc": 1256, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.transfer.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.transfer.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "recipient": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.transfer.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.transfer.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.transfer.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.transfer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.presets.ERC20.transferFrom": { - "decorators": ["external"], - "pc": 1294, - "type": "function" - }, - "openzeppelin.token.erc20.presets.ERC20.transferFrom.Args": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.transferFrom.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - }, - "recipient": { - "cairo_type": "felt", - "offset": 1 - }, - "sender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.transferFrom.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.presets.ERC20.transferFrom.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.presets.ERC20.transferFrom.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.presets.ERC20.transferFrom.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.utils.constants.library.DEFAULT_ADMIN_ROLE": { - "type": "const", - "value": 0 - }, - "openzeppelin.utils.constants.library.IACCESSCONTROL_ID": { - "type": "const", - "value": 2036718347 - }, - "openzeppelin.utils.constants.library.IACCOUNT_ID": { - "type": "const", - "value": 2792084853 - }, - "openzeppelin.utils.constants.library.IERC1155_ID": { - "type": "const", - "value": 3652614694 - }, - "openzeppelin.utils.constants.library.IERC1155_METADATA_ID": { - "type": "const", - "value": 243872796 - }, - "openzeppelin.utils.constants.library.IERC1155_RECEIVER_ID": { - "type": "const", - "value": 1310921440 - }, - "openzeppelin.utils.constants.library.IERC165_ID": { - "type": "const", - "value": 33540519 - }, - "openzeppelin.utils.constants.library.IERC721_ENUMERABLE_ID": { - "type": "const", - "value": 2014223715 - }, - "openzeppelin.utils.constants.library.IERC721_ID": { - "type": "const", - "value": 2158778573 - }, - "openzeppelin.utils.constants.library.IERC721_METADATA_ID": { - "type": "const", - "value": 1532892063 - }, - "openzeppelin.utils.constants.library.IERC721_RECEIVER_ID": { - "type": "const", - "value": 353073666 - }, - "openzeppelin.utils.constants.library.INVALID_ID": { - "type": "const", - "value": 4294967295 - }, - "openzeppelin.utils.constants.library.ON_ERC1155_BATCH_RECEIVED_SELECTOR": { - "type": "const", - "value": 3155786881 - }, - "openzeppelin.utils.constants.library.ON_ERC1155_RECEIVED_SELECTOR": { - "type": "const", - "value": 4063915617 - }, - "openzeppelin.utils.constants.library.TRANSACTION_VERSION": { - "type": "const", - "value": 1 - }, - "openzeppelin.utils.constants.library.UINT8_MAX": { - "type": "const", - "value": 255 - }, - "starkware.cairo.common.alloc.alloc": { - "decorators": [], - "pc": 0, - "type": "function" - }, - "starkware.cairo.common.alloc.alloc.Args": { - "full_name": "starkware.cairo.common.alloc.alloc.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "starkware.cairo.common.alloc.alloc.ImplicitArgs": { - "full_name": "starkware.cairo.common.alloc.alloc.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "starkware.cairo.common.alloc.alloc.Return": { - "cairo_type": "(ptr: felt*)", - "type": "type_definition" - }, - "starkware.cairo.common.alloc.alloc.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.bitwise.ALL_ONES": { - "type": "const", - "value": -106710729501573572985208420194530329073740042555888586719234 - }, - "starkware.cairo.common.bitwise.BitwiseBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", - "type": "alias" - }, - "starkware.cairo.common.bool.FALSE": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.bool.TRUE": { - "type": "const", - "value": 1 - }, - "starkware.cairo.common.cairo_builtins.BitwiseBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", - "members": { - "x": { - "cairo_type": "felt", - "offset": 0 - }, - "x_and_y": { - "cairo_type": "felt", - "offset": 2 - }, - "x_or_y": { - "cairo_type": "felt", - "offset": 4 - }, - "x_xor_y": { - "cairo_type": "felt", - "offset": 3 - }, - "y": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 5, - "type": "struct" - }, - "starkware.cairo.common.cairo_builtins.EcOpBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.EcOpBuiltin", - "members": { - "m": { - "cairo_type": "felt", - "offset": 4 - }, - "p": { - "cairo_type": "starkware.cairo.common.ec_point.EcPoint", - "offset": 0 - }, - "q": { - "cairo_type": "starkware.cairo.common.ec_point.EcPoint", - "offset": 2 - }, - "r": { - "cairo_type": "starkware.cairo.common.ec_point.EcPoint", - "offset": 5 - } - }, - "size": 7, - "type": "struct" - }, - "starkware.cairo.common.cairo_builtins.EcPoint": { - "destination": "starkware.cairo.common.ec_point.EcPoint", - "type": "alias" - }, - "starkware.cairo.common.cairo_builtins.HashBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "members": { - "result": { - "cairo_type": "felt", - "offset": 2 - }, - "x": { - "cairo_type": "felt", - "offset": 0 - }, - "y": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.cairo.common.cairo_builtins.KeccakBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.KeccakBuiltin", - "members": { - "input": { - "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", - "offset": 0 - }, - "output": { - "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", - "offset": 8 - } - }, - "size": 16, - "type": "struct" - }, - "starkware.cairo.common.cairo_builtins.KeccakBuiltinState": { - "destination": "starkware.cairo.common.keccak_state.KeccakBuiltinState", - "type": "alias" - }, - "starkware.cairo.common.cairo_builtins.PoseidonBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.PoseidonBuiltin", - "members": { - "input": { - "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", - "offset": 0 - }, - "output": { - "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", - "offset": 3 - } - }, - "size": 6, - "type": "struct" - }, - "starkware.cairo.common.cairo_builtins.PoseidonBuiltinState": { - "destination": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", - "type": "alias" - }, - "starkware.cairo.common.cairo_builtins.SignatureBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.SignatureBuiltin", - "members": { - "message": { - "cairo_type": "felt", - "offset": 1 - }, - "pub_key": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.dict_access.DictAccess": { - "full_name": "starkware.cairo.common.dict_access.DictAccess", - "members": { - "key": { - "cairo_type": "felt", - "offset": 0 - }, - "new_value": { - "cairo_type": "felt", - "offset": 2 - }, - "prev_value": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.cairo.common.ec_point.EcPoint": { - "full_name": "starkware.cairo.common.ec_point.EcPoint", - "members": { - "x": { - "cairo_type": "felt", - "offset": 0 - }, - "y": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.hash.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "starkware.cairo.common.hash.hash2": { - "decorators": [], - "pc": 3, - "type": "function" - }, - "starkware.cairo.common.hash.hash2.Args": { - "full_name": "starkware.cairo.common.hash.hash2.Args", - "members": { - "x": { - "cairo_type": "felt", - "offset": 0 - }, - "y": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.hash.hash2.ImplicitArgs": { - "full_name": "starkware.cairo.common.hash.hash2.ImplicitArgs", - "members": { - "hash_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.hash.hash2.Return": { - "cairo_type": "(result: felt)", - "type": "type_definition" - }, - "starkware.cairo.common.hash.hash2.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.keccak_state.KeccakBuiltinState": { - "full_name": "starkware.cairo.common.keccak_state.KeccakBuiltinState", - "members": { - "s0": { - "cairo_type": "felt", - "offset": 0 - }, - "s1": { - "cairo_type": "felt", - "offset": 1 - }, - "s2": { - "cairo_type": "felt", - "offset": 2 - }, - "s3": { - "cairo_type": "felt", - "offset": 3 - }, - "s4": { - "cairo_type": "felt", - "offset": 4 - }, - "s5": { - "cairo_type": "felt", - "offset": 5 - }, - "s6": { - "cairo_type": "felt", - "offset": 6 - }, - "s7": { - "cairo_type": "felt", - "offset": 7 - } - }, - "size": 8, - "type": "struct" - }, - "starkware.cairo.common.math.FALSE": { - "destination": "starkware.cairo.common.bool.FALSE", - "type": "alias" - }, - "starkware.cairo.common.math.TRUE": { - "destination": "starkware.cairo.common.bool.TRUE", - "type": "alias" - }, - "starkware.cairo.common.math.assert_250_bit": { - "decorators": ["known_ap_change"], - "pc": 56, - "type": "function" - }, - "starkware.cairo.common.math.assert_250_bit.Args": { - "full_name": "starkware.cairo.common.math.assert_250_bit.Args", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_250_bit.HIGH_BOUND": { - "type": "const", - "value": 5316911983139663491615228241121378304 - }, - "starkware.cairo.common.math.assert_250_bit.ImplicitArgs": { - "full_name": "starkware.cairo.common.math.assert_250_bit.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_250_bit.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.math.assert_250_bit.SHIFT": { - "type": "const", - "value": 340282366920938463463374607431768211456 - }, - "starkware.cairo.common.math.assert_250_bit.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math.assert_250_bit.UPPER_BOUND": { - "type": "const", - "value": 1809251394333065553493296640760748560207343510400633813116524750123642650624 - }, - "starkware.cairo.common.math.assert_250_bit.high": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_250_bit.high", - "references": [ - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast([fp + (-4)] + 1, felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_250_bit.low": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_250_bit.low", - "references": [ - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast([fp + (-4)], felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_250_bit.value": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_250_bit.value", - "references": [ - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_le": { - "decorators": [], - "pc": 51, - "type": "function" - }, - "starkware.cairo.common.math.assert_le.Args": { - "full_name": "starkware.cairo.common.math.assert_le.Args", - "members": { - "a": { - "cairo_type": "felt", - "offset": 0 - }, - "b": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.math.assert_le.ImplicitArgs": { - "full_name": "starkware.cairo.common.math.assert_le.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_le.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.math.assert_le.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math.assert_le_felt": { - "decorators": ["known_ap_change"], - "pc": 69, - "type": "function" - }, - "starkware.cairo.common.math.assert_le_felt.Args": { - "full_name": "starkware.cairo.common.math.assert_le_felt.Args", - "members": { - "a": { - "cairo_type": "felt", - "offset": 0 - }, - "b": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.math.assert_le_felt.ImplicitArgs": { - "full_name": "starkware.cairo.common.math.assert_le_felt.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_le_felt.PRIME_OVER_2_HIGH": { - "type": "const", - "value": 5316911983139663648412552867652567041 - }, - "starkware.cairo.common.math.assert_le_felt.PRIME_OVER_3_HIGH": { - "type": "const", - "value": 3544607988759775765608368578435044694 - }, - "starkware.cairo.common.math.assert_le_felt.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.math.assert_le_felt.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math.assert_le_felt.a": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_le_felt.a", - "references": [ - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-4), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_le_felt.b": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_le_felt.b", - "references": [ - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_le_felt.range_check_ptr": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_le_felt.range_check_ptr", - "references": [ - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-5), felt*)]" - }, - { - "ap_tracking_data": { - "group": 10, - "offset": 8 - }, - "pc": 79, - "value": "cast([fp + (-5)] + 4, felt)" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_le_felt.skip_exclude_a": { - "pc": 93, - "type": "label" - }, - "starkware.cairo.common.math.assert_le_felt.skip_exclude_b_minus_a": { - "pc": 105, - "type": "label" - }, - "starkware.cairo.common.math.assert_nn": { - "decorators": [], - "pc": 47, - "type": "function" - }, - "starkware.cairo.common.math.assert_nn.Args": { - "full_name": "starkware.cairo.common.math.assert_nn.Args", - "members": { - "a": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_nn.ImplicitArgs": { - "full_name": "starkware.cairo.common.math.assert_nn.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_nn.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.math.assert_nn.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math.assert_nn.a": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_nn.a", - "references": [ - { - "ap_tracking_data": { - "group": 7, - "offset": 0 - }, - "pc": 47, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_not_zero": { - "decorators": [], - "pc": 42, - "type": "function" - }, - "starkware.cairo.common.math.assert_not_zero.Args": { - "full_name": "starkware.cairo.common.math.assert_not_zero.Args", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_not_zero.ImplicitArgs": { - "full_name": "starkware.cairo.common.math.assert_not_zero.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "starkware.cairo.common.math.assert_not_zero.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.math.assert_not_zero.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math.assert_not_zero.value": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_not_zero.value", - "references": [ - { - "ap_tracking_data": { - "group": 6, - "offset": 0 - }, - "pc": 42, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math_cmp.RC_BOUND": { - "type": "const", - "value": 340282366920938463463374607431768211456 - }, - "starkware.cairo.common.math_cmp.assert_le_felt": { - "destination": "starkware.cairo.common.math.assert_le_felt", - "type": "alias" - }, - "starkware.cairo.common.math_cmp.assert_lt_felt": { - "destination": "starkware.cairo.common.math.assert_lt_felt", - "type": "alias" - }, - "starkware.cairo.common.math_cmp.is_le": { - "decorators": ["known_ap_change"], - "pc": 187, - "type": "function" - }, - "starkware.cairo.common.math_cmp.is_le.Args": { - "full_name": "starkware.cairo.common.math_cmp.is_le.Args", - "members": { - "a": { - "cairo_type": "felt", - "offset": 0 - }, - "b": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.math_cmp.is_le.ImplicitArgs": { - "full_name": "starkware.cairo.common.math_cmp.is_le.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math_cmp.is_le.Return": { - "cairo_type": "felt", - "type": "type_definition" - }, - "starkware.cairo.common.math_cmp.is_le.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math_cmp.is_nn": { - "decorators": ["known_ap_change"], - "pc": 154, - "type": "function" - }, - "starkware.cairo.common.math_cmp.is_nn.Args": { - "full_name": "starkware.cairo.common.math_cmp.is_nn.Args", - "members": { - "a": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math_cmp.is_nn.ImplicitArgs": { - "full_name": "starkware.cairo.common.math_cmp.is_nn.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math_cmp.is_nn.Return": { - "cairo_type": "felt", - "type": "type_definition" - }, - "starkware.cairo.common.math_cmp.is_nn.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math_cmp.is_nn.a": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math_cmp.is_nn.a", - "references": [ - { - "ap_tracking_data": { - "group": 12, - "offset": 0 - }, - "pc": 154, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math_cmp.is_nn.need_felt_comparison": { - "pc": 178, - "type": "label" - }, - "starkware.cairo.common.math_cmp.is_nn.out_of_range": { - "pc": 164, - "type": "label" - }, - "starkware.cairo.common.poseidon_state.PoseidonBuiltinState": { - "full_name": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", - "members": { - "s0": { - "cairo_type": "felt", - "offset": 0 - }, - "s1": { - "cairo_type": "felt", - "offset": 1 - }, - "s2": { - "cairo_type": "felt", - "offset": 2 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.cairo.common.pow.assert_le": { - "destination": "starkware.cairo.common.math.assert_le", - "type": "alias" - }, - "starkware.cairo.common.pow.get_ap": { - "destination": "starkware.cairo.common.registers.get_ap", - "type": "alias" - }, - "starkware.cairo.common.pow.get_fp_and_pc": { - "destination": "starkware.cairo.common.registers.get_fp_and_pc", - "type": "alias" - }, - "starkware.cairo.common.registers.get_ap": { - "destination": "starkware.cairo.lang.compiler.lib.registers.get_ap", - "type": "alias" - }, - "starkware.cairo.common.registers.get_fp_and_pc": { - "destination": "starkware.cairo.lang.compiler.lib.registers.get_fp_and_pc", - "type": "alias" - }, - "starkware.cairo.common.uint256.ALL_ONES": { - "type": "const", - "value": 340282366920938463463374607431768211455 - }, - "starkware.cairo.common.uint256.BitwiseBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", - "type": "alias" - }, - "starkware.cairo.common.uint256.HALF_SHIFT": { - "type": "const", - "value": 18446744073709551616 - }, - "starkware.cairo.common.uint256.SHIFT": { - "type": "const", - "value": 340282366920938463463374607431768211456 - }, - "starkware.cairo.common.uint256.Uint256": { - "full_name": "starkware.cairo.common.uint256.Uint256", - "members": { - "high": { - "cairo_type": "felt", - "offset": 1 - }, - "low": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.uint256.assert_in_range": { - "destination": "starkware.cairo.common.math.assert_in_range", - "type": "alias" - }, - "starkware.cairo.common.uint256.assert_le": { - "destination": "starkware.cairo.common.math.assert_le", - "type": "alias" - }, - "starkware.cairo.common.uint256.assert_nn_le": { - "destination": "starkware.cairo.common.math.assert_nn_le", - "type": "alias" - }, - "starkware.cairo.common.uint256.assert_not_zero": { - "destination": "starkware.cairo.common.math.assert_not_zero", - "type": "alias" - }, - "starkware.cairo.common.uint256.bitwise_and": { - "destination": "starkware.cairo.common.bitwise.bitwise_and", - "type": "alias" - }, - "starkware.cairo.common.uint256.bitwise_or": { - "destination": "starkware.cairo.common.bitwise.bitwise_or", - "type": "alias" - }, - "starkware.cairo.common.uint256.bitwise_xor": { - "destination": "starkware.cairo.common.bitwise.bitwise_xor", - "type": "alias" - }, - "starkware.cairo.common.uint256.get_ap": { - "destination": "starkware.cairo.common.registers.get_ap", - "type": "alias" - }, - "starkware.cairo.common.uint256.get_fp_and_pc": { - "destination": "starkware.cairo.common.registers.get_fp_and_pc", - "type": "alias" - }, - "starkware.cairo.common.uint256.is_le": { - "destination": "starkware.cairo.common.math_cmp.is_le", - "type": "alias" - }, - "starkware.cairo.common.uint256.pow": { - "destination": "starkware.cairo.common.pow.pow", - "type": "alias" - }, - "starkware.cairo.common.uint256.uint256_add": { - "decorators": [], - "pc": 197, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_add.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_add.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_add.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_add.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_add.Return": { - "cairo_type": "(res: starkware.cairo.common.uint256.Uint256, carry: felt)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_add.SIZEOF_LOCALS": { - "type": "const", - "value": 4 - }, - "starkware.cairo.common.uint256.uint256_add.a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "full_name": "starkware.cairo.common.uint256.uint256_add.a", - "references": [ - { - "ap_tracking_data": { - "group": 15, - "offset": 0 - }, - "pc": 197, - "value": "[cast(fp + (-6), starkware.cairo.common.uint256.Uint256*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.uint256.uint256_add.b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "full_name": "starkware.cairo.common.uint256.uint256_add.b", - "references": [ - { - "ap_tracking_data": { - "group": 15, - "offset": 0 - }, - "pc": 197, - "value": "[cast(fp + (-4), starkware.cairo.common.uint256.Uint256*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.uint256.uint256_add.carry_high": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.uint256.uint256_add.carry_high", - "references": [ - { - "ap_tracking_data": { - "group": 15, - "offset": 4 - }, - "pc": 199, - "value": "[cast(fp + 3, felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.uint256.uint256_add.carry_low": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.uint256.uint256_add.carry_low", - "references": [ - { - "ap_tracking_data": { - "group": 15, - "offset": 4 - }, - "pc": 199, - "value": "[cast(fp + 2, felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.uint256.uint256_check": { - "decorators": [], - "pc": 192, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_check.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_check.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_check.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_check.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_check.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_check.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_eq": { - "decorators": [], - "pc": 287, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_eq.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_eq.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_eq.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_eq.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_eq.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_eq.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_le": { - "decorators": [], - "pc": 236, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_le.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_le.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_le.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_le.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_le.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_le.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_lt": { - "decorators": [], - "pc": 219, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_lt.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_lt.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_lt.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_lt.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_lt.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_lt.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_neg": { - "decorators": [], - "pc": 256, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_neg.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_neg.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_neg.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_neg.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_neg.Return": { - "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_neg.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_not": { - "decorators": [], - "pc": 248, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_not.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_not.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_not.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_not.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_not.Return": { - "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_not.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_sub": { - "decorators": [], - "pc": 271, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_sub.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_sub.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_sub.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_sub.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_sub.Return": { - "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_sub.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.storage.ADDR_BOUND": { - "type": "const", - "value": -106710729501573572985208420194530329073740042555888586719489 - }, - "starkware.starknet.common.storage.MAX_STORAGE_ITEM_SIZE": { - "type": "const", - "value": 256 - }, - "starkware.starknet.common.storage.assert_250_bit": { - "destination": "starkware.cairo.common.math.assert_250_bit", - "type": "alias" - }, - "starkware.starknet.common.storage.normalize_address": { - "decorators": ["known_ap_change"], - "pc": 114, - "type": "function" - }, - "starkware.starknet.common.storage.normalize_address.Args": { - "full_name": "starkware.starknet.common.storage.normalize_address.Args", - "members": { - "addr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.storage.normalize_address.ImplicitArgs": { - "full_name": "starkware.starknet.common.storage.normalize_address.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.storage.normalize_address.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "starkware.starknet.common.storage.normalize_address.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.storage.normalize_address.addr": { - "cairo_type": "felt", - "full_name": "starkware.starknet.common.storage.normalize_address.addr", - "references": [ - { - "ap_tracking_data": { - "group": 11, - "offset": 0 - }, - "pc": 114, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.starknet.common.storage.normalize_address.is_250": { - "cairo_type": "felt", - "full_name": "starkware.starknet.common.storage.normalize_address.is_250", - "references": [ - { - "ap_tracking_data": { - "group": 11, - "offset": 2 - }, - "pc": 134, - "value": "[cast(ap + (-1), felt*)]" - } - ], - "type": "reference" - }, - "starkware.starknet.common.storage.normalize_address.is_small": { - "cairo_type": "felt", - "full_name": "starkware.starknet.common.storage.normalize_address.is_small", - "references": [ - { - "ap_tracking_data": { - "group": 11, - "offset": 1 - }, - "pc": 116, - "value": "[cast(ap + (-1), felt*)]" - } - ], - "type": "reference" - }, - "starkware.starknet.common.syscalls.CALL_CONTRACT_SELECTOR": { - "type": "const", - "value": 20853273475220472486191784820 - }, - "starkware.starknet.common.syscalls.CallContract": { - "full_name": "starkware.starknet.common.syscalls.CallContract", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.CallContractRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.CallContractResponse", - "offset": 5 - } - }, - "size": 7, - "type": "struct" - }, - "starkware.starknet.common.syscalls.CallContractRequest": { - "full_name": "starkware.starknet.common.syscalls.CallContractRequest", - "members": { - "calldata": { - "cairo_type": "felt*", - "offset": 4 - }, - "calldata_size": { - "cairo_type": "felt", - "offset": 3 - }, - "contract_address": { - "cairo_type": "felt", - "offset": 1 - }, - "function_selector": { - "cairo_type": "felt", - "offset": 2 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 5, - "type": "struct" - }, - "starkware.starknet.common.syscalls.CallContractResponse": { - "full_name": "starkware.starknet.common.syscalls.CallContractResponse", - "members": { - "retdata": { - "cairo_type": "felt*", - "offset": 1 - }, - "retdata_size": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.DELEGATE_CALL_SELECTOR": { - "type": "const", - "value": 21167594061783206823196716140 - }, - "starkware.starknet.common.syscalls.DELEGATE_L1_HANDLER_SELECTOR": { - "type": "const", - "value": 23274015802972845247556842986379118667122 - }, - "starkware.starknet.common.syscalls.DEPLOY_SELECTOR": { - "type": "const", - "value": 75202468540281 - }, - "starkware.starknet.common.syscalls.Deploy": { - "full_name": "starkware.starknet.common.syscalls.Deploy", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.DeployRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.DeployResponse", - "offset": 6 - } - }, - "size": 9, - "type": "struct" - }, - "starkware.starknet.common.syscalls.DeployRequest": { - "full_name": "starkware.starknet.common.syscalls.DeployRequest", - "members": { - "class_hash": { - "cairo_type": "felt", - "offset": 1 - }, - "constructor_calldata": { - "cairo_type": "felt*", - "offset": 4 - }, - "constructor_calldata_size": { - "cairo_type": "felt", - "offset": 3 - }, - "contract_address_salt": { - "cairo_type": "felt", - "offset": 2 - }, - "deploy_from_zero": { - "cairo_type": "felt", - "offset": 5 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 6, - "type": "struct" - }, - "starkware.starknet.common.syscalls.DeployResponse": { - "full_name": "starkware.starknet.common.syscalls.DeployResponse", - "members": { - "constructor_retdata": { - "cairo_type": "felt*", - "offset": 2 - }, - "constructor_retdata_size": { - "cairo_type": "felt", - "offset": 1 - }, - "contract_address": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.starknet.common.syscalls.DictAccess": { - "destination": "starkware.cairo.common.dict_access.DictAccess", - "type": "alias" - }, - "starkware.starknet.common.syscalls.EMIT_EVENT_SELECTOR": { - "type": "const", - "value": 1280709301550335749748 - }, - "starkware.starknet.common.syscalls.EmitEvent": { - "full_name": "starkware.starknet.common.syscalls.EmitEvent", - "members": { - "data": { - "cairo_type": "felt*", - "offset": 4 - }, - "data_len": { - "cairo_type": "felt", - "offset": 3 - }, - "keys": { - "cairo_type": "felt*", - "offset": 2 - }, - "keys_len": { - "cairo_type": "felt", - "offset": 1 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 5, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GET_BLOCK_NUMBER_SELECTOR": { - "type": "const", - "value": 1448089106835523001438702345020786 - }, - "starkware.starknet.common.syscalls.GET_BLOCK_TIMESTAMP_SELECTOR": { - "type": "const", - "value": 24294903732626645868215235778792757751152 - }, - "starkware.starknet.common.syscalls.GET_CALLER_ADDRESS_SELECTOR": { - "type": "const", - "value": 94901967781393078444254803017658102643 - }, - "starkware.starknet.common.syscalls.GET_CONTRACT_ADDRESS_SELECTOR": { - "type": "const", - "value": 6219495360805491471215297013070624192820083 - }, - "starkware.starknet.common.syscalls.GET_SEQUENCER_ADDRESS_SELECTOR": { - "type": "const", - "value": 1592190833581991703053805829594610833820054387 - }, - "starkware.starknet.common.syscalls.GET_TX_INFO_SELECTOR": { - "type": "const", - "value": 1317029390204112103023 - }, - "starkware.starknet.common.syscalls.GET_TX_SIGNATURE_SELECTOR": { - "type": "const", - "value": 1448089128652340074717162277007973 - }, - "starkware.starknet.common.syscalls.GetBlockNumber": { - "full_name": "starkware.starknet.common.syscalls.GetBlockNumber", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetBlockNumberRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetBlockNumberResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetBlockNumberRequest": { - "full_name": "starkware.starknet.common.syscalls.GetBlockNumberRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetBlockNumberResponse": { - "full_name": "starkware.starknet.common.syscalls.GetBlockNumberResponse", - "members": { - "block_number": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetBlockTimestamp": { - "full_name": "starkware.starknet.common.syscalls.GetBlockTimestamp", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetBlockTimestampRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetBlockTimestampResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetBlockTimestampRequest": { - "full_name": "starkware.starknet.common.syscalls.GetBlockTimestampRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetBlockTimestampResponse": { - "full_name": "starkware.starknet.common.syscalls.GetBlockTimestampResponse", - "members": { - "block_timestamp": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetCallerAddress": { - "full_name": "starkware.starknet.common.syscalls.GetCallerAddress", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetCallerAddressRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetCallerAddressResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetCallerAddressRequest": { - "full_name": "starkware.starknet.common.syscalls.GetCallerAddressRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetCallerAddressResponse": { - "full_name": "starkware.starknet.common.syscalls.GetCallerAddressResponse", - "members": { - "caller_address": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetContractAddress": { - "full_name": "starkware.starknet.common.syscalls.GetContractAddress", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetContractAddressRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetContractAddressResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetContractAddressRequest": { - "full_name": "starkware.starknet.common.syscalls.GetContractAddressRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetContractAddressResponse": { - "full_name": "starkware.starknet.common.syscalls.GetContractAddressResponse", - "members": { - "contract_address": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetSequencerAddress": { - "full_name": "starkware.starknet.common.syscalls.GetSequencerAddress", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetSequencerAddressRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetSequencerAddressResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetSequencerAddressRequest": { - "full_name": "starkware.starknet.common.syscalls.GetSequencerAddressRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetSequencerAddressResponse": { - "full_name": "starkware.starknet.common.syscalls.GetSequencerAddressResponse", - "members": { - "sequencer_address": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxInfo": { - "full_name": "starkware.starknet.common.syscalls.GetTxInfo", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetTxInfoRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetTxInfoResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxInfoRequest": { - "full_name": "starkware.starknet.common.syscalls.GetTxInfoRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxInfoResponse": { - "full_name": "starkware.starknet.common.syscalls.GetTxInfoResponse", - "members": { - "tx_info": { - "cairo_type": "starkware.starknet.common.syscalls.TxInfo*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxSignature": { - "full_name": "starkware.starknet.common.syscalls.GetTxSignature", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetTxSignatureRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetTxSignatureResponse", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxSignatureRequest": { - "full_name": "starkware.starknet.common.syscalls.GetTxSignatureRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxSignatureResponse": { - "full_name": "starkware.starknet.common.syscalls.GetTxSignatureResponse", - "members": { - "signature": { - "cairo_type": "felt*", - "offset": 1 - }, - "signature_len": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.LIBRARY_CALL_L1_HANDLER_SELECTOR": { - "type": "const", - "value": 436233452754198157705746250789557519228244616562 - }, - "starkware.starknet.common.syscalls.LIBRARY_CALL_SELECTOR": { - "type": "const", - "value": 92376026794327011772951660 - }, - "starkware.starknet.common.syscalls.LibraryCall": { - "full_name": "starkware.starknet.common.syscalls.LibraryCall", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.LibraryCallRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.CallContractResponse", - "offset": 5 - } - }, - "size": 7, - "type": "struct" - }, - "starkware.starknet.common.syscalls.LibraryCallRequest": { - "full_name": "starkware.starknet.common.syscalls.LibraryCallRequest", - "members": { - "calldata": { - "cairo_type": "felt*", - "offset": 4 - }, - "calldata_size": { - "cairo_type": "felt", - "offset": 3 - }, - "class_hash": { - "cairo_type": "felt", - "offset": 1 - }, - "function_selector": { - "cairo_type": "felt", - "offset": 2 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 5, - "type": "struct" - }, - "starkware.starknet.common.syscalls.REPLACE_CLASS_SELECTOR": { - "type": "const", - "value": 25500403217443378527601783667 - }, - "starkware.starknet.common.syscalls.ReplaceClass": { - "full_name": "starkware.starknet.common.syscalls.ReplaceClass", - "members": { - "class_hash": { - "cairo_type": "felt", - "offset": 1 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.SEND_MESSAGE_TO_L1_SELECTOR": { - "type": "const", - "value": 433017908768303439907196859243777073 - }, - "starkware.starknet.common.syscalls.STORAGE_READ_SELECTOR": { - "type": "const", - "value": 100890693370601760042082660 - }, - "starkware.starknet.common.syscalls.STORAGE_WRITE_SELECTOR": { - "type": "const", - "value": 25828017502874050592466629733 - }, - "starkware.starknet.common.syscalls.SendMessageToL1SysCall": { - "full_name": "starkware.starknet.common.syscalls.SendMessageToL1SysCall", - "members": { - "payload_ptr": { - "cairo_type": "felt*", - "offset": 3 - }, - "payload_size": { - "cairo_type": "felt", - "offset": 2 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - }, - "to_address": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.starknet.common.syscalls.StorageRead": { - "full_name": "starkware.starknet.common.syscalls.StorageRead", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.StorageReadRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.StorageReadResponse", - "offset": 2 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.starknet.common.syscalls.StorageReadRequest": { - "full_name": "starkware.starknet.common.syscalls.StorageReadRequest", - "members": { - "address": { - "cairo_type": "felt", - "offset": 1 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.StorageReadResponse": { - "full_name": "starkware.starknet.common.syscalls.StorageReadResponse", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.StorageWrite": { - "full_name": "starkware.starknet.common.syscalls.StorageWrite", - "members": { - "address": { - "cairo_type": "felt", - "offset": 1 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - }, - "value": { - "cairo_type": "felt", - "offset": 2 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.starknet.common.syscalls.TxInfo": { - "full_name": "starkware.starknet.common.syscalls.TxInfo", - "members": { - "account_contract_address": { - "cairo_type": "felt", - "offset": 1 - }, - "chain_id": { - "cairo_type": "felt", - "offset": 6 - }, - "max_fee": { - "cairo_type": "felt", - "offset": 2 - }, - "nonce": { - "cairo_type": "felt", - "offset": 7 - }, - "signature": { - "cairo_type": "felt*", - "offset": 4 - }, - "signature_len": { - "cairo_type": "felt", - "offset": 3 - }, - "transaction_hash": { - "cairo_type": "felt", - "offset": 5 - }, - "version": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 8, - "type": "struct" - }, - "starkware.starknet.common.syscalls.emit_event": { - "decorators": [], - "pc": 32, - "type": "function" - }, - "starkware.starknet.common.syscalls.emit_event.Args": { - "full_name": "starkware.starknet.common.syscalls.emit_event.Args", - "members": { - "data": { - "cairo_type": "felt*", - "offset": 3 - }, - "data_len": { - "cairo_type": "felt", - "offset": 2 - }, - "keys": { - "cairo_type": "felt*", - "offset": 1 - }, - "keys_len": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.starknet.common.syscalls.emit_event.ImplicitArgs": { - "full_name": "starkware.starknet.common.syscalls.emit_event.ImplicitArgs", - "members": { - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.emit_event.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.starknet.common.syscalls.emit_event.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.syscalls.emit_event.syscall_ptr": { - "cairo_type": "felt*", - "full_name": "starkware.starknet.common.syscalls.emit_event.syscall_ptr", - "references": [ - { - "ap_tracking_data": { - "group": 5, - "offset": 0 - }, - "pc": 32, - "value": "[cast(fp + (-7), felt**)]" - }, - { - "ap_tracking_data": { - "group": 5, - "offset": 1 - }, - "pc": 39, - "value": "cast([fp + (-7)] + 5, felt*)" - } - ], - "type": "reference" - }, - "starkware.starknet.common.syscalls.get_caller_address": { - "decorators": [], - "pc": 9, - "type": "function" - }, - "starkware.starknet.common.syscalls.get_caller_address.Args": { - "full_name": "starkware.starknet.common.syscalls.get_caller_address.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "starkware.starknet.common.syscalls.get_caller_address.ImplicitArgs": { - "full_name": "starkware.starknet.common.syscalls.get_caller_address.ImplicitArgs", - "members": { - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.get_caller_address.Return": { - "cairo_type": "(caller_address: felt)", - "type": "type_definition" - }, - "starkware.starknet.common.syscalls.get_caller_address.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr": { - "cairo_type": "felt*", - "full_name": "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr", - "references": [ - { - "ap_tracking_data": { - "group": 2, - "offset": 0 - }, - "pc": 9, - "value": "[cast(fp + (-3), felt**)]" - }, - { - "ap_tracking_data": { - "group": 2, - "offset": 1 - }, - "pc": 12, - "value": "cast([fp + (-3)] + 2, felt*)" - } - ], - "type": "reference" - }, - "starkware.starknet.common.syscalls.storage_read": { - "decorators": [], - "pc": 16, - "type": "function" - }, - "starkware.starknet.common.syscalls.storage_read.Args": { - "full_name": "starkware.starknet.common.syscalls.storage_read.Args", - "members": { - "address": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.storage_read.ImplicitArgs": { - "full_name": "starkware.starknet.common.syscalls.storage_read.ImplicitArgs", - "members": { - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.storage_read.Return": { - "cairo_type": "(value: felt)", - "type": "type_definition" - }, - "starkware.starknet.common.syscalls.storage_read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.syscalls.storage_read.syscall_ptr": { - "cairo_type": "felt*", - "full_name": "starkware.starknet.common.syscalls.storage_read.syscall_ptr", - "references": [ - { - "ap_tracking_data": { - "group": 3, - "offset": 0 - }, - "pc": 16, - "value": "[cast(fp + (-4), felt**)]" - }, - { - "ap_tracking_data": { - "group": 3, - "offset": 1 - }, - "pc": 20, - "value": "cast([fp + (-4)] + 3, felt*)" - } - ], - "type": "reference" - }, - "starkware.starknet.common.syscalls.storage_write": { - "decorators": [], - "pc": 24, - "type": "function" - }, - "starkware.starknet.common.syscalls.storage_write.Args": { - "full_name": "starkware.starknet.common.syscalls.storage_write.Args", - "members": { - "address": { - "cairo_type": "felt", - "offset": 0 - }, - "value": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.storage_write.ImplicitArgs": { - "full_name": "starkware.starknet.common.syscalls.storage_write.ImplicitArgs", - "members": { - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.storage_write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.starknet.common.syscalls.storage_write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.syscalls.storage_write.syscall_ptr": { - "cairo_type": "felt*", - "full_name": "starkware.starknet.common.syscalls.storage_write.syscall_ptr", - "references": [ - { - "ap_tracking_data": { - "group": 4, - "offset": 0 - }, - "pc": 24, - "value": "[cast(fp + (-5), felt**)]" - }, - { - "ap_tracking_data": { - "group": 4, - "offset": 1 - }, - "pc": 29, - "value": "cast([fp + (-5)] + 3, felt*)" - } - ], - "type": "reference" - } - }, - "main_scope": "__main__", - "prime": "0x800000000000011000000000000000000000000000000000000000000000001", - "reference_manager": { - "references": [ - { - "ap_tracking_data": { - "group": 2, - "offset": 0 - }, - "pc": 9, - "value": "[cast(fp + (-3), felt**)]" - }, - { - "ap_tracking_data": { - "group": 3, - "offset": 0 - }, - "pc": 16, - "value": "[cast(fp + (-4), felt**)]" - }, - { - "ap_tracking_data": { - "group": 4, - "offset": 0 - }, - "pc": 24, - "value": "[cast(fp + (-5), felt**)]" - }, - { - "ap_tracking_data": { - "group": 5, - "offset": 0 - }, - "pc": 32, - "value": "[cast(fp + (-7), felt**)]" - }, - { - "ap_tracking_data": { - "group": 6, - "offset": 0 - }, - "pc": 42, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 7, - "offset": 0 - }, - "pc": 47, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast([fp + (-4)], felt*)]" - }, - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast([fp + (-4)] + 1, felt*)]" - }, - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-4), felt*)]" - }, - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-5), felt*)]" - }, - { - "ap_tracking_data": { - "group": 11, - "offset": 0 - }, - "pc": 114, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 11, - "offset": 1 - }, - "pc": 116, - "value": "[cast(ap + (-1), felt*)]" - }, - { - "ap_tracking_data": { - "group": 11, - "offset": 2 - }, - "pc": 134, - "value": "[cast(ap + (-1), felt*)]" - }, - { - "ap_tracking_data": { - "group": 12, - "offset": 0 - }, - "pc": 154, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 15, - "offset": 0 - }, - "pc": 197, - "value": "[cast(fp + (-6), starkware.cairo.common.uint256.Uint256*)]" - }, - { - "ap_tracking_data": { - "group": 15, - "offset": 0 - }, - "pc": 197, - "value": "[cast(fp + (-4), starkware.cairo.common.uint256.Uint256*)]" - }, - { - "ap_tracking_data": { - "group": 15, - "offset": 4 - }, - "pc": 199, - "value": "[cast(fp + 2, felt*)]" - }, - { - "ap_tracking_data": { - "group": 15, - "offset": 4 - }, - "pc": 199, - "value": "[cast(fp + 3, felt*)]" - } - ] - } - } -} diff --git a/da-test/contracts/generate_declare_contracts.sh b/da-test/contracts/generate_declare_contracts.sh deleted file mode 100755 index 93e4ef9b05..0000000000 --- a/da-test/contracts/generate_declare_contracts.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -# exit on first error -set -e - -# First argument is the number of contracts you need to generate - -END=$1 - -SCARB_STARKNET_DEPENDENCY="starknet = \"2.1.0\"\n[[target.starknet-contract]]\ncasm=true" - -for i in $(seq 0 $END); -do - dirname="Counter${i}" - filepath="${dirname}/src/lib.cairo" - mkdir -p ${dirname} - cd ${dirname} - filepath="src/lib.cairo" - scarb init - rm src/lib.cairo - cp ../Counter.cairo ${filepath} - sed -i '' -e "s/Counter/Counter${i}/g" ${filepath} - sed -i '' -e "s/balance/balance_${i}/g" ${filepath} - sed -i '' -e "s/+ amount/+ amount + ${i} + 1/g" ${filepath} - echo -e ${SCARB_STARKNET_DEPENDENCY} >> "Scarb.toml" - scarb build - mv target/dev/Counter${i}_Counter${i}.casm.json ./Counter${i}.casm.json - mv target/dev/Counter${i}_Counter${i}.sierra.json ./Counter${i}.sierra.json - mv src/lib.cairo ./Counter${i}.cairo - rm -rf src/ target/ .gitignore Scarb.toml .git - cd .. -done \ No newline at end of file From 0f46902f2bb85bce512bd5617693e08f0611e60b Mon Sep 17 00:00:00 2001 From: Evolve Date: Wed, 13 Dec 2023 16:21:06 +0100 Subject: [PATCH 26/30] fix: dependencies --- Cargo.lock | 5 - Cargo.toml | 104 +++++++++--------- .../client/commitment-state-diff/Cargo.toml | 2 +- crates/client/data-availability/Cargo.toml | 24 ++-- crates/client/data-availability/src/lib.rs | 11 +- crates/client/db/Cargo.toml | 8 +- da-test/Cargo.toml | 37 +++---- 7 files changed, 99 insertions(+), 92 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 944bc4be08..8411ba6ee9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2726,14 +2726,9 @@ dependencies = [ "rstest", "serde", "serde_json", - "starknet-accounts", - "starknet-contract", - "starknet-core", - "starknet-crypto", "starknet-ff", "starknet-providers", "starknet-rpc-test", - "starknet-signers", "thiserror", "tokio", "url", diff --git a/Cargo.toml b/Cargo.toml index d14a08af4a..d43677a729 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,54 +1,54 @@ [workspace] resolver = "2" members = [ - "crates/node", - "crates/runtime", - "crates/pallets/starknet/runtime_api/", - "crates/pallets/starknet", - "crates/primitives/digest-log", - "crates/primitives/transactions", - "crates/primitives/felt", - "crates/primitives/hashers", - "crates/primitives/fee", - "crates/primitives/state", - "crates/primitives/block", - "crates/primitives/sequencer-address", - "crates/primitives/storage", - "crates/primitives/commitments", - "crates/primitives/chain-id", - "crates/client/db", - "crates/client/rpc-core", - "crates/client/rpc", - "crates/client/mapping-sync", - "crates/client/storage", - "crates/client/commitment-state-diff", - "starknet-rpc-test", - "da-test", + "crates/node", + "crates/runtime", + "crates/pallets/starknet/runtime_api/", + "crates/pallets/starknet", + "crates/primitives/digest-log", + "crates/primitives/transactions", + "crates/primitives/felt", + "crates/primitives/hashers", + "crates/primitives/fee", + "crates/primitives/state", + "crates/primitives/block", + "crates/primitives/sequencer-address", + "crates/primitives/storage", + "crates/primitives/commitments", + "crates/primitives/chain-id", + "crates/client/db", + "crates/client/rpc-core", + "crates/client/rpc", + "crates/client/mapping-sync", + "crates/client/storage", + "crates/client/commitment-state-diff", + "starknet-rpc-test", + "da-test", ] # All previous except for `starknet-rpc-test` # We don't want `cargo test` to trigger its tests default-members = [ - "crates/node", - "crates/runtime", - "crates/pallets/starknet/runtime_api/", - "crates/pallets/starknet", - "crates/primitives/digest-log", - "crates/primitives/transactions", - "crates/primitives/felt", - "crates/primitives/hashers", - "crates/primitives/fee", - "crates/primitives/state", - "crates/primitives/block", - "crates/primitives/sequencer-address", - "crates/primitives/storage", - "crates/primitives/commitments", - "crates/primitives/chain-id", - "crates/client/db", - "crates/client/rpc-core", - "crates/client/rpc", - "crates/client/mapping-sync", - "crates/client/storage", - "crates/client/commitment-state-diff", + "crates/node", + "crates/runtime", + "crates/pallets/starknet/runtime_api/", + "crates/pallets/starknet", + "crates/primitives/digest-log", + "crates/primitives/transactions", + "crates/primitives/felt", + "crates/primitives/hashers", + "crates/primitives/fee", + "crates/primitives/state", + "crates/primitives/block", + "crates/primitives/sequencer-address", + "crates/primitives/storage", + "crates/primitives/commitments", + "crates/primitives/chain-id", + "crates/client/db", + "crates/client/rpc-core", + "crates/client/rpc", + "crates/client/mapping-sync", + "crates/client/storage", + "crates/client/commitment-state-diff", ] [profile.release] @@ -110,7 +110,7 @@ sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "rel # Substrate client dependencies sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0", features = [ - "rocksdb", + "rocksdb", ] } sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0" } sc-network-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0" } @@ -179,8 +179,8 @@ madara-runtime = { path = "crates/runtime" } # Starknet dependencies # Cairo Virtual Machine cairo-vm = { git = "https://github.com/keep-starknet-strange/cairo-rs", branch = "no_std-support-21eff70", default-features = false, features = [ - "cairo-1-hints", - "parity-scale-codec", + "cairo-1-hints", + "parity-scale-codec", ] } starknet-crypto = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } starknet-core = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } @@ -191,11 +191,11 @@ starknet-accounts = { git = "https://github.com/xJonathanLEI/starknet-rs.git", r starknet-contract = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } blockifier = { git = "https://github.com/keep-starknet-strange/blockifier", branch = "no_std-support-7578442", default-features = false, features = [ - "parity-scale-codec", + "parity-scale-codec", ] } starknet_api = { git = "https://github.com/keep-starknet-strange/starknet-api", branch = "no_std-support-dc83f05", features = [ - "testing", - "parity-scale-codec", + "testing", + "parity-scale-codec", ], default-features = false } # Cairo lang @@ -240,6 +240,10 @@ url = "2.4.1" hashbrown = "0.14.2" tokio = "1.34.0" openssl = { version = "0.10", features = ["vendored"] } +ethers = "2.0.7" +subxt = "0.29" +assert_matches = "1.5.0" +async-lock = "3.1.0" [patch."https://github.com/w3f/ring-vrf"] bandersnatch_vrfs = { git = "https://github.com/w3f/ring-vrf?rev=3ddc20", version = "0.0.4", rev = "3ddc20" } diff --git a/crates/client/commitment-state-diff/Cargo.toml b/crates/client/commitment-state-diff/Cargo.toml index aebe99b095..640b5a187a 100644 --- a/crates/client/commitment-state-diff/Cargo.toml +++ b/crates/client/commitment-state-diff/Cargo.toml @@ -16,7 +16,7 @@ sp-runtime = { workspace = true, default-features = true } mp-digest-log = { workspace = true, default-features = true } mp-hashers = { workspace = true, default-features = true } mp-storage = { workspace = true, default-features = true } -pallet-starknet = { workspace = true } +pallet-starknet = { workspace = true, default-features = true } pallet-starknet-runtime-api = { workspace = true, default-features = true } # Starknet diff --git a/crates/client/data-availability/Cargo.toml b/crates/client/data-availability/Cargo.toml index 9632f9ef75..5fbb805d0f 100644 --- a/crates/client/data-availability/Cargo.toml +++ b/crates/client/data-availability/Cargo.toml @@ -14,21 +14,21 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] anyhow = { workspace = true } async-trait = { workspace = true } -clap = { workspace = true, features = ["derive"] } +clap = { workspace = true, features = ["derive"], optional = true } futures = "0.3.21" indexmap = { workspace = true } jsonrpsee = { version = "0.20.0", features = [ - "http-client", - "ws-client", - "macros", + "http-client", + "ws-client", + "macros", ] } log = "0.4.19" reqwest = { version = "0.11.18", features = ["blocking", "json"] } -serde = { workspace = true } -serde_json = { workspace = true } +serde = { workspace = true, default-features = true } +serde_json = { workspace = true, default-features = true } thiserror = { workspace = true } tokio = { version = "1", features = ["full"] } -url = "2.4.0" +url = { workspace = true } uuid = { version = "1.4.0", features = ["v4", "serde"] } # Substrate @@ -43,16 +43,16 @@ sp-runtime = { workspace = true, features = ["std"] } blockifier = { workspace = true, default-features = true } mc-commitment-state-diff = { workspace = true, default-features = true } mc-db = { workspace = true, default-features = true } -pallet-starknet-runtime-api = { workspace = true } +pallet-starknet-runtime-api = { workspace = true, features = ["std"] } starknet_api = { workspace = true, default-features = true } # Ethereum -ethers = "2.0.7" +ethers = { workspace = true } # Avail subxt dependency avail-subxt = { git = "https://github.com/availproject/avail", version = "0.4.0", tag = "v1.8.0.0" } sp-keyring = { workspace = true } -subxt = "0.29" +subxt = { workspace = true } # Celestia celestia-rpc = { git = "https://github.com/eigerco/celestia-node-rs", rev = "bd6394b66b11065c543ab3f19fd66000a72b6236" } @@ -62,3 +62,7 @@ celestia-types = { git = "https://github.com/eigerco/celestia-node-rs", rev = "b mp-digest-log = { workspace = true, default-features = true } mp-hashers = { workspace = true, default-features = true } mp-storage = { workspace = true, default-features = true } + +[features] +default = [] +clap = ["dep:clap"] diff --git a/crates/client/data-availability/src/lib.rs b/crates/client/data-availability/src/lib.rs index 748fe95065..58438f73f9 100644 --- a/crates/client/data-availability/src/lib.rs +++ b/crates/client/data-availability/src/lib.rs @@ -25,7 +25,16 @@ use utils::state_diff_to_calldata; pub struct DataAvailabilityWorker(PhantomData<(B, C, H)>); pub struct DataAvailabilityWorkerProving(PhantomData); -#[derive(Debug, Copy, Clone, PartialEq, clap::ValueEnum)] +#[cfg(feature = "clap")] +#[derive(clap::ValueEnum, Debug, Copy, Clone, PartialEq)] +pub enum DaLayer { + Celestia, + Ethereum, + Avail, +} + +#[cfg(not(feature = "clap"))] +#[derive(Debug, Copy, Clone, PartialEq)] pub enum DaLayer { Celestia, Ethereum, diff --git a/crates/client/db/Cargo.toml b/crates/client/db/Cargo.toml index 2edaa52b53..ed217d6a20 100644 --- a/crates/client/db/Cargo.toml +++ b/crates/client/db/Cargo.toml @@ -4,8 +4,8 @@ version.workspace = true edition.workspace = true description = "Starknet database backend" authors = [ - "Timothée Delabrouille ", - "Substrate DevHub ", + "Timothée Delabrouille ", + "Substrate DevHub ", ] homepage = "https://github.com/keep-starknet-strange/madara" license = "MIT" @@ -16,13 +16,13 @@ repository = "https://github.com/keep-starknet-strange/madara" targets = ["x86_64-unknown-linux-gnu"] [dependencies] -ethers = "2.0.10" +ethers = { workspace = true } kvdb-rocksdb = { version = "0.19.0", optional = true } log = { workspace = true, default-features = true } parity-db = { version = "0.4.12", optional = true } sc-client-db = { workspace = true, default-features = true } scale-codec = { workspace = true, default-features = true, features = [ - "derive", + "derive", ] } sp-core = { workspace = true, default-features = true } sp-database = { workspace = true, default-features = true } diff --git a/da-test/Cargo.toml b/da-test/Cargo.toml index df1b14cafa..12750f4ecc 100644 --- a/da-test/Cargo.toml +++ b/da-test/Cargo.toml @@ -6,31 +6,26 @@ edition = "2021" [dependencies] -anyhow = "1.0.72" -assert_matches = "1.5.0" -async-lock = "3.1.0" -clap = { workspace = true, features = ["derive"] } -ethers = "2.0.7" -flate2 = { workspace = true } -lazy_static = "1.4.0" -reqwest = "0.11.18" -rstest = "0.18.1" -serde = { version = "1.0.192", features = ["derive"] } -serde_json = "1.0.108" -starknet-accounts = { workspace = true } -starknet-contract = { workspace = true } -starknet-core = { workspace = true } -starknet-crypto = { workspace = true } -starknet-ff = { workspace = true } -starknet-providers = { workspace = true } +anyhow = { workspace = true, default-features = true } +assert_matches = { workspace = true, default-features = true } +async-lock = { workspace = true, default-features = true } +clap = { workspace = true, features = ["std", "derive"] } +ethers = { workspace = true, default-features = true } +flate2 = { workspace = true, default-features = true } +lazy_static = { workspace = true, default-features = true } +reqwest = { workspace = true, default-features = true } +rstest = { workspace = true, default-features = true } +serde = { workspace = true, default-features = true } +serde_json = { workspace = true, default-features = true } +starknet-ff = { workspace = true, default-features = true } +starknet-providers = { workspace = true, default-features = true } starknet-rpc-test = { path = "../starknet-rpc-test" } -starknet-signers = { workspace = true } thiserror = { workspace = true } -tokio = { version = "1.34.0", features = ["rt", "macros", "parking_lot"] } -url = "2.4.1" +tokio = { workspace = true, features = ["rt", "macros", "parking_lot"] } +url = { workspace = true } # madara -mc-data-availability = { workspace = true } +mc-data-availability = { workspace = true, features = ["clap"] } [[test]] name = "da_state_diffs" From e1b1766e24e3ef4f9e116c0e230dc81a9c602b88 Mon Sep 17 00:00:00 2001 From: Evolve Date: Wed, 13 Dec 2023 16:34:05 +0100 Subject: [PATCH 27/30] fix: confs paths --- da-test/src/constants.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/da-test/src/constants.rs b/da-test/src/constants.rs index 2afcdb5fcf..f5223c4e5d 100644 --- a/da-test/src/constants.rs +++ b/da-test/src/constants.rs @@ -3,7 +3,7 @@ use std::path::PathBuf; use lazy_static::lazy_static; lazy_static! { - pub static ref ETHEREUM_DA_CONFIG: PathBuf = PathBuf::from("examples/da-confs/ethereum.json"); - pub static ref CELESTIA_DA_CONFIG: PathBuf = PathBuf::from("examples/da-confs/celestia.json"); - pub static ref AVAIL_DA_CONFIG: PathBuf = PathBuf::from("examples/da-confs/avail.json"); + pub static ref ETHEREUM_DA_CONFIG: PathBuf = PathBuf::from("../examples/da-confs/ethereum.json"); + pub static ref CELESTIA_DA_CONFIG: PathBuf = PathBuf::from("../examples/da-confs/celestia.json"); + pub static ref AVAIL_DA_CONFIG: PathBuf = PathBuf::from("../examples/da-confs/avail.json"); } From de777796b0e322e7161b9e752a00b2af5b139a79 Mon Sep 17 00:00:00 2001 From: Evolve Date: Wed, 13 Dec 2023 16:50:35 +0100 Subject: [PATCH 28/30] fix: build + test --- crates/node/Cargo.toml | 12 ++++++------ da-test/state_diffs.rs | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/crates/node/Cargo.toml b/crates/node/Cargo.toml index 7593440aac..424db17892 100644 --- a/crates/node/Cargo.toml +++ b/crates/node/Cargo.toml @@ -4,8 +4,8 @@ version.workspace = true edition.workspace = true description = "Madara node." authors = [ - "Abdelhamid Bakhta <@keep-starknet-strange>", - "Substrate DevHub ", + "Abdelhamid Bakhta <@keep-starknet-strange>", + "Substrate DevHub ", ] homepage = "https://github.com/keep-starknet-strange/madara" license = "MIT" @@ -80,7 +80,7 @@ blockifier = { workspace = true } hex = { workspace = true } madara-runtime = { workspace = true } mc-commitment-state-diff = { workspace = true } -mc-data-availability = { workspace = true } +mc-data-availability = { workspace = true, features = ["clap"] } mc-db = { workspace = true } mc-mapping-sync = { workspace = true } mc-rpc = { workspace = true } @@ -109,9 +109,9 @@ substrate-build-script-utils = { workspace = true } default = [] # Dependencies that are only required if runtime benchmarking should be build. runtime-benchmarks = [ - "madara-runtime/runtime-benchmarks", - "frame-benchmarking/runtime-benchmarks", - "frame-benchmarking-cli/runtime-benchmarks", + "madara-runtime/runtime-benchmarks", + "frame-benchmarking/runtime-benchmarks", + "frame-benchmarking-cli/runtime-benchmarks", ] # Enable features that allow the runtime to be tried and debugged. Name might be subject to change # in the near future. diff --git a/da-test/state_diffs.rs b/da-test/state_diffs.rs index 4c4b9bf9c6..889d5668da 100644 --- a/da-test/state_diffs.rs +++ b/da-test/state_diffs.rs @@ -8,7 +8,7 @@ use mc_data_availability::DaClient; use rstest::rstest; use starknet_ff::FieldElement; use starknet_providers::Provider; -use starknet_rpc_test::constants::ARGENT_CONTRACT_ADDRESS; +use starknet_rpc_test::constants::{ARGENT_CONTRACT_ADDRESS, SIGNER_PRIVATE}; use starknet_rpc_test::fixtures::{madara, ThreadSafeMadaraClient}; use starknet_rpc_test::utils::{build_single_owner_account, AccountActions}; use starknet_rpc_test::Transaction; @@ -24,7 +24,7 @@ async fn publish_to_da_layer( let (txs, block_number) = { let mut madara_write_lock = madara.write().await; // using incorrect private key to generate the wrong signature - let account = build_single_owner_account(&rpc, "0x1234", ARGENT_CONTRACT_ADDRESS, true); + let account = build_single_owner_account(&rpc, SIGNER_PRIVATE, ARGENT_CONTRACT_ADDRESS, true); let txs = madara_write_lock .create_block_with_txs(vec![Transaction::Execution(account.transfer_tokens( From dc7e87aaa13c9775cd1bc98f20767db38478b319 Mon Sep 17 00:00:00 2001 From: Evolve Date: Thu, 14 Dec 2023 12:51:28 +0100 Subject: [PATCH 29/30] fix: review --- Cargo.toml | 2 +- crates/client/data-availability/src/lib.rs | 10 +--------- crates/node/src/commands/run.rs | 2 +- da-test/src/constants.rs | 12 +++--------- da-test/src/utils.rs | 6 +++--- 5 files changed, 9 insertions(+), 23 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d43677a729..81d1ca1398 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,7 +25,7 @@ members = [ "starknet-rpc-test", "da-test", ] -# All previous except for `starknet-rpc-test` +# All previous except for `starknet-rpc-test` and `da-test` # We don't want `cargo test` to trigger its tests default-members = [ "crates/node", diff --git a/crates/client/data-availability/src/lib.rs b/crates/client/data-availability/src/lib.rs index 58438f73f9..ce77caf449 100644 --- a/crates/client/data-availability/src/lib.rs +++ b/crates/client/data-availability/src/lib.rs @@ -25,16 +25,8 @@ use utils::state_diff_to_calldata; pub struct DataAvailabilityWorker(PhantomData<(B, C, H)>); pub struct DataAvailabilityWorkerProving(PhantomData); -#[cfg(feature = "clap")] -#[derive(clap::ValueEnum, Debug, Copy, Clone, PartialEq)] -pub enum DaLayer { - Celestia, - Ethereum, - Avail, -} - -#[cfg(not(feature = "clap"))] #[derive(Debug, Copy, Clone, PartialEq)] +#[cfg_attr(feature = "clap", derive(clap::ValueEnum))] pub enum DaLayer { Celestia, Ethereum, diff --git a/crates/node/src/commands/run.rs b/crates/node/src/commands/run.rs index 8a31806966..4074912d9d 100644 --- a/crates/node/src/commands/run.rs +++ b/crates/node/src/commands/run.rs @@ -75,7 +75,7 @@ pub fn run_node(mut cli: Cli) -> Result<()> { let da_config: Option<(DaLayer, PathBuf)> = match cli.run.da_layer { Some(da_layer) => { - let da_conf = PathBuf::from(cli.run.da_conf.expect("no da config provided")); + let da_conf = PathBuf::from(cli.run.da_conf.expect("clap requires da_conf when da_layer is present")); if !da_conf.exists() { log::info!("{} does not contain DA config", da_conf.display()); return Err("DA config not available".into()); diff --git a/da-test/src/constants.rs b/da-test/src/constants.rs index f5223c4e5d..dce80b7368 100644 --- a/da-test/src/constants.rs +++ b/da-test/src/constants.rs @@ -1,9 +1,3 @@ -use std::path::PathBuf; - -use lazy_static::lazy_static; - -lazy_static! { - pub static ref ETHEREUM_DA_CONFIG: PathBuf = PathBuf::from("../examples/da-confs/ethereum.json"); - pub static ref CELESTIA_DA_CONFIG: PathBuf = PathBuf::from("../examples/da-confs/celestia.json"); - pub static ref AVAIL_DA_CONFIG: PathBuf = PathBuf::from("../examples/da-confs/avail.json"); -} +pub const ETHEREUM_DA_CONFIG: &str = include_str!("../../examples/da-confs/ethereum.json"); +pub const CELESTIA_DA_CONFIG: &str = include_str!("../../examples/da-confs/celestia.json"); +pub const AVAIL_DA_CONFIG: &str = include_str!("../../examples/da-confs/avail.json"); diff --git a/da-test/src/utils.rs b/da-test/src/utils.rs index 0758286da7..de3ee97a78 100644 --- a/da-test/src/utils.rs +++ b/da-test/src/utils.rs @@ -33,8 +33,8 @@ pub fn get_da_client(da_layer: DaLayer) -> Box { pub(crate) fn get_da_path(da_layer: DaLayer) -> PathBuf { match da_layer { - DaLayer::Celestia => CELESTIA_DA_CONFIG.clone(), - DaLayer::Ethereum => ETHEREUM_DA_CONFIG.clone(), - DaLayer::Avail => AVAIL_DA_CONFIG.clone(), + DaLayer::Celestia => CELESTIA_DA_CONFIG.into(), + DaLayer::Ethereum => ETHEREUM_DA_CONFIG.into(), + DaLayer::Avail => AVAIL_DA_CONFIG.into(), } } From 72f90330dc6b968dfdeedc9f1d3429c0fd85790b Mon Sep 17 00:00:00 2001 From: Evolve Date: Thu, 14 Dec 2023 12:54:20 +0100 Subject: [PATCH 30/30] fix: taplo --- Cargo.toml | 100 ++++++++++----------- crates/client/data-availability/Cargo.toml | 6 +- crates/client/db/Cargo.toml | 6 +- crates/node/Cargo.toml | 10 +-- 4 files changed, 61 insertions(+), 61 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0ab7710295..21a2150c5a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,54 +1,54 @@ [workspace] resolver = "2" members = [ - "crates/node", - "crates/runtime", - "crates/pallets/starknet/runtime_api/", - "crates/pallets/starknet", - "crates/primitives/digest-log", - "crates/primitives/transactions", - "crates/primitives/felt", - "crates/primitives/hashers", - "crates/primitives/fee", - "crates/primitives/state", - "crates/primitives/block", - "crates/primitives/sequencer-address", - "crates/primitives/storage", - "crates/primitives/commitments", - "crates/primitives/chain-id", - "crates/client/db", - "crates/client/rpc-core", - "crates/client/rpc", - "crates/client/mapping-sync", - "crates/client/storage", - "crates/client/commitment-state-diff", - "starknet-rpc-test", - "da-test", + "crates/node", + "crates/runtime", + "crates/pallets/starknet/runtime_api/", + "crates/pallets/starknet", + "crates/primitives/digest-log", + "crates/primitives/transactions", + "crates/primitives/felt", + "crates/primitives/hashers", + "crates/primitives/fee", + "crates/primitives/state", + "crates/primitives/block", + "crates/primitives/sequencer-address", + "crates/primitives/storage", + "crates/primitives/commitments", + "crates/primitives/chain-id", + "crates/client/db", + "crates/client/rpc-core", + "crates/client/rpc", + "crates/client/mapping-sync", + "crates/client/storage", + "crates/client/commitment-state-diff", + "starknet-rpc-test", + "da-test", ] # All previous except for `starknet-rpc-test` and `da-test` # We don't want `cargo test` to trigger its tests default-members = [ - "crates/node", - "crates/runtime", - "crates/pallets/starknet/runtime_api/", - "crates/pallets/starknet", - "crates/primitives/digest-log", - "crates/primitives/transactions", - "crates/primitives/felt", - "crates/primitives/hashers", - "crates/primitives/fee", - "crates/primitives/state", - "crates/primitives/block", - "crates/primitives/sequencer-address", - "crates/primitives/storage", - "crates/primitives/commitments", - "crates/primitives/chain-id", - "crates/client/db", - "crates/client/rpc-core", - "crates/client/rpc", - "crates/client/mapping-sync", - "crates/client/storage", - "crates/client/commitment-state-diff", + "crates/node", + "crates/runtime", + "crates/pallets/starknet/runtime_api/", + "crates/pallets/starknet", + "crates/primitives/digest-log", + "crates/primitives/transactions", + "crates/primitives/felt", + "crates/primitives/hashers", + "crates/primitives/fee", + "crates/primitives/state", + "crates/primitives/block", + "crates/primitives/sequencer-address", + "crates/primitives/storage", + "crates/primitives/commitments", + "crates/primitives/chain-id", + "crates/client/db", + "crates/client/rpc-core", + "crates/client/rpc", + "crates/client/mapping-sync", + "crates/client/storage", + "crates/client/commitment-state-diff", ] [profile.release] @@ -110,7 +110,7 @@ sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "rel # Substrate client dependencies sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0", features = [ - "rocksdb", + "rocksdb", ] } sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0" } sc-network-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0" } @@ -180,8 +180,8 @@ madara-runtime = { path = "crates/runtime" } # Starknet dependencies # Cairo Virtual Machine cairo-vm = { git = "https://github.com/keep-starknet-strange/cairo-rs", branch = "no_std-support-21eff70", default-features = false, features = [ - "cairo-1-hints", - "parity-scale-codec", + "cairo-1-hints", + "parity-scale-codec", ] } starknet-crypto = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } starknet-core = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } @@ -192,11 +192,11 @@ starknet-accounts = { git = "https://github.com/xJonathanLEI/starknet-rs.git", r starknet-contract = { git = "https://github.com/xJonathanLEI/starknet-rs.git", rev = "a35ce22", default-features = false } blockifier = { git = "https://github.com/keep-starknet-strange/blockifier", branch = "no_std-support-7578442", default-features = false, features = [ - "parity-scale-codec", + "parity-scale-codec", ] } starknet_api = { git = "https://github.com/keep-starknet-strange/starknet-api", branch = "no_std-support-dc83f05", features = [ - "testing", - "parity-scale-codec", + "testing", + "parity-scale-codec", ], default-features = false } # Cairo lang diff --git a/crates/client/data-availability/Cargo.toml b/crates/client/data-availability/Cargo.toml index 5fbb805d0f..41e564318c 100644 --- a/crates/client/data-availability/Cargo.toml +++ b/crates/client/data-availability/Cargo.toml @@ -18,9 +18,9 @@ clap = { workspace = true, features = ["derive"], optional = true } futures = "0.3.21" indexmap = { workspace = true } jsonrpsee = { version = "0.20.0", features = [ - "http-client", - "ws-client", - "macros", + "http-client", + "ws-client", + "macros", ] } log = "0.4.19" reqwest = { version = "0.11.18", features = ["blocking", "json"] } diff --git a/crates/client/db/Cargo.toml b/crates/client/db/Cargo.toml index ed217d6a20..55dd4d65d9 100644 --- a/crates/client/db/Cargo.toml +++ b/crates/client/db/Cargo.toml @@ -4,8 +4,8 @@ version.workspace = true edition.workspace = true description = "Starknet database backend" authors = [ - "Timothée Delabrouille ", - "Substrate DevHub ", + "Timothée Delabrouille ", + "Substrate DevHub ", ] homepage = "https://github.com/keep-starknet-strange/madara" license = "MIT" @@ -22,7 +22,7 @@ log = { workspace = true, default-features = true } parity-db = { version = "0.4.12", optional = true } sc-client-db = { workspace = true, default-features = true } scale-codec = { workspace = true, default-features = true, features = [ - "derive", + "derive", ] } sp-core = { workspace = true, default-features = true } sp-database = { workspace = true, default-features = true } diff --git a/crates/node/Cargo.toml b/crates/node/Cargo.toml index 424db17892..62eafa31d5 100644 --- a/crates/node/Cargo.toml +++ b/crates/node/Cargo.toml @@ -4,8 +4,8 @@ version.workspace = true edition.workspace = true description = "Madara node." authors = [ - "Abdelhamid Bakhta <@keep-starknet-strange>", - "Substrate DevHub ", + "Abdelhamid Bakhta <@keep-starknet-strange>", + "Substrate DevHub ", ] homepage = "https://github.com/keep-starknet-strange/madara" license = "MIT" @@ -109,9 +109,9 @@ substrate-build-script-utils = { workspace = true } default = [] # Dependencies that are only required if runtime benchmarking should be build. runtime-benchmarks = [ - "madara-runtime/runtime-benchmarks", - "frame-benchmarking/runtime-benchmarks", - "frame-benchmarking-cli/runtime-benchmarks", + "madara-runtime/runtime-benchmarks", + "frame-benchmarking/runtime-benchmarks", + "frame-benchmarking-cli/runtime-benchmarks", ] # Enable features that allow the runtime to be tried and debugged. Name might be subject to change # in the near future.