From 3c07c0c190c6f2e0dbc4ce72bffb7e2ab3a0d606 Mon Sep 17 00:00:00 2001 From: Wehi Date: Sat, 13 Jun 2026 04:00:59 -0400 Subject: [PATCH 1/9] feat(xtask): add update-registry-snapshot command --- .cargo/config.toml | 2 + Cargo.toml | 2 +- xtask/Cargo.toml | 8 ++ xtask/src/main.rs | 233 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 244 insertions(+), 1 deletion(-) create mode 100644 .cargo/config.toml create mode 100644 xtask/Cargo.toml create mode 100644 xtask/src/main.rs diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..35049cb --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[alias] +xtask = "run --package xtask --" diff --git a/Cargo.toml b/Cargo.toml index 216f37a..ed3d289 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,3 +1,3 @@ [workspace] -members = ["crates/clear-signing", "crates/cs-test"] +members = ["crates/clear-signing", "crates/cs-test", "xtask"] resolver = "2" diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml new file mode 100644 index 0000000..3f4f8da --- /dev/null +++ b/xtask/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "xtask" +version = "0.1.0" +edition = "2021" +publish = false + +[dependencies] +serde_json = "1" diff --git a/xtask/src/main.rs b/xtask/src/main.rs new file mode 100644 index 0000000..7d0360d --- /dev/null +++ b/xtask/src/main.rs @@ -0,0 +1,233 @@ +//! Repository automation tasks (`cargo xtask `). + +use std::path::{Path, PathBuf}; +use std::process::Command; + +const DEFAULT_REGISTRY_REPO: &str = "https://github.com/ethereum/clear-signing-erc7730-registry"; + +fn main() { + let args: Vec = std::env::args().skip(1).collect(); + let result = match args.first().map(String::as_str) { + Some("update-registry-snapshot") => { + update_registry_snapshot(args.get(1).map(String::as_str)) + } + _ => { + eprintln!("usage: cargo xtask update-registry-snapshot [registry-repo-url]"); + std::process::exit(2); + } + }; + if let Err(e) = result { + eprintln!("error: {e}"); + std::process::exit(1); + } +} + +/// Refresh the bundled ERC-7730 registry snapshot embedded via the +/// `bundled-registry` feature (include_dir). +/// +/// Vendors: +/// - `index.calldata.json`, `index.eip712.json` (split v3 indexes) +/// - `registry/` and `ercs/` (JSON files only, preserving repo-root-relative layout) +/// - `SNAPSHOT.rev` (upstream commit hash) +fn update_registry_snapshot(repo_url: Option<&str>) -> Result<(), String> { + let repo_url = repo_url.unwrap_or(DEFAULT_REGISTRY_REPO); + let root_dir = workspace_root()?; + let snapshot_dir = root_dir.join("crates/clear-signing/src/assets/registry-snapshot"); + + let clone_dir = TempDir::new()?; + let clone_path = clone_dir.path(); + + eprintln!("Cloning {repo_url} ..."); + run(Command::new("git") + .args(["clone", "--depth", "1", repo_url]) + .arg(clone_path))?; + let rev = run_capture( + Command::new("git") + .args(["-C"]) + .arg(clone_path) + .args(["rev-parse", "HEAD"]), + )?; + let rev = rev.trim(); + + for index in ["index.calldata.json", "index.eip712.json"] { + if !clone_path.join(index).is_file() { + return Err(format!( + "upstream repo is missing {index} (split v3 index required)" + )); + } + } + + if snapshot_dir.exists() { + std::fs::remove_dir_all(&snapshot_dir) + .map_err(|e| format!("remove {}: {e}", snapshot_dir.display()))?; + } + std::fs::create_dir_all(&snapshot_dir) + .map_err(|e| format!("create {}: {e}", snapshot_dir.display()))?; + + let mut count = 0usize; + for index in ["index.calldata.json", "index.eip712.json"] { + std::fs::copy(clone_path.join(index), snapshot_dir.join(index)) + .map_err(|e| format!("copy {index}: {e}"))?; + count += 1; + } + for dir in ["registry", "ercs"] { + count += copy_json_tree(&clone_path.join(dir), &snapshot_dir.join(dir))?; + } + + let pruned = prune_stale_index_entries(&snapshot_dir)?; + + std::fs::write(snapshot_dir.join("SNAPSHOT.rev"), format!("{rev}\n")) + .map_err(|e| format!("write SNAPSHOT.rev: {e}"))?; + + eprintln!( + "Snapshot updated: {count} JSON files at upstream revision {rev} \ + ({pruned} stale index entries pruned)" + ); + Ok(()) +} + +/// Drop index entries that reference descriptor files absent from the +/// upstream repo (stale upstream index data), so the embedded snapshot is +/// self-consistent: every indexed path is guaranteed to exist in the tree. +/// Returns the number of pruned entries. +fn prune_stale_index_entries(snapshot_dir: &Path) -> Result { + let mut pruned = 0usize; + + // index.calldata.json: key → "relative/path.json" + let calldata_path = snapshot_dir.join("index.calldata.json"); + let mut calldata = read_json(&calldata_path)?; + let map = calldata + .as_object_mut() + .ok_or("index.calldata.json: expected top-level object")?; + map.retain(|key, path| { + let keep = path + .as_str() + .is_some_and(|p| snapshot_dir.join(p).is_file()); + if !keep { + pruned += 1; + eprintln!("pruning stale calldata index entry: {key} -> {path}"); + } + keep + }); + write_json(&calldata_path, &calldata)?; + + // index.eip712.json: key → { primaryType → [ { path, ... } ] } + let eip712_path = snapshot_dir.join("index.eip712.json"); + let mut eip712 = read_json(&eip712_path)?; + let map = eip712 + .as_object_mut() + .ok_or("index.eip712.json: expected top-level object")?; + map.retain(|key, buckets| { + let Some(buckets) = buckets.as_object_mut() else { + return true; + }; + buckets.retain(|primary_type, entries| { + let Some(entries) = entries.as_array_mut() else { + return true; + }; + entries.retain(|entry| { + let keep = entry + .get("path") + .and_then(|p| p.as_str()) + .is_some_and(|p| snapshot_dir.join(p).is_file()); + if !keep { + pruned += 1; + eprintln!("pruning stale eip712 index entry: {key} {primary_type} -> {entry}"); + } + keep + }); + !entries.is_empty() + }); + !buckets.is_empty() + }); + write_json(&eip712_path, &eip712)?; + + Ok(pruned) +} + +fn read_json(path: &Path) -> Result { + let body = + std::fs::read_to_string(path).map_err(|e| format!("read {}: {e}", path.display()))?; + serde_json::from_str(&body).map_err(|e| format!("parse {}: {e}", path.display())) +} + +fn write_json(path: &Path, value: &serde_json::Value) -> Result<(), String> { + let body = serde_json::to_string_pretty(value) + .map_err(|e| format!("serialize {}: {e}", path.display()))?; + std::fs::write(path, body + "\n").map_err(|e| format!("write {}: {e}", path.display())) +} + +/// Recursively copy `*.json` files from `src` to `dst`, preserving layout. +/// Directories that contain no JSON files are not created. Returns file count. +fn copy_json_tree(src: &Path, dst: &Path) -> Result { + let entries = std::fs::read_dir(src).map_err(|e| format!("read {}: {e}", src.display()))?; + let mut count = 0usize; + for entry in entries { + let entry = entry.map_err(|e| format!("read entry in {}: {e}", src.display()))?; + let path = entry.path(); + let file_type = entry + .file_type() + .map_err(|e| format!("file type {}: {e}", path.display()))?; + if file_type.is_dir() { + count += copy_json_tree(&path, &dst.join(entry.file_name()))?; + } else if file_type.is_file() && path.extension().is_some_and(|ext| ext == "json") { + std::fs::create_dir_all(dst).map_err(|e| format!("create {}: {e}", dst.display()))?; + std::fs::copy(&path, dst.join(entry.file_name())) + .map_err(|e| format!("copy {}: {e}", path.display()))?; + count += 1; + } + } + Ok(count) +} + +fn workspace_root() -> Result { + // xtask lives at /xtask, so the parent of CARGO_MANIFEST_DIR is the root. + let manifest_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")); + manifest_dir + .parent() + .map(Path::to_path_buf) + .ok_or_else(|| "cannot determine workspace root".to_string()) +} + +fn run(cmd: &mut Command) -> Result<(), String> { + let status = cmd.status().map_err(|e| format!("spawn {cmd:?}: {e}"))?; + if !status.success() { + return Err(format!("command failed ({status}): {cmd:?}")); + } + Ok(()) +} + +fn run_capture(cmd: &mut Command) -> Result { + let output = cmd.output().map_err(|e| format!("spawn {cmd:?}: {e}"))?; + if !output.status.success() { + return Err(format!("command failed ({}): {cmd:?}", output.status)); + } + String::from_utf8(output.stdout).map_err(|e| format!("non-UTF-8 output from {cmd:?}: {e}")) +} + +struct TempDir(PathBuf); + +impl TempDir { + fn new() -> Result { + let dir = std::env::temp_dir().join(format!( + "registry-snapshot-{}-{}", + std::process::id(), + std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .map_err(|e| e.to_string())? + .as_nanos() + )); + std::fs::create_dir_all(&dir).map_err(|e| format!("create temp dir: {e}"))?; + Ok(Self(dir)) + } + + fn path(&self) -> &Path { + &self.0 + } +} + +impl Drop for TempDir { + fn drop(&mut self) { + let _ = std::fs::remove_dir_all(&self.0); + } +} From 424c2693cb3734118eea01bcc89a7ba1777946f9 Mon Sep 17 00:00:00 2001 From: Wehi Date: Sat, 13 Jun 2026 04:02:51 -0400 Subject: [PATCH 2/9] refactor(resolver): extract registry_common from github_registry --- crates/clear-signing/src/lib.rs | 4 +- .../src/resolver/bundled_registry.rs | 332 ++++++++++++++++++ .../src/resolver/github_registry.rs | 117 +----- crates/clear-signing/src/resolver/mod.rs | 10 +- .../src/resolver/registry_common.rs | 124 +++++++ 5 files changed, 469 insertions(+), 118 deletions(-) create mode 100644 crates/clear-signing/src/resolver/bundled_registry.rs create mode 100644 crates/clear-signing/src/resolver/registry_common.rs diff --git a/crates/clear-signing/src/lib.rs b/crates/clear-signing/src/lib.rs index dd5cc7c..ea6ba54 100644 --- a/crates/clear-signing/src/lib.rs +++ b/crates/clear-signing/src/lib.rs @@ -34,8 +34,10 @@ pub use outcome::{ FormatOutcome, ResolvedDescriptorResolution, }; pub use provider::{DataProvider, EmptyDataProvider}; -#[cfg(feature = "github-registry")] +#[cfg(any(feature = "github-registry", feature = "bundled-registry"))] pub use resolver::resolve_descriptors_for_typed_data; +#[cfg(feature = "bundled-registry")] +pub use resolver::BundledRegistrySource; pub use resolver::{ resolve_descriptors_for_tx, DescriptorSource, ResolvedDescriptor, TypedDescriptorLookup, }; diff --git a/crates/clear-signing/src/resolver/bundled_registry.rs b/crates/clear-signing/src/resolver/bundled_registry.rs new file mode 100644 index 0000000..f4b1495 --- /dev/null +++ b/crates/clear-signing/src/resolver/bundled_registry.rs @@ -0,0 +1,332 @@ +//! Offline descriptor source backed by an embedded registry snapshot. +//! +//! The snapshot at `src/assets/registry-snapshot/` is vendored from the +//! upstream ERC-7730 registry via `cargo xtask update-registry-snapshot` +//! (never hand-edited) and embedded into the binary with `include_dir`. +//! Requires the `bundled-registry` feature. + +use std::collections::{HashMap, HashSet}; +use std::future::Future; +use std::pin::Pin; + +use include_dir::{include_dir, Dir}; + +use crate::error::ResolveError; +use crate::types::descriptor::Descriptor; + +use super::registry_common::{filter_typed_index_entries, resolve_relative_path, Eip712IndexEntry}; +use super::source::{DescriptorSource, ResolvedDescriptor, TypedDescriptorLookup}; + +// NOTE: include_dir path lookups use `/`-separated relative paths, matching +// the index paths on unix hosts; Windows-host builds are untested. +static REGISTRY_SNAPSHOT: Dir<'static> = + include_dir!("$CARGO_MANIFEST_DIR/src/assets/registry-snapshot"); + +/// Descriptor source resolving from the registry snapshot embedded in the +/// binary. Fully offline: no network, no filesystem IO at resolve time. +pub struct BundledRegistrySource { + /// Calldata index: `"eip155:{chainId}:{address}"` → single relative path. + calldata_index: HashMap, + /// EIP-712 index: `"eip155:{chainId}:{address}"` → `primaryType` buckets. + eip712_index: HashMap>>, +} + +impl BundledRegistrySource { + /// Maximum depth for nested `includes` resolution. + const MAX_INCLUDES_DEPTH: u8 = 3; + + /// Create a source by parsing the embedded split V3 index files. + /// + /// Errors indicate a broken snapshot (build-time data), so they are + /// surfaced eagerly rather than deferred to resolve calls. + pub fn new() -> Result { + let calldata_index = parse_index::>("index.calldata.json")?; + let eip712_index = parse_index::>>>( + "index.eip712.json", + )?; + Ok(Self { + calldata_index, + eip712_index, + }) + } + + fn make_key(chain_id: u64, address: &str) -> String { + format!("eip155:{}:{}", chain_id, address.to_lowercase()) + } + + fn read_raw(rel_path: &str) -> Result<&'static str, ResolveError> { + let file = REGISTRY_SNAPSHOT.get_file(rel_path).ok_or_else(|| { + ResolveError::RegistryDescriptorMissing { + url: format!("bundled:{rel_path}"), + } + })?; + file.contents_utf8().ok_or_else(|| { + ResolveError::RegistryIo(format!("bundled file is not valid UTF-8: {rel_path}")) + }) + } + + fn load_descriptor(&self, rel_path: &str) -> Result { + let value = Self::load_and_merge_value(rel_path, Self::MAX_INCLUDES_DEPTH)?; + serde_json::from_value::(value).map_err(|e| ResolveError::Parse(e.to_string())) + } + + /// Load a descriptor JSON and recursively resolve `includes`, returning + /// the merged JSON value. Deserialization into [`Descriptor`] happens only + /// at the top-level caller so that partial included files (which may lack + /// required fields like `context`) don't cause parse errors. + fn load_and_merge_value(rel_path: &str, depth: u8) -> Result { + let body = Self::read_raw(rel_path)?; + let value: serde_json::Value = + serde_json::from_str(body).map_err(|e| ResolveError::Parse(e.to_string()))?; + + let includes = value + .as_object() + .and_then(|o| o.get("includes")) + .and_then(|v| v.as_str()) + .map(String::from); + + if let Some(includes_path) = includes { + if depth == 0 { + return Err(ResolveError::RegistryIo( + "max includes depth exceeded (possible circular reference)".to_string(), + )); + } + + let resolved_path = resolve_relative_path(rel_path, &includes_path); + let included_value = Self::load_and_merge_value(&resolved_path, depth - 1)?; + + Ok(crate::merge::merge_descriptor_values( + &value, + &included_value, + )) + } else { + Ok(value) + } + } + + fn resolve_calldata_sync( + &self, + chain_id: u64, + address: &str, + ) -> Result { + let addr = address.to_lowercase(); + let key = Self::make_key(chain_id, &addr); + let path = self + .calldata_index + .get(&key) + .ok_or_else(|| ResolveError::NotFound { + chain_id, + address: addr.clone(), + })?; + let descriptor = self.load_descriptor(path)?; + Ok(ResolvedDescriptor { + descriptor, + chain_id, + address: addr, + }) + } + + fn resolve_typed_candidates_sync( + &self, + lookup: &TypedDescriptorLookup, + ) -> Result, ResolveError> { + let address_lower = lookup.verifying_contract.to_lowercase(); + let key = Self::make_key(lookup.chain_id, &address_lower); + let entries = self + .eip712_index + .get(&key) + .and_then(|bucket| bucket.get(&lookup.primary_type)) + .ok_or_else(|| ResolveError::NotFound { + chain_id: lookup.chain_id, + address: address_lower.clone(), + })?; + + let filtered_entries = + filter_typed_index_entries(entries, lookup.encode_type_hash.as_deref()); + if filtered_entries.is_empty() { + return Err(ResolveError::NotFound { + chain_id: lookup.chain_id, + address: address_lower.clone(), + }); + } + + let mut seen_paths = HashSet::new(); + let mut candidates = Vec::new(); + for entry in filtered_entries { + if !seen_paths.insert(entry.path.as_str()) { + continue; + } + let descriptor = self.load_descriptor(&entry.path)?; + candidates.push(ResolvedDescriptor { + descriptor, + chain_id: lookup.chain_id, + address: address_lower.clone(), + }); + } + Ok(candidates) + } +} + +impl DescriptorSource for BundledRegistrySource { + fn resolve_calldata( + &self, + chain_id: u64, + address: &str, + ) -> Pin> + Send + '_>> { + let result = self.resolve_calldata_sync(chain_id, address); + Box::pin(async move { result }) + } + + fn resolve_typed_candidates( + &self, + lookup: TypedDescriptorLookup, + ) -> Pin, ResolveError>> + Send + '_>> + { + let result = self.resolve_typed_candidates_sync(&lookup); + Box::pin(async move { result }) + } +} + +fn parse_index(rel_path: &str) -> Result { + let file = + REGISTRY_SNAPSHOT + .get_file(rel_path) + .ok_or_else(|| ResolveError::RegistryIndexMissing { + url: format!("bundled:{rel_path}"), + })?; + let body = file.contents_utf8().ok_or_else(|| { + ResolveError::RegistryIo(format!("bundled index is not valid UTF-8: {rel_path}")) + })?; + serde_json::from_str(body).map_err(|e| ResolveError::Parse(e.to_string())) +} + +#[cfg(test)] +mod tests { + use super::*; + + const ONEINCH_ROUTER_V6: &str = "0x111111125421ca6dc452d289314280a0f8842a65"; + const BASE_USDC: &str = "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"; + const BASE_USDC_PERMIT_HASH: &str = + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9"; + + #[test] + fn test_new_parses_embedded_indexes() { + let source = BundledRegistrySource::new().expect("embedded indexes must parse"); + assert!(!source.calldata_index.is_empty()); + assert!(!source.eip712_index.is_empty()); + } + + /// Snapshot integrity sweep: every path referenced by either embedded + /// index must exist in the embedded tree, parse as a [`Descriptor`], and + /// have its full `includes` chain resolvable in-snapshot. + #[test] + fn test_every_indexed_descriptor_loads() { + let source = BundledRegistrySource::new().expect("embedded indexes must parse"); + + for path in source.calldata_index.values() { + source + .load_descriptor(path) + .unwrap_or_else(|e| panic!("calldata descriptor {path} failed to load: {e}")); + } + + for bucket in source.eip712_index.values() { + for entries in bucket.values() { + for entry in entries { + source.load_descriptor(&entry.path).unwrap_or_else(|e| { + panic!("eip712 descriptor {} failed to load: {e}", entry.path) + }); + } + } + } + } + + #[tokio::test] + async fn test_resolve_calldata_happy_path() { + let source = BundledRegistrySource::new().expect("embedded indexes must parse"); + let resolved = source + .resolve_calldata(1, ONEINCH_ROUTER_V6) + .await + .expect("1inch AggregationRouterV6 must resolve from the bundled snapshot"); + assert!(!resolved.descriptor.display.formats.is_empty()); + assert_eq!(resolved.chain_id, 1); + assert_eq!(resolved.address, ONEINCH_ROUTER_V6); + } + + #[tokio::test] + async fn test_resolve_calldata_is_address_case_insensitive() { + let source = BundledRegistrySource::new().expect("embedded indexes must parse"); + let resolved = source + .resolve_calldata(1, &ONEINCH_ROUTER_V6.to_uppercase().replace("0X", "0x")) + .await + .expect("uppercase address must resolve"); + assert_eq!(resolved.address, ONEINCH_ROUTER_V6); + } + + #[tokio::test] + async fn test_resolve_calldata_unknown_address_not_found() { + let source = BundledRegistrySource::new().expect("embedded indexes must parse"); + let err = source + .resolve_calldata(1, "0x000000000000000000000000000000000000dead") + .await + .expect_err("unknown address must not resolve"); + assert!(matches!(err, ResolveError::NotFound { .. })); + } + + #[tokio::test] + async fn test_resolve_typed_candidates_happy_path() { + let source = BundledRegistrySource::new().expect("embedded indexes must parse"); + let candidates = source + .resolve_typed_candidates(TypedDescriptorLookup { + chain_id: 8453, + verifying_contract: BASE_USDC.to_string(), + primary_type: "Permit".to_string(), + encode_type_hash: Some(BASE_USDC_PERMIT_HASH.to_string()), + }) + .await + .expect("Base USDC Permit must resolve from the bundled snapshot"); + assert!(!candidates.is_empty()); + assert!(!candidates[0].descriptor.display.formats.is_empty()); + } + + #[tokio::test] + async fn test_resolve_typed_candidates_bogus_hash_not_found() { + let source = BundledRegistrySource::new().expect("embedded indexes must parse"); + let err = source + .resolve_typed_candidates(TypedDescriptorLookup { + chain_id: 8453, + verifying_contract: BASE_USDC.to_string(), + primary_type: "Permit".to_string(), + encode_type_hash: Some("0xdeadbeef".to_string()), + }) + .await + .expect_err("bogus encodeType hash must not match split index entries"); + assert!(matches!(err, ResolveError::NotFound { .. })); + } + + /// The Base USDC permit descriptor carries no `display` of its own — its + /// formats come entirely from the included `ercs/eip712-erc2612-permit.json` + /// base. Loading it must transparently merge the includes chain. + #[test] + fn test_includes_chain_merges_base_formats() { + let raw = BundledRegistrySource::read_raw("registry/permit/eip712-permit-base-usdc.json") + .expect("raw descriptor file must exist"); + let raw_value: serde_json::Value = serde_json::from_str(raw).expect("raw JSON"); + assert!( + raw_value.get("includes").is_some(), + "test premise: raw file must use includes" + ); + assert!( + raw_value.get("display").is_none(), + "test premise: raw file must not define display itself" + ); + + let source = BundledRegistrySource::new().expect("embedded indexes must parse"); + let descriptor = source + .load_descriptor("registry/permit/eip712-permit-base-usdc.json") + .expect("includes chain must resolve in-snapshot"); + assert!( + !descriptor.display.formats.is_empty(), + "merged descriptor must expose formats from the included base" + ); + } +} diff --git a/crates/clear-signing/src/resolver/github_registry.rs b/crates/clear-signing/src/resolver/github_registry.rs index c70101e..370c877 100644 --- a/crates/clear-signing/src/resolver/github_registry.rs +++ b/crates/clear-signing/src/resolver/github_registry.rs @@ -5,6 +5,7 @@ use std::pin::Pin; use crate::error::ResolveError; use crate::types::descriptor::Descriptor; +use super::registry_common::{filter_typed_index_entries, resolve_relative_path, Eip712IndexEntry}; use super::source::{DescriptorSource, ResolvedDescriptor, TypedDescriptorLookup}; /// HTTP-based descriptor source that fetches from a GitHub registry. @@ -20,13 +21,6 @@ pub struct GitHubRegistrySource { cache: tokio::sync::Mutex>, } -#[derive(Debug, Clone, serde::Deserialize)] -pub struct Eip712IndexEntry { - pub(crate) path: String, - #[serde(rename = "encodeTypeHashes", default)] - pub(crate) encode_type_hashes: Vec, -} - impl GitHubRegistrySource { /// Create a new source with manually provided indexes. /// @@ -241,53 +235,6 @@ async fn fetch_index(url: &str) -> Result( - entries: &'a [Eip712IndexEntry], - expected_hash: Option<&str>, -) -> Vec<&'a Eip712IndexEntry> { - match expected_hash { - Some(expected_hash) => entries - .iter() - .filter(|entry| { - entry - .encode_type_hashes - .iter() - .any(|hash| hash.eq_ignore_ascii_case(expected_hash)) - }) - .collect::>(), - None => entries.iter().collect(), - } -} - -/// Resolve a relative path against a base file path. -/// -/// E.g., `resolve_relative_path("aave/calldata-lpv3.json", "./erc20.json")` → `"aave/erc20.json"`. -fn resolve_relative_path(base: &str, relative: &str) -> String { - let relative = relative.strip_prefix("./").unwrap_or(relative); - - let dir = if let Some(pos) = base.rfind('/') { - &base[..pos] - } else { - "" - }; - - if dir.is_empty() { - relative.to_string() - } else { - let mut parts: Vec<&str> = dir.split('/').collect(); - let mut rel_remaining = relative; - while let Some(rest) = rel_remaining.strip_prefix("../") { - parts.pop(); - rel_remaining = rest; - } - if parts.is_empty() { - rel_remaining.to_string() - } else { - format!("{}/{}", parts.join("/"), rel_remaining) - } - } -} - #[cfg(test)] mod tests { use std::collections::HashMap; @@ -348,68 +295,6 @@ mod tests { (format!("http://{}", addr), handle) } - #[test] - fn test_resolve_relative_path_same_dir() { - assert_eq!( - resolve_relative_path("aave/calldata-lpv3.json", "./erc20.json"), - "aave/erc20.json" - ); - } - - #[test] - fn test_resolve_relative_path_parent_dir() { - assert_eq!( - resolve_relative_path("aave/v3/calldata.json", "../../ercs/erc20.json"), - "ercs/erc20.json" - ); - } - - #[test] - fn test_resolve_relative_path_no_dir() { - assert_eq!( - resolve_relative_path("file.json", "./other.json"), - "other.json" - ); - } - - #[test] - fn test_filter_typed_index_entries_requires_exact_hash_for_split_entries() { - let entries = vec![ - Eip712IndexEntry { - path: "registry/a.json".to_string(), - encode_type_hashes: vec!["0xaaaa".to_string()], - }, - Eip712IndexEntry { - path: "registry/legacy.json".to_string(), - encode_type_hashes: Vec::new(), - }, - ]; - - let filtered = filter_typed_index_entries(&entries, Some("0xaaaa")); - assert_eq!(filtered.len(), 1); - assert_eq!(filtered[0].path, "registry/a.json"); - - let no_match = filter_typed_index_entries(&entries, Some("0xbbbb")); - assert!(no_match.is_empty()); - } - - #[test] - fn test_filter_typed_index_entries_rejects_empty_hash_entries() { - let entries = vec![ - Eip712IndexEntry { - path: "registry/a.json".to_string(), - encode_type_hashes: Vec::new(), - }, - Eip712IndexEntry { - path: "registry/b.json".to_string(), - encode_type_hashes: Vec::new(), - }, - ]; - - let filtered = filter_typed_index_entries(&entries, Some("0xaaaa")); - assert!(filtered.is_empty()); - } - #[tokio::test] async fn test_from_registry_requires_split_indexes() { let (base_url, handle) = spawn_test_server( diff --git a/crates/clear-signing/src/resolver/mod.rs b/crates/clear-signing/src/resolver/mod.rs index 135896b..dea8636 100644 --- a/crates/clear-signing/src/resolver/mod.rs +++ b/crates/clear-signing/src/resolver/mod.rs @@ -8,8 +8,12 @@ mod source; mod standard_token; mod typed_selection; +#[cfg(feature = "bundled-registry")] +mod bundled_registry; #[cfg(feature = "github-registry")] mod github_registry; +#[cfg(any(feature = "github-registry", feature = "bundled-registry"))] +mod registry_common; #[cfg(test)] pub(crate) mod test_support; @@ -17,7 +21,11 @@ pub(crate) mod test_support; pub use nested_resolution::{resolve_descriptors_for_tx, resolve_descriptors_for_typed_data}; pub use source::{DescriptorSource, ResolvedDescriptor, StaticSource, TypedDescriptorLookup}; +#[cfg(feature = "bundled-registry")] +pub use bundled_registry::BundledRegistrySource; #[cfg(feature = "github-registry")] -pub use github_registry::{Eip712IndexEntry, GitHubRegistrySource}; +pub use github_registry::GitHubRegistrySource; +#[cfg(any(feature = "github-registry", feature = "bundled-registry"))] +pub use registry_common::Eip712IndexEntry; pub(crate) use typed_selection::{select_typed_outer_descriptor, TypedOuterSelection}; diff --git a/crates/clear-signing/src/resolver/registry_common.rs b/crates/clear-signing/src/resolver/registry_common.rs new file mode 100644 index 0000000..b6b5d59 --- /dev/null +++ b/crates/clear-signing/src/resolver/registry_common.rs @@ -0,0 +1,124 @@ +//! Pure helpers shared by registry-backed descriptor sources +//! (`github_registry`, `bundled_registry`): index entry types, typed-index +//! filtering, and relative-path resolution. No transport concerns here. + +#[derive(Debug, Clone, serde::Deserialize)] +pub struct Eip712IndexEntry { + pub(crate) path: String, + #[serde(rename = "encodeTypeHashes", default)] + pub(crate) encode_type_hashes: Vec, +} + +pub(crate) fn filter_typed_index_entries<'a>( + entries: &'a [Eip712IndexEntry], + expected_hash: Option<&str>, +) -> Vec<&'a Eip712IndexEntry> { + match expected_hash { + Some(expected_hash) => entries + .iter() + .filter(|entry| { + entry + .encode_type_hashes + .iter() + .any(|hash| hash.eq_ignore_ascii_case(expected_hash)) + }) + .collect::>(), + None => entries.iter().collect(), + } +} + +/// Resolve a relative path against a base file path. +/// +/// E.g., `resolve_relative_path("aave/calldata-lpv3.json", "./erc20.json")` → `"aave/erc20.json"`. +pub(crate) fn resolve_relative_path(base: &str, relative: &str) -> String { + let relative = relative.strip_prefix("./").unwrap_or(relative); + + let dir = if let Some(pos) = base.rfind('/') { + &base[..pos] + } else { + "" + }; + + if dir.is_empty() { + relative.to_string() + } else { + let mut parts: Vec<&str> = dir.split('/').collect(); + let mut rel_remaining = relative; + while let Some(rest) = rel_remaining.strip_prefix("../") { + parts.pop(); + rel_remaining = rest; + } + if parts.is_empty() { + rel_remaining.to_string() + } else { + format!("{}/{}", parts.join("/"), rel_remaining) + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_resolve_relative_path_same_dir() { + assert_eq!( + resolve_relative_path("aave/calldata-lpv3.json", "./erc20.json"), + "aave/erc20.json" + ); + } + + #[test] + fn test_resolve_relative_path_parent_dir() { + assert_eq!( + resolve_relative_path("aave/v3/calldata.json", "../../ercs/erc20.json"), + "ercs/erc20.json" + ); + } + + #[test] + fn test_resolve_relative_path_no_dir() { + assert_eq!( + resolve_relative_path("file.json", "./other.json"), + "other.json" + ); + } + + #[test] + fn test_filter_typed_index_entries_requires_exact_hash_for_split_entries() { + let entries = vec![ + Eip712IndexEntry { + path: "registry/a.json".to_string(), + encode_type_hashes: vec!["0xaaaa".to_string()], + }, + Eip712IndexEntry { + path: "registry/legacy.json".to_string(), + encode_type_hashes: Vec::new(), + }, + ]; + + let filtered = filter_typed_index_entries(&entries, Some("0xaaaa")); + assert_eq!(filtered.len(), 1); + assert_eq!(filtered[0].path, "registry/a.json"); + + let no_match = filter_typed_index_entries(&entries, Some("0xbbbb")); + assert!(no_match.is_empty()); + } + + #[test] + fn test_filter_typed_index_entries_rejects_empty_hash_entries() { + let entries = vec![ + Eip712IndexEntry { + path: "registry/a.json".to_string(), + encode_type_hashes: Vec::new(), + }, + Eip712IndexEntry { + path: "registry/b.json".to_string(), + encode_type_hashes: Vec::new(), + }, + ]; + + let filtered = filter_typed_index_entries(&entries, Some("0xaaaa")); + assert!(filtered.is_empty()); + } +} From 43e625814c84a498a9b5aa75ca199dfb5d115647 Mon Sep 17 00:00:00 2001 From: Wehi Date: Sat, 13 Jun 2026 04:03:19 -0400 Subject: [PATCH 3/9] fix(types): make DisplayFormat.intent optional --- crates/clear-signing/src/types/display.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/clear-signing/src/types/display.rs b/crates/clear-signing/src/types/display.rs index 33eac6b..0aeac5d 100644 --- a/crates/clear-signing/src/types/display.rs +++ b/crates/clear-signing/src/types/display.rs @@ -67,7 +67,9 @@ pub struct DisplayFormat { pub id: Option, /// Human-readable intent label (string or object per spec). - #[serde(deserialize_with = "deserialize_intent")] + // `default` is required alongside `deserialize_with`: without it serde + // rejects an *absent* field even for `Option` (intent is spec-optional). + #[serde(default, deserialize_with = "deserialize_intent")] #[serde(skip_serializing_if = "Option::is_none")] pub intent: Option, From 75024373ce76c63bcd721545529bcf940db9ad79 Mon Sep 17 00:00:00 2001 From: Wehi Date: Sat, 13 Jun 2026 04:04:41 -0400 Subject: [PATCH 4/9] feat(uniffi): prefer bundled-registry over github in FFI layer --- crates/clear-signing/src/uniffi_compat/mod.rs | 54 ++++++++++++++----- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/crates/clear-signing/src/uniffi_compat/mod.rs b/crates/clear-signing/src/uniffi_compat/mod.rs index cb976b1..42bd12f 100644 --- a/crates/clear-signing/src/uniffi_compat/mod.rs +++ b/crates/clear-signing/src/uniffi_compat/mod.rs @@ -8,19 +8,44 @@ use crate::{ resolver::ResolvedDescriptor, token::TokenMeta, types::descriptor::Descriptor, }; -#[cfg(feature = "github-registry")] -use crate::resolver::{DescriptorSource, GitHubRegistrySource}; +#[cfg(any(feature = "github-registry", feature = "bundled-registry"))] +use crate::resolver::DescriptorSource; -#[cfg(feature = "github-registry")] +#[cfg(feature = "bundled-registry")] +use crate::resolver::BundledRegistrySource; +#[cfg(all(feature = "github-registry", not(feature = "bundled-registry")))] +use crate::resolver::GitHubRegistrySource; + +#[cfg(all(feature = "github-registry", not(feature = "bundled-registry")))] const DEFAULT_REGISTRY_URL: &str = "https://raw.githubusercontent.com/ethereum/clear-signing-erc7730-registry/master"; -#[cfg(feature = "github-registry")] -static REGISTRY_SOURCE: tokio::sync::OnceCell = +// Registry source selection: the bundled snapshot wins when both registry +// features are enabled — the GitHub HTTP path is compiled out entirely. +#[cfg(feature = "bundled-registry")] +type RegistrySourceImpl = BundledRegistrySource; +#[cfg(all(feature = "github-registry", not(feature = "bundled-registry")))] +type RegistrySourceImpl = GitHubRegistrySource; + +#[cfg(any(feature = "github-registry", feature = "bundled-registry"))] +static REGISTRY_SOURCE: tokio::sync::OnceCell = tokio::sync::OnceCell::const_new(); -#[cfg(feature = "github-registry")] -async fn get_registry_source() -> Result<&'static GitHubRegistrySource, FormatFailure> { +#[cfg(feature = "bundled-registry")] +async fn get_registry_source() -> Result<&'static RegistrySourceImpl, FormatFailure> { + REGISTRY_SOURCE + .get_or_try_init(|| async { + BundledRegistrySource::new().map_err(|e| FormatFailure::ResolutionFailed { + detail: format!("failed to initialize bundled registry: {e}"), + // Embedded build-time data — retrying cannot help. + retryable: false, + }) + }) + .await +} + +#[cfg(all(feature = "github-registry", not(feature = "bundled-registry")))] +async fn get_registry_source() -> Result<&'static RegistrySourceImpl, FormatFailure> { REGISTRY_SOURCE .get_or_try_init(|| async { GitHubRegistrySource::from_registry(DEFAULT_REGISTRY_URL) @@ -280,11 +305,12 @@ pub async fn clear_signing_format_typed_data( crate::format_typed_data(&descriptors, &typed_data, provider.as_ref()).await } -/// Resolve a calldata descriptor from the GitHub registry for a given chain + address. +/// Resolve a calldata descriptor from the registry for a given chain + address. /// /// Returns the descriptor JSON string, or `None` if no descriptor is found. -/// Requires the `github-registry` feature. -#[cfg(feature = "github-registry")] +/// Requires the `github-registry` or `bundled-registry` feature; the bundled +/// snapshot wins when both are enabled. +#[cfg(any(feature = "github-registry", feature = "bundled-registry"))] #[uniffi::export(async_runtime = "tokio")] pub async fn clear_signing_resolve_descriptor( chain_id: u64, @@ -306,11 +332,11 @@ pub async fn clear_signing_resolve_descriptor( /// Resolve all descriptors needed for EIP-712 typed data, including nested calldata. /// -/// Uses the GitHub registry. Returns descriptor JSON strings in dependency order. +/// Uses the configured registry source. Returns descriptor JSON strings in dependency order. /// First element is the outer EIP-712 descriptor, subsequent are inner calldata descriptors. /// Returns empty vec if no descriptor is found for the outer verifying contract. /// Automatically detects proxy contracts via `data_provider.get_implementation_address`. -#[cfg(feature = "github-registry")] +#[cfg(any(feature = "github-registry", feature = "bundled-registry"))] #[uniffi::export(async_runtime = "tokio")] pub async fn clear_signing_resolve_descriptors_for_typed_data( typed_data_json: String, @@ -357,11 +383,11 @@ pub async fn clear_signing_resolve_descriptors_for_typed_data( /// Resolve all descriptors needed for a transaction, including nested calldata. /// -/// Uses the GitHub registry. Returns descriptor JSON strings in dependency order. +/// Uses the configured registry source. Returns descriptor JSON strings in dependency order. /// First element is the outer descriptor, subsequent are inner callees. /// Returns empty vec if no descriptor is found for the outer address. /// Automatically detects proxy contracts via `data_provider.get_implementation_address`. -#[cfg(feature = "github-registry")] +#[cfg(any(feature = "github-registry", feature = "bundled-registry"))] #[uniffi::export(async_runtime = "tokio")] pub async fn clear_signing_resolve_descriptors_for_tx( transaction: TransactionInput, From 592247ba0793dc3aaa3076884f5d58b4c9f9c5d3 Mon Sep 17 00:00:00 2001 From: Wehi Date: Sat, 13 Jun 2026 04:05:40 -0400 Subject: [PATCH 5/9] test: add bundled-registry integration tests --- crates/clear-signing/Cargo.toml | 4 +- .../tests/bundled_registry_integration.rs | 92 +++++++++++++++++++ 2 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 crates/clear-signing/tests/bundled_registry_integration.rs diff --git a/crates/clear-signing/Cargo.toml b/crates/clear-signing/Cargo.toml index aee9dff..7c1e325 100644 --- a/crates/clear-signing/Cargo.toml +++ b/crates/clear-signing/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography::cryptocurrencies", "encoding"] exclude = ["tests/fixtures/**"] [package.metadata.docs.rs] -features = ["uniffi", "github-registry"] +features = ["uniffi", "github-registry", "bundled-registry"] [lib] name = "clear_signing" @@ -34,6 +34,7 @@ required-features = ["github-registry"] default = [] uniffi = ["dep:uniffi", "uniffi/cli"] github-registry = ["dep:reqwest"] +bundled-registry = ["dep:include_dir"] [dependencies] serde = { version = "1", features = ["derive"] } @@ -46,3 +47,4 @@ thiserror = "2" tokio = { version = "1", features = ["rt", "macros", "sync"] } uniffi = { version = "0.31.0", default-features = false, features = ["tokio"], optional = true } reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls-webpki-roots"], optional = true } +include_dir = { version = "0.7", optional = true } diff --git a/crates/clear-signing/tests/bundled_registry_integration.rs b/crates/clear-signing/tests/bundled_registry_integration.rs new file mode 100644 index 0000000..52aa918 --- /dev/null +++ b/crates/clear-signing/tests/bundled_registry_integration.rs @@ -0,0 +1,92 @@ +//! End-to-end integration tests for the embedded registry snapshot +//! (`bundled-registry` feature): resolve descriptors fully offline via +//! `BundledRegistrySource`, then format real calldata with them. + +#![cfg(feature = "bundled-registry")] + +use clear_signing::token::{CompositeDataProvider, WellKnownTokenSource}; +use clear_signing::{ + format_calldata, resolve_descriptors_for_tx, BundledRegistrySource, DisplayEntry, + ResolvedDescriptorResolution, TransactionContext, +}; + +const USDT_MAINNET: &str = "0xdac17f958d2ee523a2206206994597c13d831ec7"; + +fn decode_hex(hex_str: &str) -> Vec { + let s = hex_str.strip_prefix("0x").unwrap_or(hex_str); + hex::decode(s).unwrap_or_else(|e| panic!("invalid hex '{hex_str}': {e}")) +} + +/// transfer(0x000…001, 1000000) — 1 USDT. +fn usdt_transfer_calldata() -> Vec { + decode_hex( + "a9059cbb000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000f4240", + ) +} + +#[tokio::test] +async fn bundled_resolve_and_format_usdt_transfer() { + let source = BundledRegistrySource::new().expect("embedded snapshot must parse"); + let calldata = usdt_transfer_calldata(); + let tx = TransactionContext { + chain_id: 1, + to: USDT_MAINNET, + calldata: &calldata, + value: None, + from: None, + implementation_address: None, + }; + + let resolution = resolve_descriptors_for_tx(&tx, &source, None) + .await + .expect("resolution must not error"); + let descriptors = match resolution { + ResolvedDescriptorResolution::Found(descriptors) => descriptors, + ResolvedDescriptorResolution::NotFound => { + panic!("USDT descriptor must be present in the bundled snapshot") + } + }; + assert!(!descriptors.is_empty()); + + let provider = CompositeDataProvider::new(vec![Box::new(WellKnownTokenSource::new())]); + let model = format_calldata(&descriptors, &tx, &provider) + .await + .expect("formatting must succeed with bundled descriptor"); + + assert_eq!(model.intent, "Send"); + let amount = model + .entries + .iter() + .find_map(|entry| match entry { + DisplayEntry::Item(item) if item.label == "Amount" => Some(item.value.clone()), + _ => None, + }) + .expect("Amount entry must be rendered"); + assert!( + amount.contains("USDT"), + "amount should be token-formatted, got: {amount}" + ); + assert!( + amount.contains('1'), + "1 USDT expected in amount, got: {amount}" + ); +} + +#[tokio::test] +async fn bundled_resolution_not_found_for_unknown_contract() { + let source = BundledRegistrySource::new().expect("embedded snapshot must parse"); + let calldata = usdt_transfer_calldata(); + let tx = TransactionContext { + chain_id: 1, + to: "0x000000000000000000000000000000000000dead", + calldata: &calldata, + value: None, + from: None, + implementation_address: None, + }; + + let resolution = resolve_descriptors_for_tx(&tx, &source, None) + .await + .expect("resolution must not error"); + assert!(matches!(resolution, ResolvedDescriptorResolution::NotFound)); +} From 5f59530db2d0375018173a72c2a9457e8b62f535 Mon Sep 17 00:00:00 2001 From: Wehi Date: Sat, 13 Jun 2026 04:24:42 -0400 Subject: [PATCH 6/9] fix: add include_dir and xtask package to Cargo.lock --- Cargo.lock | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 2faf706..04f2f48 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -231,6 +231,7 @@ name = "clear-signing" version = "0.1.0" dependencies = [ "hex", + "include_dir", "num-bigint", "reqwest", "serde", @@ -672,6 +673,25 @@ dependencies = [ "icu_properties", ] +[[package]] +name = "include_dir" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" +dependencies = [ + "include_dir_macros", +] + +[[package]] +name = "include_dir_macros" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" +dependencies = [ + "proc-macro2", + "quote", +] + [[package]] name = "indexmap" version = "2.13.0" @@ -2110,6 +2130,13 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" +[[package]] +name = "xtask" +version = "0.1.0" +dependencies = [ + "serde_json", +] + [[package]] name = "yoke" version = "0.8.1" From f70a1d3e9f47e2a8c1af45dd1066ea34ce3c6154 Mon Sep 17 00:00:00 2001 From: Wehi Date: Sat, 13 Jun 2026 04:25:00 -0400 Subject: [PATCH 7/9] docs: update CLAUDE.md for bundled-registry --- CLAUDE.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index d09e54a..588d805 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -6,7 +6,8 @@ UniFFI bindings (Kotlin + Swift) are implemented in the same crate via a statele ## Workspace Layout - Cargo workspace root at `/` -- Single crate: `crates/clear-signing/` +- Main crate: `crates/clear-signing/` +- Repo automation: `xtask/` (`cargo xtask `, alias in `.cargo/config.toml`) - Local Swift package manifest: `Package.swift` - iOS demo app: `wallet/Wallet.xcodeproj` @@ -24,7 +25,9 @@ UniFFI checks and binding generation: ```sh cargo check -p clear-signing --features uniffi,github-registry cargo test -p clear-signing --features uniffi,github-registry # 49 unit tests + 101 integration -cargo clippy -p clear-signing --all-targets --features uniffi,github-registry -- -D warnings +cargo test -p clear-signing --features bundled-registry # + embedded snapshot tests +cargo check -p clear-signing --features uniffi,github-registry,bundled-registry # both-features cfg combo +cargo clippy -p clear-signing --all-targets --features uniffi,github-registry,bundled-registry -- -D warnings ./scripts/generate_uniffi_bindings.sh ./scripts/build-xcframework.sh swift package resolve @@ -109,7 +112,8 @@ Local Swift package product: | `engine.rs` | `DisplayModel`, `DisplayEntry` (Item/Group/Nested), `DisplayItem` | Main formatting pipeline + nested calldata | | `decoder.rs` | `FunctionSignature`, `ParamType`, `ArgumentValue` | Calldata decoding from function signatures | | `eip712.rs` | `TypedData`, `TypedDataDomain` | EIP-712 typed data support | -| `resolver/` | `DescriptorSource` (trait), `ResolvedDescriptor`, `StaticSource`, `GitHubRegistrySource`, `resolve_descriptors_for_tx` | Descriptor resolution facade + split source, registry, typed-selection, and nested-resolution submodules | +| `resolver/` | `DescriptorSource` (trait), `ResolvedDescriptor`, `StaticSource`, `GitHubRegistrySource`, `BundledRegistrySource`, `resolve_descriptors_for_tx` | Descriptor resolution facade + split source, registry, typed-selection, and nested-resolution submodules; `registry_common.rs` holds pure index/path helpers shared by `github_registry.rs` and `bundled_registry.rs` | +| `resolver/bundled_registry.rs` | `BundledRegistrySource` | Offline descriptor source backed by the embedded registry snapshot (`bundled-registry` feature) | | `token.rs` | `TokenSource` (trait), `TokenMeta` | Token metadata trait — resolution is fully the wallet's responsibility via `DataProviderFfi` | | `merge.rs` | `merge_descriptor_values`, `merge_descriptors` | JSON-level descriptor merge for `includes` mechanism | | `address_book.rs` | `AddressBook` | Address → label resolution from descriptor metadata | @@ -126,9 +130,10 @@ Keep resolver work split by responsibility. Rules when editing `crates/clear-signing/src/resolver/`: 1. Keep typed outer-descriptor selection centralized in `typed_selection`; do not duplicate `domain` / `domainSeparator` / exact `encodeType` matching in callers. 2. Keep registry/index loading, HTTP fetch, and cache behavior in `github_registry`; do not mix transport concerns with typed applicability logic. -3. Keep recursive nested calldata walking in `nested_resolution`; do not move graph traversal back into source/index code. -4. Keep `resolver/mod.rs` as a thin facade and re-export layer, not a new implementation dumping ground. -5. Structural resolver refactors must preserve current behavior and tests unless the user explicitly approves a semantic change. +3. Keep bundled/embedded snapshot loading in `bundled_registry`; shared pure index/path helpers (`Eip712IndexEntry`, `filter_typed_index_entries`, `resolve_relative_path`) live in `registry_common` — do not duplicate them per source. +4. Keep recursive nested calldata walking in `nested_resolution`; do not move graph traversal back into source/index code. +5. Keep `resolver/mod.rs` as a thin facade and re-export layer, not a new implementation dumping ground. +6. Structural resolver refactors must preserve current behavior and tests unless the user explicitly approves a semantic change. ## V2 Registry Compatibility @@ -171,6 +176,10 @@ Optional features: - Default registry: `https://raw.githubusercontent.com/ethereum/clear-signing-erc7730-registry/master` (official EF registry) - Registry source is cached via `tokio::sync::OnceCell` in FFI layer — index fetched once per process - UniFFI async exports use `#[uniffi::export(async_runtime = "tokio")]`; `uniffi` dep requires `features = ["tokio"]` +- `bundled-registry`: offline descriptor resolution via `BundledRegistrySource` — registry snapshot embedded in the binary with `include_dir` (adds ~3 MB when enabled; mobile FFI consumers should opt in deliberately) + - Independent of `github-registry`; in the FFI layer the bundled source wins when both features are enabled (GitHub HTTP path compiled out) + - Snapshot lives at `crates/clear-signing/src/assets/registry-snapshot/` (committed, generated — never hand-edit); refresh with `cargo xtask update-registry-snapshot` (records upstream commit in `SNAPSHOT.rev`, prunes stale index entries referencing files absent upstream) + - Snapshot integrity is enforced by a unit-test sweep that loads every indexed descriptor (including full `includes` chains) from the embedded tree ## Skills From 283c8292b7aa265fc1ec20efc2a56dbbb74b5ff8 Mon Sep 17 00:00:00 2001 From: Wehi Date: Sat, 13 Jun 2026 04:27:10 -0400 Subject: [PATCH 8/9] docs: update AGENTS.md for bundled-registry --- AGENTS.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index d09e54a..588d805 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,7 +6,8 @@ UniFFI bindings (Kotlin + Swift) are implemented in the same crate via a statele ## Workspace Layout - Cargo workspace root at `/` -- Single crate: `crates/clear-signing/` +- Main crate: `crates/clear-signing/` +- Repo automation: `xtask/` (`cargo xtask `, alias in `.cargo/config.toml`) - Local Swift package manifest: `Package.swift` - iOS demo app: `wallet/Wallet.xcodeproj` @@ -24,7 +25,9 @@ UniFFI checks and binding generation: ```sh cargo check -p clear-signing --features uniffi,github-registry cargo test -p clear-signing --features uniffi,github-registry # 49 unit tests + 101 integration -cargo clippy -p clear-signing --all-targets --features uniffi,github-registry -- -D warnings +cargo test -p clear-signing --features bundled-registry # + embedded snapshot tests +cargo check -p clear-signing --features uniffi,github-registry,bundled-registry # both-features cfg combo +cargo clippy -p clear-signing --all-targets --features uniffi,github-registry,bundled-registry -- -D warnings ./scripts/generate_uniffi_bindings.sh ./scripts/build-xcframework.sh swift package resolve @@ -109,7 +112,8 @@ Local Swift package product: | `engine.rs` | `DisplayModel`, `DisplayEntry` (Item/Group/Nested), `DisplayItem` | Main formatting pipeline + nested calldata | | `decoder.rs` | `FunctionSignature`, `ParamType`, `ArgumentValue` | Calldata decoding from function signatures | | `eip712.rs` | `TypedData`, `TypedDataDomain` | EIP-712 typed data support | -| `resolver/` | `DescriptorSource` (trait), `ResolvedDescriptor`, `StaticSource`, `GitHubRegistrySource`, `resolve_descriptors_for_tx` | Descriptor resolution facade + split source, registry, typed-selection, and nested-resolution submodules | +| `resolver/` | `DescriptorSource` (trait), `ResolvedDescriptor`, `StaticSource`, `GitHubRegistrySource`, `BundledRegistrySource`, `resolve_descriptors_for_tx` | Descriptor resolution facade + split source, registry, typed-selection, and nested-resolution submodules; `registry_common.rs` holds pure index/path helpers shared by `github_registry.rs` and `bundled_registry.rs` | +| `resolver/bundled_registry.rs` | `BundledRegistrySource` | Offline descriptor source backed by the embedded registry snapshot (`bundled-registry` feature) | | `token.rs` | `TokenSource` (trait), `TokenMeta` | Token metadata trait — resolution is fully the wallet's responsibility via `DataProviderFfi` | | `merge.rs` | `merge_descriptor_values`, `merge_descriptors` | JSON-level descriptor merge for `includes` mechanism | | `address_book.rs` | `AddressBook` | Address → label resolution from descriptor metadata | @@ -126,9 +130,10 @@ Keep resolver work split by responsibility. Rules when editing `crates/clear-signing/src/resolver/`: 1. Keep typed outer-descriptor selection centralized in `typed_selection`; do not duplicate `domain` / `domainSeparator` / exact `encodeType` matching in callers. 2. Keep registry/index loading, HTTP fetch, and cache behavior in `github_registry`; do not mix transport concerns with typed applicability logic. -3. Keep recursive nested calldata walking in `nested_resolution`; do not move graph traversal back into source/index code. -4. Keep `resolver/mod.rs` as a thin facade and re-export layer, not a new implementation dumping ground. -5. Structural resolver refactors must preserve current behavior and tests unless the user explicitly approves a semantic change. +3. Keep bundled/embedded snapshot loading in `bundled_registry`; shared pure index/path helpers (`Eip712IndexEntry`, `filter_typed_index_entries`, `resolve_relative_path`) live in `registry_common` — do not duplicate them per source. +4. Keep recursive nested calldata walking in `nested_resolution`; do not move graph traversal back into source/index code. +5. Keep `resolver/mod.rs` as a thin facade and re-export layer, not a new implementation dumping ground. +6. Structural resolver refactors must preserve current behavior and tests unless the user explicitly approves a semantic change. ## V2 Registry Compatibility @@ -171,6 +176,10 @@ Optional features: - Default registry: `https://raw.githubusercontent.com/ethereum/clear-signing-erc7730-registry/master` (official EF registry) - Registry source is cached via `tokio::sync::OnceCell` in FFI layer — index fetched once per process - UniFFI async exports use `#[uniffi::export(async_runtime = "tokio")]`; `uniffi` dep requires `features = ["tokio"]` +- `bundled-registry`: offline descriptor resolution via `BundledRegistrySource` — registry snapshot embedded in the binary with `include_dir` (adds ~3 MB when enabled; mobile FFI consumers should opt in deliberately) + - Independent of `github-registry`; in the FFI layer the bundled source wins when both features are enabled (GitHub HTTP path compiled out) + - Snapshot lives at `crates/clear-signing/src/assets/registry-snapshot/` (committed, generated — never hand-edit); refresh with `cargo xtask update-registry-snapshot` (records upstream commit in `SNAPSHOT.rev`, prunes stale index entries referencing files absent upstream) + - Snapshot integrity is enforced by a unit-test sweep that loads every indexed descriptor (including full `includes` chains) from the embedded tree ## Skills From 3c415c805613debffe797c78519a56ed17c311da Mon Sep 17 00:00:00 2001 From: Wehi Date: Sat, 13 Jun 2026 04:27:52 -0400 Subject: [PATCH 9/9] bundled-registry: run cargo xtask update-registry-snapshot --- .gitattributes | 1 + .../src/assets/registry-snapshot/SNAPSHOT.rev | 1 + .../ercs/calldata-erc20-tokens.json | 40 + .../ercs/calldata-erc4626-vaults.json | 101 + .../ercs/calldata-erc721-nfts.json | 52 + .../ercs/calldata-erc7540Deposit-vaults.json | 102 + .../ercs/calldata-erc7540Redeem-vaults.json | 101 + .../ercs/eip712-erc2612-permit.json | 24 + .../registry-snapshot/index.calldata.json | 635 ++ .../registry-snapshot/index.eip712.json | 5160 +++++++++++++++++ .../1inch/calldata-AggregationRouterV3.json | 85 + .../calldata-AggregationRouterV4-eth.json | 56 + .../1inch/calldata-AggregationRouterV4.json | 14 + .../1inch/calldata-AggregationRouterV5.json | 201 + .../calldata-AggregationRouterV6-zksync.json | 9 + .../1inch/calldata-AggregationRouterV6.json | 75 + .../1inch/calldata-NativeOrderFactory.json | 62 + .../1inch/common-AggregationRouterV4.json | 249 + .../1inch/common-AggregationRouterV6.json | 858 +++ .../1inch/eip712-1inch-limit-order.json | 46 + .../1inch/eip712-AggregationRouterV6.json | 38 + .../calldata-AggregationRouterV3.tests.json | 22 + .../calldata-AggregationRouterV4.tests.json | 22 + .../calldata-AggregationRouterV5.tests.json | 24 + .../calldata-AggregationRouterV6.tests.json | 217 + .../calldata-NativeOrderFactory.tests.json | 22 + .../tests/eip712-1inch-limit-order.tests.json | 50 + .../eip712-AggregationRouterV6.tests.json | 55 + .../aave/calldata-WrappedTokenGatewayV3.json | 128 + .../registry/aave/calldata-lpv2.json | 148 + .../registry/aave/calldata-lpv3.json | 294 + .../calldata-WrappedTokenGatewayV3.tests.json | 65 + .../aave/tests/calldata-lpv2.tests.json | 52 + .../aave/tests/calldata-lpv3.tests.json | 99 + .../registry/benqi/calldata-sAVAX.json | 43 + .../benqi/tests/calldata-sAVAX.tests.json | 68 + .../registry/celo/calldata-celo_accounts.json | 275 + .../registry/celo/calldata-celo_election.json | 117 + .../celo/calldata-celo_governance.json | 130 + .../celo/calldata-celo_validators.json | 161 + .../registry/celo/calldata-locked_celo.json | 122 + .../eip712-ReceiveWithAuthorization.json | 44 + .../eip712-TransferWithAuthorization.json | 47 + ...eip712-ReceiveWithAuthorization.tests.json | 49 + ...ip712-TransferWithAuthorization.tests.json | 395 ++ .../calldata-DepositContract.json | 27 + .../tests/calldata-DepositContract.tests.json | 22 + .../corestake/calldata-coreagent.json | 55 + .../corestake/calldata-corestake.json | 35 + .../registry/corestake/calldata-stakehub.json | 6 + .../registry/degate/eip712-degate.json | 55 + .../degate/tests/eip712-degate.tests.json | 189 + .../registry/dispatch/eip712-dispatch.json | 23 + .../dispatch/tests/eip712-dispatch.tests.json | 82 + .../registry/ethena/calldata-ethena.json | 48 + .../ethena/tests/calldata-ethena.tests.json | 31 + .../fellow-fund/calldata-fellow-fund.json | 60 + .../calldata-figment-batch-deposit.json | 33 + .../calldata-figment-batch-deposit.tests.json | 22 + ...lldata-DistributionToDelegators-Flare.json | 58 + .../calldata-PollingFoundation-Flare.json | 64 + .../calldata-PollingFoundation-Songbird.json | 64 + .../flare/calldata-RewardManager-Flare.json | 70 + .../calldata-RewardManager-Songbird.json | 70 + ...calldata-ValidatorRewardManager-Flare.json | 57 + .../calldata-EpochRewardsVault-dev.json | 126 + .../calldata-EpochRewardsVault.json | 128 + .../calldata-MintAndRedeem-dev.json | 92 + .../flyingtulip/calldata-MintAndRedeem.json | 97 + .../flyingtulip/calldata-PftMarketplace.json | 199 + .../registry/flyingtulip/calldata-PftNft.json | 98 + .../calldata-PositionsManager.json | 156 + .../flyingtulip/calldata-PutManager.json | 111 + .../flyingtulip/calldata-SessionManager.json | 348 ++ .../flyingtulip/eip712-LeverageRfqEngine.json | 110 + .../eip712-PftMarketplace-BuyOffer.json | 85 + .../flyingtulip/eip712-SessionManager-FT.json | 120 + .../eip712-SessionManager-ftUSD.json | 132 + .../flyingtulip/eip712-SpotOrderCancel.json | 87 + .../calldata-EpochRewardsVault-dev.tests.json | 32 + .../calldata-EpochRewardsVault.tests.json | 32 + .../calldata-MintAndRedeem-dev.tests.json | 25 + .../tests/calldata-MintAndRedeem.tests.json | 25 + .../tests/calldata-PftMarketplace.tests.json | 54 + .../tests/calldata-PftNft.tests.json | 22 + .../calldata-PositionsManager.tests.json | 55 + .../tests/calldata-PutManager.tests.json | 33 + .../tests/calldata-SessionManager.tests.json | 18 + .../tests/eip712-LeverageRfqEngine.tests.json | 90 + .../eip712-PftMarketplace-BuyOffer.tests.json | 85 + .../tests/eip712-SessionManager-FT.tests.json | 106 + .../eip712-SessionManager-ftUSD.tests.json | 106 + .../tests/eip712-SpotOrderCancel.tests.json | 113 + .../hyperliquid/calldata-CctpExtension.json | 74 + .../registry/hyperliquid/eip712-withdraw.json | 30 + .../tests/calldata-CctpExtension.tests.json | 26 + .../tests/eip712-withdraw.tests.json | 67 + .../registry/igra/calldata-KasExitBridge.json | 48 + ...ldata-Vault-EURC-Morpho-Gauntlet-Core.json | 8 + .../calldata-Vault-RLUSD-Euler-Yield.json | 12 + .../calldata-Vault-USDC-AAVE-Arbitrum.json | 8 + .../kiln/calldata-Vault-USDC-Aave-v3.json | 8 + .../kiln/calldata-Vault-USDC-Euler-Yield.json | 8 + ...-Vault-USDC-Morpho-Gauntlet-Core-Base.json | 8 + ...ldata-Vault-USDC-Morpho-Gauntlet-Core.json | 8 + ...data-Vault-USDC-Morpho-Gauntlet-Prime.json | 8 + ...rpho-Gauntlet-USDC-Core-Base-multisig.json | 8 + ...DC-Morpho-Gauntlet-USDC-Core-multisig.json | 8 + ...alldata-Vault-USDC-Morpho-MEV-Capital.json | 8 + .../calldata-Vault-USDC-Morpho-Re7-Base.json | 8 + ...-USDC-Morpho-Smokehouse-USDC-multisig.json | 8 + ...-USDC-Morpho-Steakhouse-USDC-multisig.json | 8 + .../kiln/calldata-Vault-USDT-Aave-v3.json | 8 + .../kiln/calldata-Vault-USDT-Compound-v3.json | 12 + .../kiln/calldata-Vault-USDT-Euler-Yield.json | 8 + ...data-Vault-USDT-Morpho-Gauntlet-Prime.json | 8 + ...DT-Morpho-Gauntlet-USDT-Core-multisig.json | 8 + ...Vault-USDT-Morpho-Gauntlet-USDT-Prime.json | 8 + ...-USDT-Morpho-Smokehouse-USDT-multisig.json | 8 + ...-USDT-Morpho-Steakhouse-USDT-multisig.json | 8 + .../calldata-Vault-USDe-Euler-Yield-USDE.json | 8 + ...ldata-Vault-WBTC-Morpho-Gauntlet-Core.json | 8 + .../kiln/calldata-Vault-WETH-Aave-v3.json | 8 + ...ldata-Vault-WETH-Morpho-Gauntlet-Core.json | 8 + ...alldata-Vault-WETH-Morpho-MEV-Capital.json | 8 + ...data-Vault-cbBTC-Morpho-Gauntlet-Core.json | 8 + .../kiln/calldata-kiln-batch-deposit-v2.json | 55 + .../kiln/calldata-kiln-batch-exit.json | 21 + .../calldata-kiln-fee-splitter-factory.json | 109 + .../registry/kiln/common-KilnVaults.json | 10 + ...Vault-EURC-Morpho-Gauntlet-Core.tests.json | 39 + ...alldata-Vault-RLUSD-Euler-Yield.tests.json | 39 + .../calldata-Vault-USDC-Aave-v3.tests.json | 39 + ...calldata-Vault-USDC-Euler-Yield.tests.json | 39 + ...Vault-USDC-Morpho-Gauntlet-Core.tests.json | 39 + ...ault-USDC-Morpho-Gauntlet-Prime.tests.json | 22 + ...pho-Gauntlet-USDC-Core-multisig.tests.json | 22 + ...a-Vault-USDC-Morpho-MEV-Capital.tests.json | 22 + ...Morpho-Smokehouse-USDC-multisig.tests.json | 22 + ...Morpho-Steakhouse-USDC-multisig.tests.json | 22 + .../calldata-Vault-USDT-Aave-v3.tests.json | 22 + ...calldata-Vault-USDT-Compound-v3.tests.json | 22 + ...calldata-Vault-USDT-Euler-Yield.tests.json | 39 + ...ault-USDT-Morpho-Gauntlet-Prime.tests.json | 39 + ...pho-Gauntlet-USDT-Core-multisig.tests.json | 22 + ...USDT-Morpho-Gauntlet-USDT-Prime.tests.json | 22 + ...Morpho-Smokehouse-USDT-multisig.tests.json | 22 + ...Morpho-Steakhouse-USDT-multisig.tests.json | 22 + ...ata-Vault-USDe-Euler-Yield-USDE.tests.json | 39 + ...Vault-WBTC-Morpho-Gauntlet-Core.tests.json | 22 + .../calldata-Vault-WETH-Aave-v3.tests.json | 22 + ...Vault-WETH-Morpho-Gauntlet-Core.tests.json | 22 + ...a-Vault-WETH-Morpho-MEV-Capital.tests.json | 22 + ...ault-cbBTC-Morpho-Gauntlet-Core.tests.json | 22 + .../calldata-kiln-batch-deposit-v2.tests.json | 45 + .../tests/calldata-kiln-batch-exit.tests.json | 18 + ...ldata-kiln-fee-splitter-factory.tests.json | 30 + .../calldata-MetaAggregationRouterV2.json | 91 + ...alldata-MetaAggregationRouterV2.tests.json | 20 + .../calldata-LayerswapDepository.json | 210 + .../calldata-LayerswapDepository.tests.json | 94 + .../ledgerquest/eip712-ledgerquest.json | 22 + .../tests/eip712-ledgerquest.tests.json | 32 + .../registry/lens/eip712-lens-lenshub.json | 218 + .../eip712-lens-token-handle-registry.json | 31 + .../lens/tests/eip712-lens-lenshub.tests.json | 774 +++ ...p712-lens-token-handle-registry.tests.json | 55 + .../lido/calldata-WithdrawalQueueERC721.json | 198 + .../registry/lido/calldata-stETH.json | 66 + .../lido/calldata-wstETH-referral-staker.json | 20 + .../registry/lido/calldata-wstETH.json | 191 + .../calldata-WithdrawalQueueERC721.tests.json | 81 + .../lido/tests/calldata-stETH.tests.json | 41 + ...calldata-wstETH-referral-staker.tests.json | 11 + .../lido/tests/calldata-wstETH.tests.json | 94 + .../registry/lifi/calldata-LIFIDiamond.json | 276 + .../tests/calldata-LIFIDiamond.tests.json | 85 + .../lombard/calldata-lbtc-mainnet.json | 125 + .../lombard/calldata-lbtc-sepolia.json | 128 + ...712-network-fee-authorization-mainnet.json | 22 + ...712-network-fee-authorization-sepolia.json | 22 + .../tests/calldata-lbtc-mainnet.tests.json | 61 + ...twork-fee-authorization-mainnet.tests.json | 28 + ...twork-fee-authorization-sepolia.tests.json | 35 + .../registry/midas/calldata-MinterVault.json | 198 + .../midas/calldata-RedemptionVault.json | 208 + .../tests/calldata-MinterVault.tests.json | 45 + .../tests/calldata-RedemptionVault.tests.json | 35 + .../morpho/calldata-9summits-9SETHc.json | 10 + .../morpho/calldata-9summits-9SETHcore.json | 10 + .../calldata-9summits-9SUSDC11Core.json | 14 + .../morpho/calldata-9summits-9SUSDCcore.json | 10 + .../morpho/calldata-9summits-9SUSR.json | 10 + .../registry/morpho/calldata-MorphoBlue.json | 242 + .../morpho/calldata-MorphoBundlerV3.json | 40 + .../morpho/calldata-apostro-aprUSDC.json | 10 + .../morpho/calldata-apostro-aprUSR.json | 10 + .../morpho/calldata-b_protocol-reETH.json | 10 + .../morpho/calldata-b_protocol-reGOLD.json | 10 + .../morpho/calldata-b_protocol-reUSDC.json | 10 + .../morpho/calldata-b_protocol-recbBTC.json | 10 + .../calldata-block_analitica-bbETH.json | 10 + .../calldata-block_analitica-bbUSDC.json | 10 + .../calldata-block_analitica-bbUSDT.json | 10 + .../calldata-block_analitica-mwETH.json | 10 + .../calldata-block_analitica-mwEURC.json | 10 + .../calldata-block_analitica-mwUSDC.json | 10 + .../calldata-block_analitica-mwcbBTC.json | 10 + .../registry/morpho/calldata-fence-ERY.json | 10 + .../morpho/calldata-gauntlet-elixirUSDC.json | 10 + .../morpho/calldata-gauntlet-gtAUSDc.json | 10 + .../morpho/calldata-gauntlet-gtDAIcore.json | 10 + .../morpho/calldata-gauntlet-gtEURCc.json | 10 + .../morpho/calldata-gauntlet-gtLBTCc.json | 10 + .../morpho/calldata-gauntlet-gtLRTcore.json | 10 + .../morpho/calldata-gauntlet-gtUSDAcore.json | 10 + .../morpho/calldata-gauntlet-gtUSDC.json | 10 + .../morpho/calldata-gauntlet-gtUSDCc.json | 10 + .../morpho/calldata-gauntlet-gtUSDCcore.json | 10 + .../morpho/calldata-gauntlet-gtUSDCmkr.json | 10 + .../morpho/calldata-gauntlet-gtUSDCp.json | 10 + .../morpho/calldata-gauntlet-gtUSDT.json | 10 + .../morpho/calldata-gauntlet-gtWBTCc.json | 10 + .../morpho/calldata-gauntlet-gtWETH.json | 10 + .../morpho/calldata-gauntlet-gtWETHc.json | 10 + .../morpho/calldata-gauntlet-gtWETHe.json | 10 + .../morpho/calldata-gauntlet-gtcbBTCc.json | 10 + .../morpho/calldata-gauntlet-gteUSDc.json | 10 + .../morpho/calldata-gauntlet-gtmsETHc.json | 10 + .../morpho/calldata-gauntlet-gtmsUSDc.json | 10 + .../morpho/calldata-gauntlet-gtusdcf.json | 10 + .../morpho/calldata-gauntlet-ionicUSDC.json | 10 + .../morpho/calldata-gauntlet-ionicWETH.json | 10 + .../morpho/calldata-gauntlet-mhyETH.json | 10 + .../morpho/calldata-gauntlet-midasUSDC.json | 10 + .../morpho/calldata-gauntlet-msolvbtcbbn.json | 14 + .../morpho/calldata-gauntlet-resolvUSDC.json | 10 + .../calldata-gauntlet-sbMorphoUSDC.json | 14 + .../calldata-gauntlet-sbMorphotBTC.json | 14 + .../morpho/calldata-gauntlet-smUSDC.json | 10 + .../morpho/calldata-gauntlet-smWETH.json | 10 + .../morpho/calldata-gauntlet-smcbBTC.json | 10 + .../morpho/calldata-hakutora-hUSDC.json | 10 + .../morpho/calldata-leadblock-USDC-RWA.json | 10 + .../calldata-llamarisk-llama-crvUSD.json | 14 + .../morpho/calldata-mev_capital-MC-USR.json | 10 + .../morpho/calldata-mev_capital-MC.eUSDC.json | 10 + .../morpho/calldata-mev_capital-MC_USD0.json | 10 + .../morpho/calldata-mev_capital-MCcbBTC.json | 10 + .../morpho/calldata-mev_capital-MCwBTC.json | 10 + .../morpho/calldata-mev_capital-MCwETH.json | 10 + .../calldata-mev_capital-USUALUSDC+.json | 10 + .../morpho/calldata-mev_capital-pWBTC.json | 10 + .../morpho/calldata-re7_labs-Re7FRAX.json | 10 + .../morpho/calldata-re7_labs-Re7RWA.json | 10 + .../morpho/calldata-re7_labs-Re7USDA.json | 10 + .../morpho/calldata-re7_labs-Re7USDC.json | 10 + .../morpho/calldata-re7_labs-Re7USDT.json | 10 + .../morpho/calldata-re7_labs-Re7WBTC.json | 10 + .../morpho/calldata-re7_labs-Re7WETH.json | 10 + .../morpho/calldata-re7_labs-Re7cbBTC.json | 10 + .../calldata-re7_labs-Re7cdxUSD1.1.json | 14 + .../morpho/calldata-re7_labs-Re7wstETH.json | 14 + .../morpho/calldata-re7_labs-degenUSDC.json | 10 + .../morpho/calldata-re7_labs-fxUSDC.json | 10 + .../morpho/calldata-re7_labs-mDEGEN.json | 10 + .../morpho/calldata-re7_labs-mMAI.json | 10 + .../morpho/calldata-re7_labs-meUSD.json | 10 + .../morpho/calldata-re7_labs-pythETH.json | 10 + .../morpho/calldata-re7_labs-pythUSDC.json | 10 + .../morpho/calldata-re7_labs-uUSDC.json | 10 + .../morpho/calldata-sparkdao-spDAI.json | 10 + .../morpho/calldata-sparkdao-sparkUSDC.json | 10 + .../calldata-steakhouse_financial-bbqDAI.json | 10 + ...calldata-steakhouse_financial-bbqUSDC.json | 10 + ...calldata-steakhouse_financial-bbqUSDT.json | 10 + ...lldata-steakhouse_financial-bbqWSTETH.json | 14 + .../calldata-steakhouse_financial-csUSDC.json | 10 + .../calldata-steakhouse_financial-csUSDL.json | 10 + ...alldata-steakhouse_financial-steakETH.json | 10 + ...lldata-steakhouse_financial-steakEURA.json | 10 + ...lldata-steakhouse_financial-steakEURC.json | 10 + ...lldata-steakhouse_financial-steakPAXG.json | 10 + ...ldata-steakhouse_financial-steakPYUSD.json | 14 + ...lldata-steakhouse_financial-steakRUSD.json | 10 + ...ldata-steakhouse_financial-steakSUSDS.json | 14 + ...lldata-steakhouse_financial-steakUSDA.json | 10 + ...lldata-steakhouse_financial-steakUSDC.json | 10 + ...ata-steakhouse_financial-steakUSDCrwa.json | 14 + ...lldata-steakhouse_financial-steakUSDM.json | 10 + ...lldata-steakhouse_financial-steakUSDQ.json | 10 + ...lldata-steakhouse_financial-steakUSDR.json | 10 + ...lldata-steakhouse_financial-steakUSDT.json | 10 + ...ta-steakhouse_financial-steakUSDTlite.json | 14 + ...lldata-steakhouse_financial-steakWBTC.json | 10 + .../calldata-9summits-9SUSDC11Core.tests.json | 73 + .../tests/calldata-MorphoBlue.tests.json | 115 + .../tests/calldata-MorphoBundlerV3.tests.json | 11 + .../calldata-b_protocol-reUSDC.tests.json | 39 + .../calldata-b_protocol-recbBTC.tests.json | 22 + .../calldata-block_analitica-bbETH.tests.json | 73 + ...calldata-block_analitica-bbUSDC.tests.json | 39 + ...calldata-block_analitica-bbUSDT.tests.json | 56 + .../calldata-gauntlet-gtAUSDc.tests.json | 22 + .../calldata-gauntlet-gtDAIcore.tests.json | 22 + .../calldata-gauntlet-gtLRTcore.tests.json | 22 + .../calldata-gauntlet-gtUSDAcore.tests.json | 39 + .../tests/calldata-gauntlet-gtUSDC.tests.json | 22 + .../calldata-gauntlet-gtUSDCcore.tests.json | 22 + .../tests/calldata-gauntlet-gtUSDT.tests.json | 22 + .../calldata-gauntlet-gtWBTCc.tests.json | 56 + .../tests/calldata-gauntlet-gtWETH.tests.json | 22 + .../calldata-gauntlet-gtWETHe.tests.json | 56 + .../calldata-gauntlet-gtcbBTCc.tests.json | 39 + .../calldata-gauntlet-gteUSDc.tests.json | 39 + .../calldata-gauntlet-gtmsETHc.tests.json | 39 + .../calldata-gauntlet-gtmsUSDc.tests.json | 22 + .../calldata-gauntlet-gtusdcf.tests.json | 39 + .../tests/calldata-gauntlet-mhyETH.tests.json | 39 + .../calldata-gauntlet-midasUSDC.tests.json | 39 + .../calldata-gauntlet-resolvUSDC.tests.json | 22 + .../calldata-gauntlet-sbMorphoUSDC.tests.json | 22 + .../calldata-gauntlet-sbMorphotBTC.tests.json | 22 + .../tests/calldata-hakutora-hUSDC.tests.json | 56 + .../calldata-leadblock-USDC-RWA.tests.json | 73 + .../calldata-mev_capital-MC-USR.tests.json | 39 + .../calldata-mev_capital-MC.eUSDC.tests.json | 56 + .../calldata-mev_capital-MC_USD0.tests.json | 56 + .../calldata-mev_capital-MCcbBTC.tests.json | 39 + .../calldata-mev_capital-MCwBTC.tests.json | 39 + .../calldata-mev_capital-MCwETH.tests.json | 22 + ...calldata-mev_capital-USUALUSDC+.tests.json | 22 + .../calldata-mev_capital-pWBTC.tests.json | 39 + .../calldata-re7_labs-Re7FRAX.tests.json | 39 + .../calldata-re7_labs-Re7USDA.tests.json | 22 + .../calldata-re7_labs-Re7USDC.tests.json | 56 + .../calldata-re7_labs-Re7WBTC.tests.json | 39 + .../calldata-re7_labs-Re7cbBTC.tests.json | 22 + .../tests/calldata-re7_labs-fxUSDC.tests.json | 56 + .../tests/calldata-sparkdao-spDAI.tests.json | 56 + ...ata-steakhouse_financial-bbqDAI.tests.json | 73 + ...ta-steakhouse_financial-bbqUSDC.tests.json | 56 + ...ta-steakhouse_financial-bbqUSDT.tests.json | 73 + ...-steakhouse_financial-bbqWSTETH.tests.json | 73 + ...ata-steakhouse_financial-csUSDC.tests.json | 39 + ...ata-steakhouse_financial-csUSDL.tests.json | 22 + ...steakhouse_financial-steakPYUSD.tests.json | 56 + ...-steakhouse_financial-steakRUSD.tests.json | 56 + ...-steakhouse_financial-steakUSDQ.tests.json | 22 + ...-steakhouse_financial-steakUSDR.tests.json | 22 + ...-steakhouse_financial-steakUSDT.tests.json | 56 + ...akhouse_financial-steakUSDTlite.tests.json | 39 + ...-steakhouse_financial-steakWBTC.tests.json | 39 + ...a-OkxDexRouterV1.0.7-multi-commission.json | 315 + ...data-OkxDexRouterV1.0.8-suffix-compat.json | 315 + ...exRouterV1.0.7-multi-commission.tests.json | 86 + .../calldata-GMTokenLimitOrder.json | 172 + .../ondo-finance/calldata-GMTokenManager.json | 91 + .../calldata-OUSGInstantManager.json | 65 + .../calldata-USDYInstantManager.json | 110 + .../calldata-GMTokenLimitOrder.tests.json | 111 + .../tests/calldata-GMTokenManager.tests.json | 69 + .../calldata-OUSGInstantManager.tests.json | 29 + .../calldata-USDYInstantManager.tests.json | 53 + .../registry/opencover/calldata-Quote.json | 75 + .../registry/opensea/eip712-opensea.json | 42 + .../opensea/tests/eip712-opensea.tests.json | 85 + .../p2p/calldata-EigenPodManager.json | 14 + .../p2p/calldata-NativeTokenVault.json | 95 + .../p2p/calldata-P2pMessageSender.json | 22 + .../calldata-P2pOrgUnlimitedEthDepositor.json | 40 + .../p2p/calldata-P2pSsvProxyFactory.json | 45 + .../tests/calldata-EigenPodManager.tests.json | 11 + .../calldata-P2pMessageSender.tests.json | 18 + ...ata-P2pOrgUnlimitedEthDepositor.tests.json | 24 + .../calldata-P2pSsvProxyFactory.tests.json | 26 + .../paraswap/calldata-AugustusSwapper-v5.json | 306 + .../calldata-AugustusSwapper-v6.2.json | 314 + .../paraswap/eip712-Velora-DeltaV2.json | 29 + .../registry/paraswap/eip712-paraswap.json | 48 + .../calldata-AugustusSwapper-v6.2.tests.json | 99 + .../tests/eip712-Velora-DeltaV2.tests.json | 77 + .../paraswap/tests/eip712-paraswap.tests.json | 119 + .../permit/eip712-permit-arbitrum-arb.json | 11 + .../eip712-permit-arbitrum-bridged-usdc.json | 11 + .../permit/eip712-permit-arbitrum-dai.json | 11 + .../permit/eip712-permit-arbitrum-gmx.json | 11 + .../permit/eip712-permit-arbitrum-link.json | 11 + .../permit/eip712-permit-arbitrum-rdnt.json | 11 + .../permit/eip712-permit-arbitrum-usdc.json | 11 + .../permit/eip712-permit-arbitrum-usds.json | 11 + .../permit/eip712-permit-arbitrum-usdt.json | 11 + .../permit/eip712-permit-arbitrum-wbtc.json | 11 + .../permit/eip712-permit-arbitrum-weth.json | 11 + .../permit/eip712-permit-arbitrum-wsteth.json | 11 + .../eip712-permit-avalanche_c_chain-joe.json | 11 + .../eip712-permit-avalanche_c_chain-link.json | 11 + ...712-permit-avalanche_c_chain-pangolin.json | 11 + ...eip712-permit-avalanche_c_chain-savax.json | 11 + .../eip712-permit-avalanche_c_chain-usdc.json | 11 + .../eip712-permit-avalanche_c_chain-usdt.json | 11 + .../eip712-permit-avalanche_c_chain-wbtc.json | 11 + .../eip712-permit-avalanche_c_chain-weth.json | 11 + ...712-permit-avalanche_c_chain-yetiswap.json | 11 + .../permit/eip712-permit-base-aero.json | 11 + .../permit/eip712-permit-base-brett.json | 11 + .../permit/eip712-permit-base-cbeth.json | 11 + .../permit/eip712-permit-base-dai.json | 11 + .../permit/eip712-permit-base-degen.json | 11 + .../permit/eip712-permit-base-toshi.json | 11 + .../permit/eip712-permit-base-usdc.json | 11 + .../permit/eip712-permit-base-usds.json | 11 + .../permit/eip712-permit-base-usdt.json | 11 + .../permit/eip712-permit-base-wsteth.json | 11 + .../permit/eip712-permit-bsc-1inch-token.json | 11 + .../permit/eip712-permit-bsc-cake.json | 11 + .../permit/eip712-permit-bsc-eth.json | 11 + .../eip712-permit-bsc-polkastarter-token.json | 11 + .../permit/eip712-permit-bsc-usdc.json | 11 + .../permit/eip712-permit-ethereum-aave.json | 11 + .../permit/eip712-permit-ethereum-dai.json | 11 + .../eip712-permit-ethereum-lido-steth.json | 11 + .../eip712-permit-ethereum-lido-wsteth.json | 11 + .../permit/eip712-permit-ethereum-link.json | 11 + .../permit/eip712-permit-ethereum-usdc.json | 11 + .../permit/eip712-permit-ethereum-usds.json | 11 + .../permit/eip712-permit-fantom-mimatic.json | 11 + .../permit/eip712-permit-fantom-wootrade.json | 11 + .../permit/eip712-permit-linea-dai.json | 11 + .../permit/eip712-permit-linea-frax.json | 11 + .../permit/eip712-permit-linea-lusd.json | 11 + .../permit/eip712-permit-linea-usdc.json | 11 + .../permit/eip712-permit-linea-usdt.json | 11 + .../permit/eip712-permit-linea-wbtc.json | 11 + .../permit/eip712-permit-linea-weth.json | 11 + .../permit/eip712-permit-linea-wsteth.json | 11 + .../permit/eip712-permit-optimism-bob.json | 11 + .../permit/eip712-permit-optimism-dai.json | 11 + .../permit/eip712-permit-optimism-lusd.json | 11 + .../permit/eip712-permit-optimism-op.json | 11 + .../permit/eip712-permit-optimism-snx.json | 11 + .../permit/eip712-permit-optimism-usdc.json | 11 + .../permit/eip712-permit-optimism-usdt.json | 11 + .../permit/eip712-permit-optimism-velo.json | 11 + .../permit/eip712-permit-optimism-wbtc.json | 11 + .../permit/eip712-permit-optimism-wsteth.json | 11 + .../eip712-permit-polygon-aave-dai.json | 11 + .../eip712-permit-polygon-aave-weth.json | 11 + .../eip712-permit-polygon-bridged-usdc.json | 11 + .../permit/eip712-permit-polygon-dai.json | 11 + .../permit/eip712-permit-polygon-link.json | 11 + .../permit/eip712-permit-polygon-quick.json | 11 + .../permit/eip712-permit-polygon-stmatic.json | 11 + .../permit/eip712-permit-polygon-usdc.json | 11 + .../permit/eip712-permit-polygon-usdt.json | 11 + .../permit/eip712-permit-polygon-wbtc.json | 11 + .../permit/eip712-permit-polygon-weth.json | 11 + .../eip712-permit-arbitrum-arb.tests.json | 42 + ...12-permit-arbitrum-bridged-usdc.tests.json | 47 + .../eip712-permit-arbitrum-dai.tests.json | 47 + .../eip712-permit-arbitrum-gmx.tests.json | 42 + .../eip712-permit-arbitrum-link.tests.json | 47 + .../eip712-permit-arbitrum-rdnt.tests.json | 42 + .../eip712-permit-arbitrum-usdc.tests.json | 42 + .../eip712-permit-arbitrum-usds.tests.json | 40 + .../eip712-permit-arbitrum-usdt.tests.json | 47 + .../eip712-permit-arbitrum-wbtc.tests.json | 47 + .../eip712-permit-arbitrum-weth.tests.json | 47 + .../eip712-permit-arbitrum-wsteth.tests.json | 47 + ...12-permit-avalanche_c_chain-joe.tests.json | 35 + ...2-permit-avalanche_c_chain-link.tests.json | 47 + ...rmit-avalanche_c_chain-pangolin.tests.json | 42 + ...-permit-avalanche_c_chain-savax.tests.json | 47 + ...2-permit-avalanche_c_chain-usdc.tests.json | 42 + ...2-permit-avalanche_c_chain-usdt.tests.json | 47 + ...2-permit-avalanche_c_chain-wbtc.tests.json | 42 + ...2-permit-avalanche_c_chain-weth.tests.json | 47 + ...rmit-avalanche_c_chain-yetiswap.tests.json | 35 + .../tests/eip712-permit-base-aero.tests.json | 42 + .../tests/eip712-permit-base-brett.tests.json | 42 + .../tests/eip712-permit-base-cbeth.tests.json | 47 + .../tests/eip712-permit-base-dai.tests.json | 47 + .../tests/eip712-permit-base-degen.tests.json | 42 + .../tests/eip712-permit-base-toshi.tests.json | 42 + .../tests/eip712-permit-base-usdc.tests.json | 42 + .../tests/eip712-permit-base-usds.tests.json | 47 + .../tests/eip712-permit-base-usdt.tests.json | 47 + .../eip712-permit-base-wsteth.tests.json | 47 + .../eip712-permit-bsc-1inch-token.tests.json | 42 + .../tests/eip712-permit-bsc-cake.tests.json | 47 + .../tests/eip712-permit-bsc-eth.tests.json | 47 + ...2-permit-bsc-polkastarter-token.tests.json | 47 + .../tests/eip712-permit-bsc-usdc.tests.json | 42 + .../eip712-permit-ethereum-aave.tests.json | 42 + .../eip712-permit-ethereum-dai.tests.json | 47 + ...p712-permit-ethereum-lido-steth.tests.json | 47 + ...712-permit-ethereum-lido-wsteth.tests.json | 47 + .../eip712-permit-ethereum-link.tests.json | 47 + .../eip712-permit-ethereum-usdc.tests.json | 42 + .../eip712-permit-ethereum-usds.tests.json | 47 + .../eip712-permit-fantom-mimatic.tests.json | 42 + .../eip712-permit-fantom-wootrade.tests.json | 47 + .../tests/eip712-permit-linea-dai.tests.json | 47 + .../tests/eip712-permit-linea-frax.tests.json | 47 + .../tests/eip712-permit-linea-lusd.tests.json | 47 + .../tests/eip712-permit-linea-usdc.tests.json | 42 + .../tests/eip712-permit-linea-usdt.tests.json | 47 + .../tests/eip712-permit-linea-wbtc.tests.json | 47 + .../tests/eip712-permit-linea-weth.tests.json | 47 + .../eip712-permit-linea-wsteth.tests.json | 47 + .../eip712-permit-optimism-bob.tests.json | 42 + .../eip712-permit-optimism-dai.tests.json | 47 + .../eip712-permit-optimism-lusd.tests.json | 47 + .../eip712-permit-optimism-op.tests.json | 42 + .../eip712-permit-optimism-snx.tests.json | 47 + .../eip712-permit-optimism-usdc.tests.json | 42 + .../eip712-permit-optimism-usdt.tests.json | 42 + .../eip712-permit-optimism-velo.tests.json | 42 + .../eip712-permit-optimism-wbtc.tests.json | 42 + .../eip712-permit-optimism-wsteth.tests.json | 47 + .../eip712-permit-polygon-aave-dai.tests.json | 47 + ...eip712-permit-polygon-aave-weth.tests.json | 42 + ...712-permit-polygon-bridged-usdc.tests.json | 47 + .../eip712-permit-polygon-dai.tests.json | 47 + .../eip712-permit-polygon-link.tests.json | 47 + .../eip712-permit-polygon-quick.tests.json | 47 + .../eip712-permit-polygon-stmatic.tests.json | 42 + .../eip712-permit-polygon-usdc.tests.json | 42 + .../eip712-permit-polygon-usdt.tests.json | 47 + .../eip712-permit-polygon-wbtc.tests.json | 42 + .../eip712-permit-polygon-weth.tests.json | 47 + .../registry/poap/calldata-PoapBridge.json | 27 + .../poap/tests/calldata-PoapBridge.tests.json | 23 + .../quickswap/calldata-QuickSwap.json | 403 ++ .../rarible/eip712-rarible-erc-1155.json | 26 + .../rarible/eip712-rarible-erc-721.json | 25 + .../eip712-rarible-exchange-v2-meta-tx.json | 42 + .../rarible/eip712-rarible-exchange-v2.json | 35 + .../eip712-rarible-exchange-wrapper.json | 32 + .../tests/eip712-rarible-erc-1155.tests.json | 63 + .../tests/eip712-rarible-erc-721.tests.json | 47 + ...712-rarible-exchange-v2-meta-tx.tests.json | 36 + .../eip712-rarible-exchange-v2.tests.json | 67 + ...eip712-rarible-exchange-wrapper.tests.json | 67 + .../registry/safe/calldata-BatchExecutor.json | 33 + .../registry/safe/calldata-Safe-1.3.0.json | 26 + .../registry/safe/calldata-Safe-1.4.1.json | 19 + .../registry/safe/calldata-Safe-1.5.0.json | 14 + .../registry/safe/calldata-SafeL2-1.3.0.json | 26 + .../registry/safe/calldata-SafeL2-1.4.1.json | 19 + .../registry/safe/calldata-SafeL2-1.5.0.json | 14 + .../safe/calldata-SafeMigration-1.4.1.json | 19 + .../safe/calldata-SafeMigration-1.5.0.json | 14 + .../safe/calldata-SafeProxyFactory-1.3.0.json | 39 + .../safe/calldata-SafeProxyFactory-1.4.1.json | 32 + .../safe/calldata-SafeProxyFactory-1.5.0.json | 26 + .../safe/calldata-SafeToL2Setup-1.4.1.json | 19 + .../safe/calldata-SafeToL2Setup-1.5.0.json | 14 + .../registry/safe/common-Safe.json | 281 + .../registry/safe/common-SafeMigration.json | 77 + .../safe/common-SafeProxyFactory.json | 32 + .../registry/safe/common-SafeToL2Setup.json | 30 + .../registry/safe/common-eip712-Safe.json | 62 + .../registry/safe/eip712-Safe-1.3.0.json | 25 + .../registry/safe/eip712-Safe-1.4.1.json | 18 + .../registry/safe/eip712-Safe-1.5.0.json | 13 + .../registry/safe/eip712-Safe-Multisig.json | 152 + .../registry/safe/eip712-SafeL2-1.3.0.json | 25 + .../registry/safe/eip712-SafeL2-1.4.1.json | 18 + .../registry/safe/eip712-SafeL2-1.5.0.json | 13 + .../safe/tests/calldata-Safe-1.3.0.tests.json | 50 + .../safe/tests/calldata-Safe-1.4.1.tests.json | 28 + .../tests/calldata-SafeL2-1.3.0.tests.json | 72 + ...calldata-SafeProxyFactory-1.3.0.tests.json | 16 + .../sei/calldata-sei-distribution.json | 58 + .../registry/sei/calldata-sei-staking.json | 155 + .../registry/serenita/calldata-EthVault.json | 78 + .../tests/calldata-EthVault.tests.json | 29 + .../smartcredit/eip712-smartcredit.json | 26 + .../tests/eip712-smartcredit.tests.json | 59 + .../starkgate/calldata-StarkGate-STRK.json | 31 + .../tests/calldata-StarkGate-STRK.tests.json | 22 + .../registry/swell/calldata-swell.json | 111 + .../swell/tests/calldata-swell.tests.json | 41 + .../calldata-ChsbToBorgMigrator.json | 31 + .../swissborg/calldata-NttManager.json | 79 + .../calldata-WormholeTransceiver.json | 18 + .../calldata-ChsbToBorgMigrator.tests.json | 11 + .../tests/calldata-NttManager.tests.json | 28 + .../calldata-WormholeTransceiver.tests.json | 18 + .../eip712-tally-arbitrum-arb-token.json | 22 + .../eip712-tally-arbitrum-core-governor.json | 21 + ...p712-tally-arbitrum-treasury-governor.json | 21 + ...ip712-tally-ethereum-bitcoin-governor.json | 21 + .../eip712-tally-ethereum-bravo-governor.json | 21 + .../eip712-tally-ethereum-ens-governor.json | 21 + .../eip712-tally-ethereum-ens-token.json | 22 + .../eip712-tally-ethereum-gtk-token.json | 19 + .../eip712-tally-ethereum-hop-governor.json | 21 + .../eip712-tally-ethereum-hop-token.json | 22 + .../eip712-tally-ethereum-pool-token.json | 22 + ...-tally-ethereum-pooltogether-governor.json | 21 + .../eip712-tally-ethereum-uni-token.json | 19 + ...eip712-tally-arbitrum-arb-token.tests.json | 23 + ...12-tally-arbitrum-core-governor.tests.json | 28 + ...ally-arbitrum-treasury-governor.tests.json | 28 + ...tally-ethereum-bitcoin-governor.tests.json | 22 + ...2-tally-ethereum-bravo-governor.tests.json | 22 + ...712-tally-ethereum-ens-governor.tests.json | 23 + ...eip712-tally-ethereum-ens-token.tests.json | 28 + ...eip712-tally-ethereum-gtk-token.tests.json | 22 + ...712-tally-ethereum-hop-governor.tests.json | 23 + ...eip712-tally-ethereum-hop-token.tests.json | 23 + ...ip712-tally-ethereum-pool-token.tests.json | 22 + ...-ethereum-pooltogether-governor.tests.json | 22 + ...eip712-tally-ethereum-uni-token.tests.json | 22 + .../registry/tether/calldata-usdt.json | 41 + .../registry/threshold/calldata-Bridge.json | 199 + .../calldata-L1BitcoinDepositor-address.json | 98 + .../calldata-L1BitcoinDepositor-bytes32.json | 114 + .../threshold/calldata-L1BitcoinRedeemer.json | 64 + .../calldata-L2BitcoinDepositor.json | 106 + .../threshold/calldata-L2BitcoinRedeemer.json | 70 + .../threshold/calldata-L2WormholeGateway.json | 114 + .../threshold/calldata-RebateStaking.json | 101 + .../registry/threshold/calldata-TBTC.json | 53 + .../threshold/calldata-TBTCVault.json | 63 + .../tests/calldata-Bridge.tests.json | 44 + ...data-L1BitcoinDepositor-address.tests.json | 19 + ...data-L1BitcoinDepositor-bytes32.tests.json | 19 + .../calldata-L1BitcoinRedeemer.tests.json | 16 + .../calldata-L2BitcoinDepositor.tests.json | 19 + .../calldata-L2BitcoinRedeemer.tests.json | 20 + .../calldata-L2WormholeGateway.tests.json | 25 + .../tests/calldata-RebateStaking.tests.json | 39 + .../threshold/tests/calldata-TBTC.tests.json | 17 + .../tests/calldata-TBTCVault.tests.json | 25 + .../uniswap/calldata-UniswapV3Router02.json | 161 + .../uniswap/eip712-UniswapX-DutchOrder.json | 40 + .../eip712-UniswapX-ExclusiveDutchOrder.json | 42 + .../uniswap/eip712-UniswapX-LimitOrder.json | 31 + .../uniswap/eip712-uniswap-V2DutchOrder.json | 39 + .../uniswap/eip712-uniswap-permit2.json | 115 + .../calldata-UniswapV3Router02.tests.json | 61 + .../eip712-UniswapX-DutchOrder.tests.json | 89 + ...12-UniswapX-ExclusiveDutchOrder.tests.json | 93 + .../eip712-UniswapX-LimitOrder.tests.json | 77 + .../eip712-uniswap-V2DutchOrder.tests.json | 93 + .../tests/eip712-uniswap-permit2.tests.json | 98 + .../uniswap/uniswap-common-eip712.json | 79 + .../walletconnect/calldata-stakeweight.json | 86 + .../registry/walletconnect/calldata-wct.json | 55 + .../tests/calldata-wct.tests.json | 35 + .../registry/weth/calldata-weth.json | 14 + .../weth/tests/calldata-weth.tests.json | 11 + .../calldata-yieldxyz-pol-validator.json | 68 + .../calldata-yieldxyz-usde-vault.json | 105 + ...calldata-yieldxyz-pol-validator.tests.json | 47 + .../calldata-yieldxyz-usde-vault.tests.json | 39 + 659 files changed, 36318 insertions(+) create mode 100644 .gitattributes create mode 100644 crates/clear-signing/src/assets/registry-snapshot/SNAPSHOT.rev create mode 100644 crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc20-tokens.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc4626-vaults.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc721-nfts.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc7540Deposit-vaults.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc7540Redeem-vaults.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/ercs/eip712-erc2612-permit.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/index.calldata.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/index.eip712.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV3.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV4-eth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV4.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV5.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV6-zksync.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV6.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-NativeOrderFactory.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/common-AggregationRouterV4.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/common-AggregationRouterV6.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/eip712-1inch-limit-order.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/eip712-AggregationRouterV6.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV3.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV4.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV5.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV6.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-NativeOrderFactory.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/eip712-1inch-limit-order.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/eip712-AggregationRouterV6.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-WrappedTokenGatewayV3.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-lpv2.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-lpv3.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-WrappedTokenGatewayV3.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-lpv2.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-lpv3.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/benqi/calldata-sAVAX.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/benqi/tests/calldata-sAVAX.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_accounts.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_election.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_governance.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_validators.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-locked_celo.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/circle/eip712-ReceiveWithAuthorization.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/circle/eip712-TransferWithAuthorization.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/circle/tests/eip712-ReceiveWithAuthorization.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/circle/tests/eip712-TransferWithAuthorization.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/consensus-specs/calldata-DepositContract.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/consensus-specs/tests/calldata-DepositContract.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-coreagent.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-corestake.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-stakehub.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/degate/eip712-degate.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/degate/tests/eip712-degate.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/dispatch/eip712-dispatch.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/dispatch/tests/eip712-dispatch.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ethena/calldata-ethena.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ethena/tests/calldata-ethena.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/fellow-fund/calldata-fellow-fund.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/figment/calldata-figment-batch-deposit.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/figment/tests/calldata-figment-batch-deposit.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-DistributionToDelegators-Flare.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-PollingFoundation-Flare.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-PollingFoundation-Songbird.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-RewardManager-Flare.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-RewardManager-Songbird.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-ValidatorRewardManager-Flare.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-EpochRewardsVault-dev.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-EpochRewardsVault.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-MintAndRedeem-dev.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-MintAndRedeem.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PftMarketplace.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PftNft.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PositionsManager.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PutManager.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-SessionManager.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-LeverageRfqEngine.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-PftMarketplace-BuyOffer.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SessionManager-FT.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SessionManager-ftUSD.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SpotOrderCancel.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-EpochRewardsVault-dev.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-EpochRewardsVault.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-MintAndRedeem-dev.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-MintAndRedeem.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PftMarketplace.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PftNft.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PositionsManager.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PutManager.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-SessionManager.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-LeverageRfqEngine.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-PftMarketplace-BuyOffer.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SessionManager-FT.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SessionManager-ftUSD.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SpotOrderCancel.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/calldata-CctpExtension.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/eip712-withdraw.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/tests/calldata-CctpExtension.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/tests/eip712-withdraw.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/igra/calldata-KasExitBridge.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-EURC-Morpho-Gauntlet-Core.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-RLUSD-Euler-Yield.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-AAVE-Arbitrum.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Aave-v3.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Euler-Yield.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Core-Base.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Core.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Prime.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-Base-multisig.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-multisig.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-MEV-Capital.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Re7-Base.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Smokehouse-USDC-multisig.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Steakhouse-USDC-multisig.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Aave-v3.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Compound-v3.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Euler-Yield.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-Prime.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Core-multisig.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Prime.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Smokehouse-USDT-multisig.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Steakhouse-USDT-multisig.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDe-Euler-Yield-USDE.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WBTC-Morpho-Gauntlet-Core.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Aave-v3.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Morpho-Gauntlet-Core.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Morpho-MEV-Capital.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-cbBTC-Morpho-Gauntlet-Core.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-batch-deposit-v2.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-batch-exit.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-fee-splitter-factory.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/common-KilnVaults.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-EURC-Morpho-Gauntlet-Core.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-RLUSD-Euler-Yield.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Aave-v3.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Euler-Yield.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-Core.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-Prime.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-multisig.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-MEV-Capital.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Smokehouse-USDC-multisig.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Steakhouse-USDC-multisig.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Aave-v3.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Compound-v3.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Euler-Yield.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-Prime.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Core-multisig.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Prime.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Smokehouse-USDT-multisig.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Steakhouse-USDT-multisig.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDe-Euler-Yield-USDE.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WBTC-Morpho-Gauntlet-Core.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Aave-v3.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Morpho-Gauntlet-Core.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Morpho-MEV-Capital.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-cbBTC-Morpho-Gauntlet-Core.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-batch-deposit-v2.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-batch-exit.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-fee-splitter-factory.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kyberswap/calldata-MetaAggregationRouterV2.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/kyberswap/tests/calldata-MetaAggregationRouterV2.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/layerswap/calldata-LayerswapDepository.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/layerswap/tests/calldata-LayerswapDepository.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ledgerquest/eip712-ledgerquest.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ledgerquest/tests/eip712-ledgerquest.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lens/eip712-lens-lenshub.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lens/eip712-lens-token-handle-registry.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lens/tests/eip712-lens-lenshub.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lens/tests/eip712-lens-token-handle-registry.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-WithdrawalQueueERC721.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-stETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-wstETH-referral-staker.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-wstETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-WithdrawalQueueERC721.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-stETH.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-wstETH-referral-staker.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-wstETH.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lifi/calldata-LIFIDiamond.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lifi/tests/calldata-LIFIDiamond.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lombard/calldata-lbtc-mainnet.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lombard/calldata-lbtc-sepolia.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lombard/eip712-network-fee-authorization-mainnet.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lombard/eip712-network-fee-authorization-sepolia.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/calldata-lbtc-mainnet.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/eip712-network-fee-authorization-mainnet.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/eip712-network-fee-authorization-sepolia.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/midas/calldata-MinterVault.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/midas/calldata-RedemptionVault.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/midas/tests/calldata-MinterVault.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/midas/tests/calldata-RedemptionVault.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SETHc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SETHcore.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSDC11Core.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSDCcore.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSR.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-MorphoBlue.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-MorphoBundlerV3.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-apostro-aprUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-apostro-aprUSR.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reGOLD.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-recbBTC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbUSDT.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwEURC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwcbBTC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-fence-ERY.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-elixirUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtAUSDc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtDAIcore.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtEURCc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtLBTCc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtLRTcore.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDAcore.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCcore.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCmkr.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCp.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDT.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWBTCc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETHc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETHe.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtcbBTCc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gteUSDc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtmsETHc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtmsUSDc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtusdcf.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-ionicUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-ionicWETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-mhyETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-midasUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-msolvbtcbbn.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-resolvUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-sbMorphoUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-sbMorphotBTC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smWETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smcbBTC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-hakutora-hUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-leadblock-USDC-RWA.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-llamarisk-llama-crvUSD.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC-USR.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC.eUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC_USD0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCcbBTC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCwBTC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCwETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-USUALUSDC+.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-pWBTC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7FRAX.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7RWA.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDA.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDT.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7WBTC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7WETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7cbBTC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7cdxUSD1.1.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7wstETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-degenUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-fxUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-mDEGEN.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-mMAI.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-meUSD.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-pythETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-pythUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-uUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-sparkdao-spDAI.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-sparkdao-sparkUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqDAI.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqUSDT.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqWSTETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-csUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-csUSDL.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakETH.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakEURA.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakEURC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakPAXG.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakPYUSD.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakRUSD.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakSUSDS.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDA.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDCrwa.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDM.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDQ.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDR.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDT.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDTlite.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakWBTC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-9summits-9SUSDC11Core.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-MorphoBlue.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-MorphoBundlerV3.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-b_protocol-reUSDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-b_protocol-recbBTC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbETH.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbUSDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbUSDT.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtAUSDc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtDAIcore.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtLRTcore.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDAcore.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDCcore.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDT.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWBTCc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWETH.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWETHe.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtcbBTCc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gteUSDc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtmsETHc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtmsUSDc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtusdcf.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-mhyETH.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-midasUSDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-resolvUSDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-sbMorphoUSDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-sbMorphotBTC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-hakutora-hUSDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-leadblock-USDC-RWA.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC-USR.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC.eUSDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC_USD0.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCcbBTC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCwBTC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCwETH.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-USUALUSDC+.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-pWBTC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7FRAX.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7USDA.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7USDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7WBTC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7cbBTC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-fxUSDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-sparkdao-spDAI.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqDAI.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqUSDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqUSDT.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqWSTETH.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-csUSDC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-csUSDL.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakPYUSD.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakRUSD.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDQ.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDR.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDT.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDTlite.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakWBTC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/okx/calldata-OkxDexRouterV1.0.8-suffix-compat.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/okx/tests/calldata-OkxDexRouterV1.0.7-multi-commission.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-GMTokenLimitOrder.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-GMTokenManager.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-OUSGInstantManager.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-USDYInstantManager.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-GMTokenLimitOrder.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-GMTokenManager.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-OUSGInstantManager.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-USDYInstantManager.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/opencover/calldata-Quote.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/opensea/eip712-opensea.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/opensea/tests/eip712-opensea.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-EigenPodManager.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-NativeTokenVault.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pMessageSender.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pOrgUnlimitedEthDepositor.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pSsvProxyFactory.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-EigenPodManager.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pMessageSender.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pOrgUnlimitedEthDepositor.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pSsvProxyFactory.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/calldata-AugustusSwapper-v5.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/calldata-AugustusSwapper-v6.2.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/eip712-Velora-DeltaV2.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/eip712-paraswap.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/calldata-AugustusSwapper-v6.2.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/eip712-Velora-DeltaV2.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/eip712-paraswap.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-arb.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-bridged-usdc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-dai.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-gmx.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-link.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-rdnt.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usdc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usds.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usdt.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-wbtc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-weth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-wsteth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-joe.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-link.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-pangolin.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-savax.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-usdc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-usdt.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-wbtc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-weth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-yetiswap.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-aero.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-brett.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-cbeth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-dai.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-degen.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-toshi.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usdc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usds.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usdt.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-wsteth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-1inch-token.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-cake.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-eth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-polkastarter-token.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-usdc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-aave.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-dai.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-lido-steth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-lido-wsteth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-link.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-usdc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-usds.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-fantom-mimatic.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-fantom-wootrade.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-dai.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-frax.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-lusd.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-usdc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-usdt.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-wbtc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-weth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-wsteth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-bob.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-dai.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-lusd.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-op.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-snx.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-usdc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-usdt.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-velo.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-wbtc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-wsteth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-aave-dai.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-aave-weth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-bridged-usdc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-dai.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-link.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-quick.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-stmatic.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-usdc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-usdt.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-wbtc.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-weth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-arb.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-bridged-usdc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-dai.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-gmx.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-link.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-rdnt.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usdc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usds.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usdt.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-wbtc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-weth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-wsteth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-joe.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-link.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-pangolin.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-savax.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-usdc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-usdt.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-wbtc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-weth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-yetiswap.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-aero.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-brett.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-cbeth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-dai.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-degen.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-toshi.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usdc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usds.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usdt.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-wsteth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-1inch-token.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-cake.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-eth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-polkastarter-token.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-usdc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-aave.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-dai.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-lido-steth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-lido-wsteth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-link.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-usdc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-usds.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-fantom-mimatic.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-fantom-wootrade.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-dai.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-frax.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-lusd.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-usdc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-usdt.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-wbtc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-weth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-wsteth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-bob.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-dai.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-lusd.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-op.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-snx.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-usdc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-usdt.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-velo.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-wbtc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-wsteth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-aave-dai.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-aave-weth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-bridged-usdc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-dai.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-link.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-quick.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-stmatic.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-usdc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-usdt.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-wbtc.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-weth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/poap/calldata-PoapBridge.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/poap/tests/calldata-PoapBridge.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/quickswap/calldata-QuickSwap.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-erc-1155.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-erc-721.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-v2-meta-tx.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-v2.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-wrapper.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-erc-1155.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-erc-721.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-v2-meta-tx.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-v2.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-wrapper.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-BatchExecutor.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.3.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.4.1.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.5.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.3.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.4.1.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.5.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeMigration-1.4.1.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeMigration-1.5.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.3.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.4.1.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.5.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeToL2Setup-1.4.1.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeToL2Setup-1.5.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-Safe.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeMigration.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeProxyFactory.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeToL2Setup.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-eip712-Safe.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.3.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.4.1.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.5.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-Multisig.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.3.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.4.1.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.5.0.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-Safe-1.3.0.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-Safe-1.4.1.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-SafeL2-1.3.0.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-SafeProxyFactory-1.3.0.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/sei/calldata-sei-distribution.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/sei/calldata-sei-staking.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/serenita/calldata-EthVault.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/serenita/tests/calldata-EthVault.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/smartcredit/eip712-smartcredit.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/smartcredit/tests/eip712-smartcredit.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/starkgate/calldata-StarkGate-STRK.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/starkgate/tests/calldata-StarkGate-STRK.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/swell/calldata-swell.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/swell/tests/calldata-swell.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-ChsbToBorgMigrator.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-NttManager.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-WormholeTransceiver.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-ChsbToBorgMigrator.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-NttManager.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-WormholeTransceiver.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-arb-token.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-core-governor.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-treasury-governor.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-bitcoin-governor.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-bravo-governor.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-ens-governor.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-ens-token.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-gtk-token.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-hop-governor.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-hop-token.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-pool-token.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-pooltogether-governor.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-uni-token.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-arb-token.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-core-governor.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-treasury-governor.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-bitcoin-governor.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-bravo-governor.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-ens-governor.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-ens-token.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-gtk-token.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-hop-governor.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-hop-token.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-pool-token.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-pooltogether-governor.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-uni-token.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/tether/calldata-usdt.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-Bridge.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinDepositor-address.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinDepositor-bytes32.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinRedeemer.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2BitcoinDepositor.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2BitcoinRedeemer.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2WormholeGateway.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-RebateStaking.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-TBTC.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-TBTCVault.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-Bridge.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinDepositor-address.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinDepositor-bytes32.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinRedeemer.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2BitcoinDepositor.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2BitcoinRedeemer.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2WormholeGateway.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-RebateStaking.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-TBTC.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-TBTCVault.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/calldata-UniswapV3Router02.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-DutchOrder.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-LimitOrder.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-uniswap-V2DutchOrder.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-uniswap-permit2.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/calldata-UniswapV3Router02.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-DutchOrder.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-ExclusiveDutchOrder.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-LimitOrder.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-uniswap-V2DutchOrder.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-uniswap-permit2.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/uniswap-common-eip712.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/calldata-stakeweight.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/calldata-wct.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/tests/calldata-wct.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/weth/calldata-weth.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/weth/tests/calldata-weth.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/calldata-yieldxyz-pol-validator.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/calldata-yieldxyz-usde-vault.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/tests/calldata-yieldxyz-pol-validator.tests.json create mode 100644 crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/tests/calldata-yieldxyz-usde-vault.tests.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..09a1171 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +crates/clear-signing/src/assets/registry-snapshot/** linguist-generated=true -diff diff --git a/crates/clear-signing/src/assets/registry-snapshot/SNAPSHOT.rev b/crates/clear-signing/src/assets/registry-snapshot/SNAPSHOT.rev new file mode 100644 index 0000000..90e808d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/SNAPSHOT.rev @@ -0,0 +1 @@ +f06846e341fb25c91e3214d6a534a3f9f4b82fd1 diff --git a/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc20-tokens.json b/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc20-tokens.json new file mode 100644 index 0000000..ba93f5d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc20-tokens.json @@ -0,0 +1,40 @@ +{ + "$schema": "../specs/erc7730-v2.schema.json", + "context": { "contract": {} }, + "display": { + "formats": { + "transfer(address _to, uint256 _value)": { + "intent": "Send", + "fields": [ + { "path": "_value", "label": "Amount", "format": "tokenAmount", "params": { "tokenPath": "@.to" }, "visible": "always" }, + { + "path": "_to", + "label": "To", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "approve(address _spender, uint256 _value)": { + "intent": "Approve", + "fields": [ + { + "path": "_spender", + "label": "Spender", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "_value", + "label": "Amount", + "format": "tokenAmount", + "params": { "tokenPath": "@.to", "threshold": "0x8000000000000000000000000000000000000000000000000000000000000000" }, + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc4626-vaults.json b/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc4626-vaults.json new file mode 100644 index 0000000..4e11582 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc4626-vaults.json @@ -0,0 +1,101 @@ +{ + "$schema": "../specs/erc7730-v2.schema.json", + "context": { "contract": {} }, + "metadata": { "constants": { "underlyingToken": "0x0" } }, + "display": { + "formats": { + "deposit(uint256 assets, address receiver)": { + "intent": "Deposit", + "fields": [ + { + "path": "assets", + "label": "Deposit asset", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.underlyingToken" }, + "visible": "always" + }, + { "label": "Share ticker", "format": "raw", "value": "$.metadata.constants.vaultTicker" }, + { + "path": "receiver", + "label": "Send shares to", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "mint(uint256 shares, address receiver)": { + "intent": "Mint", + "fields": [ + { "label": "Deposit asset", "format": "raw", "value": "$.metadata.constants.underlyingTicker" }, + { + "path": "shares", + "label": "Minted shares", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { + "path": "receiver", + "label": "Mint shares to", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "withdraw(uint256 assets, address receiver, address owner)": { + "intent": "Withdraw", + "fields": [ + { + "path": "assets", + "label": "Withdraw exactly", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.underlyingToken" }, + "visible": "always" + }, + { + "path": "receiver", + "label": "To", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "owner", + "label": "Owner", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "redeem(uint256 shares, address receiver, address owner)": { + "intent": "Redeem", + "fields": [ + { + "path": "shares", + "label": "Shares to redeem", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { + "path": "receiver", + "label": "To", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "owner", + "label": "Owner", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc721-nfts.json b/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc721-nfts.json new file mode 100644 index 0000000..d097be4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc721-nfts.json @@ -0,0 +1,52 @@ +{ + "$schema": "../specs/erc7730-v2.schema.json", + "context": { "contract": {} }, + "metadata": { "enums": { "rights": { "True": "Grant all", "False": "Deny all" } } }, + "display": { + "definitions": { + "from": { "label": "From", "format": "addressName", "params": { "types": ["eoa"], "sources": ["local", "ens"] } }, + "to": { "label": "To", "format": "addressName", "params": { "types": ["eoa"], "sources": ["local", "ens"] } }, + "operator": { "label": "Operator", "format": "addressName", "params": { "types": ["contract"], "sources": ["local", "ens"] } }, + "tokenId": { "label": "NFT", "format": "nftName", "params": { "collectionPath": "@.to" } } + }, + "formats": { + "transferFrom(address _from, address _to, uint256 _tokenId)": { + "intent": "Send NFT", + "fields": [ + { "path": "_from", "$ref": "$.display.definitions.from" }, + { "path": "_to", "$ref": "$.display.definitions.to", "visible": "always" }, + { "path": "_tokenId", "$ref": "$.display.definitions.tokenId", "visible": "always" } + ] + }, + "safeTransferFrom(address _from, address _to, uint256 _tokenId)": { + "intent": "Send NFT", + "fields": [ + { "path": "_from", "$ref": "$.display.definitions.from" }, + { "path": "_to", "$ref": "$.display.definitions.to" }, + { "path": "_tokenId", "$ref": "$.display.definitions.tokenId" } + ] + }, + "approve(address _approved, uint256 _tokenId)": { + "intent": "Approve operator for NFT", + "fields": [ + { "path": "_approved", "$ref": "$.display.definitions.operator" }, + { "path": "_tokenId", "$ref": "$.display.definitions.tokenId" } + ] + }, + "setApprovalForAll(address _operator, bool _approved)": { + "$id": "setApprovalForAll", + "intent": "Manage operator rights for", + "fields": [ + { + "path": "@.to", + "label": "Collection", + "format": "addressName", + "params": { "types": ["collection"], "sources": ["local", "ens"] } + }, + { "path": "_operator", "$ref": "$.display.definitions.operator" }, + { "path": "_approved", "label": "Access rights", "format": "enum", "params": { "$ref": "$.metadata.enums.rights" } } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc7540Deposit-vaults.json b/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc7540Deposit-vaults.json new file mode 100644 index 0000000..5402326 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc7540Deposit-vaults.json @@ -0,0 +1,102 @@ +{ + "$schema": "../specs/erc7730-v2.schema.json", + "context": { "contract": {} }, + "metadata": { "constants": { "underlyingToken": "0x0" } }, + "display": { + "formats": { + "deposit(uint256 assets, address receiver, address controller)": { + "intent": "Claim deposit", + "fields": [ + { + "path": "assets", + "label": "Amount of assets to finalize deposit for", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.underlyingToken" }, + "visible": "always" + }, + { "label": "Receive shares", "format": "raw", "value": "$.metadata.constants.vaultTicker" }, + { + "path": "receiver", + "label": "Send shares to", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "controller", + "label": "Controller of the request", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "mint(uint256 shares, address receiver, address controller)": { + "intent": "Mint", + "fields": [ + { "label": "Claim deposit", "format": "raw", "value": "$.metadata.constants.underlyingTicker" }, + { + "path": "shares", + "label": "Amount of shares to mint", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { + "path": "receiver", + "label": "Send shares to", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "controller", + "label": "Controller of the request", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "requestDeposit(uint256 assets, address controller, address owner)": { + "intent": "Request deposit", + "fields": [ + { + "path": "assets", + "label": "Amount of assets to request deposit for", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.underlyingToken" }, + "visible": "always" + }, + { + "path": "controller", + "label": "Controller of the request", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "owner", + "label": "Owner of the shares", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "setOperator(address operator, bool approved)": { + "intent": "Set operator", + "fields": [ + { + "path": "operator", + "label": "Operator", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { "path": "approved", "label": "Approved", "format": "raw", "visible": "always" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc7540Redeem-vaults.json b/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc7540Redeem-vaults.json new file mode 100644 index 0000000..7a62ea4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/ercs/calldata-erc7540Redeem-vaults.json @@ -0,0 +1,101 @@ +{ + "$schema": "../specs/erc7730-v2.schema.json", + "context": { "contract": {} }, + "metadata": { "constants": { "underlyingToken": "0x0" } }, + "display": { + "formats": { + "redeem(uint256 shares, address receiver, address controller)": { + "intent": "Claim redemption", + "fields": [ + { + "path": "shares", + "label": "Amount of shares to finalize redemption for", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { + "path": "receiver", + "label": "Send assets to", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "controller", + "label": "Controller of the request", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "withdraw(uint256 assets, address receiver, address controller)": { + "intent": "Withdraw", + "fields": [ + { "label": "Claim withdrawal", "format": "raw", "value": "$.metadata.constants.underlyingTicker" }, + { + "path": "assets", + "label": "Amount of assets to receive", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.underlyingToken" }, + "visible": "always" + }, + { + "path": "receiver", + "label": "Send assets to", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "controller", + "label": "Controller of the request", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "requestRedeem(uint256 shares, address controller, address owner)": { + "intent": "Request redemption", + "fields": [ + { + "path": "shares", + "label": "Amount of shares to request redemption for", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { + "path": "controller", + "label": "Controller of the request", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "owner", + "label": "Owner of the shares", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "setOperator(address operator, bool approved)": { + "intent": "Set operator", + "fields": [ + { + "path": "operator", + "label": "Operator", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { "path": "approved", "label": "Approved", "format": "raw", "visible": "always" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/ercs/eip712-erc2612-permit.json b/crates/clear-signing/src/assets/registry-snapshot/ercs/eip712-erc2612-permit.json new file mode 100644 index 0000000..8a31815 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/ercs/eip712-erc2612-permit.json @@ -0,0 +1,24 @@ +{ + "$schema": "../specs/erc7730-v2.schema.json", + "context": { "eip712": {} }, + "display": { + "formats": { + "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)": { + "intent": "Authorize spending of tokens", + "fields": [ + { "path": "spender", "label": "Spender", "format": "raw", "visible": "always" }, + { + "path": "value", + "label": "Max spending amount", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { "path": "deadline", "label": "Valid until", "format": "date", "params": { "encoding": "timestamp" } }, + { "label": "Owner", "path": "owner", "visible": "never" }, + { "label": "Nonce", "path": "nonce", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/index.calldata.json b/crates/clear-signing/src/assets/registry-snapshot/index.calldata.json new file mode 100644 index 0000000..4e90b31 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/index.calldata.json @@ -0,0 +1,635 @@ +{ + "eip155:100:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:100:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:100:0x721b9abab6511b46b9ee83a1aba23bdacb004149": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:100:0xb50201558b00496a145fe76f7424749556e326d8": "registry/aave/calldata-lpv3.json", + "eip155:100:0xe12e0f117d23a5ccc57f8935cd8c4e80cd91ff01": "registry/1inch/calldata-NativeOrderFactory.json", + "eip155:1030:0x23e2f2fa1967faffde2e05fdecbb3fa787a5d3e5": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:106:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:1088:0x24ca98fb6972f5ee05f0db00595c7f68d9fafd68": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:1088:0x90df02551bb792286e8d4f13e0e357b4bf1d6a57": "registry/aave/calldata-lpv3.json", + "eip155:1088:0xdd5e9b947c99aa60bab00ca4631dce63b49983e7": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:10:0x0ac34fe133bde3a2ef589a18a4e10b6a7d253829": "registry/opencover/calldata-Quote.json", + "eip155:10:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:10:0x1111111254eeb25477b68fb85ed929f73a960582": "registry/1inch/calldata-AggregationRouterV5.json", + "eip155:10:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:10:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": "registry/safe/calldata-SafeL2-1.4.1.json", + "eip155:10:0x3e5c63644e683549055b9be8653de26e0b4cd36e": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:10:0x41675c099f32341bf84bfc5382af534df5c7461a": "registry/safe/calldata-Safe-1.4.1.json", + "eip155:10:0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67": "registry/safe/calldata-SafeProxyFactory-1.4.1.json", + "eip155:10:0x521b4c065bbdbe3e20b3727340730936912dfa46": "registry/walletconnect/calldata-stakeweight.json", + "eip155:10:0x526643f69b81b008f46d95cd5ced5ec0edffdac6": "registry/safe/calldata-SafeMigration-1.4.1.json", + "eip155:10:0x5f2508cae9923b02316254026cd43d7902866725": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:10:0x6733eb2e75b1625f1fe5f18ad2cb2babda510d19": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:10:0x69f4d1788e39c87893c980c06edf4b7f686e2938": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:10:0x6a000f20005980200259b80c5102003040001068": "registry/paraswap/calldata-AugustusSwapper-v6.2.json", + "eip155:10:0x794a61358d6845594f94dc1db02a252b5b4814ad": "registry/aave/calldata-lpv3.json", + "eip155:10:0xa6b71e26c5e0845f74c812102ca7114b6a896ab2": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:10:0xbd89a1ce4dde368ffab0ec35506eece0b1ffdc54": "registry/safe/calldata-SafeToL2Setup-1.4.1.json", + "eip155:10:0xc22834581ebc8527d974f8a1c97e1bea4ef910bc": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:10:0xd0efb07126e865ac95b60381b468081ef648ec5f": "registry/safe/calldata-BatchExecutor.json", + "eip155:10:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:10:0xe12e0f117d23a5ccc57f8935cd8c4e80cd91ff01": "registry/1inch/calldata-NativeOrderFactory.json", + "eip155:10:0xef4461891dfb3ac8572ccf7c794664a8dd927945": "registry/walletconnect/calldata-wct.json", + "eip155:10:0xfb1bffc9d739b8d520daf37df666da4c687191ea": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:1101:0x79f7c6c6dc16ed3154e85a8ef9c1ef31cefaeb19": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:11155111:0x14f2982d601c9458f93bd70b218933a6f8165e7b": "registry/safe/calldata-SafeProxyFactory-1.5.0.json", + "eip155:11155111:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": "registry/safe/calldata-SafeL2-1.4.1.json", + "eip155:11155111:0x2cc8475177918e8c4d840150b68815a4b6f0f5f3": "registry/safe/calldata-BatchExecutor.json", + "eip155:11155111:0x3e5c63644e683549055b9be8653de26e0b4cd36e": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:11155111:0x41675c099f32341bf84bfc5382af534df5c7461a": "registry/safe/calldata-Safe-1.4.1.json", + "eip155:11155111:0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67": "registry/safe/calldata-SafeProxyFactory-1.4.1.json", + "eip155:11155111:0x526643f69b81b008f46d95cd5ced5ec0edffdac6": "registry/safe/calldata-SafeMigration-1.4.1.json", + "eip155:11155111:0x6439e7abd8bb915a5263094784c5cf561c4172ac": "registry/safe/calldata-SafeMigration-1.5.0.json", + "eip155:11155111:0x69f4d1788e39c87893c980c06edf4b7f686e2938": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:11155111:0x731efa688f3679688cf60a3993b8658138953ed6": "registry/lombard/calldata-lbtc-sepolia.json", + "eip155:11155111:0x900c7589200010d6c6ecaae5b06ebe653bc2d82a": "registry/safe/calldata-SafeToL2Setup-1.5.0.json", + "eip155:11155111:0xa6b71e26c5e0845f74c812102ca7114b6a896ab2": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:11155111:0xbd89a1ce4dde368ffab0ec35506eece0b1ffdc54": "registry/safe/calldata-SafeToL2Setup-1.4.1.json", + "eip155:11155111:0xc22834581ebc8527d974f8a1c97e1bea4ef910bc": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:11155111:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:11155111:0xedd160febbd92e350d4d398fb636302fccd67c7e": "registry/safe/calldata-SafeL2-1.5.0.json", + "eip155:11155111:0xfb1bffc9d739b8d520daf37df666da4c687191ea": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:11155111:0xff51a5898e281db6dfc7855790607438df2ca44b": "registry/safe/calldata-Safe-1.5.0.json", + "eip155:11155111:0xfff9976782d46cc05630d1f6ebab18b2324d6b14": "registry/weth/calldata-weth.json", + "eip155:1116:0x0000000000000000000000000000000000001010": "registry/corestake/calldata-stakehub.json", + "eip155:1116:0x0000000000000000000000000000000000001011": "registry/corestake/calldata-coreagent.json", + "eip155:1116:0xf5fa1728babc3f8d2a617397fac2696c958c3409": "registry/corestake/calldata-corestake.json", + "eip155:122:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:1284:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:1285:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:130:0x23e2f2fa1967faffde2e05fdecbb3fa787a5d3e5": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:1313161554:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:1313161554:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:137:0x057cfd839aa88994d1a8a8c6d336cf21550f05ef": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:137:0x0ac34fe133bde3a2ef589a18a4e10b6a7d253829": "registry/opencover/calldata-Quote.json", + "eip155:137:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:137:0x11111112542d85b3ef69ae05771c2dccff4faa26": "registry/1inch/calldata-AggregationRouterV3.json", + "eip155:137:0x1111111254eeb25477b68fb85ed929f73a960582": "registry/1inch/calldata-AggregationRouterV5.json", + "eip155:137:0x1111111254fb6c44bac0bed2854e76f90643097d": "registry/1inch/calldata-AggregationRouterV4.json", + "eip155:137:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:137:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": "registry/safe/calldata-SafeL2-1.4.1.json", + "eip155:137:0x2cc8475177918e8c4d840150b68815a4b6f0f5f3": "registry/safe/calldata-BatchExecutor.json", + "eip155:137:0x3e5c63644e683549055b9be8653de26e0b4cd36e": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:137:0x41675c099f32341bf84bfc5382af534df5c7461a": "registry/safe/calldata-Safe-1.4.1.json", + "eip155:137:0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67": "registry/safe/calldata-SafeProxyFactory-1.4.1.json", + "eip155:137:0x526643f69b81b008f46d95cd5ced5ec0edffdac6": "registry/safe/calldata-SafeMigration-1.4.1.json", + "eip155:137:0x69f4d1788e39c87893c980c06edf4b7f686e2938": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:137:0x6a000f20005980200259b80c5102003040001068": "registry/paraswap/calldata-AugustusSwapper-v6.2.json", + "eip155:137:0x794a61358d6845594f94dc1db02a252b5b4814ad": "registry/aave/calldata-lpv3.json", + "eip155:137:0x8dff5e27ea6b7ac08ebfdf9eb090f32ee9a30fcf": "registry/aave/calldata-lpv2.json", + "eip155:137:0xa5e0829caced8ffdd4de3c43696c57f7d7a678ff": "registry/quickswap/calldata-QuickSwap.json", + "eip155:137:0xa6b71e26c5e0845f74c812102ca7114b6a896ab2": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:137:0xbc302053db3aa514a3c86b9221082f162b91ad63": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:137:0xbd89a1ce4dde368ffab0ec35506eece0b1ffdc54": "registry/safe/calldata-SafeToL2Setup-1.4.1.json", + "eip155:137:0xc2132d05d31c914a87c6611c10748aeb04b58e8f": "registry/tether/calldata-usdt.json", + "eip155:137:0xc22834581ebc8527d974f8a1c97e1bea4ef910bc": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:137:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:137:0xdef171fe48cf0115b1d80b88dc8eab59176fee57": "registry/paraswap/calldata-AugustusSwapper-v5.json", + "eip155:137:0xe12e0f117d23a5ccc57f8935cd8c4e80cd91ff01": "registry/1inch/calldata-NativeOrderFactory.json", + "eip155:137:0xfb1bffc9d739b8d520daf37df666da4c687191ea": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:143:0x2ce347decfc8dab433c4eb6ca171747e5a82c332": "registry/midas/calldata-RedemptionVault.json", + "eip155:143:0x6088d94c5a40cecd3ae2d4e0710ca687b91c61d0": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:143:0xdf7deb47635af76da5e455c6b0f4e26222326fd9": "registry/midas/calldata-MinterVault.json", + "eip155:1440000:0x30fbc82a72ca674aa250cd6c27bcca1fe602f1bb": "registry/midas/calldata-MinterVault.json", + "eip155:1440000:0xdac1b058ce42b67ba33dbfdba972d76c83c085d6": "registry/midas/calldata-RedemptionVault.json", + "eip155:146:0x061d8e131f26512348ee5fa42e2df1ba9d6505e9": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:146:0x0c6f8ec81c3ea5bff06f6cd0791780f9f050ee31": "registry/flyingtulip/calldata-MintAndRedeem.json", + "eip155:146:0x109ae72778a0260571b9767477204f1ce41fbdff": "registry/flyingtulip/calldata-SessionManager.json", + "eip155:146:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:146:0x137d66e0a5d4ceee0a7eda011bc3aa94931c7234": "registry/flyingtulip/calldata-EpochRewardsVault-dev.json", + "eip155:146:0x1d8051c90076faa5b683a3551ee4369d00f99d67": "registry/flyingtulip/calldata-PftNft.json", + "eip155:146:0x2daf4b445e7d659100b22a15c3eeb10e64ac5dc9": "registry/flyingtulip/calldata-SessionManager.json", + "eip155:146:0x52ef449d44cc4205fa44bf644dee15611fc30734": "registry/flyingtulip/calldata-SessionManager.json", + "eip155:146:0x5362dbb1e601abf3a4c14c22ffeda64042e5eaa3": "registry/aave/calldata-lpv3.json", + "eip155:146:0x82ffb119eeed117bae7a2cf38ce52eaba3871821": "registry/flyingtulip/calldata-PositionsManager.json", + "eip155:146:0x86f752f1f662f39bfbcbef95ee56b6c20d178969": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:146:0x9bb958d459a97e3e37e11becf842e728167d9114": "registry/flyingtulip/calldata-PftMarketplace.json", + "eip155:146:0xa4215daaf3745e14e96e169e0e7706c479ce04f2": "registry/flyingtulip/calldata-PftNft.json", + "eip155:146:0xabd838e9977fc76430d637ed35eccfaf178ce071": "registry/flyingtulip/calldata-PutManager.json", + "eip155:146:0xb9b23b0555b8066f3d5954ea6c679a02339f78dc": "registry/flyingtulip/calldata-MintAndRedeem-dev.json", + "eip155:146:0xba49d0ac42f4fba4e24a8677a22218a4df75ebaa": "registry/flyingtulip/calldata-PutManager.json", + "eip155:146:0xbe4050a73a7fb384c65e885a15c33461a4b20055": "registry/flyingtulip/calldata-PositionsManager.json", + "eip155:146:0xd1e5a86f1005f6356bd022c587de0f430cd2aeb1": "registry/flyingtulip/calldata-EpochRewardsVault.json", + "eip155:146:0xe12e0f117d23a5ccc57f8935cd8c4e80cd91ff01": "registry/1inch/calldata-NativeOrderFactory.json", + "eip155:14:0x9c7a4c83842b29bb4a082b0e689cb9474bd938d0": "registry/flare/calldata-DistributionToDelegators-Flare.json", + "eip155:14:0xc0cf3aaf93bd978c5bc662564aa73e331f2ec0b5": "registry/flare/calldata-ValidatorRewardManager-Flare.json", + "eip155:14:0xc8294a2335c6c45de827121090ce4ba9977907d2": "registry/flare/calldata-PollingFoundation-Flare.json", + "eip155:14:0xc8f55c5aa2c752ee285bd872855c749f4ee6239b": "registry/flare/calldata-RewardManager-Flare.json", + "eip155:16661:0x72a93168ae79f269deb2b1892f2afd7eaa800271": "registry/midas/calldata-MinterVault.json", + "eip155:16661:0x9dae503014edc48a4d8fe789f22c70ae650eb79b": "registry/midas/calldata-RedemptionVault.json", + "eip155:1666600000:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:167004:0x3a9a5dba8fe1c4da98187ce4755701bca182f63b": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:169:0x8feb9e84b7e9dc86adc6cd6eb554c5b4355c8405": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:1776:0x8f42ef868cac8bbed00a1343cf06373fea1c40c0": "registry/midas/calldata-MinterVault.json", + "eip155:1776:0xc5a2adeacc1cf8424630c0c6b09e1df6e871c65a": "registry/midas/calldata-RedemptionVault.json", + "eip155:1868:0x6376d4df995f32f308f2d5049a7a320943023232": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:1868:0xdd3d7a7d03d9fd9ef45f3e587287922ef65ca38b": "registry/aave/calldata-lpv3.json", + "eip155:196:0xd1b8997aac08c619d40be2e4284c9c72cab33954": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:19:0x79df47237292dbd1477502cff3f61cd535b0face": "registry/flare/calldata-PollingFoundation-Songbird.json", + "eip155:19:0xe26ad68b17224951b5740f33926cc438764eb9a7": "registry/flare/calldata-RewardManager-Songbird.json", + "eip155:1:0x00000000219ab540356cbb839cbe05303d7705fa": "registry/consensus-specs/calldata-DepositContract.json", + "eip155:1:0x004c226fff73aa94b78a4df1a0e861797ba16819": "registry/kiln/calldata-kiln-batch-exit.json", + "eip155:1:0x00b6f2c15e4439749f192d10c70f65354848cf4b": "registry/morpho/calldata-9summits-9SUSR.json", + "eip155:1:0x00f05efa6d73335225f23b5adb1fc873795aaccf": "registry/kiln/calldata-Vault-USDT-Morpho-Steakhouse-USDT-multisig.json", + "eip155:1:0x0404fd1a77756eb029f06b5cdea88b2b2ddc2fee": "registry/morpho/calldata-gauntlet-elixirUSDC.json", + "eip155:1:0x057e9b54c04b467ccd9dfb56a84bdd99c17a2a50": "registry/kiln/calldata-Vault-WETH-Morpho-MEV-Capital.json", + "eip155:1:0x059fc6723b9bf77dbf4283c8d7c90ea8af44ef10": "registry/morpho/calldata-gauntlet-sbMorphotBTC.json", + "eip155:1:0x067d3d0e11efd564fed27b48da1198ab0f492ed1": "registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Prime.json", + "eip155:1:0x06998af8f39ff8630d1fb515d22781da4dc2ca71": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0x097ffedb80d4b2ca6105a07a4d90eb739c45a666": "registry/morpho/calldata-steakhouse_financial-steakUSDTlite.json", + "eip155:1:0x0bb4d3e88243f4a057db77341e6916b0e449b158": "registry/poap/calldata-PoapBridge.json", + "eip155:1:0x0d89c1c4799353f3805a3e6c4e1cbbb83217d123": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x0f359fd18bda75e9c49bc027e7da59a4b01bf32a": "registry/morpho/calldata-b_protocol-reUSDC.json", + "eip155:1:0x0f7e323103b29e1b18d521de957ed0c4c0a8189e": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x10cc8dbca90db7606013d8cd2e77eb024df693bd": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:1:0x11111112542d85b3ef69ae05771c2dccff4faa26": "registry/1inch/calldata-AggregationRouterV3.json", + "eip155:1:0x1111111254eeb25477b68fb85ed929f73a960582": "registry/1inch/calldata-AggregationRouterV5.json", + "eip155:1:0x1111111254fb6c44bac0bed2854e76f90643097d": "registry/1inch/calldata-AggregationRouterV4-eth.json", + "eip155:1:0x11aee91ed1e5a40443dd0ed21f7cf4d3fd4e0826": "registry/kiln/calldata-Vault-RLUSD-Euler-Yield.json", + "eip155:1:0x11dbf3cd45d339ed8971623be739883debdf239a": "registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Core-multisig.json", + "eip155:1:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:1:0x125d41a6e5dbf455cd9df8f80bcc6fd172d52cc6": "registry/morpho/calldata-gauntlet-gtUSDAcore.json", + "eip155:1:0x1265a81d42d513df40d0031f8f2e1346954d665a": "registry/morpho/calldata-mev_capital-MC.eUSDC.json", + "eip155:1:0x132e6c9c33a62d7727cd359b1f51e5b566e485eb": "registry/morpho/calldata-gauntlet-resolvUSDC.json", + "eip155:1:0x14f2982d601c9458f93bd70b218933a6f8165e7b": "registry/safe/calldata-SafeProxyFactory-1.5.0.json", + "eip155:1:0x15c2b3adca66e26b6f230b4023f52a285b7f9995": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0x15f724b35a75f0c28f352b952ea9d1b24e348c57": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x164645fbc7220a3b4f8f5c6b473bcf1b6db146dd": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x16d4f955b0aa1b1570fe3e9bb2f8c19c407cdb67": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x186514400e52270cef3d80e1c6f8d10a75d47344": "registry/morpho/calldata-block_analitica-bbUSDC.json", + "eip155:1:0x19ab19e61a930bc5c7b75bf06cdd954218ca9f0b": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x1b4cd53a1a8e5f50ab6320ef34e5fb4d3df7b6f6": "registry/morpho/calldata-gauntlet-gtAUSDc.json", + "eip155:1:0x1c530d6de70c05a81bf1670157b9d928e9699089": "registry/morpho/calldata-mev_capital-MCwBTC.json", + "eip155:1:0x1e2aaadcf528b9cc08f43d4fd7db488ce89f5741": "registry/morpho/calldata-9summits-9SUSDC11Core.json", + "eip155:1:0x1e6ffa4e9f63d10b8820a3ab52566af881dab53c": "registry/morpho/calldata-gauntlet-gtWETHe.json", + "eip155:1:0x1fce9396c3add4c3a2ed6b4461425b36ebc4bf87": "registry/kiln/calldata-Vault-USDC-Euler-Yield.json", + "eip155:1:0x1fe17936c1cdc73c857263997716e3a60b9291c7": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x2371e134e3455e0593363cbf89d3b6cf53740618": "registry/morpho/calldata-gauntlet-gtWETH.json", + "eip155:1:0x23be839a14cec3d6d716d904f09368bbf9c750eb": "registry/p2p/calldata-P2pOrgUnlimitedEthDepositor.json", + "eip155:1:0x25d598cbb74fa73290e74697616de2740d280745": "registry/fellow-fund/calldata-fellow-fund.json", + "eip155:1:0x2905b3387c9550ea57fa3ee7d4b7e5abf3acd3d2": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": "registry/safe/calldata-SafeL2-1.4.1.json", + "eip155:1:0x2a4e2dacc45186bed96d9f766cb6be6b0f8a26f1": "registry/kiln/calldata-Vault-USDC-Morpho-MEV-Capital.json", + "eip155:1:0x2c25f6c25770ffec5959d34b94bf898865e5d6b1": "registry/morpho/calldata-block_analitica-bbUSDT.json", + "eip155:1:0x2cc8475177918e8c4d840150b68815a4b6f0f5f3": "registry/safe/calldata-BatchExecutor.json", + "eip155:1:0x2d152fb171353e70e45322d32bc748f8a61d9971": "registry/yieldxyz/calldata-yieldxyz-usde-vault.json", + "eip155:1:0x2d7d5b1706653796602617350571b3f8999b950c": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x2daf4b445e7d659100b22a15c3eeb10e64ac5dc9": "registry/flyingtulip/calldata-SessionManager.json", + "eip155:1:0x2db1ec186acdeaf7d0fc78bffe335560b0fe0085": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x2ddc913e4c7674a7e42c55db48a92c47158e91c6": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x2ea3c215daeacc1c90b51443ab5d08a9ad816138": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0x2f1abb81ed86be95bcf8178ba62c8e72d6834775": "registry/morpho/calldata-mev_capital-pWBTC.json", + "eip155:1:0x30881baa943777f92dc934d53d3bfdf33382cab3": "registry/morpho/calldata-steakhouse_financial-steakUSDR.json", + "eip155:1:0x30acceedff97a3fe11ab52ee7425af4589338c06": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x30d9d1e76869516aea980390494aaed45c3efc1a": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x319a05e260acc2490768a726ccfd341d4b3d5106": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x34031e751da2ab19009d8f7eb268face2bdfd0dd": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x35b1ca0f398905cf752e6fe122b51c88022fca32": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0x370522edff79fca69e38f42c378531ba71d09678": "registry/kiln/calldata-Vault-USDe-Euler-Yield-USDE.json", + "eip155:1:0x37769af173ea65dfc2880179940d5566817af6ae": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x38989bba00bdf8181f4082995b3deae96163ac5d": "registry/morpho/calldata-block_analitica-bbETH.json", + "eip155:1:0x3dc3b74698cd3e5e8c3a952342f6dd5696ad633d": "registry/kiln/calldata-Vault-USDC-Morpho-Steakhouse-USDC-multisig.json", + "eip155:1:0x3e5c63644e683549055b9be8653de26e0b4cd36e": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:1:0x41438435c20b1c2f1fca702d387889f346a0c3de": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x41675c099f32341bf84bfc5382af534df5c7461a": "registry/safe/calldata-Safe-1.4.1.json", + "eip155:1:0x416ec6e04c009f9bae99a47ef836bf2cc64ec93c": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x443df5eee3196e9b2dd77cabd3ea76c3dee8f9b2": "registry/morpho/calldata-gauntlet-gtWBTCc.json", + "eip155:1:0x44b0440e35c596e858cea433d0d82f5a985fd19c": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x45c1875f1c48622b3d9740af2d7dc62bc9a72422": "registry/morpho/calldata-b_protocol-reGOLD.json", + "eip155:1:0x45e581d6841f0a99fc34f70871ef56b353813ddb": "registry/swissborg/calldata-WormholeTransceiver.json", + "eip155:1:0x467585aaea860f9d8b3b43bb994e4da8a93788a7": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0x4881ef0bf6d2365d3dd6499ccd7532bcdbce0658": "registry/morpho/calldata-gauntlet-gtLRTcore.json", + "eip155:1:0x4bcfda0a844b49da8bb19562ee52cc385395001a": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x4ca0e178c94f039d7f202e09d8d1a655ed3fb6b6": "registry/morpho/calldata-leadblock-USDC-RWA.json", + "eip155:1:0x4e1224f513048e18e7a1883985b45dc0fe1d917e": "registry/p2p/calldata-P2pMessageSender.json", + "eip155:1:0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67": "registry/safe/calldata-SafeProxyFactory-1.4.1.json", + "eip155:1:0x4f460bb11cf958606c69a963b4a17f9daeeea8b6": "registry/morpho/calldata-re7_labs-fxUSDC.json", + "eip155:1:0x4fd4dd7171d14e5bd93025ec35374d2b9b4321b0": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x4ff4186188f8406917293a9e01a1ca16d3cf9e59": "registry/morpho/calldata-gauntlet-sbMorphoUSDC.json", + "eip155:1:0x500331c9ff24d9d11aee6b07734aa72343ea74a5": "registry/morpho/calldata-gauntlet-gtDAIcore.json", + "eip155:1:0x511d88e64d843ee11bf039a3eb837393001aede7": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x526643f69b81b008f46d95cd5ced5ec0edffdac6": "registry/safe/calldata-SafeMigration-1.4.1.json", + "eip155:1:0x52e808bd3496c69c705028a258aee0a6e1a5b35d": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x5356b8e06589de894d86b24f4079c629e8565234": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x5455222ccdd32f85c1998f57dc6cf613b4498c2a": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x54602a8e47bf82073d75e0ac2aef67f84fbcb8e4": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x5572eb7f4fb679ff6a99203f12b0484dc1062d78": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x569d7dccbf6923350521ecbc28a555a500c4f0ec": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x56d783ca8e0b998c57a428bf1c26a8baca50524e": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0x576834cb068e677db4aff6ca245c7bde16c3867e": "registry/kiln/calldata-kiln-batch-deposit-v2.json", + "eip155:1:0x57b3be350c777892611cedc93bcf8c099a9ecdab": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x5a10de50160126a5f936506bd342c541ac44e943": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0x5ad2e3d65f8ecdc36eeba38bae3cc6ff258d2dfa": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x5ae23d23b7986a708cba9bf808ad9a43bf77d1b7": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x5aea6d35ed7b3b7ae78694b7da2ee880756af5c0": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x5e154946561aea4e750aac6dead23d37e00e47f6": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x5e1f62dac767b0491e3ce72469c217365d5b48cc": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:1:0x5e720481e8de9c59547ad5a65742adddb53dd765": "registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Prime.json", + "eip155:1:0x5ed861aec31ccb496689fd2e0a1a3f8e8d7b8824": "registry/p2p/calldata-P2pSsvProxyFactory.json", + "eip155:1:0x60d715515d4411f7f43e4206dc5d4a3677f0ec78": "registry/morpho/calldata-re7_labs-Re7USDC.json", + "eip155:1:0x640522135e5e4598cae85b170d5a675a53770fa0": "registry/kiln/calldata-Vault-USDC-Aave-v3.json", + "eip155:1:0x6439e7abd8bb915a5263094784c5cf561c4172ac": "registry/safe/calldata-SafeMigration-1.5.0.json", + "eip155:1:0x649f8698068ad143a7e18ba9cb0be112d5986aeb": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x6566194141eefa99af43bb5aa71460ca2dc90245": "registry/morpho/calldata-MorphoBundlerV3.json", + "eip155:1:0x66a28b080918184851774a89ab94850a41f6a1e5": "registry/swissborg/calldata-NttManager.json", + "eip155:1:0x67315dd969b8cd3a3520c245837bf71f54579c75": "registry/morpho/calldata-llamarisk-llama-crvUSD.json", + "eip155:1:0x6859b34a9379122d25a9fa46f0882d434fee36c3": "registry/morpho/calldata-gauntlet-gtmsUSDc.json", + "eip155:1:0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45": "registry/uniswap/calldata-UniswapV3Router02.json", + "eip155:1:0x695fb34b07a8cec2411b1bb519fd8f1731850c81": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x69f4d1788e39c87893c980c06edf4b7f686e2938": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:1:0x6a000f20005980200259b80c5102003040001068": "registry/paraswap/calldata-AugustusSwapper-v6.2.json", + "eip155:1:0x6be2f55816efd0d91f52720f096006d63c366e98": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x701907283a57ff77e255c3f1aad790466b8ce4ef": "registry/morpho/calldata-gauntlet-mhyETH.json", + "eip155:1:0x70ba3211f2584bf1c8a2acdf0a00dba559ce1ffa": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x7150864349af6fa5745178c84c6354de6d803e5b": "registry/kiln/calldata-Vault-USDT-Morpho-Smokehouse-USDT-multisig.json", + "eip155:1:0x71efa7af1686c5c04aa34a120a91cb4262679c44": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x7204b7dbf9412567835633b6f00c3edc3a8d6330": "registry/morpho/calldata-steakhouse_financial-csUSDC.json", + "eip155:1:0x73e65dbd630f90604062f6e02fab9138e713edd9": "registry/morpho/calldata-sparkdao-spDAI.json", + "eip155:1:0x749794e985af5a9a384b9cee6d88dab4ce1576a1": "registry/morpho/calldata-mev_capital-MC_USD0.json", + "eip155:1:0x78b18e07dc43017fceaabad0751d6464c0f56b25": "registry/morpho/calldata-gauntlet-gtmsETHc.json", + "eip155:1:0x79091f30b3ba1102734b2484f209986250b2630b": "registry/kiln/calldata-Vault-cbBTC-Morpho-Gauntlet-Core.json", + "eip155:1:0x7b83aa7b4ce8c7a021cafc862a030129cebf799d": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9": "registry/aave/calldata-lpv2.json", + "eip155:1:0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0": "registry/lido/calldata-wstETH.json", + "eip155:1:0x80c179cb86c567a0047f53a290ec4c246151b0e7": "registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Core.json", + "eip155:1:0x8236a87084f8b84306f72007f36f2618a5634494": "registry/lombard/calldata-lbtc-mainnet.json", + "eip155:1:0x833adaef212c5cd3f78906b44bbfb18258f238f0": "registry/morpho/calldata-steakhouse_financial-bbqWSTETH.json", + "eip155:1:0x8493f1f2b834c2837c87075b0edac17f5273789a": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x857679d69fe50e7b722f94acd2629d80c355163d": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0x8659eeff31cfcff580d37af8e7af250f8998aa83": "registry/kiln/calldata-kiln-fee-splitter-factory.json", + "eip155:1:0x875e901465a639f2e71fcfc10f426ed32f5a909a": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0x87870bca3f3fd6335c3f4ce8392d69350b4fa4e2": "registry/aave/calldata-lpv3.json", + "eip155:1:0x889edc2edab5f40e902b864ad4d7ade8e412f9b1": "registry/lido/calldata-WithdrawalQueueERC721.json", + "eip155:1:0x89d80f5e9bc88d8021b352064ae73f0eaf79ebd8": "registry/morpho/calldata-re7_labs-Re7USDA.json", + "eip155:1:0x8b0d88b8be3c15d746feb0b1f18c883c03b6aa62": "registry/figment/calldata-figment-batch-deposit.json", + "eip155:1:0x8bee3870ad8293dce79e6f4cb049f7531bd57c22": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x8cb3649114051ca5119141a34c200d65dc0faa73": "registry/morpho/calldata-gauntlet-gtUSDT.json", + "eip155:1:0x8eb67a509616cd6a7c1b3c8c21d48ff57df3d458": "registry/morpho/calldata-gauntlet-gtUSDCcore.json", + "eip155:1:0x8f382ae7bbdbecda835d26ce3ba64010eaee1386": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x900c7589200010d6c6ecaae5b06ebe653bc2d82a": "registry/safe/calldata-SafeToL2Setup-1.5.0.json", + "eip155:1:0x91e677b07f7af907ec9a428aafa9fc14a0d3a338": "registry/p2p/calldata-EigenPodManager.json", + "eip155:1:0x95eef579155cd2c5510f312c8fa39208c3be01a8": "registry/morpho/calldata-re7_labs-Re7USDT.json", + "eip155:1:0x974c8fbf4fd795f66b85b73ebc988a51f1a040a9": "registry/morpho/calldata-hakutora-hUSDC.json", + "eip155:1:0x97acdfb3956403c4c6bbe837dc611e3a6ba1b3a7": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x98cf0b67da0f16e1f8f1a1d23ad8dc64c0c70e0b": "registry/morpho/calldata-mev_capital-MCcbBTC.json", + "eip155:1:0x99361435420711723af805f08187c9e6bf796683": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x9a5cf6c0a1cee5226e31e3d0a81f2ca2462d8387": "registry/midas/calldata-MinterVault.json", + "eip155:1:0x9a8bc3b04b7f3d87cfc09ba407dced575f2d61d8": "registry/morpho/calldata-mev_capital-MCwETH.json", + "eip155:1:0x9b2c5e30e3b1f6369fc746a1c1e47277396af15d": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x9c3743582e8b2d7ccb5e08caf3c9c33780ac446f": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0x9d39a5de30e57443bff2a8307a4256c8797a3497": "registry/ethena/calldata-ethena.json", + "eip155:1:0x9d4c18c1c15cfdbf260f2910031bbd68f4aa889d": "registry/kiln/calldata-Vault-WBTC-Morpho-Gauntlet-Core.json", + "eip155:1:0x9f7dd5462c183b6577858e16a13a4d864ce2f972": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xa02f5e93f783baf150aa1f8b341ae90fe0a772f7": "registry/morpho/calldata-re7_labs-Re7cbBTC.json", + "eip155:1:0xa0804346780b4c2e3be118ac957d1db82f9d7484": "registry/morpho/calldata-steakhouse_financial-bbqUSDT.json", + "eip155:1:0xa1b60d96e5c50da627095b9381dc5a46af1a9a42": "registry/morpho/calldata-steakhouse_financial-steakUSDQ.json", + "eip155:1:0xa4215daaf3745e14e96e169e0e7706c479ce04f2": "registry/flyingtulip/calldata-PftNft.json", + "eip155:1:0xa6b71e26c5e0845f74c812102ca7114b6a896ab2": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:1:0xa6d60a71844bc134f4303f5e40169d817b491e37": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xa6e768fef2d1af36c0cfdb276422e7881a83e951": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0xa7c6c173d38dcf0543b5c479b845a430529a9a96": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xa85b5dd222a71602fca40410bc1f158bff1fa458": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xa8875aaebc4f830524e35d57f9772ffacbdd6c45": "registry/morpho/calldata-gauntlet-midasUSDC.json", + "eip155:1:0xa88f0329c2c4ce51ba3fc619bbf44efe7120dd0d": "registry/lido/calldata-wstETH-referral-staker.json", + "eip155:1:0xa8a5c4ff4c86a459ebbdc39c5be77833b3a15d88": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xaa192f810106b6161cbe5fe531289c0e3b196deb": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xaa48ecbc843cf7e9a29155d112b8cb27902bd23c": "registry/flyingtulip/calldata-MintAndRedeem.json", + "eip155:1:0xaa854688caab725fe17b7d21b46fda5af365985a": "registry/swissborg/calldata-ChsbToBorgMigrator.json", + "eip155:1:0xac14a14f578c143625fc8f54218911e8f634184d": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xae7ab96520de3a18e5e111b5eaab095312d7fe84": "registry/lido/calldata-stETH.json", + "eip155:1:0xaeea95ad6dce50943a43ffb277e089a7c02b74d9": "registry/kiln/calldata-Vault-USDC-Morpho-Smokehouse-USDC-multisig.json", + "eip155:1:0xafcc1c556ee0436c10a3054b3d615abb93a352b5": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xb02cc77ee137436d71b9de46958a3bb5d7346cca": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xb36fc5e542cb4fc562a624912f55da2758998113": "registry/serenita/calldata-EthVault.json", + "eip155:1:0xb64bfc4e7de3638425dc36ed77da4d79bb4c59f6": "registry/kiln/calldata-Vault-WETH-Aave-v3.json", + "eip155:1:0xb72668d6ff7a0e318f83097a754c6aed0f8af034": "registry/p2p/calldata-NativeTokenVault.json", + "eip155:1:0xb929b89153fc2eed442e81e5a1add4e2fa39028f": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0xb9c9158ab81f90996cad891ffbadfbaad733c8c6": "registry/morpho/calldata-b_protocol-recbBTC.json", + "eip155:1:0xba49d0ac42f4fba4e24a8677a22218a4df75ebaa": "registry/flyingtulip/calldata-PutManager.json", + "eip155:1:0xba9fd2850965053ffab368df8aa7ed2486f11024": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb": "registry/morpho/calldata-MorphoBlue.json", + "eip155:1:0xbd89a1ce4dde368ffab0ec35506eece0b1ffdc54": "registry/safe/calldata-SafeToL2Setup-1.4.1.json", + "eip155:1:0xbe40491f3261fd42724f1aeb465796eb11c06ddf": "registry/morpho/calldata-re7_labs-Re7FRAX.json", + "eip155:1:0xbe4050a73a7fb384c65e885a15c33461a4b20055": "registry/flyingtulip/calldata-PositionsManager.json", + "eip155:1:0xbeef02e5e13584ab96848af90261f0c8ee04722a": "registry/morpho/calldata-steakhouse_financial-steakPYUSD.json", + "eip155:1:0xbeef047a543e45807105e51a8bbefcc5950fcfba": "registry/morpho/calldata-steakhouse_financial-steakUSDT.json", + "eip155:1:0xbeef094333aedd535c130958c204e84f681fd9fa": "registry/morpho/calldata-steakhouse_financial-steakWBTC.json", + "eip155:1:0xbeef11ecb698f4b5378685c05a210bdf71093521": "registry/morpho/calldata-steakhouse_financial-steakRUSD.json", + "eip155:1:0xbeef7959ae71d4e45e1863dae0b94c35244af816": "registry/morpho/calldata-steakhouse_financial-steakPAXG.json", + "eip155:1:0xbeefc01767ed5086f35decb6c00e6c12bc7476c1": "registry/morpho/calldata-steakhouse_financial-csUSDL.json", + "eip155:1:0xbeefff209270748ddd194831b3fa287a5386f5bc": "registry/morpho/calldata-steakhouse_financial-bbqUSDC.json", + "eip155:1:0xbeefff68cc520d68f82641eff84330c631e2490e": "registry/morpho/calldata-steakhouse_financial-bbqDAI.json", + "eip155:1:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "registry/weth/calldata-weth.json", + "eip155:1:0xc080f56504e0278828a403269db945f6c6d6e014": "registry/morpho/calldata-gauntlet-gteUSDc.json", + "eip155:1:0xc21511edd1e6ecdc36e8ad4c82117033e50d5921": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xc21db71648b18c5b9e038d88393c9b254cf8eac8": "registry/morpho/calldata-fence-ERY.json", + "eip155:1:0xc22834581ebc8527d974f8a1c97e1bea4ef910bc": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:1:0xc33dada688f224c514682ec6ba940888d43c4b29": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xc37edf7d955020d547b45f762027b49947d02550": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xc582f04d8a82795aa2ff9c8bb4c1c889fe7b754e": "registry/morpho/calldata-gauntlet-gtusdcf.json", + "eip155:1:0xc7757805b983ee1b6272c1840c18e66837de858e": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0xc8beaf503ff0f2f36115ef662881f9d1dd98fe7b": "registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-multisig.json", + "eip155:1:0xc90cb928711d7dff6564ede7d7ce3fb6e3e654f2": "registry/kiln/calldata-Vault-WETH-Morpho-Gauntlet-Core.json", + "eip155:1:0xc93bb8d5581d74272f0e304593af9ab4e3a0181b": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xce0a2953a5d46400af601a9857235312d1924ac7": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xce5485cfb26914c5dce00b9baf0580364dafc7a4": "registry/starkgate/calldata-StarkGate-STRK.json", + "eip155:1:0xcf34b24f5b1d7a4718f40d757a9a0dc0d7936f3e": "registry/kiln/calldata-Vault-USDT-Compound-v3.json", + "eip155:1:0xd01607c3c5ecaba394d8be377a08590149325722": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:1:0xd0bbc3a811e3a3502a07b130346dcc4cc9355c95": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xd14a87025109013b0a2354a775cb335f926af65a": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0xd1c5cbabb367783fb6b40935c64512ef06cbb4f4": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xd50da5f859811a91fd1876c9461fd39c23c747ad": "registry/morpho/calldata-mev_capital-MC-USR.json", + "eip155:1:0xd5ac156319f2491d4ad1ec4aa5ed0ed48c0fa173": "registry/morpho/calldata-9summits-9SUSDCcore.json", + "eip155:1:0xd63070114470f685b75b74d60eec7c1113d33a3d": "registry/morpho/calldata-mev_capital-USUALUSDC+.json", + "eip155:1:0xd6fd5d4fa64fc7131e0ec3a4a53dc620a0ffc1bc": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:1:0xd9e6987d77bf2c6d0647b8181fd68a259f838c36": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0xdac17f958d2ee523a2206206994597c13d831ec7": "registry/tether/calldata-usdt.json", + "eip155:1:0xdb768e9658a544c547eb26af3b4e190845817f0e": "registry/kiln/calldata-Vault-USDT-Euler-Yield.json", + "eip155:1:0xdbb316375b4dc992b2c8827d120c09dfb1d3455d": "registry/morpho/calldata-gauntlet-msolvbtcbbn.json", + "eip155:1:0xdd0f28e19c1780eb6396170735d45153d261490d": "registry/morpho/calldata-gauntlet-gtUSDC.json", + "eip155:1:0xdd7927c757c1659b56c81c65af848ae400eb879d": "registry/kiln/calldata-Vault-USDT-Aave-v3.json", + "eip155:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57": "registry/paraswap/calldata-AugustusSwapper-v5.json", + "eip155:1:0xe042678e6c6871fa279e037c11e390f31334ba0b": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xe092737d412e0b290380f9c8548cb5a58174704f": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xe0c98605f279e4d7946d25b75869c69802823763": "registry/morpho/calldata-re7_labs-Re7WBTC.json", + "eip155:1:0xe12e0f117d23a5ccc57f8935cd8c4e80cd91ff01": "registry/1inch/calldata-NativeOrderFactory.json", + "eip155:1:0xe3e9ba8c8c696f8537cf16b23eddf118bbd7f21f": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0xe69884a372571af24fcb94fb3f6948d1b0146533": "registry/kiln/calldata-Vault-EURC-Morpho-Gauntlet-Core.json", + "eip155:1:0xe87ed29896b91421ff43f69257abf78300e40c7a": "registry/morpho/calldata-re7_labs-Re7wstETH.json", + "eip155:1:0xeb48218a4c35c814c7678cbcae88c6ee037f7625": "registry/flyingtulip/calldata-EpochRewardsVault.json", + "eip155:1:0xebfa750279defa89b8d99bdd145a016f6292757b": "registry/morpho/calldata-gauntlet-gtUSDCmkr.json", + "eip155:1:0xed22a9861c6edd4f1292aeab1e44661d5f3fe65e": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xedd160febbd92e350d4d398fb636302fccd67c7e": "registry/safe/calldata-SafeL2-1.5.0.json", + "eip155:1:0xef4461891dfb3ac8572ccf7c794664a8dd927945": "registry/walletconnect/calldata-wct.json", + "eip155:1:0xf0c91bbae7f67c4e595d723ef5fb38b59f2008cf": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xf30cf4ed712d3734161fdaab5b1dbb49fd2d0e5c": "registry/yieldxyz/calldata-yieldxyz-pol-validator.json", + "eip155:1:0xf4f042d90f0c0d3aba4a30caa6ac124b14a7e600": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xf587f2e8aff7d76618d3b6b4626621860fbd54e3": "registry/morpho/calldata-gauntlet-gtcbBTCc.json", + "eip155:1:0xf6e51d24f4793ac5e71e0502213a9bbe3a6d4517": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xf89febef93c54618c4420ee4173e69cd21b27e3a": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xf9f3ddf2e96cabef94e2634c326dc6dde99360f8": "registry/flyingtulip/calldata-SessionManager.json", + "eip155:1:0xfaae52c6a6d477f859a740a76b29c33559ace18c": "registry/midas/calldata-RedemptionVault.json", + "eip155:1:0xfae103dc9cf190ed75350761e95403b7b8afa6c0": "registry/swell/calldata-swell.json", + "eip155:1:0xfb1bffc9d739b8d520daf37df666da4c687191ea": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:1:0xfb477d921b18c0fe6a4bd031f6f40006831e4c2b": "registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-Prime.json", + "eip155:1:0xfe8de16f2663c61187c1e15fb04d773e6ac668cc": "registry/midas/calldata-MinterVault.json", + "eip155:1:0xff51a5898e281db6dfc7855790607438df2ca44b": "registry/safe/calldata-Safe-1.5.0.json", + "eip155:204:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:23294:0xd7fe0e91c05cafdd26da4b176eec2b883795bdcc": "registry/midas/calldata-MinterVault.json", + "eip155:23294:0xf939e88ecad43115116c7106dfdbdc4b1315a7ee": "registry/midas/calldata-RedemptionVault.json", + "eip155:239:0x5e65feda93cdf3286d4b70ba6d3e2a0e86594cdd": "registry/midas/calldata-RedemptionVault.json", + "eip155:239:0x762b366fd2c460f3b08d7cb279140fe39df2e5ca": "registry/midas/calldata-MinterVault.json", + "eip155:239:0x911f9af9138284a49b29f9894571fb86e29d1d79": "registry/midas/calldata-RedemptionVault.json", + "eip155:239:0xbd2ce9d5f2c682fca3ce587bf1c041ad8ddd2a69": "registry/midas/calldata-MinterVault.json", + "eip155:250:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:250:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:250:0xcf76984119c7f6ae56fafe680d39c08278b7ecf4": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:252:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:25:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:25:0xcf76984119c7f6ae56fafe680d39c08278b7ecf4": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:288:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:30:0x4f4da20f45ce2c94e84b93e4d73f3f3f33b8b570": "registry/midas/calldata-RedemptionVault.json", + "eip155:30:0x79a15707e2766d486681569bd1041821f5e32998": "registry/midas/calldata-MinterVault.json", + "eip155:30:0x82dd60b6e3f1f3db025a715952b0e9f96b7d7a53": "registry/midas/calldata-MinterVault.json", + "eip155:30:0x99d22115fd6706b78703ff015de897d43667d12f": "registry/midas/calldata-RedemptionVault.json", + "eip155:30:0xe7a1a676d0cca2e20a69add500985c7271a40205": "registry/midas/calldata-RedemptionVault.json", + "eip155:30:0xf454a52da2157686ef99702c0c19c0e8d66bc03c": "registry/midas/calldata-MinterVault.json", + "eip155:324:0x3163ed233a3cb5e6b7f10a6f02b01f15867a8779": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:324:0x341e94069f53234fe6dabef707ad424830525715": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:324:0x6fd4383cb451173d5f9304f041c7bcbf27d561ff": "registry/1inch/calldata-AggregationRouterV6-zksync.json", + "eip155:324:0x78e30497a3c7527d953c6b1e3541b021a98ac43c": "registry/aave/calldata-lpv3.json", + "eip155:324:0xae2b00d676130bdf22582781bbba8f4f21e8b0ff": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:34443:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:4200:0xd3b3e6433d6a7f94c28ce907311fb21b0f0b659e": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:42161:0x01bff1379ce9f0877141a18670d4214dfaf630be": "registry/midas/calldata-MinterVault.json", + "eip155:42161:0x0ac34fe133bde3a2ef589a18a4e10b6a7d253829": "registry/opencover/calldata-Quote.json", + "eip155:42161:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:42161:0x1111111254eeb25477b68fb85ed929f73a960582": "registry/1inch/calldata-AggregationRouterV5.json", + "eip155:42161:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:42161:0x139ec173b9c355241dfa91a1de3453adae0a9083": "registry/midas/calldata-RedemptionVault.json", + "eip155:42161:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": "registry/safe/calldata-SafeL2-1.4.1.json", + "eip155:42161:0x2c851a37ef2d607f198ddb259309dcd2b398e8f9": "registry/midas/calldata-MinterVault.json", + "eip155:42161:0x368e01160c2244b0363a35b3ff0a971e44a89284": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:42161:0x3e5c63644e683549055b9be8653de26e0b4cd36e": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:42161:0x41675c099f32341bf84bfc5382af534df5c7461a": "registry/safe/calldata-Safe-1.4.1.json", + "eip155:42161:0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67": "registry/safe/calldata-SafeProxyFactory-1.4.1.json", + "eip155:42161:0x526643f69b81b008f46d95cd5ced5ec0edffdac6": "registry/safe/calldata-SafeMigration-1.4.1.json", + "eip155:42161:0x5283beced7adf6d003225c13896e536f2d4264ff": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:42161:0x643f73a6a3ffc5d6c6be7c97cc30422763cfb1d0": "registry/midas/calldata-MinterVault.json", + "eip155:42161:0x69f4d1788e39c87893c980c06edf4b7f686e2938": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:42161:0x6a000f20005980200259b80c5102003040001068": "registry/paraswap/calldata-AugustusSwapper-v6.2.json", + "eip155:42161:0x6d6e88b8514ea404d33f38d505d611b5eee23afd": "registry/midas/calldata-RedemptionVault.json", + "eip155:42161:0x794a61358d6845594f94dc1db02a252b5b4814ad": "registry/aave/calldata-lpv3.json", + "eip155:42161:0x8ac12d5b71e4f046459b67077f8704ba0a86f8f9": "registry/midas/calldata-RedemptionVault.json", + "eip155:42161:0x9815fffe5600cf71342579f0f3e0dd8ccbd496d8": "registry/midas/calldata-MinterVault.json", + "eip155:42161:0xa6b71e26c5e0845f74c812102ca7114b6a896ab2": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:42161:0xa95d9c1f655341597c94393fddc30cf3c08e4fce": "registry/hyperliquid/calldata-CctpExtension.json", + "eip155:42161:0xb285f7699206c88a0aec8bb004e42793de8139e0": "registry/midas/calldata-MinterVault.json", + "eip155:42161:0xbd89a1ce4dde368ffab0ec35506eece0b1ffdc54": "registry/safe/calldata-SafeToL2Setup-1.4.1.json", + "eip155:42161:0xc22834581ebc8527d974f8a1c97e1bea4ef910bc": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:42161:0xd0efb07126e865ac95b60381b468081ef648ec5f": "registry/safe/calldata-BatchExecutor.json", + "eip155:42161:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:42161:0xe03cd34de0e47c67bf881db22feab83121b50cc3": "registry/midas/calldata-RedemptionVault.json", + "eip155:42161:0xe12e0f117d23a5ccc57f8935cd8c4e80cd91ff01": "registry/1inch/calldata-NativeOrderFactory.json", + "eip155:42161:0xe8a95184516c39469a68ba50d134c25fc5a6c9c8": "registry/midas/calldata-RedemptionVault.json", + "eip155:42161:0xfb1bffc9d739b8d520daf37df666da4c687191ea": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:42161:0xff131917e1d6751e4d1b17612751db521b1403c5": "registry/kiln/calldata-Vault-USDC-AAVE-Arbitrum.json", + "eip155:42170:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:42220:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:42220:0x3e59a31363e2ad014dcbc521c4a0d5757d9f3402": "registry/aave/calldata-lpv3.json", + "eip155:42220:0x55e1a0c8f376964bd339167476063bfed7f213d5": "registry/celo/calldata-locked_celo.json", + "eip155:42220:0x7d21685c17607338b313a7174bab6620bad0aab7": "registry/celo/calldata-celo_accounts.json", + "eip155:42220:0x8d6677192144292870907e3fa8a5527fe55a7ff6": "registry/celo/calldata-celo_election.json", + "eip155:42220:0xaeb865bca93ddc8f47b8e29f40c5399ce34d0c58": "registry/celo/calldata-celo_validators.json", + "eip155:42220:0xd533ca259b330c7a88f74e000a3faea2d63b7972": "registry/celo/calldata-celo_governance.json", + "eip155:43114:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:43114:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:43114:0x176592c8ed3f2d94ce4c3f1a4cff7d068176ac54": "registry/flyingtulip/calldata-SessionManager.json", + "eip155:43114:0x2825ce5921538d17cc15ae00a8b24ff759c6cdae": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:43114:0x2b2c81e08f1af8835a78bb2a90ae924ace0ea4be": "registry/benqi/calldata-sAVAX.json", + "eip155:43114:0x4f01aed16d97e3ab5ab2b501154dc9bb0f1a5a2c": "registry/aave/calldata-lpv2.json", + "eip155:43114:0x6a000f20005980200259b80c5102003040001068": "registry/paraswap/calldata-AugustusSwapper-v6.2.json", + "eip155:43114:0x794a61358d6845594f94dc1db02a252b5b4814ad": "registry/aave/calldata-lpv3.json", + "eip155:43114:0x83d889120ab0a0683bc59245e77a9d510d5acda0": "registry/flyingtulip/calldata-MintAndRedeem-dev.json", + "eip155:43114:0x8adfb0d24cdb09c6eb6b001a41820ece98831b91": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:43114:0xb95e2fe3a4966d980ffce98ff067b5d8e097c62c": "registry/flyingtulip/calldata-EpochRewardsVault-dev.json", + "eip155:43114:0xe12e0f117d23a5ccc57f8935cd8c4e80cd91ff01": "registry/1inch/calldata-NativeOrderFactory.json", + "eip155:44787:0x1c3edf937cfc2f6f51784d20deb1af1f9a8655fa": "registry/celo/calldata-celo_election.json", + "eip155:44787:0x6a4cc5693dc5bfa3799c699f3b941ba2cb00c341": "registry/celo/calldata-locked_celo.json", + "eip155:44787:0x9acf2a99914e083ad0d610672e93d14b0736bbcc": "registry/celo/calldata-celo_validators.json", + "eip155:44787:0xaa963fc97281d9632d96700ab62a4d1340f9a28a": "registry/celo/calldata-celo_governance.json", + "eip155:44787:0xed7f51a34b4e71fbe69b3091fcf879cd14bd73a9": "registry/celo/calldata-celo_accounts.json", + "eip155:5000:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:5000:0xf5402ccc5fc3181b45d7571512999d3eea0257b6": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:534352:0x11fcfe756c05ad438e312a7fd934381537d3cffe": "registry/aave/calldata-lpv3.json", + "eip155:534352:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:534352:0x5c33073ea1d21936d760e32a7a7a748bd21b773e": "registry/midas/calldata-RedemptionVault.json", + "eip155:534352:0x6733eb2e75b1625f1fe5f18ad2cb2babda510d19": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:534352:0x8d3702c41adeb3b6d0c5679899efcf34aab07cf2": "registry/midas/calldata-MinterVault.json", + "eip155:534352:0x904ea8d7fcab7351758fac82bdbc738e2010bc25": "registry/midas/calldata-RedemptionVault.json", + "eip155:534352:0xca1c871f8ae2571cb126a46861fc06cb9e645152": "registry/midas/calldata-MinterVault.json", + "eip155:534352:0xe79ca44408dae5a57ea2a9594532f1e84d2edaa4": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:560048:0x00000000219ab540356cbb839cbe05303d7705fa": "registry/consensus-specs/calldata-DepositContract.json", + "eip155:560048:0x00ae9b96ef8d5d54cfcc02d9a1ccc19acd688b72": "registry/kiln/calldata-kiln-batch-deposit-v2.json", + "eip155:560048:0x06f9c32a3093dde837a2e172041df79b4b850a2e": "registry/kiln/calldata-kiln-batch-exit.json", + "eip155:560048:0x158f2bbef21cf9f92cf4a294999ba422948c8242": "registry/p2p/calldata-P2pMessageSender.json", + "eip155:560048:0x1a76bc69922744807e86375f8b8ab8a7cf18eb7a": "registry/kiln/calldata-kiln-fee-splitter-factory.json", + "eip155:560048:0x2444fae9394debf503775940af2a3e9364a31e34": "registry/p2p/calldata-P2pSsvProxyFactory.json", + "eip155:560048:0x7ac74cb69104cea773cc3154d47c930ca6462fe8": "registry/figment/calldata-figment-batch-deposit.json", + "eip155:560048:0x8f73c1ce7fe0e17f45b317b33620924a94256fbb": "registry/p2p/calldata-NativeTokenVault.json", + "eip155:560048:0x91234ffd7d65aa5e4fda60a2e7b9513175df3272": "registry/p2p/calldata-P2pSsvProxyFactory.json", + "eip155:560048:0x917105cc314c12890d9c8224aee5af9574f871cf": "registry/p2p/calldata-P2pMessageSender.json", + "eip155:560048:0x933acc6f337489d78188cbef2141cd9d6466d07d": "registry/p2p/calldata-P2pOrgUnlimitedEthDepositor.json", + "eip155:560048:0xcd1442415fc5c29aa848a49d2e232720be07976c": "registry/p2p/calldata-EigenPodManager.json", + "eip155:560048:0xf8dc5f11dc81c4f57286fa4849a15345d51a838b": "registry/p2p/calldata-P2pOrgUnlimitedEthDepositor.json", + "eip155:56:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:56:0x11111112542d85b3ef69ae05771c2dccff4faa26": "registry/1inch/calldata-AggregationRouterV3.json", + "eip155:56:0x1111111254eeb25477b68fb85ed929f73a960582": "registry/1inch/calldata-AggregationRouterV5.json", + "eip155:56:0x1111111254fb6c44bac0bed2854e76f90643097d": "registry/1inch/calldata-AggregationRouterV4.json", + "eip155:56:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:56:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": "registry/safe/calldata-SafeL2-1.4.1.json", + "eip155:56:0x30b59844ec16aba3ec4ca0bd97557ccb670d924e": "registry/midas/calldata-MinterVault.json", + "eip155:56:0x3156020dff8d99af1ddc523ebdfb1ad2018554a0": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:56:0x3e5c63644e683549055b9be8653de26e0b4cd36e": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:56:0x41675c099f32341bf84bfc5382af534df5c7461a": "registry/safe/calldata-Safe-1.4.1.json", + "eip155:56:0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67": "registry/safe/calldata-SafeProxyFactory-1.4.1.json", + "eip155:56:0x526643f69b81b008f46d95cd5ced5ec0edffdac6": "registry/safe/calldata-SafeMigration-1.4.1.json", + "eip155:56:0x5f8d7b2009355a48ace2643d18e782f5c5818495": "registry/flyingtulip/calldata-MintAndRedeem-dev.json", + "eip155:56:0x69f4d1788e39c87893c980c06edf4b7f686e2938": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:56:0x6a000f20005980200259b80c5102003040001068": "registry/paraswap/calldata-AugustusSwapper-v6.2.json", + "eip155:56:0x73685bd72df34b92bc81d43ef35cff4300de8625": "registry/midas/calldata-RedemptionVault.json", + "eip155:56:0x7aee9020df0ac01bc6f3ceef6b1b7cbf3d0937e4": "registry/midas/calldata-MinterVault.json", + "eip155:56:0x909573e96dfc3f097b9ee1d007333ca33cf2d4a9": "registry/flyingtulip/calldata-EpochRewardsVault-dev.json", + "eip155:56:0xa6b71e26c5e0845f74c812102ca7114b6a896ab2": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:56:0xbd89a1ce4dde368ffab0ec35506eece0b1ffdc54": "registry/safe/calldata-SafeToL2Setup-1.4.1.json", + "eip155:56:0xc22834581ebc8527d974f8a1c97e1bea4ef910bc": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:56:0xc85cb743f72b3a9bb594faa7d46ee1efc61b7a42": "registry/flyingtulip/calldata-SessionManager.json", + "eip155:56:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:56:0xdef171fe48cf0115b1d80b88dc8eab59176fee57": "registry/paraswap/calldata-AugustusSwapper-v5.json", + "eip155:56:0xe12e0f117d23a5ccc57f8935cd8c4e80cd91ff01": "registry/1inch/calldata-NativeOrderFactory.json", + "eip155:56:0xf76e650f8a9526fe5e4b40f1b567c5c1b427ee43": "registry/midas/calldata-RedemptionVault.json", + "eip155:56:0xfb1bffc9d739b8d520daf37df666da4c687191ea": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:59144:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:59144:0x1111111254eeb25477b68fb85ed929f73a960582": "registry/1inch/calldata-AggregationRouterV5.json", + "eip155:59144:0x31a239f3e39c5d8ba6b201ba81ed584492ae960f": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:59144:0x9eabf1d34819d9ec9fe5fd3db4e9dcd12fa05284": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:59144:0xc47b8c00b0f69a36fa203ffeac0334874574a8ac": "registry/aave/calldata-lpv3.json", + "eip155:59144:0xde1e598b81620773454588b85d6b5d4eec32573e": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:59144:0xe12e0f117d23a5ccc57f8935cd8c4e80cd91ff01": "registry/1inch/calldata-NativeOrderFactory.json", + "eip155:7000:0x8feb9e84b7e9dc86adc6cd6eb554c5b4355c8405": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:747474:0x175a9b122bf22ac2b193a0a775d7370d5a75268e": "registry/midas/calldata-MinterVault.json", + "eip155:747474:0x8e3865b9d2d8e562d8bb3b15d9b4941aee6f67f1": "registry/midas/calldata-RedemptionVault.json", + "eip155:747474:0xcb7d9a25f7b9bdd0eee77b1ceb2894d39debca1c": "registry/midas/calldata-MinterVault.json", + "eip155:747474:0xe93e6cf151588d63bb669138277d20f28c2e7cda": "registry/midas/calldata-RedemptionVault.json", + "eip155:81457:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:81457:0xc9da86c392101047188bae98ccc192271a136a13": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:8217:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:8453:0x0d05e6ec0a10f9ffe9229eaa785c11606a1d13fb": "registry/morpho/calldata-gauntlet-gtLBTCc.json", + "eip155:8453:0x0e0eb6cdad90174f1db606ec186ddd0b5ed80847": "registry/midas/calldata-RedemptionVault.json", + "eip155:8453:0x0fabfeacedf47e890c50c8120177fff69c6a1d9b": "registry/morpho/calldata-re7_labs-pythUSDC.json", + "eip155:8453:0x111111125421ca6dc452d289314280a0f8842a65": "registry/1inch/calldata-AggregationRouterV6.json", + "eip155:8453:0x1111111254eeb25477b68fb85ed929f73a960582": "registry/1inch/calldata-AggregationRouterV5.json", + "eip155:8453:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:8453:0x1c155be6bc51f2c37d472d4c2eba7a637806e122": "registry/morpho/calldata-gauntlet-gtEURCc.json", + "eip155:8453:0x25d30cf795602e807d2038c1326ad6643f822cea": "registry/midas/calldata-RedemptionVault.json", + "eip155:8453:0x263a7ace5e77986b77dca125859248feed52383c": "registry/midas/calldata-MinterVault.json", + "eip155:8453:0x27d8c7273fd3fcc6956a0b370ce5fd4a7fc65c18": "registry/morpho/calldata-gauntlet-smWETH.json", + "eip155:8453:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": "registry/safe/calldata-SafeL2-1.4.1.json", + "eip155:8453:0x2a8c22e3b10036f3aef5875d04f8441d4188b656": "registry/midas/calldata-RedemptionVault.json", + "eip155:8453:0x2cebf7663a7593ada5ec71dd8e41aca7cf77a2f5": "registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Core-Base.json", + "eip155:8453:0x2fd18b0878967e19292e9a8bf38bb1415f6ad653": "registry/midas/calldata-MinterVault.json", + "eip155:8453:0x30b8a2c8e7fa41e77b54b8faf45c610e7ad909e3": "registry/morpho/calldata-re7_labs-mMAI.json", + "eip155:8453:0x3aac6fd73fa4e16ec683bd4aaf5ec89bb2c0edc2": "registry/midas/calldata-MinterVault.json", + "eip155:8453:0x3e5c63644e683549055b9be8653de26e0b4cd36e": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:8453:0x41675c099f32341bf84bfc5382af534df5c7461a": "registry/safe/calldata-Safe-1.4.1.json", + "eip155:8453:0x4409921ae43a39a11d90f7b7f96cfd0b8093d9fc": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:8453:0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67": "registry/safe/calldata-SafeProxyFactory-1.4.1.json", + "eip155:8453:0x526643f69b81b008f46d95cd5ced5ec0edffdac6": "registry/safe/calldata-SafeMigration-1.4.1.json", + "eip155:8453:0x543257ef2161176d7c8cd90ba65c2d4caef5a796": "registry/morpho/calldata-block_analitica-mwcbBTC.json", + "eip155:8453:0x5496b42ad0decebfab0db944d83260e60d54f667": "registry/morpho/calldata-9summits-9SETHcore.json", + "eip155:8453:0x5a47c803488fe2bb0a0eaaf346b420e4df22f3c7": "registry/morpho/calldata-gauntlet-smcbBTC.json", + "eip155:8453:0x5cb155d19696ed296dc4942bedb6eec69367c332": "registry/midas/calldata-RedemptionVault.json", + "eip155:8453:0x5f09aff8b9b1f488b7d1bbad4d89648579e55d61": "registry/midas/calldata-MinterVault.json", + "eip155:8453:0x616a4e1db48e22028f6bbf20444cd3b8e3273738": "registry/morpho/calldata-gauntlet-smUSDC.json", + "eip155:8453:0x69f4d1788e39c87893c980c06edf4b7f686e2938": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:8453:0x6a000f20005980200259b80c5102003040001068": "registry/paraswap/calldata-AugustusSwapper-v6.2.json", + "eip155:8453:0x6b13c060f13af1fdb319f52315bbbf3fb1d88844": "registry/morpho/calldata-gauntlet-gtWETHc.json", + "eip155:8453:0x6bfd8137e702540e7a42b74178a4a49ba43920c4": "registry/morpho/calldata-MorphoBundlerV3.json", + "eip155:8453:0x6e37c95b43566e538d8c278eb69b00fc717a001b": "registry/morpho/calldata-re7_labs-Re7RWA.json", + "eip155:8453:0x70f796946ed919e4bc6cd506f8dacc45e4539771": "registry/morpho/calldata-b_protocol-reETH.json", + "eip155:8453:0x74b6ea9bfee07c3756969b0139cfacbba5845969": "registry/morpho/calldata-re7_labs-Re7cdxUSD1.1.json", + "eip155:8453:0x7bfa7c4f149e7415b73bdedfe609237e29cbf34a": "registry/morpho/calldata-sparkdao-sparkUSDC.json", + "eip155:8453:0x80b666d60293217661e7382737bb3e42348f7ce5": "registry/midas/calldata-MinterVault.json", + "eip155:8453:0x80d9964feb4a507dd697b4437fc5b25b618ce446": "registry/morpho/calldata-re7_labs-pythETH.json", + "eip155:8453:0x86811ad3430dba37e1641538729bf346c20a5412": "registry/midas/calldata-RedemptionVault.json", + "eip155:8453:0x8978e327fe7c72fa4eaf4649c23147e279ae1470": "registry/midas/calldata-MinterVault.json", + "eip155:8453:0x8c3a6b12332a6354805eb4b72ef619aedd22bcdd": "registry/morpho/calldata-re7_labs-mDEGEN.json", + "eip155:8453:0x9ab2d181e4b87ba57d5ed564d3ef652c4e710707": "registry/morpho/calldata-gauntlet-ionicWETH.json", + "eip155:8453:0x9bf00b7cfc00d6a7a2e2c994db8c8dca467ee359": "registry/midas/calldata-RedemptionVault.json", + "eip155:8453:0xa0d9c1e9e48ca30c8d8c3b5d69ff5dc1f6dffc24": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:8453:0xa0e430870c4604ccfc7b38ca7845b1ff653d0ff1": "registry/morpho/calldata-block_analitica-mwETH.json", + "eip155:8453:0xa174b27a1e6a8194c854ffff0ffb74a4dda0ce3f": "registry/kiln/calldata-Vault-USDC-Morpho-Re7-Base.json", + "eip155:8453:0xa238dd80c259a72e81d7e4664a9801593f98d1c5": "registry/aave/calldata-lpv3.json", + "eip155:8453:0xa2cac0023a4797b4729db94783405189a4203afc": "registry/morpho/calldata-re7_labs-Re7WETH.json", + "eip155:8453:0xa6b71e26c5e0845f74c812102ca7114b6a896ab2": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:8453:0xa8a5c4ff4c86a459ebbdc39c5be77833b3a15d88": "registry/midas/calldata-RedemptionVault.json", + "eip155:8453:0xb17b070a56043e1a5a1ab7443afafdebcc1168d7": "registry/morpho/calldata-steakhouse_financial-steakSUSDS.json", + "eip155:8453:0xb3e9c49d7e18bda41b5806b66f79a09afd7ad369": "registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-Base-multisig.json", + "eip155:8453:0xb7890cee6cf4792cdcc13489d36d9d42726ab863": "registry/morpho/calldata-re7_labs-uUSDC.json", + "eip155:8453:0xbb819d845b573b5d7c538f5b85057160cfb5f313": "registry/morpho/calldata-re7_labs-meUSD.json", + "eip155:8453:0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb": "registry/morpho/calldata-MorphoBlue.json", + "eip155:8453:0xbd89a1ce4dde368ffab0ec35506eece0b1ffdc54": "registry/safe/calldata-SafeToL2Setup-1.4.1.json", + "eip155:8453:0xbeef010f9cb27031ad51e3333f9af9c6b1228183": "registry/morpho/calldata-steakhouse_financial-steakUSDC.json", + "eip155:8453:0xbeef03f0bf3cb2e348393008a826538aadd7d183": "registry/morpho/calldata-steakhouse_financial-steakUSDM.json", + "eip155:8453:0xbeef050a7485865a7a8d8ca0cc5f7536b7a3443e": "registry/morpho/calldata-steakhouse_financial-steakETH.json", + "eip155:8453:0xbeef086b8807dc5e5a1740c5e3a7c4c366ea6ab5": "registry/morpho/calldata-steakhouse_financial-steakEURC.json", + "eip155:8453:0xbeefa1abfebe621df50ceaef9f54fdb73648c92c": "registry/morpho/calldata-steakhouse_financial-steakUSDA.json", + "eip155:8453:0xbeefa28d5e56d41d35df760ab53b94d9ffd7051f": "registry/morpho/calldata-steakhouse_financial-steakEURA.json", + "eip155:8453:0xbeefc4adbe58173fca2c042097fe33095e68c3d6": "registry/morpho/calldata-steakhouse_financial-steakUSDCrwa.json", + "eip155:8453:0xc0c5689e6f4d256e861f65465b691aeecc0deb12": "registry/morpho/calldata-gauntlet-gtUSDCc.json", + "eip155:8453:0xc1256ae5ff1cf2719d4937adb3bbccab2e00a2ca": "registry/morpho/calldata-block_analitica-mwUSDC.json", + "eip155:8453:0xc22834581ebc8527d974f8a1c97e1bea4ef910bc": "registry/safe/calldata-SafeProxyFactory-1.3.0.json", + "eip155:8453:0xc484d83f667b779cc9907248101214235642258b": "registry/morpho/calldata-apostro-aprUSR.json", + "eip155:8453:0xcd347c1e7d600a9a3e403497562edd0a7bc3ef21": "registry/morpho/calldata-gauntlet-ionicUSDC.json", + "eip155:8453:0xcddcdd18a16ed441f6cb10c3909e5e7ec2b9e8f3": "registry/morpho/calldata-apostro-aprUSDC.json", + "eip155:8453:0xd0efb07126e865ac95b60381b468081ef648ec5f": "registry/safe/calldata-BatchExecutor.json", + "eip155:8453:0xd68647555e5da198d50866334eed647cbe3d1556": "registry/opencover/calldata-Quote.json", + "eip155:8453:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": "registry/safe/calldata-Safe-1.3.0.json", + "eip155:8453:0xdb90a4e973b7663ce0ccc32b6fbd37ffb19bfa83": "registry/morpho/calldata-re7_labs-degenUSDC.json", + "eip155:8453:0xe12e0f117d23a5ccc57f8935cd8c4e80cd91ff01": "registry/1inch/calldata-NativeOrderFactory.json", + "eip155:8453:0xea22f8c1624c17c1b58727235292684831a08d56": "registry/midas/calldata-MinterVault.json", + "eip155:8453:0xee8f4ec5672f09119b96ab6fb59c27e1b7e44b61": "registry/morpho/calldata-gauntlet-gtUSDCp.json", + "eip155:8453:0xef4461891dfb3ac8572ccf7c794664a8dd927945": "registry/walletconnect/calldata-wct.json", + "eip155:8453:0xf24608e0ccb972b0b0f4a6446a0bbf58c701a026": "registry/morpho/calldata-block_analitica-mwEURC.json", + "eip155:8453:0xf540d790413fcfaedac93518ae99eddace82cb78": "registry/morpho/calldata-9summits-9SETHc.json", + "eip155:8453:0xf804a646c034749b5484bf7dfe875f6a4f969840": "registry/midas/calldata-RedemptionVault.json", + "eip155:8453:0xfb1bffc9d739b8d520daf37df666da4c687191ea": "registry/safe/calldata-SafeL2-1.3.0.json", + "eip155:8453:0xfecc6fdff76fb2a2de42b787dc3d02b634a8b6d9": "registry/midas/calldata-MinterVault.json", + "eip155:9001:0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": "registry/lifi/calldata-LIFIDiamond.json", + "eip155:9745:0x24e49d2ad8f0bcd0cf7f2a5ab560ca4319f6bd75": "registry/midas/calldata-RedemptionVault.json", + "eip155:9745:0x2b690cab819a815732544aeb422474efdc1b0615": "registry/midas/calldata-MinterVault.json", + "eip155:9745:0x4ef9ff56162bd3cb5073fb20dbd355c59084093f": "registry/midas/calldata-MinterVault.json", + "eip155:9745:0x54bdcc37c4143f944a3ee51c892a6cbdf305e7a0": "registry/aave/calldata-WrappedTokenGatewayV3.json", + "eip155:9745:0x5c1c902e7e04de98b49acd3de68e12bee2d7908d": "registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json", + "eip155:9745:0x69ecab6aa7bdfddd99def0891c0317076430ae50": "registry/midas/calldata-RedemptionVault.json", + "eip155:9745:0x880661f9b412065d616890ca458dccd0146cb77c": "registry/midas/calldata-RedemptionVault.json", + "eip155:9745:0x925a2a7214ed92428b5b1b090f80b25700095e12": "registry/aave/calldata-lpv3.json", + "eip155:9745:0xa603cf264adeb8e7f0f063c116929adac2d4286e": "registry/midas/calldata-MinterVault.json", + "eip155:98866:0x23de49c9ecb8baaf4abded123fafbb7d5b7a0ee2": "registry/midas/calldata-MinterVault.json", + "eip155:98866:0x331af8984d9f10c5173e69537f41313996e7c3cc": "registry/midas/calldata-RedemptionVault.json", + "eip155:98866:0x3ac6b2bf09f470e5674c3da60be7d2da2791f897": "registry/midas/calldata-RedemptionVault.json", + "eip155:98866:0x3cd58efe911b1e936c014695ccfab8c8825e3a63": "registry/midas/calldata-RedemptionVault.json", + "eip155:98866:0x71dd2570a843b0d1c74ffab23f348193f19f18b1": "registry/midas/calldata-MinterVault.json", + "eip155:98866:0x8f38a24d064b41c990a3f47439a7a7ee713bf8dc": "registry/midas/calldata-MinterVault.json", + "eip155:98866:0x9b0d0bdae237116f711e8c9d900b5ddcc8ef8b5d": "registry/midas/calldata-RedemptionVault.json", + "eip155:98866:0xb05f6aa8c2ea9ab8537cf09a9b765a21de249224": "registry/midas/calldata-MinterVault.json", + "eip155:98866:0xc4e4aca6a81794562c46da86c20dc652ba2af25e": "registry/midas/calldata-MinterVault.json", + "eip155:98866:0xc874394cd67f7de462eb5c25889bec9744bc0f80": "registry/midas/calldata-RedemptionVault.json", + "eip155:98866:0xe6f0c60fca2bd97d633a3d9d49dbefdf19636d8c": "registry/midas/calldata-MinterVault.json", + "eip155:98866:0xf22ad227b3082557dbda8ad99b694eb295c06092": "registry/midas/calldata-RedemptionVault.json", + "eip155:999:0x36094abe5e589691b8f60505823a72f5fdedc953": "registry/midas/calldata-RedemptionVault.json", + "eip155:999:0x65d0a14dd083c38244542bac0e0cd16d51c37458": "registry/midas/calldata-MinterVault.json" +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/index.eip712.json b/crates/clear-signing/src/assets/registry-snapshot/index.eip712.json new file mode 100644 index 0000000..fffa617 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/index.eip712.json @@ -0,0 +1,5160 @@ +{ + "eip155:100:0x111111125421ca6dc452d289314280a0f8842a65": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:10:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:10:0x0000000000bbf5c5fd284e657f01bd000933c96d": { + "Order": [ + { + "encodeTypeHashes": [ + "0xc75d848e51cd0f81113e24c5a62c9b8566b0ff0d476245a7882709315eefbbf7" + ], + "path": "registry/paraswap/eip712-Velora-DeltaV2.json" + } + ] + }, + "eip155:10:0x0927fd43a7a87e3e8b81df2c44b03c4756849f6d": { + "Order": [ + { + "encodeTypeHashes": [ + "0x95afddf5e4bb9f692716b7fdff640e6b8a0d2869597405c6e9d35857ed19a150" + ], + "path": "registry/paraswap/eip712-paraswap.json" + } + ], + "OrderNFT": [ + { + "encodeTypeHashes": [ + "0xba5673374f195ea076b91318b714c4f3d0887a650164f117b9a64de6237587fb" + ], + "path": "registry/paraswap/eip712-paraswap.json" + } + ] + }, + "eip155:10:0x0b2c639c533813f4aa9d7837caf62653d097ff85": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-optimism-usdc.json" + } + ], + "ReceiveWithAuthorization": [ + { + "encodeTypeHashes": [ + "0xd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de8" + ], + "path": "registry/circle/eip712-ReceiveWithAuthorization.json" + } + ], + "TransferWithAuthorization": [ + { + "encodeTypeHashes": [ + "0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267" + ], + "path": "registry/circle/eip712-TransferWithAuthorization.json" + } + ] + }, + "eip155:10:0x111111125421ca6dc452d289314280a0f8842a65": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:10:0x11431a89893025d2a48dca4eddc396f8c8117187": { + "OrderStructure": [ + { + "encodeTypeHashes": [ + "0xb5da55eff5c27a8adb2f67a1c8c69165b0ddc78491ca437a82bd77e475228b2c" + ], + "path": "registry/1inch/eip712-1inch-limit-order.json" + } + ] + }, + "eip155:10:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.4.1.json" + } + ] + }, + "eip155:10:0x3e5c63644e683549055b9be8653de26e0b4cd36e": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:10:0x41675c099f32341bf84bfc5382af534df5c7461a": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.4.1.json" + } + ] + }, + "eip155:10:0x4200000000000000000000000000000000000042": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-optimism-op.json" + } + ] + }, + "eip155:10:0x68f180fcce6836688e9084f035309e29bf0a2095": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-optimism-wbtc.json" + } + ] + }, + "eip155:10:0x69f4d1788e39c87893c980c06edf4b7f686e2938": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:10:0x8700daec35af8ff88c16bdf0418774cb3d7599b4": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-optimism-snx.json" + } + ] + }, + "eip155:10:0x94b008aa00579c1307b0ef2c499ad98a8ce58e58": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-optimism-usdt.json" + } + ] + }, + "eip155:10:0x9560e827af36c94d2ac33a39bce1fe78631088db": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-optimism-velo.json" + } + ] + }, + "eip155:10:0x9cfb13e6c11054ac9fcb92ba89644f30775436e4": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-optimism-wsteth.json" + } + ] + }, + "eip155:10:0xb0b195aefa3650a6908f15cdac7d92f8a5791b0b": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-optimism-bob.json" + } + ] + }, + "eip155:10:0xc40f949f8a4e094d1b49a23ea9241d289b7b2819": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-optimism-lusd.json" + } + ] + }, + "eip155:10:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:10:0xda10009cbd5d07dd0cecc66161fc93d7c9000da1": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-optimism-dai.json" + } + ] + }, + "eip155:10:0xfb1bffc9d739b8d520daf37df666da4c687191ea": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:11155111:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:11155111:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.4.1.json" + } + ] + }, + "eip155:11155111:0x3e5c63644e683549055b9be8653de26e0b4cd36e": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:11155111:0x41675c099f32341bf84bfc5382af534df5c7461a": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.4.1.json" + } + ] + }, + "eip155:11155111:0x69f4d1788e39c87893c980c06edf4b7f686e2938": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:11155111:0x731efa688f3679688cf60a3993b8658138953ed6": { + "feeApproval": [ + { + "encodeTypeHashes": [ + "0x40ac9f6aa27075e64c1ed1ea2e831b20b8c25efdeb6b79fd0cf683c9a9c50725" + ], + "path": "registry/lombard/eip712-network-fee-authorization-sepolia.json" + } + ] + }, + "eip155:11155111:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:11155111:0xedd160febbd92e350d4d398fb636302fccd67c7e": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.5.0.json" + } + ] + }, + "eip155:11155111:0xfb1bffc9d739b8d520daf37df666da4c687191ea": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:11155111:0xff51a5898e281db6dfc7855790607438df2ca44b": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.5.0.json" + } + ] + }, + "eip155:11155420:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:1313161554:0x111111125421ca6dc452d289314280a0f8842a65": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:137:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:137:0x111111125421ca6dc452d289314280a0f8842a65": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:137:0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-polygon-wbtc.json" + } + ] + }, + "eip155:137:0x2791bca1f2de4661ed88a30c99a7a9449aa84174": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-polygon-bridged-usdc.json" + } + ] + }, + "eip155:137:0x27f8d03b3a2196956ed754badc28d73be8830a6e": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-polygon-aave-dai.json" + } + ] + }, + "eip155:137:0x28424507fefb6f7f8e9d3860f56504e4e5f5f390": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-polygon-aave-weth.json" + } + ] + }, + "eip155:137:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.4.1.json" + } + ] + }, + "eip155:137:0x33c6eec1723b12c46732f7ab41398de45641fa42": { + "mint": [ + { + "encodeTypeHashes": [ + "0xe17cbe57946d71713a3f6737106390a23d770d6d256d327dfe395eb94c35dcf9" + ], + "path": "registry/ledgerquest/eip712-ledgerquest.json" + } + ] + }, + "eip155:137:0x3a58a54c066fdc0f2d55fc9c89f0415c92ebf3c4": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-polygon-stmatic.json" + } + ] + }, + "eip155:137:0x3c499c542cef5e3811e1192ce70d8cc03d5c3359": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-polygon-usdc.json" + } + ], + "ReceiveWithAuthorization": [ + { + "encodeTypeHashes": [ + "0xd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de8" + ], + "path": "registry/circle/eip712-ReceiveWithAuthorization.json" + } + ], + "TransferWithAuthorization": [ + { + "encodeTypeHashes": [ + "0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267" + ], + "path": "registry/circle/eip712-TransferWithAuthorization.json" + } + ] + }, + "eip155:137:0x3e5c63644e683549055b9be8653de26e0b4cd36e": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:137:0x41675c099f32341bf84bfc5382af534df5c7461a": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.4.1.json" + } + ] + }, + "eip155:137:0x53e0bca35ec356bd5dddfebbd1fc0fd03fabad39": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-polygon-link.json" + } + ] + }, + "eip155:137:0x69f4d1788e39c87893c980c06edf4b7f686e2938": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:137:0x7ceb23fd6bc0add59e62ac25578270cff1b9f619": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-polygon-weth.json" + } + ] + }, + "eip155:137:0x7f19564c35c681099c0c857a7141836cf7edaa53": { + "MetaTransaction": [ + { + "encodeTypeHashes": [ + "0x23d10def3caacba2e4042e0c75d44a42d2558aabcf5ce951d0642a8032e1e653" + ], + "path": "registry/rarible/eip712-rarible-exchange-v2-meta-tx.json" + } + ], + "Order": [ + { + "encodeTypeHashes": [ + "0x477ed43b8020849b755512278536c3766a3b4ab547519949a75f483372493f8d" + ], + "path": "registry/rarible/eip712-rarible-exchange-v2.json" + } + ] + }, + "eip155:137:0x8f3cf7ad23cd3cadbd9735aff958023239c6a063": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-polygon-dai.json" + } + ] + }, + "eip155:137:0x94bc2a1c732bcad7343b25af48385fe76e08734f": { + "OrderStructure": [ + { + "encodeTypeHashes": [ + "0xb5da55eff5c27a8adb2f67a1c8c69165b0ddc78491ca437a82bd77e475228b2c" + ], + "path": "registry/1inch/eip712-1inch-limit-order.json" + } + ] + }, + "eip155:137:0xb5c064f955d8e7f38fe0460c556a72987494ee17": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-polygon-quick.json" + } + ] + }, + "eip155:137:0xc2132d05d31c914a87c6611c10748aeb04b58e8f": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-polygon-usdt.json" + } + ] + }, + "eip155:137:0xd4f2f33680fccb36748fa9831851643781608844": { + "unlink": [ + { + "encodeTypeHashes": [ + "0xfde6db2d9b9dfb61c14e0b279090ca4cbfd936fdada4b3382a2ca8fe12954e80" + ], + "path": "registry/lens/eip712-lens-token-handle-registry.json" + } + ], + "unlink_with_sig": [ + { + "encodeTypeHashes": [ + "0x3a750d184d1cd4f406ed8bc44a572e793a191f8a39baf94a7aa16215ece2e97f" + ], + "path": "registry/lens/eip712-lens-token-handle-registry.json" + } + ] + }, + "eip155:137:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:137:0xdb46d1dc155634fbc732f92e853b10b288ad5a1d": { + "Act": [ + { + "encodeTypeHashes": [ + "0xd9037bff36eb09b289eaa5c7b4689aa8d198d3b3820a215a2e84b3f3d24d3f6a" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "ChangeDelegatedExecutorsConfig": [ + { + "encodeTypeHashes": [ + "0x54f4c924ea132d4a7c22f9b0c1870f7d300b7ddf2b03e47bf0f59743da53b137" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "Comment": [ + { + "encodeTypeHashes": [ + "0x65db8457dfdead443d4fd325b5487496f9b9ab96e163675f324745f6b6148349" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "Follow": [ + { + "encodeTypeHashes": [ + "0x70888457871c72d32d8962de8eb9c0afb06cf9d3da14dcb7e2b03f21d8d59ef5" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "FollowWithSig": [ + { + "encodeTypeHashes": [ + "0x9e8ae62c4110965c175b27cf715039b09889d0119087a0e3a798e30b3958a627" + ], + "path": "registry/dispatch/eip712-dispatch.json" + } + ], + "Mirror": [ + { + "encodeTypeHashes": [ + "0xb7f0bf1380e1f809c3b537fdf3896f00e46bc66a95f752e8c10df3258c2e7e06" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "Post": [ + { + "encodeTypeHashes": [ + "0x8938250adaec2654de28d18f8712c7940338dfdfe389c1e0fa2eda14401de0ee" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "Quote": [ + { + "encodeTypeHashes": [ + "0x01e4597860ed5cb694b6275125e92f897deba4cb25b38789470e982ac0f0bba8" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "SetFollowModule": [ + { + "encodeTypeHashes": [ + "0xc71f698c3316d7b7810c831d68316a5fa62d68f8da6a899008857dedd663877c" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "SetProfileMetadataURI": [ + { + "encodeTypeHashes": [ + "0x2ec8c44df21693553f55aa1142dcbaf5b808049cd74198ebc2e45324fea475a2" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "Unfollow": [ + { + "encodeTypeHashes": [ + "0xb00eee39ac244140bd82de5ae80ce8d2c544adb7156300bd504f01ed3bb3d34a" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "follow_with_sign": [ + { + "encodeTypeHashes": [ + "0x4eb671ff5d356d62ec44a8ac8388294fa6f093ba88f662ae59a9f27f1047ceea" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "link": [ + { + "encodeTypeHashes": [ + "0xa280bb110de0eef244807f3a39ba6b99d13520eae79f36e74cceaf39088644a1" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "link_with_sig": [ + { + "encodeTypeHashes": [ + "0xc852f3eae06f8fd3e2e1272f38ea054800163ed167c29f6a0ef40cfe9c31da8e" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "mint": [ + { + "encodeTypeHashes": [ + "0x628183f05f378ebdb9c3138fee66f2773f48ab908dfe4ab4873882ab678800b6" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "mirror_with_sig": [ + { + "encodeTypeHashes": [ + "0x8a05e1bade2d331e0649e93d8ae6e975c9f8e9f77d490a6cef6bb8135a3ed7db" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "post_with_sign": [ + { + "encodeTypeHashes": [ + "0xcac1be84b3784c7af151dc7a31b776185cad05d8fe98873f52fff3da5c69122f" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "quote_with_sign": [ + { + "encodeTypeHashes": [ + "0xc4bee58028aa48f844191cabc37e657ae4343106529153ff555ac188f854a54f" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "set_block_status": [ + { + "encodeTypeHashes": [ + "0x124416232e06337f9b753f6e7f70da7757bb8571ca0d1c7fe60f9494b4d8a7ab" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "set_block_status_with_sig": [ + { + "encodeTypeHashes": [ + "0xbba3b93984ef8121efa21773c829238dff7daf0833ea896ace8fb3717144ab25" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "set_profile_metadata_with_sign": [ + { + "encodeTypeHashes": [ + "0x29138802f96599557058db8a8f7fcc56fc37869e6a566643cdabea3c08994a81" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ], + "unfollow_with_sign": [ + { + "encodeTypeHashes": [ + "0x903d668d869acfd477f7ef738500ba63c67dcddb575984faad97b7c29d9531ef" + ], + "path": "registry/lens/eip712-lens-lenshub.json" + } + ] + }, + "eip155:137:0xf3cd476c3c4d3ac5ca2724767f269070ca09a043": { + "Order": [ + { + "encodeTypeHashes": [ + "0x95afddf5e4bb9f692716b7fdff640e6b8a0d2869597405c6e9d35857ed19a150" + ], + "path": "registry/paraswap/eip712-paraswap.json" + } + ], + "OrderNFT": [ + { + "encodeTypeHashes": [ + "0xba5673374f195ea076b91318b714c4f3d0887a650164f117b9a64de6237587fb" + ], + "path": "registry/paraswap/eip712-paraswap.json" + } + ] + }, + "eip155:137:0xfb1bffc9d739b8d520daf37df666da4c687191ea": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:146:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ] + }, + "eip155:146:0x109ae72778a0260571b9767477204f1ce41fbdff": { + "CancelOrder": [ + { + "encodeTypeHashes": [ + "0x5ff63cb9ae8d800af4f8ce6d88294691a5b8228b88d81fbb70932ca18f282caf" + ], + "path": "registry/flyingtulip/eip712-SpotOrderCancel.json" + } + ], + "Session": [ + { + "encodeTypeHashes": [ + "0x10e2e916a5d944a9c9fa82748951934e444783850c4cb366694967607dbd2fc5" + ], + "path": "registry/flyingtulip/eip712-SessionManager-FT.json" + } + ], + "TpslGroupCancel": [ + { + "encodeTypeHashes": [ + "0x97c3004f022eead1b9565df4526775d10c55d927dbc6c62c9b8a97c68fb0d889" + ], + "path": "registry/flyingtulip/eip712-SpotOrderCancel.json" + } + ] + }, + "eip155:146:0x2daf4b445e7d659100b22a15c3eeb10e64ac5dc9": { + "Session": [ + { + "encodeTypeHashes": [ + "0x10e2e916a5d944a9c9fa82748951934e444783850c4cb366694967607dbd2fc5" + ], + "path": "registry/flyingtulip/eip712-SessionManager-ftUSD.json" + } + ] + }, + "eip155:146:0x52ef449d44cc4205fa44bf644dee15611fc30734": { + "Session": [ + { + "encodeTypeHashes": [ + "0x10e2e916a5d944a9c9fa82748951934e444783850c4cb366694967607dbd2fc5" + ], + "path": "registry/flyingtulip/eip712-SessionManager-ftUSD.json" + } + ] + }, + "eip155:146:0x8263a07504d93cb95e0a74f3627bb15faaf140e2": { + "LeveragedOrder": [ + { + "encodeTypeHashes": [ + "0xfd8d2910f3a2f56905df13cec5c26556c38404fe5081cd6f39be7a18b85a1218" + ], + "path": "registry/flyingtulip/eip712-LeverageRfqEngine.json" + } + ] + }, + "eip155:146:0x8f143d84ebf0751e56437a62bab0528d1c8657bf": { + "LeveragedOrder": [ + { + "encodeTypeHashes": [ + "0xfd8d2910f3a2f56905df13cec5c26556c38404fe5081cd6f39be7a18b85a1218" + ], + "path": "registry/flyingtulip/eip712-LeverageRfqEngine.json" + } + ] + }, + "eip155:146:0x9bb958d459a97e3e37e11becf842e728167d9114": { + "BuyOffer": [ + { + "encodeTypeHashes": [ + "0x5ab4b8a4cb149f25850770a2a14887f6e072405448758ac412c30efc463df7cc" + ], + "path": "registry/flyingtulip/eip712-PftMarketplace-BuyOffer.json" + } + ] + }, + "eip155:1:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:1:0x0000000000bbf5c5fd284e657f01bd000933c96d": { + "Order": [ + { + "encodeTypeHashes": [ + "0xc75d848e51cd0f81113e24c5a62c9b8566b0ff0d476245a7882709315eefbbf7" + ], + "path": "registry/paraswap/eip712-Velora-DeltaV2.json" + } + ] + }, + "eip155:1:0x0cec1a9154ff802e7934fc916ed7ca50bde6844e": { + "Delegation": [ + { + "encodeTypeHashes": [ + "0xe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf" + ], + "path": "registry/tally/eip712-tally-ethereum-pool-token.json" + } + ] + }, + "eip155:1:0x111111125421ca6dc452d289314280a0f8842a65": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:1:0x119c71d3bbac22029622cbaec24854d3d32d2828": { + "OrderStructure": [ + { + "encodeTypeHashes": [ + "0xb5da55eff5c27a8adb2f67a1c8c69165b0ddc78491ca437a82bd77e475228b2c" + ], + "path": "registry/1inch/eip712-1inch-limit-order.json" + } + ] + }, + "eip155:1:0x1f9840a85d5af5bf1d1762f925bdaddc4201f984": { + "Delegation": [ + { + "encodeTypeHashes": [ + "0xe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf" + ], + "path": "registry/tally/eip712-tally-ethereum-uni-token.json" + } + ] + }, + "eip155:1:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.4.1.json" + } + ] + }, + "eip155:1:0x2daf4b445e7d659100b22a15c3eeb10e64ac5dc9": { + "Session": [ + { + "encodeTypeHashes": [ + "0x10e2e916a5d944a9c9fa82748951934e444783850c4cb366694967607dbd2fc5" + ], + "path": "registry/flyingtulip/eip712-SessionManager-ftUSD.json" + } + ] + }, + "eip155:1:0x323a76393544d5ecca80cd6ef2a560c6a395b7e3": { + "Ballot": [ + { + "encodeTypeHashes": [ + "0x150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f" + ], + "path": "registry/tally/eip712-tally-ethereum-ens-governor.json" + } + ] + }, + "eip155:1:0x3e5c63644e683549055b9be8653de26e0b4cd36e": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:1:0x408ed6354d4973f66138c91495f2f2fcbd8724c3": { + "Ballot": [ + { + "encodeTypeHashes": [ + "0x150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f" + ], + "path": "registry/tally/eip712-tally-ethereum-bravo-governor.json" + } + ] + }, + "eip155:1:0x41675c099f32341bf84bfc5382af534df5c7461a": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.4.1.json" + } + ] + }, + "eip155:1:0x514910771af9ca656af840dff83e8264ecf986ca": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-ethereum-link.json" + } + ] + }, + "eip155:1:0x69f4d1788e39c87893c980c06edf4b7f686e2938": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:1:0x6b175474e89094c44da98b954eedeac495271d0f": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-ethereum-dai.json" + } + ] + }, + "eip155:1:0x72e9d9038ce484ee986fea183f8d8df93f9ada13": { + "LoanRequest": [ + { + "encodeTypeHashes": [ + "0xd1e59d3e811bdb62c4f2434d6fe904be99b925c1cce0cf2356883b94df406f2f" + ], + "path": "registry/smartcredit/eip712-smartcredit.json" + } + ] + }, + "eip155:1:0x7f19564c35c681099c0c857a7141836cf7edaa53": { + "Order": [ + { + "encodeTypeHashes": [ + "0x477ed43b8020849b755512278536c3766a3b4ab547519949a75f483372493f8d" + ], + "path": "registry/rarible/eip712-rarible-exchange-wrapper.json" + } + ] + }, + "eip155:1:0x7f268357a8c2552623316e2562d90e642bb538e5": { + "Order": [ + { + "encodeTypeHashes": [ + "0xdba08a88a748f356e8faf8578488343eab21b1741728779c9dcfdc782bc800f8" + ], + "path": "registry/opensea/eip712-opensea.json" + } + ] + }, + "eip155:1:0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-ethereum-lido-wsteth.json" + } + ] + }, + "eip155:1:0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-ethereum-aave.json" + } + ] + }, + "eip155:1:0x8236a87084f8b84306f72007f36f2618a5634494": { + "feeApproval": [ + { + "encodeTypeHashes": [ + "0x40ac9f6aa27075e64c1ed1ea2e831b20b8c25efdeb6b79fd0cf683c9a9c50725" + ], + "path": "registry/lombard/eip712-network-fee-authorization-mainnet.json" + } + ] + }, + "eip155:1:0x8263a07504d93cb95e0a74f3627bb15faaf140e2": { + "LeveragedOrder": [ + { + "encodeTypeHashes": [ + "0xfd8d2910f3a2f56905df13cec5c26556c38404fe5081cd6f39be7a18b85a1218" + ], + "path": "registry/flyingtulip/eip712-LeverageRfqEngine.json" + } + ] + }, + "eip155:1:0x9757f2d2b135150bbeb65308d4a91804107cd8d6": { + "Order": [ + { + "encodeTypeHashes": [ + "0x477ed43b8020849b755512278536c3766a3b4ab547519949a75f483372493f8d" + ], + "path": "registry/rarible/eip712-rarible-exchange-v2.json" + } + ] + }, + "eip155:1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-ethereum-usdc.json" + } + ], + "ReceiveWithAuthorization": [ + { + "encodeTypeHashes": [ + "0xd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de8" + ], + "path": "registry/circle/eip712-ReceiveWithAuthorization.json" + } + ], + "TransferWithAuthorization": [ + { + "encodeTypeHashes": [ + "0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267" + ], + "path": "registry/circle/eip712-TransferWithAuthorization.json" + } + ] + }, + "eip155:1:0xae7ab96520de3a18e5e111b5eaab095312d7fe84": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-ethereum-lido-steth.json" + } + ] + }, + "eip155:1:0xb3a87172f555ae2a2ab79be60b336d2f7d0187f0": { + "Ballot": [ + { + "encodeTypeHashes": [ + "0x8e25870c07e0b0b3884c78da52790939a455c275406c44ae8b434b692fb916ee" + ], + "path": "registry/tally/eip712-tally-ethereum-pooltogether-governor.json" + } + ] + }, + "eip155:1:0xb66a603f4cfe17e3d27b87a8bfcad319856518b8": { + "Mint1155": [ + { + "encodeTypeHashes": [ + "0xfb988707ebb338694f318760b0fd5cfe756d00a2ade251fda110b80c336a3c7f" + ], + "path": "registry/rarible/eip712-rarible-erc-1155.json" + } + ] + }, + "eip155:1:0xc18360217d8f7ab5e7c516566761ea12ce7f9d72": { + "Delegation": [ + { + "encodeTypeHashes": [ + "0xe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf" + ], + "path": "registry/tally/eip712-tally-ethereum-ens-token.json" + } + ] + }, + "eip155:1:0xc5102fe9359fd9a28f877a67e36b0f050d81a3cc": { + "Delegation": [ + { + "encodeTypeHashes": [ + "0xe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf" + ], + "path": "registry/tally/eip712-tally-ethereum-hop-token.json" + } + ] + }, + "eip155:1:0xc9154424b823b10579895ccbe442d41b9abd96ed": { + "Mint721": [ + { + "encodeTypeHashes": [ + "0xf64326045af5fd7e15297ba939f85b550474d3899daa47d2bc1ffbdb9ced344e" + ], + "path": "registry/rarible/eip712-rarible-erc-721.json" + } + ] + }, + "eip155:1:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:1:0xdbd27635a534a3d3169ef0498beb56fb9c937489": { + "Ballot": [ + { + "encodeTypeHashes": [ + "0x8e25870c07e0b0b3884c78da52790939a455c275406c44ae8b434b692fb916ee" + ], + "path": "registry/tally/eip712-tally-ethereum-bitcoin-governor.json" + } + ] + }, + "eip155:1:0xdc035d45d973e3ec169d2276ddab16f1e407384f": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-ethereum-usds.json" + } + ] + }, + "eip155:1:0xde30da39c46104798bb5aa3fe8b9e0e1f348163f": { + "Delegation": [ + { + "encodeTypeHashes": [ + "0xe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf" + ], + "path": "registry/tally/eip712-tally-ethereum-gtk-token.json" + } + ] + }, + "eip155:1:0xe63602a9b3dfe983187525ac985fec4f57b24ed5": { + "AccountUpdate": [ + { + "encodeTypeHashes": [ + "0xf818f8d180cf1b9f0a4eea0e4fd7bfd707e66355f291c043c7efe63858274ac8" + ], + "path": "registry/degate/eip712-degate.json" + } + ], + "Transfer": [ + { + "encodeTypeHashes": [ + "0x05ee05f4bc20ba51501b0b4e57d261a4a66ee982f9906da6193182c412d456b0" + ], + "path": "registry/degate/eip712-degate.json" + } + ], + "Withdrawal": [ + { + "encodeTypeHashes": [ + "0xc2b83c8f1f12a337942024032b032b2ff973a44861fa37f9a86f16b522e36b14" + ], + "path": "registry/degate/eip712-degate.json" + } + ] + }, + "eip155:1:0xe92b586627cca7a83dc919cc7127196d70f55a06": { + "Order": [ + { + "encodeTypeHashes": [ + "0x95afddf5e4bb9f692716b7fdff640e6b8a0d2869597405c6e9d35857ed19a150" + ], + "path": "registry/paraswap/eip712-paraswap.json" + } + ], + "OrderNFT": [ + { + "encodeTypeHashes": [ + "0xba5673374f195ea076b91318b714c4f3d0887a650164f117b9a64de6237587fb" + ], + "path": "registry/paraswap/eip712-paraswap.json" + } + ] + }, + "eip155:1:0xed8bdb5895b8b7f9fdb3c087628fd8410e853d48": { + "Ballot": [ + { + "encodeTypeHashes": [ + "0x150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f" + ], + "path": "registry/tally/eip712-tally-ethereum-hop-governor.json" + } + ] + }, + "eip155:1:0xedd160febbd92e350d4d398fb636302fccd67c7e": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.5.0.json" + } + ] + }, + "eip155:1:0xf9f3ddf2e96cabef94e2634c326dc6dde99360f8": { + "CancelOrder": [ + { + "encodeTypeHashes": [ + "0x5ff63cb9ae8d800af4f8ce6d88294691a5b8228b88d81fbb70932ca18f282caf" + ], + "path": "registry/flyingtulip/eip712-SpotOrderCancel.json" + } + ], + "Session": [ + { + "encodeTypeHashes": [ + "0x10e2e916a5d944a9c9fa82748951934e444783850c4cb366694967607dbd2fc5" + ], + "path": "registry/flyingtulip/eip712-SessionManager-FT.json" + } + ], + "TpslGroupCancel": [ + { + "encodeTypeHashes": [ + "0x97c3004f022eead1b9565df4526775d10c55d927dbc6c62c9b8a97c68fb0d889" + ], + "path": "registry/flyingtulip/eip712-SpotOrderCancel.json" + } + ] + }, + "eip155:1:0xfb1bffc9d739b8d520daf37df666da4c687191ea": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:1:0xff51a5898e281db6dfc7855790607438df2ca44b": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.5.0.json" + } + ] + }, + "eip155:250:0x111111125421ca6dc452d289314280a0f8842a65": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:250:0x6626c47c00f1d87902fc13eecfac3ed06d5e8d8a": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-fantom-wootrade.json" + } + ] + }, + "eip155:250:0xfb98b335551a418cd0737375a2ea0ded62ea213b": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-fantom-mimatic.json" + } + ] + }, + "eip155:324:0x6fd4383cb451173d5f9304f041c7bcbf27d561ff": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:421614:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:42161:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:42161:0x0927fd43a7a87e3e8b81df2c44b03c4756849f6d": { + "Order": [ + { + "encodeTypeHashes": [ + "0x95afddf5e4bb9f692716b7fdff640e6b8a0d2869597405c6e9d35857ed19a150" + ], + "path": "registry/paraswap/eip712-paraswap.json" + } + ], + "OrderNFT": [ + { + "encodeTypeHashes": [ + "0xba5673374f195ea076b91318b714c4f3d0887a650164f117b9a64de6237587fb" + ], + "path": "registry/paraswap/eip712-paraswap.json" + } + ] + }, + "eip155:42161:0x111111125421ca6dc452d289314280a0f8842a65": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:42161:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.4.1.json" + } + ] + }, + "eip155:42161:0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-wbtc.json" + } + ] + }, + "eip155:42161:0x3082cc23568ea640225c2467653db90e9250aaa0": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-rdnt.json" + } + ] + }, + "eip155:42161:0x3e5c63644e683549055b9be8653de26e0b4cd36e": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:42161:0x41675c099f32341bf84bfc5382af534df5c7461a": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.4.1.json" + } + ] + }, + "eip155:42161:0x6491c05a82219b8d1479057361ff1654749b876b": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-usds.json" + } + ] + }, + "eip155:42161:0x69f4d1788e39c87893c980c06edf4b7f686e2938": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:42161:0x789fc99093b09ad01c34dc7251d0c89ce743e5a4": { + "Ballot": [ + { + "encodeTypeHashes": [ + "0x150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f" + ], + "path": "registry/tally/eip712-tally-arbitrum-treasury-governor.json" + } + ] + }, + "eip155:42161:0x7f069df72b7a39bce9806e3afaf579e54d8cf2b9": { + "OrderStructure": [ + { + "encodeTypeHashes": [ + "0xb5da55eff5c27a8adb2f67a1c8c69165b0ddc78491ca437a82bd77e475228b2c" + ], + "path": "registry/1inch/eip712-1inch-limit-order.json" + } + ] + }, + "eip155:42161:0x82af49447d8a07e3bd95bd0d56f35241523fbab1": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-weth.json" + } + ] + }, + "eip155:42161:0x912ce59144191c1204e64559fe8253a0e49e6548": { + "Delegation": [ + { + "encodeTypeHashes": [ + "0xe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf" + ], + "path": "registry/tally/eip712-tally-arbitrum-arb-token.json" + } + ], + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-arb.json" + } + ] + }, + "eip155:42161:0x9cfb13e6c11054ac9fcb92ba89644f30775436e4": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-wsteth.json" + } + ] + }, + "eip155:42161:0xaf88d065e77c8cc2239327c5edb3a432268e5831": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-usdc.json" + } + ], + "ReceiveWithAuthorization": [ + { + "encodeTypeHashes": [ + "0xd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de8" + ], + "path": "registry/circle/eip712-ReceiveWithAuthorization.json" + } + ], + "TransferWithAuthorization": [ + { + "encodeTypeHashes": [ + "0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267" + ], + "path": "registry/circle/eip712-TransferWithAuthorization.json" + } + ] + }, + "eip155:42161:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:42161:0xda10009cbd5d07dd0cecc66161fc93d7c9000da1": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-dai.json" + } + ] + }, + "eip155:42161:0xf07ded9dc292157749b6fd268e37df6ea38395b9": { + "Ballot": [ + { + "encodeTypeHashes": [ + "0x150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f" + ], + "path": "registry/tally/eip712-tally-arbitrum-core-governor.json" + } + ] + }, + "eip155:42161:0xf97f4df75117a78c1a5a0dbb814af92458539fb4": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-link.json" + } + ] + }, + "eip155:42161:0xfb1bffc9d739b8d520daf37df666da4c687191ea": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:42161:0xfc5a1a6eb076a2c7ad06ed22c90d7e710e35ad0a": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-gmx.json" + } + ] + }, + "eip155:42161:0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-usdt.json" + } + ] + }, + "eip155:42161:0xff970a61a04b1ca14834a43f5de4533ebddb5cc8": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-arbitrum-bridged-usdc.json" + } + ] + }, + "eip155:42220:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:43114:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:43114:0x111111125421ca6dc452d289314280a0f8842a65": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:43114:0x152b9d0fdc40c096757f570a51e494bd4b943e50": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-avalanche_c_chain-wbtc.json" + } + ] + }, + "eip155:43114:0x176592c8ed3f2d94ce4c3f1a4cff7d068176ac54": { + "Session": [ + { + "encodeTypeHashes": [ + "0x10e2e916a5d944a9c9fa82748951934e444783850c4cb366694967607dbd2fc5" + ], + "path": "registry/flyingtulip/eip712-SessionManager-ftUSD.json" + } + ] + }, + "eip155:43114:0x2b2c81e08f1af8835a78bb2a90ae924ace0ea4be": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-avalanche_c_chain-savax.json" + } + ] + }, + "eip155:43114:0x488f73cddda1de3664775ffd91623637383d6404": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-avalanche_c_chain-yetiswap.json" + } + ] + }, + "eip155:43114:0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-avalanche_c_chain-weth.json" + } + ] + }, + "eip155:43114:0x5947bb275c521040051d82396192181b413227a3": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-avalanche_c_chain-link.json" + } + ] + }, + "eip155:43114:0x60781c2586d68229fde47564546784ab3faca982": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-avalanche_c_chain-pangolin.json" + } + ] + }, + "eip155:43114:0x6e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-avalanche_c_chain-joe.json" + } + ] + }, + "eip155:43114:0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-avalanche_c_chain-usdt.json" + } + ] + }, + "eip155:43114:0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-avalanche_c_chain-usdc.json" + } + ], + "ReceiveWithAuthorization": [ + { + "encodeTypeHashes": [ + "0xd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de8" + ], + "path": "registry/circle/eip712-ReceiveWithAuthorization.json" + } + ], + "TransferWithAuthorization": [ + { + "encodeTypeHashes": [ + "0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267" + ], + "path": "registry/circle/eip712-TransferWithAuthorization.json" + } + ] + }, + "eip155:56:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:56:0x0000000000bbf5c5fd284e657f01bd000933c96d": { + "Order": [ + { + "encodeTypeHashes": [ + "0xc75d848e51cd0f81113e24c5a62c9b8566b0ff0d476245a7882709315eefbbf7" + ], + "path": "registry/paraswap/eip712-Velora-DeltaV2.json" + } + ] + }, + "eip155:56:0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-bsc-cake.json" + } + ] + }, + "eip155:56:0x111111111117dc0aa78b770fa6a738034120c302": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-bsc-1inch-token.json" + } + ] + }, + "eip155:56:0x111111125421ca6dc452d289314280a0f8842a65": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:56:0x1e38eff998df9d3669e32f4ff400031385bf6362": { + "OrderStructure": [ + { + "encodeTypeHashes": [ + "0xb5da55eff5c27a8adb2f67a1c8c69165b0ddc78491ca437a82bd77e475228b2c" + ], + "path": "registry/1inch/eip712-1inch-limit-order.json" + } + ] + }, + "eip155:56:0x2170ed0880ac9a755fd29b2688956bd959f933f8": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-bsc-eth.json" + } + ] + }, + "eip155:56:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.4.1.json" + } + ] + }, + "eip155:56:0x3e5c63644e683549055b9be8653de26e0b4cd36e": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:56:0x41675c099f32341bf84bfc5382af534df5c7461a": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.4.1.json" + } + ] + }, + "eip155:56:0x69f4d1788e39c87893c980c06edf4b7f686e2938": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:56:0x7e624fa0e1c4abfd309cc15719b7e2580887f570": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-bsc-polkastarter-token.json" + } + ] + }, + "eip155:56:0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-bsc-usdc.json" + } + ] + }, + "eip155:56:0x8dcdfe88ef0351f27437284d0710cd65b20288bb": { + "Order": [ + { + "encodeTypeHashes": [ + "0x95afddf5e4bb9f692716b7fdff640e6b8a0d2869597405c6e9d35857ed19a150" + ], + "path": "registry/paraswap/eip712-paraswap.json" + } + ], + "OrderNFT": [ + { + "encodeTypeHashes": [ + "0xba5673374f195ea076b91318b714c4f3d0887a650164f117b9a64de6237587fb" + ], + "path": "registry/paraswap/eip712-paraswap.json" + } + ] + }, + "eip155:56:0xc85cb743f72b3a9bb594faa7d46ee1efc61b7a42": { + "Session": [ + { + "encodeTypeHashes": [ + "0x10e2e916a5d944a9c9fa82748951934e444783850c4cb366694967607dbd2fc5" + ], + "path": "registry/flyingtulip/eip712-SessionManager-ftUSD.json" + } + ] + }, + "eip155:56:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:56:0xfb1bffc9d739b8d520daf37df666da4c687191ea": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:59144:0x176211869ca2b568f2a7d4ee941e073a821ee1ff": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-linea-usdc.json" + } + ] + }, + "eip155:59144:0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-linea-wbtc.json" + } + ] + }, + "eip155:59144:0x4af15ec2a0bd43db75dd04e62faa3b8ef36b00d5": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-linea-dai.json" + } + ] + }, + "eip155:59144:0xa219439258ca9da29e9cc4ce5596924745e12b93": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-linea-usdt.json" + } + ] + }, + "eip155:59144:0xb5bedd42000b71fdde22d3ee8a79bd49a568fc8f": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-linea-wsteth.json" + } + ] + }, + "eip155:59144:0xc7346783f5e645aa998b106ef9e7f499528673d8": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-linea-frax.json" + } + ] + }, + "eip155:59144:0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-linea-weth.json" + } + ] + }, + "eip155:59144:0xeb466342c4d449bc9f53a865d5cb90586f405215": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-linea-lusd.json" + } + ] + }, + "eip155:80001:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:81457:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:8217:0x111111125421ca6dc452d289314280a0f8842a65": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:84532:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:8453:0x000000000022d473030f116ddee9f6b43ac78ba3": { + "PermitBatch": [ + { + "encodeTypeHashes": [ + "0xaf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitSingle": [ + { + "encodeTypeHashes": [ + "0xf3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitTransferFrom": [ + { + "encodeTypeHashes": [ + "0x939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106" + ], + "path": "registry/uniswap/eip712-uniswap-permit2.json" + } + ], + "PermitWitnessTransferFrom": [ + { + "encodeTypeHashes": [ + "0xf69aa722d3ed4edcfb9d5a29bf72a4d1fd0a2b90c570c4791dcde3f5dcd89c0b" + ], + "path": "registry/uniswap/eip712-UniswapX-DutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0x2846b6ca8e0ecdbc9ca7696f16bdf77b3baf48504ac14d6a541484ec197e91eb" + ], + "path": "registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json" + }, + { + "encodeTypeHashes": [ + "0xe35e6a28e8d076114130d5989df14ccf68b92dc3ed629938e43f54ab543d79bb" + ], + "path": "registry/uniswap/eip712-UniswapX-LimitOrder.json" + }, + { + "encodeTypeHashes": [ + "0xa8cc1ce2c3d1c6f1ff0072b7a47d6e2876fef4f7f92648cd166fdd6dec0a7465" + ], + "path": "registry/uniswap/eip712-uniswap-V2DutchOrder.json" + } + ] + }, + "eip155:8453:0x0000000000bbf5c5fd284e657f01bd000933c96d": { + "Order": [ + { + "encodeTypeHashes": [ + "0xc75d848e51cd0f81113e24c5a62c9b8566b0ff0d476245a7882709315eefbbf7" + ], + "path": "registry/paraswap/eip712-Velora-DeltaV2.json" + } + ] + }, + "eip155:8453:0x111111125421ca6dc452d289314280a0f8842a65": { + "Order": [ + { + "encodeTypeHashes": [ + "0x3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c" + ], + "path": "registry/1inch/eip712-AggregationRouterV6.json" + } + ] + }, + "eip155:8453:0x29fcb43b46531bca003ddc8fcb67ffe91900c762": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.4.1.json" + } + ] + }, + "eip155:8453:0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-base-cbeth.json" + } + ] + }, + "eip155:8453:0x3e5c63644e683549055b9be8653de26e0b4cd36e": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:8453:0x41675c099f32341bf84bfc5382af534df5c7461a": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.4.1.json" + } + ] + }, + "eip155:8453:0x4ed4e862860bed51a9570b96d89af5e1b0efefed": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-base-degen.json" + } + ] + }, + "eip155:8453:0x50c5725949a6f0c72e6c4a641f24049a917db0cb": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-base-dai.json" + } + ] + }, + "eip155:8453:0x532f27101965dd16442e59d40670faf5ebb142e4": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-base-brett.json" + } + ] + }, + "eip155:8453:0x69f4d1788e39c87893c980c06edf4b7f686e2938": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:8453:0x820c137fa70c8691f0e44dc420a5e53c168921dc": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-base-usds.json" + } + ] + }, + "eip155:8453:0x833589fcd6edb6e08f4c7c32d4f71b54bda02913": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-base-usdc.json" + } + ], + "ReceiveWithAuthorization": [ + { + "encodeTypeHashes": [ + "0xd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de8" + ], + "path": "registry/circle/eip712-ReceiveWithAuthorization.json" + } + ], + "TransferWithAuthorization": [ + { + "encodeTypeHashes": [ + "0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267" + ], + "path": "registry/circle/eip712-TransferWithAuthorization.json" + } + ] + }, + "eip155:8453:0x940181a94a35a4569e4529a3cdfb74e38fd98631": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-base-aero.json" + } + ] + }, + "eip155:8453:0xac1bd2486aaf3b5c0fc3fd868558b082a531b2b4": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-base-toshi.json" + } + ] + }, + "eip155:8453:0xc1cba3fcea344f92d9239c08c0568f6f2f0ee452": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-base-wsteth.json" + } + ] + }, + "eip155:8453:0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-Safe-1.3.0.json" + } + ] + }, + "eip155:8453:0xfb1bffc9d739b8d520daf37df666da4c687191ea": { + "AddAddressBookEntry": [ + { + "encodeTypeHashes": [ + "0x1d88b6027d70a6d3811ece51493cc41efd3ac017b253c6d7fef2f9aaf82465d2" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AddProposer": [ + { + "encodeTypeHashes": [ + "0x721d98123b9c931201e6c967b52e61d4cdcc3723dbb26126328a7cb283e35228" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "AuthentAddressBook": [ + { + "encodeTypeHashes": [ + "0x162439a1dd923ea5cad515f3bced2f093c8772ee93c3d51826ff95688283be94" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "Delegate": [ + { + "encodeTypeHashes": [ + "0x6c9e874b4b1b1537b11ab113648a187cf141593fa647a5a8ffa9abff4429cfba" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "DeleteRequest": [ + { + "encodeTypeHashes": [ + "0xea0e2920ae94ffdb9d98b7bbb85bc34fe4df5ccca3a98a2e3bfec8b64919fc08" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "RemoveProposer": [ + { + "encodeTypeHashes": [ + "0xdddd43cd698534e9c06afeb4cccc721a4a8603c6e9a56a047906226e384fe782" + ], + "path": "registry/safe/eip712-Safe-Multisig.json" + } + ], + "SafeTx": [ + { + "encodeTypeHashes": [ + "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8" + ], + "path": "registry/safe/eip712-SafeL2-1.3.0.json" + } + ] + }, + "eip155:8453:0xfde4c96c8593536e31f229ea8f37b2ada2699bb2": { + "Permit": [ + { + "encodeTypeHashes": [ + "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + ], + "path": "registry/permit/eip712-permit-base-usdt.json" + } + ] + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV3.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV3.json new file mode 100644 index 0000000..175763c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV3.json @@ -0,0 +1,85 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "AggregationRouterV3", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x11111112542D85B3EF69AE05771c2dCCff4fAa26" }, + { "chainId": 56, "address": "0x11111112542D85B3EF69AE05771c2dCCff4fAa26" }, + { "chainId": 137, "address": "0x11111112542D85B3EF69AE05771c2dCCff4fAa26" } + ] + } + }, + "metadata": { + "owner": "1inch Network", + "info": { "url": "https://1inch.io/", "deploymentDate": "2021-03-14T20:28:50Z" }, + "constants": { + "addressAsEth": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", + "addressAsNull": "0x0000000000000000000000000000000000000000" + }, + "contractName": "AggregationRouterV3" + }, + "display": { + "definitions": { + "sendAmount": { + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["$.metadata.constants.addressAsEth", "$.metadata.constants.addressAsNull"] } + }, + "minReceiveAmount": { + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["$.metadata.constants.addressAsEth", "$.metadata.constants.addressAsNull"] } + }, + "lastPool": { "label": "Last pool", "format": "addressName", "params": { "types": ["contract"] } }, + "beneficiary": { "label": "Beneficiary", "format": "addressName" } + }, + "formats": { + "swap(address caller, (address srcToken, address dstToken, address srcReceiver, address dstReceiver, uint256 amount, uint256 minReturnAmount, uint256 flags, bytes permit) desc, bytes data)": { + "$id": "swap", + "intent": "Swap", + "fields": [ + { + "path": "desc.amount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "desc.srcToken" }, + "visible": "always" + }, + { + "path": "desc.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "desc.dstToken" }, + "visible": "always" + }, + { "path": "desc.dstReceiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "label": "Caller", "path": "caller", "visible": "never" }, + { "label": "Desc Src Receiver", "path": "desc.srcReceiver", "visible": "never" }, + { "label": "Desc Flags", "path": "desc.flags", "visible": "never" }, + { "label": "Desc Permit", "path": "desc.permit", "visible": "never" }, + { "label": "Data", "path": "data", "visible": "never" } + ] + }, + "unoswap(address srcToken, uint256 amount, uint256 minReturn, bytes32[] pools)": { + "$id": "unoswap", + "intent": "Swap", + "fields": [ + { "path": "amount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" }, "visible": "always" }, + { "path": "minReturn", "$ref": "$.display.definitions.minReceiveAmount", "visible": "always" }, + { "path": "@.from", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "label": "Pools", "path": "pools", "visible": "never" } + ] + }, + "unoswapWithPermit(address srcToken, uint256 amount, uint256 minReturn, bytes32[] pools, bytes permit)": { + "$id": "unoswapWithPermit", + "intent": "Swap", + "fields": [ + { "path": "amount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" }, "visible": "always" }, + { "path": "minReturn", "$ref": "$.display.definitions.minReceiveAmount", "visible": "always" }, + { "path": "@.from", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "pools.[-1]", "$ref": "$.display.definitions.lastPool" }, + { "label": "Permit", "path": "permit", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV4-eth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV4-eth.json new file mode 100644 index 0000000..441b431 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV4-eth.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-AggregationRouterV4.json", + "context": { + "$id": "AggregationRouterV4", + "contract": { "deployments": [{ "chainId": 1, "address": "0x1111111254fb6c44bAC0beD2854e76F90643097d" }] } + }, + "display": { + "formats": { + "clipperSwap(address srcToken, address dstToken, uint256 amount, uint256 minReturn)": { + "$id": "clipperSwap", + "intent": "Swap", + "fields": [ + { "path": "amount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" }, "visible": "always" }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "dstToken" }, + "visible": "always" + }, + { "path": "@.from", "$ref": "$.display.definitions.beneficiary", "visible": "always" } + ] + }, + "clipperSwapTo(address recipient, address srcToken, address dstToken, uint256 amount, uint256 minReturn)": { + "$id": "clipperSwapTo", + "intent": "Swap", + "fields": [ + { "path": "amount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" }, "visible": "always" }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "dstToken" }, + "visible": "always" + }, + { "path": "recipient", "$ref": "$.display.definitions.beneficiary", "visible": "always" } + ] + }, + "clipperSwapToWithPermit(address recipient, address srcToken, address dstToken, uint256 amount, uint256 minReturn, bytes permit)": { + "$id": "clipperSwapToWithPermit", + "intent": "Swap", + "fields": [ + { "path": "amount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" }, "visible": "always" }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "dstToken" }, + "visible": "always" + }, + { "path": "recipient", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "label": "Permit", "path": "permit", "visible": "never" } + ] + } + } + }, + "metadata": { "contractName": "AggregationRouterV4" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV4.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV4.json new file mode 100644 index 0000000..da6e0e4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV4.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-AggregationRouterV4.json", + "context": { + "$id": "AggregationRouterV4", + "contract": { + "deployments": [ + { "chainId": 56, "address": "0x1111111254fb6c44bAC0beD2854e76F90643097d" }, + { "chainId": 137, "address": "0x1111111254fb6c44bAC0beD2854e76F90643097d" } + ] + } + }, + "metadata": { "contractName": "AggregationRouterV4" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV5.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV5.json new file mode 100644 index 0000000..7d144b8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV5.json @@ -0,0 +1,201 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "AggregationRouterV5", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x1111111254EEB25477B68fb85Ed929f73A960582" }, + { "chainId": 10, "address": "0x1111111254EEB25477B68fb85Ed929f73A960582" }, + { "chainId": 56, "address": "0x1111111254EEB25477B68fb85Ed929f73A960582" }, + { "chainId": 137, "address": "0x1111111254EEB25477B68fb85Ed929f73A960582" }, + { "chainId": 8453, "address": "0x1111111254EEB25477B68fb85Ed929f73A960582" }, + { "chainId": 42161, "address": "0x1111111254EEB25477B68fb85Ed929f73A960582" }, + { "chainId": 59144, "address": "0x1111111254EEB25477B68fb85Ed929f73A960582" } + ] + } + }, + "metadata": { + "owner": "1inch Network", + "info": { "url": "https://1inch.io/", "deploymentDate": "2022-11-04T06:04:59Z" }, + "constants": { + "addressAsEth": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", + "addressAsNull": "0x0000000000000000000000000000000000000000" + }, + "contractName": "AggregationRouterV5" + }, + "display": { + "definitions": { + "sendAmount": { + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["$.metadata.constants.addressAsEth", "$.metadata.constants.addressAsNull"] } + }, + "minReceiveAmount": { + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["$.metadata.constants.addressAsEth", "$.metadata.constants.addressAsNull"] } + }, + "lastPool": { "label": "Last pool", "format": "addressName", "params": { "types": ["contract"] } }, + "beneficiary": { "label": "Beneficiary", "format": "addressName" }, + "expirationTime": { "label": "Expiration time", "format": "date", "params": { "encoding": "timestamp" } } + }, + "formats": { + "swap(address executor, (address srcToken, address dstToken, address srcReceiver, address dstReceiver, uint256 amount, uint256 minReturnAmount, uint256 flags) desc, bytes permit, bytes data)": { + "$id": "swap", + "intent": "Swap", + "fields": [ + { + "path": "desc.amount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "desc.srcToken" }, + "visible": "always" + }, + { + "path": "desc.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "desc.dstToken" }, + "visible": "always" + }, + { "path": "desc.dstReceiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "label": "Executor", "path": "executor", "visible": "never" }, + { "label": "Desc Src Receiver", "path": "desc.srcReceiver", "visible": "never" }, + { "label": "Desc Flags", "path": "desc.flags", "visible": "never" }, + { "label": "Permit", "path": "permit", "visible": "never" }, + { "label": "Data", "path": "data", "visible": "never" } + ] + }, + "unoswap(address srcToken, uint256 amount, uint256 minReturn, uint256[] pools)": { + "$id": "unoswap", + "intent": "Swap", + "fields": [ + { "path": "amount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" }, "visible": "always" }, + { "path": "minReturn", "$ref": "$.display.definitions.minReceiveAmount", "visible": "always" }, + { "path": "@.from", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "pools.[-1]", "$ref": "$.display.definitions.lastPool" } + ] + }, + "unoswapTo(address recipient, address srcToken, uint256 amount, uint256 minReturn, uint256[] pools)": { + "$id": "unoswapTo", + "intent": "Swap", + "fields": [ + { "path": "amount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" }, "visible": "always" }, + { "path": "minReturn", "$ref": "$.display.definitions.minReceiveAmount", "visible": "always" }, + { "path": "recipient", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "pools.[-1]", "$ref": "$.display.definitions.lastPool" } + ] + }, + "unoswapToWithPermit(address recipient, address srcToken, uint256 amount, uint256 minReturn, uint256[] pools, bytes permit)": { + "$id": "unoswapToWithPermit", + "intent": "Swap", + "fields": [ + { "path": "amount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" }, "visible": "always" }, + { "path": "minReturn", "$ref": "$.display.definitions.minReceiveAmount", "visible": "always" }, + { "path": "recipient", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "pools.[-1]", "$ref": "$.display.definitions.lastPool" }, + { "label": "Permit", "path": "permit", "visible": "never" } + ] + }, + "uniswapV3Swap(uint256 amount, uint256 minReturn, uint256[] pools)": { + "$id": "uniswapV3Swap", + "intent": "Swap", + "fields": [ + { "path": "amount", "$ref": "$.display.definitions.sendAmount", "visible": "always" }, + { "path": "minReturn", "$ref": "$.display.definitions.minReceiveAmount", "visible": "always" }, + { "path": "@.from", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "pools.[-1]", "$ref": "$.display.definitions.lastPool" } + ] + }, + "uniswapV3SwapTo(address recipient, uint256 amount, uint256 minReturn, uint256[] pools)": { + "$id": "uniswapV3SwapTo", + "intent": "Swap", + "fields": [ + { "path": "amount", "$ref": "$.display.definitions.sendAmount", "visible": "always" }, + { "path": "minReturn", "$ref": "$.display.definitions.minReceiveAmount", "visible": "always" }, + { "path": "recipient", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "pools.[-1]", "$ref": "$.display.definitions.lastPool" } + ] + }, + "uniswapV3SwapToWithPermit(address recipient, address srcToken, uint256 amount, uint256 minReturn, uint256[] pools, bytes permit)": { + "$id": "uniswapV3SwapToWithPermit", + "intent": "Swap", + "fields": [ + { "path": "amount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" }, "visible": "always" }, + { "path": "minReturn", "$ref": "$.display.definitions.minReceiveAmount", "visible": "always" }, + { "path": "recipient", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "pools.[-1]", "$ref": "$.display.definitions.lastPool" }, + { "label": "Permit", "path": "permit", "visible": "never" } + ] + }, + "clipperSwap(address clipperExchange, address srcToken, address dstToken, uint256 inputAmount, uint256 outputAmount, uint256 goodUntil, bytes32 r, bytes32 vs)": { + "$id": "clipperSwap", + "intent": "Swap", + "fields": [ + { + "path": "inputAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "srcToken" }, + "visible": "always" + }, + { + "path": "outputAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "dstToken" }, + "visible": "always" + }, + { "path": "@.from", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "goodUntil.[-4:]", "$ref": "$.display.definitions.expirationTime" }, + { "label": "Clipper Exchange", "path": "clipperExchange", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "Vs", "path": "vs", "visible": "never" } + ] + }, + "clipperSwapTo(address clipperExchange, address recipient, address srcToken, address dstToken, uint256 inputAmount, uint256 outputAmount, uint256 goodUntil, bytes32 r, bytes32 vs)": { + "$id": "clipperSwapTo", + "intent": "Swap", + "fields": [ + { + "path": "inputAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "srcToken" }, + "visible": "always" + }, + { + "path": "outputAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "dstToken" }, + "visible": "always" + }, + { "path": "recipient", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "goodUntil.[-4:]", "$ref": "$.display.definitions.expirationTime" }, + { "label": "Clipper Exchange", "path": "clipperExchange", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "Vs", "path": "vs", "visible": "never" } + ] + }, + "clipperSwapToWithPermit(address clipperExchange, address recipient, address srcToken, address dstToken, uint256 inputAmount, uint256 outputAmount, uint256 goodUntil, bytes32 r, bytes32 vs, bytes permit)": { + "$id": "clipperSwapToWithPermit", + "intent": "Swap", + "fields": [ + { + "path": "inputAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "srcToken" }, + "visible": "always" + }, + { + "path": "outputAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "dstToken" }, + "visible": "always" + }, + { "path": "recipient", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "goodUntil.[-4:]", "$ref": "$.display.definitions.expirationTime" }, + { "label": "Clipper Exchange", "path": "clipperExchange", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "Vs", "path": "vs", "visible": "never" }, + { "label": "Permit", "path": "permit", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV6-zksync.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV6-zksync.json new file mode 100644 index 0000000..9695152 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV6-zksync.json @@ -0,0 +1,9 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-AggregationRouterV6.json", + "context": { + "$id": "AggregationRouterV6", + "contract": { "deployments": [{ "chainId": 324, "address": "0x6fd4383cB451173D5f9304F041C7BCBf27d561fF" }] } + }, + "metadata": { "contractName": "AggregationRouterV6" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV6.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV6.json new file mode 100644 index 0000000..c862385 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-AggregationRouterV6.json @@ -0,0 +1,75 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-AggregationRouterV6.json", + "context": { + "$id": "AggregationRouterV6", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 10, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 56, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 100, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 137, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 146, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 250, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 8217, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 8453, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 42161, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 43114, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 59144, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 1313161554, "address": "0x111111125421cA6dc452d289314280a0f8842A65" } + ] + } + }, + "display": { + "formats": { + "clipperSwap(address clipperExchange, uint256 srcToken, address dstToken, uint256 inputAmount, uint256 outputAmount, uint256 goodUntil, bytes32 r, bytes32 vs)": { + "$id": "clipperSwap", + "intent": "Swap", + "fields": [ + { + "path": "inputAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "srcToken.[-20:]" }, + "visible": "always" + }, + { + "path": "outputAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "dstToken" }, + "visible": "always" + }, + { "path": "@.from", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "goodUntil.[-4:]", "$ref": "$.display.definitions.expirationTime" }, + { "label": "Clipper Exchange", "path": "clipperExchange", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "Vs", "path": "vs", "visible": "never" } + ] + }, + "clipperSwapTo(address clipperExchange, address recipient, uint256 srcToken, address dstToken, uint256 inputAmount, uint256 outputAmount, uint256 goodUntil, bytes32 r, bytes32 vs)": { + "$id": "clipperSwapTo", + "intent": "Swap", + "fields": [ + { + "path": "inputAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "srcToken.[-20:]" }, + "visible": "always" + }, + { + "path": "outputAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "dstToken" }, + "visible": "always" + }, + { "path": "recipient", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "path": "goodUntil.[-4:]", "$ref": "$.display.definitions.expirationTime" }, + { "label": "Clipper Exchange", "path": "clipperExchange", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "Vs", "path": "vs", "visible": "never" } + ] + } + } + }, + "metadata": { "contractName": "AggregationRouterV6" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-NativeOrderFactory.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-NativeOrderFactory.json new file mode 100644 index 0000000..f9c37f6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/calldata-NativeOrderFactory.json @@ -0,0 +1,62 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "NativeOrderFactory", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xe12E0f117d23a5ccc57f8935CD8c4E80cD91FF01" }, + { "chainId": 10, "address": "0xe12E0f117d23a5ccc57f8935CD8c4E80cD91FF01" }, + { "chainId": 56, "address": "0xe12E0f117d23a5ccc57f8935CD8c4E80cD91FF01" }, + { "chainId": 100, "address": "0xe12E0f117d23a5ccc57f8935CD8c4E80cD91FF01" }, + { "chainId": 137, "address": "0xe12E0f117d23a5ccc57f8935CD8c4E80cD91FF01" }, + { "chainId": 146, "address": "0xe12E0f117d23a5ccc57f8935CD8c4E80cD91FF01" }, + { "chainId": 8453, "address": "0xe12E0f117d23a5ccc57f8935CD8c4E80cD91FF01" }, + { "chainId": 42161, "address": "0xe12E0f117d23a5ccc57f8935CD8c4E80cD91FF01" }, + { "chainId": 43114, "address": "0xe12E0f117d23a5ccc57f8935CD8c4E80cD91FF01" }, + { "chainId": 59144, "address": "0xe12E0f117d23a5ccc57f8935CD8c4E80cD91FF01" } + ] + } + }, + "metadata": { + "owner": "1inch Network", + "info": { "url": "https://1inch.io/", "deploymentDate": "2025-09-26T02:02:59Z" }, + "constants": { + "addressAsEth": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", + "addressAsNull": "0x0000000000000000000000000000000000000000" + }, + "contractName": "NativeOrderFactory" + }, + "display": { + "formats": { + "create((uint256 salt, uint256 maker, uint256 receiver, uint256 makerAsset, uint256 takerAsset, uint256 makingAmount, uint256 takingAmount, uint256 makerTraits) makerOrder)": { + "$id": "create", + "intent": "create order", + "fields": [ + { "label": "Amount to Send", "path": "@.value", "format": "amount" }, + { + "label": "Receive amount", + "path": "makerOrder.takingAmount", + "format": "tokenAmount", + "params": { + "tokenPath": "makerOrder.takerAsset", + "nativeCurrencyAddress": ["$.metadata.constants.addressAsEth", "$.metadata.constants.addressAsNull"] + }, + "visible": "always" + }, + { + "label": "Beneficiary", + "path": "makerOrder.receiver", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { "label": "Maker Order Salt", "path": "makerOrder.salt", "visible": "never" }, + { "label": "Maker Order Maker", "path": "makerOrder.maker", "visible": "never" }, + { "label": "Maker Order Maker Asset", "path": "makerOrder.makerAsset", "visible": "never" }, + { "label": "Maker Order Making Amount", "path": "makerOrder.makingAmount", "visible": "never" }, + { "label": "Maker Order Maker Traits", "path": "makerOrder.makerTraits", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/common-AggregationRouterV4.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/common-AggregationRouterV4.json new file mode 100644 index 0000000..7b68ebb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/common-AggregationRouterV4.json @@ -0,0 +1,249 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "metadata": { + "owner": "1inch Network", + "info": { + "url": "https://1inch.io/", + "deploymentDate": "2021-11-05T10:18:09Z" + }, + "constants": { + "addressAsEth": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", + "addressAsNull": "0x0000000000000000000000000000000000000000" + } + }, + "display": { + "definitions": { + "sendAmount": { + "label": "Amount to Send", + "format": "tokenAmount", + "params": { + "nativeCurrencyAddress": [ + "$.metadata.constants.addressAsEth", + "$.metadata.constants.addressAsNull" + ] + } + }, + "minReceiveAmount": { + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { + "nativeCurrencyAddress": [ + "$.metadata.constants.addressAsEth", + "$.metadata.constants.addressAsNull" + ] + } + }, + "lastPool": { + "label": "Last pool", + "format": "addressName", + "params": { + "types": [ + "contract" + ] + } + }, + "beneficiary": { + "label": "Beneficiary", + "format": "addressName" + } + }, + "formats": { + "swap(address caller, (address srcToken, address dstToken, address srcReceiver, address dstReceiver, uint256 amount, uint256 minReturnAmount, uint256 flags, bytes permit) desc, bytes data)": { + "$id": "swap", + "intent": "Swap", + "fields": [ + { + "path": "desc.amount", + "$ref": "$.display.definitions.sendAmount", + "params": { + "tokenPath": "desc.srcToken" + }, + "visible": "always" + }, + { + "path": "desc.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { + "tokenPath": "desc.dstToken" + }, + "visible": "always" + }, + { + "path": "desc.dstReceiver", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "label": "Caller", + "path": "caller", + "visible": "never" + }, + { + "label": "Desc Src Receiver", + "path": "desc.srcReceiver", + "visible": "never" + }, + { + "label": "Desc Flags", + "path": "desc.flags", + "visible": "never" + }, + { + "label": "Desc Permit", + "path": "desc.permit", + "visible": "never" + }, + { + "label": "Data", + "path": "data", + "visible": "never" + } + ] + }, + "unoswap(address srcToken, uint256 amount, uint256 minReturn, bytes32[] pools)": { + "$id": "unoswap", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { + "tokenPath": "srcToken" + }, + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "@.from", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "path": "pools.[-1]", + "$ref": "$.display.definitions.lastPool" + } + ] + }, + "unoswapWithPermit(address srcToken, uint256 amount, uint256 minReturn, bytes32[] pools, bytes permit)": { + "$id": "unoswapWithPermit", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { + "tokenPath": "srcToken" + }, + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "@.from", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "path": "pools.[-1]", + "$ref": "$.display.definitions.lastPool" + }, + { + "label": "Permit", + "path": "permit", + "visible": "never" + } + ] + }, + "uniswapV3Swap(uint256 amount, uint256 minReturn, uint256[] pools)": { + "$id": "uniswapV3Swap", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "@.from", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "path": "pools.[-1]", + "$ref": "$.display.definitions.lastPool" + } + ] + }, + "uniswapV3SwapTo(address recipient, uint256 amount, uint256 minReturn, uint256[] pools)": { + "$id": "uniswapV3SwapTo", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "recipient", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "path": "pools.[-1]", + "$ref": "$.display.definitions.lastPool" + } + ] + }, + "uniswapV3SwapToWithPermit(address recipient, address srcToken, uint256 amount, uint256 minReturn, uint256[] pools, bytes permit)": { + "$id": "uniswapV3SwapToWithPermit", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { + "tokenPath": "srcToken" + }, + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "recipient", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "path": "pools.[-1]", + "$ref": "$.display.definitions.lastPool" + }, + { + "label": "Permit", + "path": "permit", + "visible": "never" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/common-AggregationRouterV6.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/common-AggregationRouterV6.json new file mode 100644 index 0000000..d9aad3e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/common-AggregationRouterV6.json @@ -0,0 +1,858 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "metadata": { + "owner": "1inch Network", + "info": { + "url": "https://1inch.io/", + "deploymentDate": "2024-02-12T03:44:35Z" + }, + "enums": { + "takerTraits": { + "0": "None", + "16": "None", + "32": "None", + "64": "Unwrap", + "80": "Unwrap", + "96": "Unwrap" + } + }, + "constants": { + "addressAsEth": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", + "addressAsNull": "0x0000000000000000000000000000000000000000" + } + }, + "display": { + "definitions": { + "sendAmount": { + "label": "Amount to Send", + "format": "tokenAmount", + "params": { + "nativeCurrencyAddress": [ + "$.metadata.constants.addressAsEth", + "$.metadata.constants.addressAsNull" + ] + } + }, + "minReceiveAmount": { + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { + "nativeCurrencyAddress": [ + "$.metadata.constants.addressAsEth", + "$.metadata.constants.addressAsNull" + ] + } + }, + "makingAmount": { + "label": "Order purchasing amt", + "format": "tokenAmount", + "params": { + "nativeCurrencyAddress": [ + "$.metadata.constants.addressAsEth", + "$.metadata.constants.addressAsNull" + ] + } + }, + "takingAmount": { + "label": "Order selling amount", + "format": "tokenAmount", + "params": { + "nativeCurrencyAddress": [ + "$.metadata.constants.addressAsEth", + "$.metadata.constants.addressAsNull" + ] + } + }, + "fillAmount": { + "label": "Amount to sell", + "format": "tokenAmount", + "params": { + "nativeCurrencyAddress": [ + "$.metadata.constants.addressAsEth", + "$.metadata.constants.addressAsNull" + ] + } + }, + "takerTraits": { + "format": "enum", + "label": "Additional action", + "params": { + "$ref": "$.metadata.enums.takerTraits" + } + }, + "beneficiary": { + "label": "Beneficiary", + "format": "addressName" + }, + "lastPool": { + "label": "Last pool", + "format": "addressName", + "params": { + "types": [ + "contract" + ] + } + }, + "expirationTime": { + "label": "Expiration time", + "format": "date", + "params": { + "encoding": "timestamp" + } + } + }, + "formats": { + "permitAndCall(bytes permit, bytes action)": { + "$id": "permitAndCall", + "intent": "Execute with permit", + "fields": [ + { + "path": "action", + "label": "Swap", + "format": "calldata", + "params": { + "calleePath": "@.to" + }, + "visible": "always" + }, + { + "label": "Permit", + "path": "permit", + "visible": "never" + } + ] + }, + "swap(address executor, (address srcToken, address dstToken, address srcReceiver, address dstReceiver, uint256 amount, uint256 minReturnAmount, uint256 flags) desc, bytes data)": { + "$id": "swap", + "intent": "Swap", + "fields": [ + { + "path": "desc.amount", + "$ref": "$.display.definitions.sendAmount", + "params": { + "tokenPath": "desc.srcToken" + }, + "visible": "always" + }, + { + "path": "desc.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { + "tokenPath": "desc.dstToken" + }, + "visible": "always" + }, + { + "path": "desc.dstReceiver", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "label": "Executor", + "path": "executor", + "visible": "never" + }, + { + "label": "Desc Src Receiver", + "path": "desc.srcReceiver", + "visible": "never" + }, + { + "label": "Desc Flags", + "path": "desc.flags", + "visible": "never" + }, + { + "label": "Data", + "path": "data", + "visible": "never" + } + ] + }, + "unoswap(uint256 token, uint256 amount, uint256 minReturn, uint256 dex)": { + "$id": "unoswap", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { + "tokenPath": "token.[-20:]" + }, + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "@.from", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "path": "dex.[-20:]", + "$ref": "$.display.definitions.lastPool" + } + ] + }, + "unoswap2(uint256 token, uint256 amount, uint256 minReturn, uint256 dex, uint256 dex2)": { + "$id": "unoswap2", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { + "tokenPath": "token.[-20:]" + }, + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "@.from", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "path": "dex2.[-20:]", + "$ref": "$.display.definitions.lastPool" + }, + { + "label": "Dex", + "path": "dex", + "visible": "never" + } + ] + }, + "unoswap3(uint256 token, uint256 amount, uint256 minReturn, uint256 dex, uint256 dex2, uint256 dex3)": { + "$id": "unoswap3", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { + "tokenPath": "token.[-20:]" + }, + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "@.from", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "path": "dex3.[-20:]", + "$ref": "$.display.definitions.lastPool" + }, + { + "label": "Dex", + "path": "dex", + "visible": "never" + }, + { + "label": "Dex2", + "path": "dex2", + "visible": "never" + } + ] + }, + "unoswapTo(uint256 to, uint256 token, uint256 amount, uint256 minReturn, uint256 dex)": { + "$id": "unoswapTo", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { + "tokenPath": "token.[-20:]" + }, + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "to.[-20:]", + "$ref": "$.display.definitions.beneficiary" + }, + { + "path": "dex.[-20:]", + "$ref": "$.display.definitions.lastPool" + } + ] + }, + "unoswapTo2(uint256 to, uint256 token, uint256 amount, uint256 minReturn, uint256 dex, uint256 dex2)": { + "$id": "unoswapTo2", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { + "tokenPath": "token.[-20:]" + }, + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "to.[-20:]", + "$ref": "$.display.definitions.beneficiary" + }, + { + "path": "dex2.[-20:]", + "$ref": "$.display.definitions.lastPool" + }, + { + "label": "Dex", + "path": "dex", + "visible": "never" + } + ] + }, + "unoswapTo3(uint256 to, uint256 token, uint256 amount, uint256 minReturn, uint256 dex, uint256 dex2, uint256 dex3)": { + "$id": "unoswapTo3", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { + "tokenPath": "token.[-20:]" + }, + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "to.[-20:]", + "$ref": "$.display.definitions.beneficiary" + }, + { + "path": "dex3.[-20:]", + "$ref": "$.display.definitions.lastPool" + }, + { + "label": "Dex", + "path": "dex", + "visible": "never" + }, + { + "label": "Dex2", + "path": "dex2", + "visible": "never" + } + ] + }, + "ethUnoswap(uint256 minReturn, uint256 dex)": { + "$id": "ethUnoswap", + "intent": "Swap", + "fields": [ + { + "path": "@.value", + "label": "Amount to Send", + "format": "amount", + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "@.from", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "path": "dex.[-20:]", + "$ref": "$.display.definitions.lastPool" + } + ] + }, + "ethUnoswap2(uint256 minReturn, uint256 dex, uint256 dex2)": { + "$id": "ethUnoswap2", + "intent": "Swap", + "fields": [ + { + "path": "@.value", + "label": "Amount to Send", + "format": "amount", + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "@.from", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "path": "dex2.[-20:]", + "$ref": "$.display.definitions.lastPool" + }, + { + "label": "Dex", + "path": "dex", + "visible": "never" + } + ] + }, + "ethUnoswap3(uint256 minReturn, uint256 dex, uint256 dex2, uint256 dex3)": { + "$id": "ethUnoswap3", + "intent": "Swap", + "fields": [ + { + "path": "@.value", + "label": "Amount to Send", + "format": "amount", + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "@.from", + "$ref": "$.display.definitions.beneficiary", + "visible": "always" + }, + { + "path": "dex3.[-20:]", + "$ref": "$.display.definitions.lastPool" + }, + { + "label": "Dex", + "path": "dex", + "visible": "never" + }, + { + "label": "Dex2", + "path": "dex2", + "visible": "never" + } + ] + }, + "ethUnoswapTo(uint256 to, uint256 minReturn, uint256 dex)": { + "$id": "ethUnoswapTo", + "intent": "Swap", + "fields": [ + { + "path": "@.value", + "label": "Amount to Send", + "format": "amount", + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "to.[-20:]", + "$ref": "$.display.definitions.beneficiary" + }, + { + "path": "dex.[-20:]", + "$ref": "$.display.definitions.lastPool" + } + ] + }, + "ethUnoswapTo2(uint256 to, uint256 minReturn, uint256 dex, uint256 dex2)": { + "$id": "ethUnoswapTo2", + "intent": "Swap", + "fields": [ + { + "path": "@.value", + "label": "Amount to Send", + "format": "amount", + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "to.[-20:]", + "$ref": "$.display.definitions.beneficiary" + }, + { + "path": "dex2.[-20:]", + "$ref": "$.display.definitions.lastPool" + }, + { + "label": "Dex", + "path": "dex", + "visible": "never" + } + ] + }, + "ethUnoswapTo3(uint256 to, uint256 minReturn, uint256 dex, uint256 dex2, uint256 dex3)": { + "$id": "ethUnoswapTo3", + "intent": "Swap", + "fields": [ + { + "path": "@.value", + "label": "Amount to Send", + "format": "amount", + "visible": "always" + }, + { + "path": "minReturn", + "$ref": "$.display.definitions.minReceiveAmount", + "visible": "always" + }, + { + "path": "to.[-20:]", + "$ref": "$.display.definitions.beneficiary" + }, + { + "path": "dex3.[-20:]", + "$ref": "$.display.definitions.lastPool" + }, + { + "label": "Dex", + "path": "dex", + "visible": "never" + }, + { + "label": "Dex2", + "path": "dex2", + "visible": "never" + } + ] + }, + "cancelOrder(uint256 makerTraits, bytes32 orderHash)": { + "$id": "cancelOrder", + "intent": "Cancel limit orders", + "fields": [ + { + "path": "orderHash", + "label": "Order", + "format": "raw", + "visible": "always" + }, + { + "label": "Maker Traits", + "path": "makerTraits", + "visible": "never" + } + ] + }, + "cancelOrders(uint256[] makerTraits, bytes32[] orderHashes)": { + "$id": "cancelOrders", + "intent": "Cancel limit orders", + "fields": [ + { + "path": "orderHashes.[]", + "label": "Order", + "format": "raw" + }, + { + "label": "Maker Traits", + "path": "makerTraits", + "visible": "never" + } + ] + }, + "increaseEpoch(uint96 series)": { + "$id": "increaseEpoch", + "intent": "Cancel all limit orders", + "fields": [ + { + "path": "@.from", + "label": "Orders maker", + "format": "raw", + "visible": "always" + }, + { + "label": "Series", + "path": "series", + "visible": "never" + } + ] + }, + "fillContractOrder((uint256 salt, uint256 maker, uint256 receiver, uint256 makerAsset, uint256 takerAsset, uint256 makingAmount, uint256 takingAmount, uint256 makerTraits) order, bytes signature, uint256 amount, uint256 takerTraits)": { + "$id": "fillContractOrder", + "intent": "Fill order", + "fields": [ + { + "path": "order.takingAmount", + "$ref": "$.display.definitions.takingAmount", + "params": { + "tokenPath": "order.takerAsset" + }, + "visible": "always" + }, + { + "path": "order.makingAmount", + "$ref": "$.display.definitions.makingAmount", + "params": { + "tokenPath": "order.makerAsset" + }, + "visible": "always" + }, + { + "path": "amount", + "$ref": "$.display.definitions.fillAmount", + "params": { + "tokenPath": "order.takerAsset" + }, + "visible": "always" + }, + { + "path": "takerTraits.[:1]", + "$ref": "$.display.definitions.takerTraits" + }, + { + "label": "Signature", + "path": "signature", + "visible": "never" + }, + { + "label": "Order Salt", + "path": "order.salt", + "visible": "never" + }, + { + "label": "Order Maker", + "path": "order.maker", + "visible": "never" + }, + { + "label": "Order Receiver", + "path": "order.receiver", + "visible": "never" + }, + { + "label": "Order Maker Traits", + "path": "order.makerTraits", + "visible": "never" + } + ] + }, + "fillContractOrderArgs((uint256 salt, uint256 maker, uint256 receiver, uint256 makerAsset, uint256 takerAsset, uint256 makingAmount, uint256 takingAmount, uint256 makerTraits) order, bytes signature, uint256 amount, uint256 takerTraits, bytes args)": { + "$id": "fillContractOrder", + "intent": "Fill order", + "fields": [ + { + "path": "order.takingAmount", + "$ref": "$.display.definitions.takingAmount", + "params": { + "tokenPath": "order.takerAsset" + }, + "visible": "always" + }, + { + "path": "order.makingAmount", + "$ref": "$.display.definitions.makingAmount", + "params": { + "tokenPath": "order.makerAsset" + }, + "visible": "always" + }, + { + "path": "amount", + "$ref": "$.display.definitions.fillAmount", + "params": { + "tokenPath": "order.takerAsset" + }, + "visible": "always" + }, + { + "path": "takerTraits.[:1]", + "$ref": "$.display.definitions.takerTraits" + }, + { + "label": "Signature", + "path": "signature", + "visible": "never" + }, + { + "label": "Args", + "path": "args", + "visible": "never" + }, + { + "label": "Order Salt", + "path": "order.salt", + "visible": "never" + }, + { + "label": "Order Maker", + "path": "order.maker", + "visible": "never" + }, + { + "label": "Order Receiver", + "path": "order.receiver", + "visible": "never" + }, + { + "label": "Order Maker Traits", + "path": "order.makerTraits", + "visible": "never" + } + ] + }, + "fillOrder((uint256 salt, uint256 maker, uint256 receiver, uint256 makerAsset, uint256 takerAsset, uint256 makingAmount, uint256 takingAmount, uint256 makerTraits) order, bytes32 r, bytes32 vs, uint256 amount, uint256 takerTraits)": { + "$id": "fillContractOrder", + "intent": "Fill order", + "fields": [ + { + "path": "order.takingAmount", + "$ref": "$.display.definitions.takingAmount", + "params": { + "tokenPath": "order.takerAsset" + }, + "visible": "always" + }, + { + "path": "order.makingAmount", + "$ref": "$.display.definitions.makingAmount", + "params": { + "tokenPath": "order.makerAsset" + }, + "visible": "always" + }, + { + "path": "amount", + "$ref": "$.display.definitions.fillAmount", + "params": { + "tokenPath": "order.takerAsset" + }, + "visible": "always" + }, + { + "path": "takerTraits.[:1]", + "$ref": "$.display.definitions.takerTraits" + }, + { + "label": "R", + "path": "r", + "visible": "never" + }, + { + "label": "Vs", + "path": "vs", + "visible": "never" + }, + { + "label": "Order Salt", + "path": "order.salt", + "visible": "never" + }, + { + "label": "Order Maker", + "path": "order.maker", + "visible": "never" + }, + { + "label": "Order Receiver", + "path": "order.receiver", + "visible": "never" + }, + { + "label": "Order Maker Traits", + "path": "order.makerTraits", + "visible": "never" + } + ] + }, + "fillOrderArgs((uint256 salt, uint256 maker, uint256 receiver, uint256 makerAsset, uint256 takerAsset, uint256 makingAmount, uint256 takingAmount, uint256 makerTraits) order, bytes32 r, bytes32 vs, uint256 amount, uint256 takerTraits, bytes args)": { + "$id": "fillContractOrder", + "intent": "Fill order", + "fields": [ + { + "path": "order.takingAmount", + "$ref": "$.display.definitions.takingAmount", + "params": { + "tokenPath": "order.takerAsset" + }, + "visible": "always" + }, + { + "path": "order.makingAmount", + "$ref": "$.display.definitions.makingAmount", + "params": { + "tokenPath": "order.makerAsset" + }, + "visible": "always" + }, + { + "path": "amount", + "$ref": "$.display.definitions.fillAmount", + "params": { + "tokenPath": "order.takerAsset" + }, + "visible": "always" + }, + { + "path": "takerTraits.[:1]", + "$ref": "$.display.definitions.takerTraits" + }, + { + "label": "R", + "path": "r", + "visible": "never" + }, + { + "label": "Vs", + "path": "vs", + "visible": "never" + }, + { + "label": "Args", + "path": "args", + "visible": "never" + }, + { + "label": "Order Salt", + "path": "order.salt", + "visible": "never" + }, + { + "label": "Order Maker", + "path": "order.maker", + "visible": "never" + }, + { + "label": "Order Receiver", + "path": "order.receiver", + "visible": "never" + }, + { + "label": "Order Maker Traits", + "path": "order.makerTraits", + "visible": "never" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/eip712-1inch-limit-order.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/eip712-1inch-limit-order.json new file mode 100644 index 0000000..2435e1a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/eip712-1inch-limit-order.json @@ -0,0 +1,46 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0x119c71d3bbac22029622cbaec24854d3d32d2828" }, + { "chainId": 10, "address": "0x11431a89893025d2a48dca4eddc396f8c8117187" }, + { "chainId": 56, "address": "0x1e38eff998df9d3669e32f4ff400031385bf6362" }, + { "chainId": 137, "address": "0x94bc2a1c732bcad7343b25af48385fe76e08734f" }, + { "chainId": 42161, "address": "0x7f069df72b7a39bce9806e3afaf579e54d8cf2b9" } + ], + "domain": { "name": "1inch Limit Order Protocol", "version": "2" } + } + }, + "metadata": { "owner": "1inch Limit Order Protocol" }, + "display": { + "formats": { + "OrderStructure(uint256 salt,address maker,address receiver,address makerAsset,address takerAsset,uint256 makingAmount,uint256 takingAmount,uint256 makerTraits)": { + "intent": "1inch Order", + "fields": [ + { "path": "maker", "label": "From", "format": "raw", "visible": "always" }, + { + "path": "makingAmount", + "label": "Send", + "format": "tokenAmount", + "params": { "tokenPath": "makerAsset" }, + "visible": "always" + }, + { + "path": "takingAmount", + "label": "Receive minimum", + "format": "tokenAmount", + "params": { "tokenPath": "takerAsset" }, + "visible": "always" + }, + { "path": "receiver", "label": "To", "format": "raw", "visible": "always" }, + { "label": "Salt", "path": "salt", "visible": "never" }, + { "label": "Maker Traits", "path": "makerTraits", "visible": "never" }, + { "label": "Interactions", "path": "interactions", "visible": "never" }, + { "label": "Allowed Sender", "path": "allowedSender", "visible": "never" }, + { "label": "Offsets", "path": "offsets", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/eip712-AggregationRouterV6.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/eip712-AggregationRouterV6.json new file mode 100644 index 0000000..ec17ae8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/eip712-AggregationRouterV6.json @@ -0,0 +1,38 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 10, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 56, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 100, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 137, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 250, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 324, "address": "0x6fd4383cB451173D5f9304F041C7BCBf27d561fF" }, + { "chainId": 8217, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 8453, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 42161, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 43114, "address": "0x111111125421cA6dc452d289314280a0f8842A65" }, + { "chainId": 1313161554, "address": "0x111111125421cA6dc452d289314280a0f8842A65" } + ], + "domain": { "name": "1inch Aggregation Router", "version": "6" } + } + }, + "metadata": { "owner": "1inch AggregationRouterV6" }, + "display": { + "formats": { + "Order(uint256 salt,address maker,address receiver,address makerAsset,address takerAsset,uint256 makingAmount,uint256 takingAmount,uint256 makerTraits)": { + "intent": "1inch Order", + "fields": [ + { "path": "maker", "label": "From", "format": "raw" }, + { "path": "makingAmount", "label": "Send", "format": "tokenAmount", "params": { "tokenPath": "makerAsset" } }, + { "path": "takingAmount", "label": "Receive minimum", "format": "tokenAmount", "params": { "tokenPath": "takerAsset" } }, + { "path": "receiver", "label": "To", "format": "raw" }, + { "label": "Salt", "path": "salt", "visible": "never" }, + { "label": "Maker Traits", "path": "makerTraits", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV3.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV3.tests.json new file mode 100644 index 0000000..3245962 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV3.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Swap - chain 1", + "rawTx": "0xf985910584055d4a80836362489411111112542d85b3ef69ae05771c2dccff4faa26878e1bc9bf040000b985647c025200000000000000000000000000db38ae75c5f44276803345f7f02e95a0aeef594400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000180000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000009196e18bc349b1f64bc08784eae259525329a1ad000000000000000000000000db38ae75c5f44276803345f7f02e95a0aeef59440000000000000000000000001f5ec35fd635b225bd46518d575aa5d4439205ee000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000e820372f257fbfeaa01f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000009400000000000000000000000000000000000000000000000000000000000000be00000000000000000000000000000000000000000000000000000000000000e80000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000017800000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000029800000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000328000000000000000000000000000000000000000000000000000000000000037000000000000000000000000000000000000000000000000000000000000003b800000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000448000000000000000000000000000000000000000000000000000000000000049c00000000000000000000000000000000000000000000000000000000000004e4000000000000000000000000000000000000000000000000000000000000052c000000000000000000000000000000000000000000000000000000000000057400000000000000000000000000000000000000000000000000000000000005d00000000000000000000000000000000000000000000000000000000000000618000000000000000000000000000000000000000000000000000000000000066000000000000000000000000000000000000000000000000000000000000006a800000000000000000000000000000000000000000000000000000000000006f00000000000000000000000000000000000000000000000000000000000000738000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000007a400000000000000000000000000000000000000000000000000000000000007ba00000000000000000000000000000000000000000000000000000000000007ec00000000000000000000000000000000000000000000000000000000000008120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001e4b3af37c000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000f000000000000000000000000000000640000000000000000000000000398ec7346dcd622edc5ae82352f02be94c62d11900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a400a718a9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000b15217fc398ed144ec91f258c8fcc5999ae7fede000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001e4b3af37c000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000010400000000000000000000000000000550000000000000000000000000398ec7346dcd622edc5ae82352f02be94c62d11900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a400a718a9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a2c4bf3a9ddb98bf53d7cad60400b06088e155b2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001e4b3af37c000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000001b80000000000000000000000000000044c000000000000000000000000398ec7346dcd622edc5ae82352f02be94c62d11900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a400a718a9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000374e5ac9b531460656a04a859e973add8c3dee1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001e4b3af37c000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000029400000000000000000000000000000294800000000000000000000000398ec7346dcd622edc5ae82352f02be94c62d11900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a400a718a9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000092a4f58009df9eac5f2af6d05977683639f0060e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000010000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000032d9bc3f3c1042b431f29df63aaa547f5ed6ee6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000032d9bc3f3c1042b431f29df63aaa547f5ed6ee600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000010000000000000000000000000000004f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000cbcf7be78c33b513e95d8708ee422b217aec90f1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000cbcf7be78c33b513e95d8708ee422b217aec90f100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000010000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000001b481b706b571839aa095ad11b82d7057370ee980000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000001b481b706b571839aa095ad11b82d7057370ee9800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000010000000000000000000000000000004d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000868e68549418e9dcf92f2bf8611a2578f0f1fe88000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000868e68549418e9dcf92f2bf8611a2578f0f1fe8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000010000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000055f06ed45606c78370edddcb85ef7141ad2033d100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000055f06ed45606c78370edddcb85ef7141ad2033d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000010000000000000000000000000000004b00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000371a47394006224e38c9da28c17738e4f9a7900e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000371a47394006224e38c9da28c17738e4f9a7900e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000020000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c0b2b0c5376cb2e6f73b473a7caa341542f707ce000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000c0b2b0c5376cb2e6f73b473a7caa341542f707ce00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000020000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000009ce203ad2e38e29ea7eae395cb8b8a7877fa11750000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009ce203ad2e38e29ea7eae395cb8b8a7877fa117500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000020000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000008d7d90a9554ca05c1668ded1a554d1b1d7b344800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000008d7d90a9554ca05c1668ded1a554d1b1d7b3448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000020000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000b624c7d3b7daddea8825fa39e764f35d02a1b1ca000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000b624c7d3b7daddea8825fa39e764f35d02a1b1ca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000020000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000072a8f00913226b49e63cb7f27bc31ee5cfd0964600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000072a8f00913226b49e63cb7f27bc31ee5cfd0964600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000020000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000e969991ce475bcf817e01e1aad4687da7e1d6f83000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000e969991ce475bcf817e01e1aad4687da7e1d6f8300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000448000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000048483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000420000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000030000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000012807818b584a3fa65d38b6c25b13983fe888d6e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000012807818b584a3fa65d38b6c25b13983fe888d6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000164ceb757d50000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000db38ae75c5f44276803345f7f02e95a0aeef5944000000000000000000000000000000000000000000000000000000006097a79a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d478953d5572f829f457a5052580cbeaee36c1aa0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000030000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000008287913adfa69adca06beb00deab68a99c9e8d460000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000008287913adfa69adca06beb00deab68a99c9e8d4600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000040000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000047477cd00da54a3ee74e595e125a5dca7628664800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000047477cd00da54a3ee74e595e125a5dca7628664800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000040000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000bcf29450ac65dbd9e4066c30946b67488d6a9f37000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000bcf29450ac65dbd9e4066c30946b67488d6a9f3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000448000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000050483f1291f000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000040000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001e452bbbe2900000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000db38ae75c5f44276803345f7f02e95a0aeef59440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000db38ae75c5f44276803345f7f02e95a0aeef594400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006097a79a96646936b91d6b9d7d0c47c496afbf3d6ec7b6f80002000000000000000000190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000016400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000050000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000ec577a919fca1b682f584a50b1048331ef0f30dd000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000ec577a919fca1b682f584a50b1048331ef0f30dd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000050000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000002814dec8b21031f310e57829f942906c403182300000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000002814dec8b21031f310e57829f942906c4031823000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000050000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c45a95642bc59df699364237b80057eadc8d8a14000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000c45a95642bc59df699364237b80057eadc8d8a1400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000080000000000000000000000000000001d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000003e413cbe7ea087706e57ad4e53994f36c173e5210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000003e413cbe7ea087706e57ad4e53994f36c173e52100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000080000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000007f0b4d22b8a9abe2ae9ea1077fe1ab77dc7283a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000007f0b4d22b8a9abe2ae9ea1077fe1ab77dc7283a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000044800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c483f1291f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000d0000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000068a241796628ecf44e48f0533fb00d07dd3419d200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000080000000000000000000000068a241796628ecf44e48f0533fb00d07dd3419d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a48201aa3f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000004480000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000184b3af37c000000000000000000000000000000000000000000000000000000000000000808000000000000000000000000000000000000000000000000000000000000024000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000005000000000000000000000000000000050000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000ac336936f2f0c2ab0c8dece3a027445323e8a24400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a4c9f12e9d000000000000000000000000ac336936f2f0c2ab0c8dece3a027445323e8a244000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000009196e18bc349b1f64bc08784eae259525329a1ad000000000000000000000003db38ae75c5f44276803345f7f02e95a0aeef5944000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002647f8fe7a000000000000000000000000000000000000000000000000000000000000000808000000000000000000000000000000000000000000000000000000000000044000000000000000000000000db38ae75c5f44276803345f7f02e95a0aeef594400000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a4059712240000000000000000000000009196e18bc349b1f64bc08784eae259525329a1ad000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004470bdb9470000000000000000000000009196e18bc349b1f64bc08784eae259525329a1ad0000000000000000000000000000000000000000000101eae7fb7effb8cbce5c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a4b3af37c00000000000000000000000000000000000000000000000000000000000000080a000000000000000000000000000000000000000000000000000000000000044000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f99000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000001f5ec35fd635b225bd46518d575aa5d4439205ee00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a4b3af37c0000000000000000000000000000000000000000000000000000000000000008080000000000000000000000000000000000000000000000000000000000000440000000000000000000000009196e18bc349b1f64bc08784eae259525329a1ad000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f990000000000000000000000009196e18bc349b1f64bc08784eae259525329a1ad0000000000000000000000001f5ec35fd635b225bd46518d575aa5d4439205ee00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018080", + "txHash": "0x7e84a52f499cb9fd0cc89435d95eeaeff0a303ba96bcfcfe378f63517b3a835d", + "expectedTexts": [] + }, + { + "description": "Swap - chain 1", + "rawTx": "0xf8f4028402faf0808302c8ed9411111112542d85b3ef69ae05771c2dccff4faa26870eb75abbd22400b8c82e95b6c80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eb75abbd224000000000000000000000000000000000000000000000419aff021213ce297b92f0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000180000000000000003b6d0340da3a20aad0c34fa742bd9813d45bbf67c787ae0b0bd34b36018080", + "txHash": "0x66ac80852fa53c04af9361186494c812944e07e2418585813801f5342aa3b439", + "expectedTexts": [ + "Interaction with", + "1inch Network Amount to Send 0.00414225 ETH Minimum to Receive 495700792389094571 8204719 ???", + "Max fees", + "0.00000912545 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV4.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV4.tests.json new file mode 100644 index 0000000..6ab673c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV4.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Swap - chain 56", + "rawTx": "0xf902ce24843b9aca008303a18c941111111254fb6c44bac0bed2854e76f90643097d80b902a87c025200000000000000000000000000de9e4fe32b049f821c7f3e9802381aa470ffca73000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d00000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000de9e4fe32b049f821c7f3e9802381aa470ffca73000000000000000000000000911ac60509c4171161ce72d3e018812ee54fe2bb000000000000000000000000000000000000000000000006e38e7328fa40453c000000000000000000000000000000000000000000000006ae9b66a5291b4a1800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ef0000000000000000000000000000000000000000000000000000b100004e00a0744c8c098ac76a51cc950d9822d68b83fe1ad97b32cd580dc566940cf6ddbf6836185a6ba9edf2c00e84d362000000000000000000000000000000000000000000000000234568b40501491002a0000000000000000000000000000000000000000000000006ae9b66a5291b4a18ee63c1e5802c3c320d49019d4f9a92352e947c7e5acfe47d688ac76a51cc950d9822d68b83fe1ad97b32cd580d1111111254fb6c44bac0bed2854e76f90643097d000000000000000000000000000000000000000000000006e38e7328fa40453c00000000000000000000000000000000003db5cd3b388080", + "txHash": "0x818121d8a32295877ad9db78df08f2b6a6406ff4e5e86a2013cd5f8c21912181", + "expectedTexts": [ + "Interaction with", + "1inch Network", + "Amount to Send", + "127.0776343553942 66428 USDC", + "Minimum to Receive", + "123.2622272857922 13528 USDT", + "Beneficiary", + "0x911aC60509c417116 1CE72D3e018812ee54f E2bB Network Binance Smart Chain", + "Max fees", + "0.000237964 BNB" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV5.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV5.tests.json new file mode 100644 index 0000000..f9239d4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV5.tests.json @@ -0,0 +1,24 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Swap - chain 1", + "rawTx": "0x02f90390018291e48411e1a3008416361ed5832dc6c0941111111254eeb25477b68fb85ed929f73a96058280b9036412aa3caf000000000000000000000000990636ecb3ff04d33d92e970d3d588bf5cd8d086000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000ba41ddf06b7ffd89d1267b5a93bfef2424eb2003000000000000000000000000990636ecb3ff04d33d92e970d3d588bf5cd8d086000000000000000000000000db3812cd8d20f27888677ddc97df1241850f8c4800000000000000000000000000000000000000000000000000000000010366400000000000000000000000000000000000000000000001e46eb04e96368677fd000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d90000000000000000000000000000000000000001bb00015000014a00001a0020d6bdbf78a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485121d26f20001a72a18c002b00e6710000d68700ce00a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800841d8a79620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000020c49ba5e353f88000137c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100206b4be0b902a0000000000000000000000000000000000000000000000000000000000000000148c95033810000000000000000000000000000000000000000ba41ddf06b7ffd89d1267b5a93bfef2424eb200300271000006400001111111254eeb25477b68fb85ed929f73a96058200000000000000c0", + "txHash": "0x0026bdb4b61c13edd5031e1e424ff9fe7771756333e786ad70a2eefa1a77568a", + "expectedTexts": [ + "R", + "eview transaction to Swap Swipe to review", + "R", + "eview transaction to Swap Swipe to review", + "Interaction with", + "1inch Network Amount to Send 17 USDC Minimum to", + "R", + "eceive 8936.20009302256 2973693 MYTH", + "Max fees", + "0.001117936767 ETH", + "R", + "R" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV6.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV6.tests.json new file mode 100644 index 0000000..eee0e37 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-AggregationRouterV6.tests.json @@ -0,0 +1,217 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "rawTx": "0x02f901120182011684bcbdbb6d84c2bf4cf683027dfc94111111125421ca6dc452d289314280a0f8842a6580b8a4e2c95c820000000000000000000000004e5b17cf6393ecb5c0295f80ef9a79d6233fedb800000000000000000000000045e02bc2875a2914c4f585bbf92a6f28bc07cb700000000000000000000000000000000000000000000000e9441ef5ba99e00000000000000000000000000000000000000000000000000000000000007d78729128800000000000000000000053ead11073fc0651dce70572666f0ed0752abfeac080a004e34a879b740052821ca1160e7b7de773257c292c270a19c83ecfaad214a6f8a02484c7cf8c2dd146047bc8ed537d11af8975811e8928e3131577f58069c99fbd", + "description": "1inch: AggregationRouterV6: unoswapTo", + "expectedTexts": [ + "R", + "eview transaction to Swap Swipe to review", + "R", + "eview transaction to Swap Swipe to review", + "Interaction with", + "1inch Network Amount to Send 4303.00000000000 0262144 $MBG Minimum to", + "R", + "eceive 2105045649 ???", + "R", + "Max fees", + "0.00053363127876816 8 ETH", + "R", + "R" + ] + }, + { + "rawTx": "0x02f88e0182220b826bda840b7d6c268273d694111111125421ca6dc452d289314280a0f8842a6580a4c3cf80430000000000000000000000000000000000000000000000000000000000000000c080a07ab0ba50499a980de18672f56c0404e6b84b533c7f93d08448f019650def7981a0071a7e3a206138e2a6dc67a84428b619b1d892b14cd68d1ad026b51170c5ef12", + "description": "1inch: AggregationRouterV6: increaseEpoch", + "expectedTexts": [ + "R", + "eview transaction to Cancel all limit orders Swipe to review", + "R", + "eview transaction to Cancel all limit orders Swipe to review", + "Interaction with", + "1inch Network Orders maker 0xDad77910DbDFdE76 4fC21FCD4E74D71bBA CA6D8D", + "Max fees", + "0.00000571637376454 8 ETH", + "R", + "R" + ] + }, + { + "rawTx": "0x02f8ba010c830a9ccc84071337e083045e9394111111125421ca6dc452d289314280a0f8842a6587071afd498d0000b848a76dfc3b00000000000000000000000000000000000000000000000000068ea41a18d0d020800000000000000000000004708077eca6bb527a5bbbd6358ffb043a9c1c14d1f115cbc080a0794cb84d03ee3a6cd8afffd39dbe85db67ba4fb247e13b7e8bf5484fa3e8e8eca071944ec18082339f2068c2f466ee5b21080f9d7bfe84d4b21c3477b2cd81b0bb", + "description": "1inch: AggregationRouterV6: ethUnoswap", + "expectedTexts": [ + "R", + "eview transaction to Swap Swipe to review", + "R", + "eview transaction to Swap Swipe to review", + "Interaction with", + "1inch Network Amount to Send 0.002 ETH Minimum to", + "R", + "eceive 1845685323878608 ???", + "Max fees", + "0.0000339903385 ETH", + "R", + "R" + ] + }, + { + "rawTx": "0x02f902de018201288435a525c68440ac61ac83046ebe94111111125421ca6dc452d289314280a0f8842a65870e90eda3943fffb9026807ed23790000000000000000000000008c864d0c8e476bf9eb9d620c10e1296fb0e2f940000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000740df024ce73f589acd5e8756b377ef8c6558bab0000000000000000000000008c864d0c8e476bf9eb9d620c10e1296fb0e2f940000000000000000000000000e4cd0f64d9836986d42da1025a40d3a6f68ef919000000000000000000000000000000000000000000000000000e90eda3943fff000000000000000000000000000000000000000000006a91897d74cbcb97135d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001170000000000000000000000000000000000000000f90000cb00006800004e00a0744c8c0900000000000000000000000000000000000000004a183b7ed67b9e14b3f45abfb2cf44ed22c29e5400000000000000000000000000000000000000000000000000001dd4d8593fff4041c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2d0e30db002a0000000000000000000000000000000000000000000006a0871a4b487e06fb937ee63c1e580afbc71453e7214d1090a2577a221989e949cf15ec02aaa39b223fe8d0a0e5c4f27ead9083c756cc2111111125421ca6dc452d289314280a0f8842a650020d6bdbf78740df024ce73f589acd5e8756b377ef8c6558bab111111125421ca6dc452d289314280a0f8842a650000000000000000006963f2b1c001a04d9a03378741cc18082c6fbaedc29d2793ab232cb3fffb862e0d787dd07e87b6a074f8642dd7c735b5bff33fcf4ac682c17cb1cb7a55ea273168278aecb5109196", + "description": "1inch: AggregationRouterV6: swap", + "expectedTexts": [ + "R", + "eview transaction to Swap Swipe to review", + "R", + "eview transaction to Swap Swipe to review", + "Interaction with", + "1inch Network Amount to Send 0.0040999999999999 99 ETH Minimum to", + "R", + "eceive 503255.532278044 205454173 HLG", + "Max fees", + "0.00031519732507588 ETH", + "R", + "R" + ] + }, + { + "rawTx": "0x02f8d90139829a1084073c6ac08305c83494111111125421ca6dc452d289314280a0f8842a658785a72265a39f07b86889af926a00000000000000000000000000000000000000000000000579736cd9bf730780208000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9b2000000000000000000000007eb59373d63627be64b42406b108b602174b4cccd1f115cbc080a0e8779b33adabe2b260a81429b3c196cb3270e32f8b92415907d5b54dfdab2418a025c85c5d5701a479b1c16a72a236c9cb18c99dfadfe631a528c4189af93ecd66", + "description": "1inch: AggregationRouterV6: ethUnoswap2", + "expectedTexts": [ + "R", + "eview transaction to Swap Swipe to review", + "R", + "eview transaction to Swap Swipe to review", + "Interaction with", + "1inch Network Amount to Send 0.03761993807846579 9 ETH Minimum to", + "R", + "eceive 1009851785519344536 32 ???", + "Max fees", + "0.0000460023448 ETH", + "R", + "R" + ] + }, + { + "rawTx": "0x02f901130181c6828c328406eb8ba08306937194111111125421ca6dc452d289314280a0f8842a6580b8a88770ba910000000000000000000000005f7827fdeb7c20b443265fc2f40845b715385ff20000000000000000000000000000000000000000000002757a49aba4f641520a0000000000000000000000000000000000000000000002e04c3685295104d6fe2880000000000000000000001f195908f2ee7a6fc15d33b30c82298f568e805c20000000000000000000000027848b0c260961826c4135e69e6cdd45cfba8257d1f115cbc001a03e6090f87e2832e9a08041be51b2f5f1560506fadb9c83d560a36fe18b76b24ea03c847f618257241c44835119c4cb71d6eb0b94bac92eb2ba4e4203b02e749945", + "description": "1inch: AggregationRouterV6: unoswap2", + "expectedTexts": [ + "R", + "eview transaction to Swap Swipe to review", + "R", + "eview transaction to Swap Swipe to review", + "Interaction with", + "1inch Network Amount to Send 1161181378523422951 4762 ??? Minimum to", + "R", + "eceive 1358229536145835431 2958 ???", + "Max fees", + "0.0000500345721 ETH", + "R", + "R" + ] + }, + { + "rawTx": "0x02f8f401820311823fca8407a42d408303e1c094111111125421ca6dc452d289314280a0f8842a6580b88883800a8e0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca000000000000000000000000000000000000000000000000000033398e834d6120000000000000000000000000000000000000000000000000003e7e783e26fe8388000000000000000000000109830a1aaad605bbf02a9dfa7b0b92ec2fb7daad1f115cbc001a01e378a1836a98e7422b40bf13d372276dc9e22fa86a9c0efd35938eb8afac8f2a0343606f7378c8a4e846cda72a9a86bb5cc3dbce67c8bc43aef59d3ef1c3486ef", + "description": "1inch: AggregationRouterV6: unoswap", + "expectedTexts": [ + "R", + "eview transaction to Swap Swipe to review", + "R", + "eview transaction to Swap Swipe to review", + "Interaction with", + "1inch Network Amount to Send 0.000901156753954 322 wstETH Minimum to", + "R", + "eceive 1099406466248680 ???", + "Max fees", + "0.00003261408 ETH", + "R", + "R" + ] + }, + { + "rawTx": "0x02f902570182a77e8405f5e1008413cb71a08301ceaf94111111125421ca6dc452d289314280a0f8842a6580b901e8cc713a04145a914aeda7f2a46a57a80dcbd2853fbf174699c2fd6a243c92300bcff072b2000000000000000000000000bee3211ab312a8d065c4fef0247448e17a8da00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f9840a85d5af5bf1d1762f925bdaddc4201f984000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000032ebf508d2782ce90000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000009e94d00693bab42ae775ed9c1bd18faac880000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000016345785d8a00002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194403a5b240351b9ea804a61095dadeb4675bcfd2f278f6577fcc0606dc9523127c31f748aa28a9017e27ed65c778569de293d633cbc909cb41f8f01c5bfcd061c00000000000000000000000000000000000000000000000000000000000000fb39cfb5c001a0d62cc81e713b4a8efae01f5f2757116046327fae7445bd3ba52faff53c5f6fa2a00512458f32f94ebd0f6481a2a0f029f32cb926d114bd9362eb9d0f4251317509", + "description": "1inch: AggregationRouterV6: fillContractOrder", + "expectedTexts": [ + "R", + "eview transaction to Fill order Swipe to review", + "R", + "eview transaction to Fill order Swipe to review", + "Interaction with", + "1inch Network Order selling amount 0.1 WETH Order purchasing amt 58.7087318346085 7 UNI Amount to sell 0.1 WETH", + "R", + "Max fees", + "0.0000393362487 ETH", + "R", + "R" + ] + }, + { + "rawTx": "0x02f8b0018222098285fc840a6f2b5e830249f094111111125421ca6dc452d289314280a0f8842a6580b844b68fb0204e000000000000000000000000000005d300693bd2e80000000000000000000072db1056d64d81401fcb8e26ff694c7208f10e98e870674e1a402962d32ab200c001a0dc94d3a52b1133824b14e6266dc5470631a51e5efa9a6a4054b13731c0530551a0511a53344202c0959024bd01d9264fff9e90b8523be07be5d6c63f66f7e0cc0f", + "description": "1inch: AggregationRouterV6: cancelOrder", + "expectedTexts": [ + "R", + "eview transaction to Cancel limit orders Swipe to review", + "R", + "eview transaction to Cancel limit orders Swipe to review", + "Interaction with", + "1inch Network Order 0x72db1056d64d81401 fcb8e26ff694c7208f10 e98e870674e1a40296 2d32ab200", + "Max fees", + "0.0000262586637 ETH", + "R", + "R" + ] + }, + { + "rawTx": "0x02f901520182b4a0844846f877845851c0438308194494111111125421ca6dc452d289314280a0f8842a6580b8e4f7a70056000000000000000000000000893ee5a10aec49aae0ae6e5a78ff79e2069f82e8000000000000000000000000320623b8e4ff03373931769a31fc52a4e78b5d70000000000000000000000000000000000000000000007ef4a40090a01ccc00000000000000000000000000000000000000000000000000000000000079e32bd54a1800020008020811000000db6925ea42897ca786a045b252d95aa7370f44b44010010001080008020000002c683fad51da2cd17793219cc86439c1875c353e208000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9bc001a078d792720f1769de796840d1fc1739a753561bcac0bfdb8fb2a7281542c40b09a03a93b798e170044d5895cbf7d389aa40fe6868a71884115b9d3ca4a8efd69ab5", + "description": "1inch: AggregationRouterV6: unoswapTo3", + "expectedTexts": [ + "R", + "eview transaction to Swap Swipe to review", + "R", + "eview transaction to Swap Swipe to review", + "Interaction with", + "1inch Network Amount to Send 599531", + "R", + "SR Minimum to Receive 2044931029 ???", + "R", + "Max fees", + "0.00078644910578810 8 ETH", + "R", + "R" + ] + }, + { + "rawTx": "0x02f90754016a83021b428406f320af83060ba594111111125421ca6dc452d289314280a0f8842a6580b906e85816d7230000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000f4cbb7c0000ab88b473b1f5afd9ef808440eed33bf0000000000000000000000004e367b26d93bcb5e539b2784714f17804959f54f000000000000000000000000111111125421ca6dc452d289314280a0f8842a65ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000693d1c2c000000000000000000000000000000000000000000000000000000000000001b2a2de941abf06698ad640d59fddb32c3664016dfb875669259c85f49bec45b4945f76a98a69d7ccf01b19449e720521ec39e333a16e8b18bcc442b57b3838d74000000000000000000000000000000000000000000000000000000000000000000000000000000000000054407ed237900000000000000000000000027934db9cd07e6368900d99047c0b39e2a6664ce000000000000000000000000cbb7c0000ab88b473b1f5afd9ef808440eed33bf000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000027934db9cd07e6368900d99047c0b39e2a6664ce0000000000000000000000004e367b26d93bcb5e539b2784714f17804959f54f00000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000057b6ba70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000003fe3077ecebaf4bb5d73955000003bc7b9fa28143b9f2310242288dca9b32a276cff2c70362a8be462f3283d3531138aa45c40bd7a1686efb67c4339594337efddd0000000000000000000000000000000000000000000000000003a000013051309995855c00494d039ab6792f18e368e530dff931cbb7c0000ab88b473b1f5afd9ef808440eed33bf00841d8a79620000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000cbb7c0000ab88b473b1f5afd9ef808440eed33bf000000000000000000000000000000000000000000068db8bac710cb00000032000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff9a5889f795069a41a8a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183865120111111125421ca6dc452d289314280a0f8842a652260fac5e5542a773aa44fbcfedf7c193bc2c599012456a758680000000000000000000000000000000000000000693bcb1e00000000020d89300000000000000000000000009ba0cf1588e1dfa905ec948f7fe5104dd40eda310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000000000000000000000000000000000005822cc00000000000000000000000000000000000000000000000000000000000018771000000000000000000000000000144733500693bcb1e00000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000411cec0a60f23475706d579dacc548e0f46f0929b15f5508cd1d92375562b7435f925cf53921b3da6ac484bedf9a2f53f73e2ff0354c9abbe76ed6340ed9a1580ef2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014111111125421ca6dc452d289314280a0f8842a650000000000000000000000000000000000000000000000000000000000000000000000000000000000004a82836dc001a0d9010d7e055641e38f29526708f83a7590d202e7d090ada26f831910bc31dce1a028ea278671d434ce9e6e63594682e9256450fd907a0fdbf3acb1f0cd74443061", + "description": "1inch: AggregationRouterV6: permitAndCall", + "expectedTexts": [ + "R", + "eview transaction to Execute with permit Swipe to review", + "R", + "eview transaction to Execute with permit Swipe to review", + "Interaction with", + "1inch Network Transaction type Swap Amount to Send 0.001 cbBTC Minimum to", + "R", + "eceive 91.974567 USDT", + "Max fees", + "0.0000461953463474 67 ETH", + "R", + "R" + ] + }, + { + "rawTx": "0x02f901f30155829a1084084d8ca08303b36e94111111125421ca6dc452d289314280a0f8842a6580b901889fda64bd000000000000000000000000000000000000000028d6dccde887ebbb1aca471600000000000000000000000067336cec42645f55059eff241cb02ea5cc52ff860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000ec53bf9167f50cdeb3ae105f56099aaab9061f83000000000000000000000000000000000000000000000000000526d4a56da2bc00000000000000000000000000000000000000000000000089f424209cb220000000000000000000000000000000a9564000693bc55f545e0cdf69307c0f721eae2f2f243d9ab481951957d31d90355d1351990e14e9a07b976c10d90ddd7f6293653fc9782cc632b1f5b804a599631bc8c90674bbdaf197904fd75acc06974d00000000000000000000000000000000000000000000000089f424209cb220006000000000000000000000000000000000000000000000000000000000000000d1f115cbc080a0479c194b7ebf6c8acf0d3f77ade8946c72f929f835cae1c0fb7c8ad88794392ba03240aa6256d81fb4f7e3cff0e4ba69552b7d75cbfdd251279d89fae276cf76c3", + "description": "1inch: AggregationRouterV6: fillOrder", + "expectedTexts": [ + "R", + "eview transaction to Fill order Swipe to review", + "R", + "eview transaction to Fill order Swipe to review", + "Interaction with", + "1inch Network Order selling amount 9.94061 EIGEN Order purchasing amt 0.00145006963390 1244 WETH Amount to sell 9.94061 EIGEN", + "R", + "Max fees", + "0.0000337861006 ETH", + "R", + "R" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-NativeOrderFactory.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-NativeOrderFactory.tests.json new file mode 100644 index 0000000..c8ec6d3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/calldata-NativeOrderFactory.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "create order - chain 1", + "rawTx": "0x02f9013601028404b571c0841443fd008302671594e12e0f117d23a5ccc57f8935cd8c4e80cd91ff01880d0ff2742cbe0467b901048c72b6084a82836daed59675d7c51ebd02a53102350af09d4ff6072b23b1abd4a474ad73000000000000000000000000dfe7504aff883fe0f20511cefcf8dea4d543acfc000000000000000000000000dfe7504aff883fe0f20511cefcf8dea4d543acfc000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000d0ff2742cbe04670000000000000000000000000000000000000000000000000000000078432a8b4a000000000000000000000000000000000069c1607c00000000000000000000c0", + "txHash": "0x042600336bbbf1c13b84935504fcc78c0c9042a6419ebf1c8638330dec593811", + "expectedTexts": [ + "Interaction with", + "1inch Network", + "Amount to Send", + "0.94123742792450160 7 ETH", + "Receive amount", + "2017.667723 USDT", + "Beneficiary", + "0xdFE7504AFF883fe0F 20511CeFcf8DEA4D54 3ACfc", + "Max fees", + "0.00005353674 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/eip712-1inch-limit-order.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/eip712-1inch-limit-order.tests.json new file mode 100644 index 0000000..21120e5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/eip712-1inch-limit-order.tests.json @@ -0,0 +1,50 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "1inch limit order - swap DAI for USDC", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "OrderStructure": [ + { "name": "salt", "type": "uint256" }, + { "name": "maker", "type": "address" }, + { "name": "receiver", "type": "address" }, + { "name": "makerAsset", "type": "address" }, + { "name": "takerAsset", "type": "address" }, + { "name": "makingAmount", "type": "uint256" }, + { "name": "takingAmount", "type": "uint256" }, + { "name": "makerTraits", "type": "uint256" } + ] + }, + "primaryType": "OrderStructure", + "domain": { "name": "1inch", "version": "4", "chainId": 1, "verifyingContract": "0x119c71d3bbac22029622cbaec24854d3d32d2828" }, + "message": { + "salt": "12345678901234567890123456789012345678901234567890123456789012345678", + "maker": "0x1234567890123456789012345678901234567890", + "receiver": "0x0987654321098765432109876543210987654321", + "makerAsset": "0x6b175474e89094c44da98b954eedeac495271d0f", + "takerAsset": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "makingAmount": "1000000000000000000000", + "takingAmount": "999000000", + "makerTraits": "0" + } + }, + "expectedTexts": [ + "From", + "0x12345678901234567 890123456789012345 67890", + "To", + "0x0987654321098765 432109876543210987 654321", + "Send", + "1000 DAI", + "Receive minimum", + "999 USDC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/eip712-AggregationRouterV6.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/eip712-AggregationRouterV6.tests.json new file mode 100644 index 0000000..5261adb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/1inch/tests/eip712-AggregationRouterV6.tests.json @@ -0,0 +1,55 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "1inch Order", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Order": [ + { "name": "salt", "type": "uint256" }, + { "name": "maker", "type": "address" }, + { "name": "receiver", "type": "address" }, + { "name": "makerAsset", "type": "address" }, + { "name": "takerAsset", "type": "address" }, + { "name": "makingAmount", "type": "uint256" }, + { "name": "takingAmount", "type": "uint256" }, + { "name": "makerTraits", "type": "uint256" } + ] + }, + "primaryType": "Order", + "domain": { + "name": "1inch Aggregation Router", + "version": "6", + "chainId": 1, + "verifyingContract": "0x111111125421cA6dc452d289314280a0f8842A65" + }, + "message": { + "salt": "1777600000123", + "maker": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "receiver": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "makerAsset": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "takerAsset": "0xC02aaA39b223FE8D0A0E5C4F27eAD9083C756Cc2", + "makingAmount": "2500000000", + "takingAmount": "1000000000000000000", + "makerTraits": "562949953421312" + } + }, + "expectedTexts": [ + "From", + "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", + "To", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Send", + "2500 USDC", + "Receive minimum", + "1 WETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-WrappedTokenGatewayV3.json b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-WrappedTokenGatewayV3.json new file mode 100644 index 0000000..66f76cb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-WrappedTokenGatewayV3.json @@ -0,0 +1,128 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "WrappedTokenGatewayV3", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xd01607c3C5eCABa394D8be377a08590149325722" }, + { "chainId": 10, "address": "0x5f2508cAE9923b02316254026CD43d7902866725" }, + { "chainId": 100, "address": "0x721B9abAb6511b46b9ee83A1aba23BDAcB004149" }, + { "chainId": 137, "address": "0xBC302053db3aA514A3c86B9221082f162B91ad63" }, + { "chainId": 146, "address": "0x061D8e131F26512348ee5FA42e2DF1bA9d6505E9" }, + { "chainId": 324, "address": "0xAE2b00D676130Bdf22582781BbBA8f4F21e8B0ff" }, + { "chainId": 1868, "address": "0x6376D4df995f32f308f2d5049a7a320943023232" }, + { "chainId": 8453, "address": "0xa0d9C1E9E48Ca30c8d8C3B5D69FF5dc1f6DFfC24" }, + { "chainId": 9745, "address": "0x54BDcc37c4143f944A3EE51C892a6cBDF305E7a0" }, + { "chainId": 42161, "address": "0x5283BEcEd7ADF6D003225C13896E536f2D4264FF" }, + { "chainId": 43114, "address": "0x2825cE5921538d17cc15Ae00a8B24fF759C6CDaE" }, + { "chainId": 59144, "address": "0x31A239f3e39c5D8BA6B201bA81ed584492Ae960F" }, + { "chainId": 534352, "address": "0xE79Ca44408Dae5a57eA2a9594532f1E84d2edAa4" } + ] + } + }, + "metadata": { + "owner": "Aave DAO", + "info": { "url": "https://aave.com", "deploymentDate": "2025-02-11T01:19:11Z" }, + "contractName": "WrappedTokenGatewayV3" + }, + "display": { + "formats": { + "depositETH(address pool, address onBehalfOf, uint16 referralCode)": { + "$id": "depositETH", + "intent": "Supply", + "fields": [ + { "path": "@.value", "format": "amount", "label": "Amount to supply" }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "Collateral recipient", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Referral Code", "path": "referralCode", "visible": "never" }, + { "label": "Pool", "path": "pool", "visible": "never" } + ] + }, + "repayETH(address pool, uint256 amount, address onBehalfOf)": { + "$id": "repayETH", + "intent": "Repay loan", + "fields": [ + { "path": "amount", "format": "amount", "label": "Amount to repay", "visible": "always" }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "For debt holder", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Pool", "path": "pool", "visible": "never" } + ] + }, + "withdrawETH(address pool, uint256 amount, address to)": { + "$id": "withdrawETH", + "intent": "Withdraw", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to withdraw", + "params": { + "token": "0x0000000000000000000000000000000000000000", + "nativeCurrencyAddress": "0x0000000000000000000000000000000000000000", + "threshold": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", + "message": "All" + }, + "visible": "always" + }, + { + "path": "to", + "format": "addressName", + "label": "To recipient", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Pool", "path": "pool", "visible": "never" } + ] + }, + "withdrawETHWithPermit(address pool, uint256 amount, address to, uint256 deadline, uint8 permitV, bytes32 permitR, bytes32 permitS)": { + "$id": "withdrawETHWithPermit", + "intent": "Withdraw", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to withdraw", + "params": { + "token": "0x0000000000000000000000000000000000000000", + "nativeCurrencyAddress": "0x0000000000000000000000000000000000000000", + "threshold": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", + "message": "All" + }, + "visible": "always" + }, + { + "path": "to", + "format": "addressName", + "label": "To recipient", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Deadline", "path": "deadline", "visible": "never" }, + { "label": "Permit V", "path": "permitV", "visible": "never" }, + { "label": "Permit R", "path": "permitR", "visible": "never" }, + { "label": "Permit S", "path": "permitS", "visible": "never" } + ] + }, + "borrowETH(address pool, uint256 amount, uint16 referralCode)": { + "$id": "borrowETH", + "intent": "Borrow", + "fields": [ + { "path": "amount", "format": "amount", "label": "Amount to borrow", "visible": "always" }, + { "path": "@.from", "format": "addressName", "label": "Debtor", "params": { "types": ["eoa"], "sources": ["local", "ens"] } }, + { "label": "Referral Code", "path": "referralCode", "visible": "never" }, + { "label": "Pool", "path": "pool", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-lpv2.json b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-lpv2.json new file mode 100644 index 0000000..acd51ca --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-lpv2.json @@ -0,0 +1,148 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Lending Pool v2", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9" }, + { "chainId": 137, "address": "0x8dFf5E27EA6b7AC08EbFdf9eB090F32ee9a30fcf" }, + { "chainId": 43114, "address": "0x4F01AeD16D97E3aB5ab2B501154DC9bb0F1A5A2C" } + ] + } + }, + "metadata": { + "owner": "Aave DAO", + "info": { "url": "https://aave.com", "deploymentDate": "2020-11-30T09:25:48Z" }, + "enums": { "interestRateMode": { "1": "stable", "2": "variable" } }, + "constants": { "max": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, + "contractName": "Lending Pool v2" + }, + "display": { + "formats": { + "repay(address asset, uint256 amount, uint256 rateMode, address onBehalfOf)": { + "$id": "repay", + "intent": "Repay loan", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to repay", + "params": { "tokenPath": "asset", "threshold": "$.metadata.constants.max", "message": "All" }, + "visible": "always" + }, + { + "path": "rateMode", + "format": "enum", + "label": "Interest rate mode", + "params": { "$ref": "$.metadata.enums.interestRateMode" }, + "visible": "always" + }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "For debt holder", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "setUserUseReserveAsCollateral(address asset, bool useAsCollateral)": { + "intent": "Manage collateral", + "fields": [ + { + "path": "asset", + "format": "addressName", + "label": "For asset", + "params": { "types": ["token"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "useAsCollateral", "format": "raw", "label": "Enable as collateral", "visible": "always" } + ] + }, + "withdraw(address asset, uint256 amount, address to)": { + "intent": "Withdraw", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to withdraw", + "params": { "tokenPath": "asset", "threshold": "$.metadata.constants.max", "message": "Max" }, + "visible": "always" + }, + { + "path": "to", + "format": "addressName", + "label": "To recipient", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "swapBorrowRateMode(address asset, uint256 rateMode)": { + "intent": "Swap to variable", + "fields": [ + { + "path": "asset", + "format": "addressName", + "label": "For asset", + "params": { "types": ["token"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "rateMode", + "format": "enum", + "label": "Current rate mode", + "params": { "$ref": "$.metadata.enums.interestRateMode" }, + "visible": "always" + } + ] + }, + "borrow(address asset, uint256 amount, uint256 interestRateMode, uint16 referralCode, address onBehalfOf)": { + "intent": "Borrow", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to borrow", + "params": { "tokenPath": "asset" }, + "visible": "always" + }, + { + "path": "interestRateMode", + "format": "enum", + "label": "Interest Rate mode", + "params": { "$ref": "$.metadata.enums.interestRateMode" }, + "visible": "always" + }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "Debtor", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "deposit(address asset, uint256 amount, address onBehalfOf, uint16 referralCode)": { + "$id": "deposit", + "intent": "Supply", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to supply", + "params": { "tokenPath": "asset" }, + "visible": "always" + }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "Collateral recipient", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-lpv3.json b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-lpv3.json new file mode 100644 index 0000000..0714ff4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/calldata-lpv3.json @@ -0,0 +1,294 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "PoolInstance", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2" }, + { "chainId": 8453, "address": "0xA238Dd80C259a72e81d7e4664a9801593F98d1c5" }, + { "chainId": 42220, "address": "0x3E59A31363E2ad014dcbc521c4a0d5757d9f3402" }, + { "chainId": 59144, "address": "0xc47b8C00b0f69a36fa203Ffeac0334874574a8Ac" }, + { "chainId": 59144, "address": "0xc47b8C00b0f69a36fa203Ffeac0334874574a8Ac" }, + { "chainId": 1088, "address": "0x90df02551bB792286e8D4f13E0e357b4Bf1D6a57" }, + { "chainId": 146, "address": "0x5362dBb1e601abF3a4c14c22ffEdA64042E5eAA3" }, + { "chainId": 100, "address": "0xb50201558B00496A145fE76f7424749556E326D8" }, + { "chainId": 534352, "address": "0x11fCfe756c05AD438e312a7fd934381537D3cFfe" }, + { "chainId": 324, "address": "0x78e30497a3c7527d953c6B1E3541b021A98Ac43c" }, + { "chainId": 137, "address": "0x794a61358D6845594F94dc1DB02A252b5b4814aD" }, + { "chainId": 1868, "address": "0xDd3d7A7d03D9fD9ef45f3E587287922eF65CA38B" }, + { "chainId": 42161, "address": "0x794a61358D6845594F94dc1DB02A252b5b4814aD" }, + { "chainId": 10, "address": "0x794a61358D6845594F94dc1DB02A252b5b4814aD" }, + { "chainId": 43114, "address": "0x794a61358D6845594F94dc1DB02A252b5b4814aD" }, + { "chainId": 9745, "address": "0x925a2A7214Ed92428B5b1B090F80b25700095e12" } + ] + } + }, + "metadata": { + "owner": "Aave DAO", + "info": { "url": "https://aave.com", "deploymentDate": "2024-10-09T21:46:47Z" }, + "enums": { "interestRateMode": { "0": "none", "1": "deprecated", "2": "variable" } }, + "constants": { "max": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, + "contractName": "PoolInstance" + }, + "display": { + "formats": { + "repay(address asset, uint256 amount, uint256 interestRateMode, address onBehalfOf)": { + "$id": "repay", + "intent": "Repay loan", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to repay", + "params": { "tokenPath": "asset", "threshold": "$.metadata.constants.max", "message": "All" }, + "visible": "always" + }, + { + "path": "interestRateMode", + "format": "enum", + "label": "Interest rate mode", + "params": { "$ref": "$.metadata.enums.interestRateMode" }, + "visible": "always" + }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "For debt holder", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "repayWithPermit(address asset, uint256 amount, uint256 interestRateMode, address onBehalfOf, uint256 deadline, uint8 permitV, bytes32 permitR, bytes32 permitS)": { + "$id": "repayWithPermit", + "intent": "Repay loan", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to repay", + "params": { "tokenPath": "asset", "threshold": "$.metadata.constants.max", "message": "All" }, + "visible": "always" + }, + { + "path": "interestRateMode", + "format": "enum", + "label": "Interest rate mode", + "params": { "$ref": "$.metadata.enums.interestRateMode" }, + "visible": "always" + }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "For debt holder", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Deadline", "path": "deadline", "visible": "never" }, + { "label": "Permit V", "path": "permitV", "visible": "never" }, + { "label": "Permit R", "path": "permitR", "visible": "never" }, + { "label": "Permit S", "path": "permitS", "visible": "never" } + ] + }, + "repayWithATokens(address asset, uint256 amount, uint256 interestRateMode)": { + "$id": "repayWithATokens", + "intent": "Repay with aTokens", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to repay", + "params": { "tokenPath": "asset", "threshold": "$.metadata.constants.max", "message": "All" }, + "visible": "always" + }, + { + "path": "interestRateMode", + "format": "enum", + "label": "Interest rate mode", + "params": { "$ref": "$.metadata.enums.interestRateMode" }, + "visible": "always" + }, + { + "path": "@.from", + "format": "addressName", + "label": "For debt holder", + "params": { "types": ["eoa"], "sources": ["local", "ens"] } + } + ] + }, + "setUserUseReserveAsCollateral(address asset, bool useAsCollateral)": { + "intent": "Manage collateral", + "fields": [ + { + "path": "asset", + "format": "addressName", + "label": "For asset", + "params": { "types": ["token"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "useAsCollateral", "format": "raw", "label": "Use as collateral", "visible": "always" } + ] + }, + "setUserUseReserveAsCollateralOnBehalfOf(address asset, bool useAsCollateral, address onBehalfOf)": { + "intent": "Manage collateral", + "fields": [ + { + "path": "asset", + "format": "addressName", + "label": "For asset", + "params": { "types": ["token"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "useAsCollateral", "format": "raw", "label": "Use as collateral", "visible": "always" }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "Debtor", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "withdraw(address asset, uint256 amount, address to)": { + "intent": "Withdraw", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to withdraw", + "params": { "tokenPath": "asset", "threshold": "$.metadata.constants.max", "message": "Max" }, + "visible": "always" + }, + { + "path": "to", + "format": "addressName", + "label": "To recipient", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "borrow(address asset, uint256 amount, uint256 interestRateMode, uint16 referralCode, address onBehalfOf)": { + "intent": "Borrow", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to borrow", + "params": { "tokenPath": "asset" }, + "visible": "always" + }, + { + "path": "interestRateMode", + "format": "enum", + "label": "Interest Rate mode", + "params": { "$ref": "$.metadata.enums.interestRateMode" }, + "visible": "always" + }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "Debtor", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Referral Code", "path": "referralCode", "visible": "never" } + ] + }, + "deposit(address asset, uint256 amount, address onBehalfOf, uint16 referralCode)": { + "$id": "deposit", + "intent": "Supply", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to supply", + "params": { "tokenPath": "asset" }, + "visible": "always" + }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "Collateral recipient", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Referral Code", "path": "referralCode", "visible": "never" } + ] + }, + "supply(address asset, uint256 amount, address onBehalfOf, uint16 referralCode)": { + "$id": "supply", + "intent": "Supply", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to supply", + "params": { "tokenPath": "asset" }, + "visible": "always" + }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "Collateral recipient", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Referral Code", "path": "referralCode", "visible": "never" } + ] + }, + "supplyWithPermit(address asset, uint256 amount, address onBehalfOf, uint16 referralCode, uint256 deadline, uint8 permitV, bytes32 permitR, bytes32 permitS)": { + "$id": "supplyWithPermit", + "intent": "Supply", + "fields": [ + { + "path": "amount", + "format": "tokenAmount", + "label": "Amount to supply", + "params": { "tokenPath": "asset" }, + "visible": "always" + }, + { + "path": "onBehalfOf", + "format": "addressName", + "label": "Collateral recipient", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Referral Code", "path": "referralCode", "visible": "never" }, + { "label": "Deadline", "path": "deadline", "visible": "never" }, + { "label": "Permit V", "path": "permitV", "visible": "never" }, + { "label": "Permit R", "path": "permitR", "visible": "never" }, + { "label": "Permit S", "path": "permitS", "visible": "never" } + ] + }, + "approvePositionManager(address positionManager, bool approve)": { + "$id": "approvePositionManager", + "intent": "Approve Manager", + "fields": [ + { + "path": "positionManager", + "format": "addressName", + "label": "Position manager", + "params": { "types": ["eoa"] }, + "visible": "always" + }, + { "path": "approve", "format": "raw", "label": "Approve", "visible": "always" } + ] + }, + "renouncePositionManagerRole(address user)": { + "$id": "renouncePositionManagerRole", + "intent": "Revoke Manager Role", + "fields": [ + { "path": "@.from", "format": "addressName", "label": "Position manager", "params": { "types": ["eoa"] } }, + { "path": "user", "format": "addressName", "label": "User", "params": { "types": ["eoa"] }, "visible": "always" } + ] + }, + "multicall(bytes[] data)": { + "$id": "multicall", + "intent": "Multicall", + "fields": [{ "path": "data.[]", "format": "calldata", "label": "Call", "params": { "calleePath": "@.to" } }] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-WrappedTokenGatewayV3.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-WrappedTokenGatewayV3.tests.json new file mode 100644 index 0000000..d24c761 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-WrappedTokenGatewayV3.tests.json @@ -0,0 +1,65 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Supply - chain 1", + "rawTx": "0x02f89801820b568459682f00848c02e5408304b5c494d01607c3c5ecaba394d8be377a085901493257228901c040a6de051e0000b864474cf53d00000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e2000000000000000000000000fcdfda023f727dafa35e8ee2715bcd7411c86b210000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xed7d16142ddb620f670975bfdbf0a7634cf7583ee108e7e8596471a20cb6823a", + "expectedTexts": [ + "Interaction with", + "Aave", + "Amount to supply", + "32.3 ETH", + "Collateral recipient", + "yohoming.eth", + "Max fees", + "0.000725079924 ETH" + ] + }, + { + "description": "Repay loan - chain 1", + "rawTx": "0x02f8970182023483989680846042f1c08305573094d01607c3c5ecaba394d8be377a0859014932572289049b9ca9a694340000b864bcc3c25500000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e20000000000000000000000000000000000000000000000049b9ca9a694340000000000000000000000000000b8066da076bc7accf964c351f2e1ecbe30458c12c0", + "txHash": "0x134d80855643c378ffa7e8e74511836507925807973dba3ef037f9e850322050", + "expectedTexts": [ + "Interaction with", + "Aave", + "Amount to repay", + "85 ETH", + "For debt holder", + "0xb8066Da076Bc7aCC F964C351F2E1eCbE30 458c12", + "Max fees", + "0.00056525 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88c0138830f42408429fc4a80830547a194d01607c3c5ecaba394d8be377a0859014932572280b86480500d2000000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000e0f11bdab9a6638935580a540eabd81bf539f4cac0", + "txHash": "0x7936fb57558b4a157fb8b81771449615694e5a7bc2b48f71776983a1b92201a6", + "expectedTexts": [ + "Interaction with", + "Aave", + "Amount to withdraw", + "All ETH", + "To recipient", + "0xe0F11bdaB9A66389 35580A540EaBd81bf5 39f4Ca", + "Max fees", + "0.0002437343748 ETH" + ] + }, + { + "description": "Borrow - chain 1", + "rawTx": "0x02f88e018193848f0d180084c09525c08306ddd094d01607c3c5ecaba394d8be377a0859014932572280b864e74f7b8500000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e20000000000000000000000000000000000000000000000006124fee993bc00000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x8e7635e9efbfb16fc1d851fa7396669a399584518b773bde8c937b683f0e1a98", + "expectedTexts": [ + "Interaction with", + "Aave", + "Amount to borrow", + "7 ETH", + "Debtor", + "0xDad77910DbDFdE76 4fC21FCD4E74D71bBA CA6D8D", + "Max fees", + "0.00145395 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-lpv2.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-lpv2.tests.json new file mode 100644 index 0000000..ac0f33b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-lpv2.tests.json @@ -0,0 +1,52 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Repay loan - chain 1", + "rawTx": "0x02f8ad018189830186a084028c8c9c830493e0947d2768de32b0b80b7a3454c06bdac94a69ddc7a980b884573ade81000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000020000000000000000000000002fec9b58d089447d3e5e50578b9f71321713a470c0", + "txHash": "0xf869d27754007494d428c0999fffa0808b111f235acfd8466fe21626282283bb", + "expectedTexts": [ + "Interaction with", + "Aave DAO", + "Amount to repay", + "All USDC", + "Interest rate mode", + "variable", + "For debt holder", + "0x2Fec9B58d089447d 3E5E50578B9F7132171 3a470", + "Max fees", + "0.0000128296404 ETH" + ] + }, + { + "description": "Manage collateral - chain 1", + "rawTx": "0x02f86d010f8477359400847a653b2c83021b10947d2768de32b0b80b7a3454c06bdac94a69ddc7a980b8445a3b74b9000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x6096b535e6cd3516f62eebb23bd062d9b8b715629306a30bb8a0a3e7bcdc88b9", + "expectedTexts": [ + "Interaction with", + "Aave DAO", + "For asset", + "WETH", + "Enable as collateral", + "false", + "Max fees", + "0.000283376739768 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88f018207e08405f5e1008419ea8580830544e9947d2768de32b0b80b7a3454c06bdac94a69ddc7a980b86469328dec000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000d20c9018a5097e922e9c0539aef389c871e76c3fc0", + "txHash": "0xe99efacfa20e0831b9101f468e59a4012e19a6b12c11ce7d03e95d3eebe8c267", + "expectedTexts": [ + "Interaction with", + "Aave DAO", + "Amount to withdraw", + "Max WETH", + "To recipient", + "sosalkin.eth", + "Max fees", + "0.0001501455708 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-lpv3.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-lpv3.tests.json new file mode 100644 index 0000000..aa10e77 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/aave/tests/calldata-lpv3.tests.json @@ -0,0 +1,99 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Repay loan - chain 1", + "rawTx": "0x02f8ae0181d8840f529242843c10015e830493e09487870bca3f3fd6335c3f4ce8392d69350b4fa4e280b884573ade81000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000003b6d034000000000000000000000000000000000000000000000000000000000000000020000000000000000000000002c62c80ad86785dd3bfc7b616400a98e1903b672c0", + "txHash": "0x54f9cecda2a2c8ccc7b22d9d6e217898a8f722056335832546def859767a3797", + "expectedTexts": [ + "Interaction with", + "Aave", + "Amount to repay", + "997 USDC", + "Interest rate mode", + "variable", + "For debt holder", + "0x2c62C80aD86785DD 3bfC7B616400A98E19 03b672", + "Max fees", + "0.0003023045658 ETH" + ] + }, + { + "description": "Manage collateral - chain 1", + "rawTx": "0x02f86d0120848f0d180084b96e17c0830200a39487870bca3f3fd6335c3f4ce8392d69350b4fa4e280b8445a3b74b90000000000000000000000009bf45ab47747f4b4dd09b3c2c73953484b4eb3750000000000000000000000000000000000000000000000000000000000000001c0", + "txHash": "0x09dffb02c35c7c1f0be42ac5f47a8874f362d7d6175cbc87ea90f670417c609f", + "expectedTexts": [ + "Interaction with", + "Aave", + "For asset", + "0x9Bf45ab47747F4B4 dD09B3C2c73953484b 4eB375", + "Use as collateral", + "true", + "Max fees", + "0.000408272085 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88f01820295842faf0800845bd9cb40830606d79487870bca3f3fd6335c3f4ce8392d69350b4fa4e280b86469328dec000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000002c3c465ca58ec000000000000000000000000000052a7e3b57c481bcc01cd75938412fbd92242ece1c0", + "txHash": "0x1cbba01244794563ffda8bb739b87cf881800891c31bdb5dba8f2d0f45fcbb1d", + "expectedTexts": [ + "Interaction with", + "Aave", + "Amount to withdraw", + "51 WETH", + "To recipient", + "0x52A7E3b57C481bcC 01cD75938412FBd922 42ecE1", + "Max fees", + "0.000608644147 ETH" + ] + }, + { + "description": "Borrow - chain 1", + "rawTx": "0x02f8cf01821750841dcd650084486b6dc08306f1139487870bca3f3fd6335c3f4ce8392d69350b4fa4e280b8a4a415bcad0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000000000000000000000000000000000001d63b320000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081ec2081dfb42c5291c55e6123d527eb744a5ffbc0", + "txHash": "0xae32a8d0c693f223f7960680e457fec1257afb41a53ee511c53384a61db5c95d", + "expectedTexts": [ + "Interaction with", + "Aave", + "Amount to borrow", + "0.30817074 WBTC", + "Interest Rate mode", + "variable", + "Debtor", + "0x81EC2081dfb42C529 1C55e6123D527EB744 a5fFB", + "Max fees", + "0.000552741165 ETH" + ] + }, + { + "description": "Supply - chain 1", + "rawTx": "0x02f8af01821752842faf0800845c7261c0830493e09487870bca3f3fd6335c3f4ce8392d69350b4fa4e280b884617ba037000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000052c02155600000000000000000000000081ec2081dfb42c5291c55e6123d527eb744a5ffb0000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xa4430fd02f380847b2d41d851dae3eedf4c9b22b1a3ce89dc82347ed1ffada17", + "expectedTexts": [ + "Interaction with", + "Aave", + "Amount to supply", + "22213.170518 USDC", + "Collateral recipient", + "0x81EC2081dfb42C529 1C55e6123D527EB744 a5fFB", + "Max fees", + "0.0004653 ETH" + ] + }, + { + "description": "Supply - chain 1", + "rawTx": "0x02f9012f0182025383143bb0842b5e4b80830557309487870bca3f3fd6335c3f4ce8392d69350b4fa4e280b9010402c205f00000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca00000000000000000000000000000000000000000000000197a8f6dd5519800000000000000000000000000006c413690c19cfc80c3db3211c80993bf642c645600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069b43d1a000000000000000000000000000000000000000000000000000000000000001c2c188c792ac9f04ac0c3d7f13a06566ccb9fcf651106778ad2002644afff911200b0c2c79281fc66d3fc577743a761addf6b0fb5c5256ac983bc7fd01973ce5ec0", + "txHash": "0x42dd09a64d53a4dd88f1afab485df77eb9875505622ee8cdf5d549129297d7a9", + "expectedTexts": [ + "Interaction with", + "Aave", + "Amount to supply", + "470 wstETH", + "Collateral recipient", + "0x6C413690c19CFC80 c3db3211c80993BF64 2C6456", + "Max fees", + "0.00025466 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/benqi/calldata-sAVAX.json b/crates/clear-signing/src/assets/registry-snapshot/registry/benqi/calldata-sAVAX.json new file mode 100644 index 0000000..09f92b2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/benqi/calldata-sAVAX.json @@ -0,0 +1,43 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "sAVAX", + "contract": { "deployments": [{ "chainId": 43114, "address": "0x2b2c81e08f1af8835a78bb2a90ae924ace0ea4be" }] } + }, + "metadata": { + "owner": "BENQI", + "info": { "url": "https://benqi.fi" }, + "constants": { "sAVAXaddress": "0x2b2c81e08f1af8835a78bb2a90ae924ace0ea4be" }, + "contractName": "sAVAX" + }, + "display": { + "formats": { + "submit()": { + "intent": "Stake AVAX", + "fields": [{ "label": "Amount to stake", "format": "amount", "path": "@.value", "visible": "always" }] + }, + "requestUnlock(uint256 shareAmount)": { + "intent": "Request unstaking", + "fields": [ + { + "label": "sAVAX amount", + "format": "tokenAmount", + "path": "#.shareAmount", + "params": { "token": "$.metadata.constants.sAVAXaddress" }, + "visible": "always" + } + ] + }, + "redeem()": { "intent": "Claim unstaked AVAX", "fields": [] }, + "redeem(uint256 unlockIndex)": { + "intent": "Claim unstaked AVAX", + "fields": [{ "label": "Unlock index", "format": "raw", "path": "#.unlockIndex", "visible": "always" }] + }, + "redeemOverdueShares()": { "intent": "Redeem Overdue", "fields": [] }, + "redeemOverdueShares(uint256 unlockIndex)": { + "intent": "Redeem sAVAX", + "fields": [{ "label": "Unlock index", "format": "raw", "path": "#.unlockIndex", "visible": "always" }] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/benqi/tests/calldata-sAVAX.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/benqi/tests/calldata-sAVAX.tests.json new file mode 100644 index 0000000..2ccacab --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/benqi/tests/calldata-sAVAX.tests.json @@ -0,0 +1,68 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Stake AVAX - chain 43114", + "rawTx": "0x02f582a86a098411e7bf108416c883b482de93942b2c81e08f1af8835a78bb2a90ae924ace0ea4be8818904d9f44710000845bcb2fc6c0", + "txHash": "0x5738dfca5917c86b0b8c9e284a3e3013b0bea1e1104121635cb1090d32cab414", + "expectedTexts": [ + "Interaction with", + "BENQI", + "Amount to stake", + "1.77 AVAX Network Avalanche C-Chain", + "Max fees", + "0.00002177963404297 2 AVAX" + ] + }, + { + "description": "Request unstaking - chain 43114", + "rawTx": "0xf84a2c840b20c02b830248b2942b2c81e08f1af8835a78bb2a90ae924ace0ea4be80a4c9d2ff9d00000000000000000000000000000000000000000000000421f7e47b4e9a60db82a86a8080", + "txHash": "0xc3f87cdcc04f9bed6b3bc93b3af7e0c454ef01f481dbd84d4882992a7df0726a", + "expectedTexts": [ + "Interaction with", + "BENQI", + "sAVAX amount", + "76.2346524355882 10907 sAVAX Network Avalanche C-Chain", + "Max fees", + "0.00002794498921008 6 AVAX" + ] + }, + { + "description": "Claim unstaked AVAX - chain 43114", + "rawTx": "0x02f85082a86a8208d88439e048c0844a447380830c3500942b2c81e08f1af8835a78bb2a90ae924ace0ea4be80a4db006a75000000000000000000000000000000000000000000000000000000000000000ac0", + "txHash": "0xdec89f0111e9d427bc7ab325e5f4be3e59da502dc6401752d425991877df7228", + "expectedTexts": [ + "Interaction with", + "BENQI", + "Unlock index", + "10 Network Avalanche C-Chain", + "Max fees", + "0.0009968 AVAX" + ] + }, + { + "description": "Redeem Overdue - chain 43114", + "rawTx": "0xea048407b5e91b830194ca942b2c81e08f1af8835a78bb2a90ae924ace0ea4be80840d10d32c82a86a8080", + "txHash": "0xa1416267f30025c7f7b4a3005124927ffc3f26a4b38da5ca3410e069b85d7d19", + "expectedTexts": [ + "Interaction with", + "BENQI Network Avalanche C-Chain", + "Max fees", + "0.00001340528764807 8 AVAX" + ] + }, + { + "description": "Redeem sAVAX - chain 43114", + "rawTx": "0x02f85082a86a8213a18459682f00845bba28da83016218942b2c81e08f1af8835a78bb2a90ae924ace0ea4be80a40f7e20480000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x7e4299801ade0f271bd9088645ed55e889437708f3db22e358d8ec518bdd6bea", + "expectedTexts": [ + "Interaction with", + "BENQI", + "Unlock index", + "0 Network Avalanche C-Chain", + "Max fees", + "0.00013950063747288 AVAX" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_accounts.json b/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_accounts.json new file mode 100644 index 0000000..1cc0221 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_accounts.json @@ -0,0 +1,275 @@ +{ + "$schema": "https://github.com/LedgerHQ/clear-signing-erc7730-registry/blob/master/specs/erc7730-v2.schema.json", + "context": { + "$id": "Celo Accounts", + "contract": { + "deployments": [ + { "chainId": 42220, "address": "0x7d21685C17607338b313a7174bAb6620baD0aaB7" }, + { "chainId": 44787, "address": "0xed7f51A34B4e71fbE69B3091FcF879cD14bD73A9" } + ] + } + }, + "metadata": { "owner": "Celo", "info": { "url": "https://celo.org/" }, "contractName": "Celo Accounts" }, + "display": { + "formats": { + "addStorageRoot(bytes url)": { + "$id": "addStorageRoot", + "intent": "Add Storage Root", + "fields": [{ "path": "url", "label": "Storage Root URL", "format": "raw", "visible": "always" }] + }, + "authorizeAttestationSigner(address signer, uint8 v, bytes32 r, bytes32 s)": { + "$id": "authorizeAttestationSigner", + "intent": "Authorize Signer", + "fields": [ + { + "path": "signer", + "label": "Authorized Signer", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "@.from", + "label": "Authorizer", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "V", "path": "v", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "S", "path": "s", "visible": "never" } + ] + }, + "authorizeSigner(address signer, bytes32 role)": { + "$id": "authorizeSigner", + "intent": "Authorize Signer", + "fields": [ + { + "path": "signer", + "label": "Signer", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "role", "label": "Role", "format": "raw", "visible": "always" } + ] + }, + "authorizeSignerWithSignature(address signer, bytes32 role, uint8 v, bytes32 r, bytes32 s)": { + "$id": "authorizeSignerWithSignature", + "intent": "Authorize Signer", + "fields": [ + { + "path": "signer", + "label": "Signer", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "role", "label": "Role", "format": "raw", "visible": "always" }, + { "label": "V", "path": "v", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "S", "path": "s", "visible": "never" } + ] + }, + "authorizeValidatorSigner(address signer, uint8 v, bytes32 r, bytes32 s)": { + "$id": "authorizeValidatorSigner", + "intent": "Authorize Validator", + "fields": [ + { + "path": "signer", + "label": "Validator Signer", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "V", "path": "v", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "S", "path": "s", "visible": "never" } + ] + }, + "authorizeValidatorSignerWithPublicKey(address signer, uint8 v, bytes32 r, bytes32 s, bytes ecdsaPublicKey)": { + "$id": "authorizeValSignerPK", + "intent": "Authorize Validator", + "fields": [ + { + "path": "signer", + "label": "Authorized Signer", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "ecdsaPublicKey", "label": "Public Key", "format": "raw", "visible": "always" }, + { "label": "V", "path": "v", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "S", "path": "s", "visible": "never" } + ] + }, + "authorizeVoteSigner(address signer, uint8 v, bytes32 r, bytes32 s)": { + "$id": "authorizeVoteSigner", + "intent": "Authorize & Set Vote", + "fields": [ + { + "path": "signer", + "label": "Authorized Signer", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "V", "path": "v", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "S", "path": "s", "visible": "never" } + ] + }, + "completeSignerAuthorization(address account, bytes32 role)": { + "$id": "completeSignerAuthorization", + "intent": "Authorize Signer", + "fields": [ + { + "path": "account", + "label": "Authorizing Account", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "role", "label": "Role ID", "format": "raw", "visible": "always" } + ] + }, + "createAccount()": { + "$id": "createAccount", + "intent": "Create Account", + "fields": [ + { + "path": "@.from", + "label": "Account Owner", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "deletePaymentDelegation()": { + "$id": "deletePaymentDelegation", + "intent": "Delete Delegation", + "fields": [ + { + "path": "@.from", + "label": "Account", + "format": "addressName", + "params": { "types": ["wallet", "eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "removeAttestationSigner()": { + "$id": "removeAttestationSigner", + "intent": "Remove Signer", + "fields": [ + { + "path": "@.from", + "label": "Your Account", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "removeDefaultSigner(bytes32 role)": { + "$id": "removeDefaultSigner", + "intent": "Remove Signer", + "fields": [ + { + "path": "@.from", + "label": "Account", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "role", "label": "Role", "format": "raw", "visible": "always" } + ] + }, + "removeIndexedSigner(bytes32 role)": { + "$id": "removeIndexedSigner", + "intent": "Remove Signer", + "fields": [{ "path": "role", "label": "Role", "format": "raw", "visible": "always" }] + }, + "removeSigner(address signer, bytes32 role)": { + "$id": "removeSigner", + "intent": "Remove Signer", + "fields": [ + { + "path": "signer", + "label": "Signer", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "role", "label": "Role", "format": "raw", "visible": "always" } + ] + }, + "removeStorageRoot(uint256 index)": { + "$id": "removeStorageRoot", + "intent": "Remove Root", + "fields": [ + { "path": "index", "label": "Storage Root Index", "format": "raw", "visible": "always" }, + { + "path": "@.from", + "label": "Account", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "removeValidatorSigner()": { + "$id": "removeValidatorSigner", + "intent": "Remove Signer", + "fields": [ + { + "path": "@.from", + "label": "Your Account", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "removeVoteSigner()": { + "$id": "removeVoteSigner", + "intent": "Remove Vote Signer", + "fields": [ + { + "path": "@.from", + "label": "Account", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "setMetadataURL(string metadataURL)": { + "$id": "setMetadataURL", + "intent": "Set Metadata URL", + "fields": [{ "path": "metadataURL", "label": "Metadata URL", "format": "raw", "visible": "always" }] + }, + "setName(string name)": { + "$id": "setName", + "intent": "Set Account Name", + "fields": [{ "path": "name", "label": "Name", "format": "raw", "visible": "always" }] + }, + "setPaymentDelegation(address beneficiary, uint256 fraction)": { + "$id": "setPaymentDelegation", + "intent": "Delegate Payment", + "fields": [ + { + "path": "beneficiary", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract"], "sources": ["ens", "local"] }, + "visible": "always" + }, + { "path": "fraction", "label": "Fraction", "format": "unit", "params": { "base": "%", "decimals": 22 }, "visible": "always" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_election.json b/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_election.json new file mode 100644 index 0000000..1b9a6a3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_election.json @@ -0,0 +1,117 @@ +{ + "$schema": "https://github.com/LedgerHQ/clear-signing-erc7730-registry/blob/master/specs/erc7730-v2.schema.json", + "context": { + "$id": "Celo Election", + "contract": { + "deployments": [ + { "chainId": 42220, "address": "0x8D6677192144292870907E3Fa8A5527fE55A7ff6" }, + { "chainId": 44787, "address": "0x1c3eDf937CFc2F6F51784D20DEB1af1F9a8655fA" } + ] + } + }, + "metadata": { "owner": "Celo", "info": { "url": "https://celo.org/" }, "contractName": "Celo Election" }, + "display": { + "formats": { + "activate(address group)": { + "$id": "activate", + "intent": "Activate", + "fields": [ + { + "path": "group", + "label": "Validator Group", + "format": "addressName", + "params": { "types": ["contract"] }, + "visible": "always" + }, + { "path": "@.from", "label": "Vote signer", "format": "addressName", "params": { "types": ["eoa"] }, "visible": "always" } + ] + }, + "activateForAccount(address group, address account)": { + "$id": "activateForAccount", + "intent": "Activate Votes", + "fields": [ + { + "path": "group", + "label": "Validator Group", + "format": "addressName", + "params": { "types": ["contract"] }, + "visible": "always" + }, + { + "path": "account", + "label": "Account", + "format": "addressName", + "params": { "types": ["contract", "eoa"] }, + "visible": "always" + } + ] + }, + "revokeActive(address group, uint256 value, address lesser, address greater, uint256 index)": { + "$id": "revokeActive", + "intent": "Revoke Votes", + "fields": [ + { + "path": "group", + "label": "Validator Group", + "format": "addressName", + "params": { "types": ["contract"] }, + "visible": "always" + }, + { "path": "value", "label": "Votes to Revoke", "format": "raw", "visible": "always" }, + { "label": "Lesser", "path": "lesser", "visible": "never" }, + { "label": "Greater", "path": "greater", "visible": "never" }, + { "label": "Index", "path": "index", "visible": "never" } + ] + }, + "revokeAllActive(address group, address lesser, address greater, uint256 index)": { + "$id": "revokeAllActive", + "intent": "Revoke Votes", + "fields": [ + { + "path": "group", + "label": "Validator Group", + "format": "addressName", + "params": { "types": ["contract"] }, + "visible": "always" + }, + { "label": "Lesser", "path": "lesser", "visible": "never" }, + { "label": "Greater", "path": "greater", "visible": "never" }, + { "label": "Index", "path": "index", "visible": "never" } + ] + }, + "revokePending(address group, uint256 value, address lesser, address greater, uint256 index)": { + "$id": "revokePending", + "intent": "Revoke Votes", + "fields": [ + { "path": "value", "label": "Votes to Revoke", "format": "raw", "visible": "always" }, + { + "path": "group", + "label": "Validator Group", + "format": "addressName", + "params": { "types": ["contract"] }, + "visible": "always" + }, + { "label": "Lesser", "path": "lesser", "visible": "never" }, + { "label": "Greater", "path": "greater", "visible": "never" }, + { "label": "Index", "path": "index", "visible": "never" } + ] + }, + "vote(address group, uint256 value, address lesser, address greater)": { + "$id": "vote", + "intent": "Vote", + "fields": [ + { + "path": "group", + "label": "Validator Group", + "format": "addressName", + "params": { "types": ["contract"] }, + "visible": "always" + }, + { "path": "value", "label": "Gold to Vote", "format": "raw", "visible": "always" }, + { "label": "Lesser", "path": "lesser", "visible": "never" }, + { "label": "Greater", "path": "greater", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_governance.json b/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_governance.json new file mode 100644 index 0000000..1a03803 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_governance.json @@ -0,0 +1,130 @@ +{ + "$schema": "https://github.com/LedgerHQ/clear-signing-erc7730-registry/blob/master/specs/erc7730-v2.schema.json", + "context": { + "$id": "Celo Governance", + "contract": { + "deployments": [ + { "chainId": 42220, "address": "0xD533Ca259b330c7A88f74E000a3FaEa2d63B7972" }, + { "chainId": 44787, "address": "0xAA963FC97281d9632d96700aB62A4D1340F9a28a" } + ] + } + }, + "metadata": { + "owner": "Celo", + "info": { "url": "https://celo.org/" }, + "enums": { "ProposalsVoteValue": { "0": "None", "1": "Abstain", "2": "No", "3": "Yes" } }, + "contractName": "Celo Governance" + }, + "display": { + "formats": { + "approve(uint256 proposalId, uint256 index)": { + "$id": "approve(uint256,uint256)", + "intent": "Approve", + "fields": [ + { "path": "proposalId", "label": "Proposal ID", "format": "raw", "visible": "always" }, + { "path": "index", "label": "Item Index", "format": "raw", "visible": "always" } + ] + }, + "dequeueProposalsIfReady()": { "$id": "dequeueProposalsIfReady", "intent": "Dequeue Proposals", "fields": [] }, + "execute(uint256 proposalId, uint256 index)": { + "$id": "execute", + "intent": "Execute Proposal", + "fields": [ + { "path": "proposalId", "label": "Proposal ID", "format": "raw", "visible": "always" }, + { "label": "Index", "path": "index", "visible": "never" } + ] + }, + "executeHotfix(uint256[] values, address[] destinations, bytes data, uint256[] dataLengths, bytes32 salt)": { + "$id": "executeHotfix", + "intent": "Execute Hotfix", + "fields": [ + { "path": "values.[]", "label": "CELO to Send", "format": "amount" }, + { "path": "destinations.[]", "label": "Recipient", "format": "addressName", "params": { "types": ["eoa", "contract"] } }, + { "label": "Data", "path": "data", "visible": "never" }, + { "label": "Data Lengths", "path": "dataLengths", "visible": "never" }, + { "label": "Salt", "path": "salt", "visible": "never" } + ] + }, + "prepareHotfix(bytes32 hash)": { + "$id": "prepareHotfix", + "intent": "Prepare Hotfix", + "fields": [{ "path": "hash", "label": "Hotfix Hash", "format": "raw", "visible": "always" }] + }, + "propose(uint256[] values, address[] destinations, bytes data, uint256[] dataLengths, string descriptionUrl)": { + "$id": "propose", + "intent": "Propose", + "fields": [ + { "path": "values.[]", "label": "Amount to Send", "format": "amount" }, + { "path": "destinations.[]", "label": "Recipient", "format": "addressName", "params": { "types": ["eoa", "contract"] } }, + { "path": "@.value", "label": "Deposit", "format": "amount", "visible": "always" }, + { "path": "descriptionUrl", "label": "Description URL", "format": "raw" }, + { "label": "Data", "path": "data", "visible": "never" }, + { "label": "Data Lengths", "path": "dataLengths", "visible": "never" } + ] + }, + "revokeUpvote(uint256 lesser, uint256 greater)": { + "$id": "revokeUpvote", + "intent": "Revoke Upvote", + "fields": [{ "label": "Lesser", "path": "lesser", "visible": "never" }, { "label": "Greater", "path": "greater", "visible": "never" }] + }, + "revokeVotes()": { + "$id": "revokeVotes", + "intent": "Revoke Votes", + "fields": [ + { + "path": "@.from", + "label": "Signing Address", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "value": "Revoke votes on all your proposals that are currently in the referendum stage.", + "label": "Summary", + "format": "raw" + } + ] + }, + "upvote(uint256 proposalId, uint256 lesser, uint256 greater)": { + "$id": "upvote", + "intent": "Upvote", + "fields": [ + { "path": "proposalId", "label": "Proposal ID", "format": "raw", "visible": "always" }, + { "label": "Lesser", "path": "lesser", "visible": "never" }, + { "label": "Greater", "path": "greater", "visible": "never" } + ] + }, + "vote(uint256 proposalId, uint256 index, uint8 value)": { + "$id": "vote", + "intent": "Vote", + "fields": [ + { "path": "proposalId", "label": "Proposal ID", "format": "raw", "visible": "always" }, + { + "path": "value", + "label": "Vote", + "format": "enum", + "params": { "$ref": "$.metadata.enums.ProposalsVoteValue" }, + "visible": "always" + }, + { "label": "Index", "path": "index", "visible": "never" } + ] + }, + "votePartially(uint256 proposalId, uint256 index, uint256 yesVotes, uint256 noVotes, uint256 abstainVotes)": { + "$id": "votePartially", + "intent": "Partial Vote", + "fields": [ + { "path": "proposalId", "label": "Proposal ID", "format": "raw", "visible": "always" }, + { "path": "yesVotes", "label": "Yes Votes", "format": "raw", "visible": "always" }, + { "path": "noVotes", "label": "No Votes", "format": "raw", "visible": "always" }, + { "path": "abstainVotes", "label": "Abstain Votes", "format": "raw", "visible": "always" }, + { "label": "Index", "path": "index", "visible": "never" } + ] + }, + "withdraw()": { + "$id": "withdraw", + "intent": "Withdraw", + "fields": [{ "path": "@.from", "label": "Beneficiary", "format": "addressName", "params": { "types": ["eoa"] }, "visible": "always" }] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_validators.json b/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_validators.json new file mode 100644 index 0000000..4c6f1f9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-celo_validators.json @@ -0,0 +1,161 @@ +{ + "$schema": "https://github.com/LedgerHQ/clear-signing-erc7730-registry/blob/master/specs/erc7730-v2.schema.json", + "context": { + "$id": "Celo Validators", + "contract": { + "deployments": [ + { "chainId": 42220, "address": "0xaEb865bCa93DdC8F47b8e29F40C5399cE34d0C58" }, + { "chainId": 44787, "address": "0x9acF2A99914E083aD0d610672E93d14b0736BBCc" } + ] + } + }, + "metadata": { "owner": "Celo", "info": { "url": "https://celo.org/" }, "contractName": "Celo Validators" }, + "display": { + "formats": { + "addFirstMember(address validator, address lesser, address greater)": { + "$id": "addFirstMember", + "intent": "Add Member", + "fields": [ + { + "path": "validator", + "label": "Validator", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { "label": "Lesser", "path": "lesser", "visible": "never" }, + { "label": "Greater", "path": "greater", "visible": "never" } + ] + }, + "addMember(address validator)": { + "$id": "addMember", + "intent": "Add Member", + "fields": [ + { + "path": "validator", + "label": "Validator", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "affiliate(address group)": { + "$id": "affiliate", + "intent": "Affiliate", + "fields": [ + { + "path": "group", + "label": "Validator Group", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "deaffiliate()": { + "$id": "deaffiliate", + "intent": "Deaffiliate", + "fields": [ + { + "path": "@.from", + "label": "Validator Account", + "format": "addressName", + "params": { "types": ["eoa"] }, + "visible": "always" + } + ] + }, + "deregisterValidator(uint256 index)": { + "$id": "deregisterValidator", + "intent": "Deregister", + "fields": [ + { + "path": "@.from", + "label": "Validator Address", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "index", "label": "Validator Index", "format": "raw", "visible": "always" } + ] + }, + "deregisterValidatorGroup(uint256 index)": { + "$id": "deregisterValidatorGroup", + "intent": "Deregister Group", + "fields": [{ "path": "index", "label": "Group Index", "format": "raw", "visible": "always" }] + }, + "registerValidator(bytes ecdsaPublicKey)": { + "$id": "registerValidator", + "intent": "Register Validator", + "fields": [{ "path": "ecdsaPublicKey", "label": "ECDSA Public Key", "format": "raw", "visible": "always" }] + }, + "registerValidatorGroup(uint256 commission)": { + "$id": "registerValidatorGroup", + "intent": "Register Group", + "fields": [ + { + "path": "commission", + "label": "Commission", + "format": "unit", + "params": { "base": "%", "decimals": 22 }, + "visible": "always" + } + ] + }, + "registerValidatorNoBls(bytes ecdsaPublicKey)": { + "$id": "registerValidatorNoBls", + "intent": "Register Validator", + "fields": [{ "path": "ecdsaPublicKey", "label": "ECDSA Public Key", "format": "raw", "visible": "always" }] + }, + "removeMember(address validator)": { + "$id": "removeMember", + "intent": "Remove Member", + "fields": [ + { + "path": "validator", + "label": "Validator", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "reorderMember(address validator, address lesserMember, address greaterMember)": { + "$id": "reorderMember", + "intent": "Reorder Member", + "fields": [ + { + "path": "validator", + "label": "Validator", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "lesserMember", + "label": "Place After", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "greaterMember", + "label": "Place Before", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "resetSlashingMultiplier()": { + "$id": "resetSlashingMultiplier", + "intent": "Reset Slashing", + "fields": [ + { "path": "@.from", "label": "Signer", "format": "addressName", "params": { "types": ["eoa"] }, "visible": "always" }, + { "value": "Resets group's slashing multiplier to 1 if reset period has passed", "label": "Effect", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-locked_celo.json b/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-locked_celo.json new file mode 100644 index 0000000..b6467e2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/celo/calldata-locked_celo.json @@ -0,0 +1,122 @@ +{ + "$schema": "https://github.com/LedgerHQ/clear-signing-erc7730-registry/blob/master/specs/erc7730-v2.schema.json", + "context": { + "$id": "LockedCelo", + "contract": { + "deployments": [ + { "chainId": 42220, "address": "0x55E1A0C8f376964bd339167476063bFED7f213d5" }, + { "chainId": 44787, "address": "0x6a4CC5693DC5BFA3799C699F3B941bA2Cb00c341" } + ] + } + }, + "metadata": { + "owner": "Celo", + "info": { "url": "https://celo.org/" }, + "constants": { + "addressAsEth": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", + "addressAsNull": "0x0000000000000000000000000000000000000000" + }, + "contractName": "LockedCelo" + }, + "display": { + "formats": { + "delegateGovernanceVotes(address delegatee, uint256 delegateFraction)": { + "$id": "delegateGovernanceVotes", + "intent": "Delegate", + "fields": [ + { + "path": "delegateFraction", + "label": "Fraction to Delegate", + "format": "unit", + "params": { "base": "%", "decimals": 22 }, + "visible": "always" + }, + { + "path": "delegatee", + "label": "Delegatee", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "lock()": { + "$id": "lock", + "intent": "Lock CELO", + "fields": [ + { "path": "@.value", "label": "Amount to Lock", "format": "amount", "visible": "always" }, + { + "path": "@.from", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "relock(uint256 index, uint256 value)": { + "$id": "relock", + "intent": "Relock", + "fields": [ + { "path": "value", "label": "Amount to Relock", "format": "amount", "visible": "always" }, + { + "path": "@.from", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { "label": "Index", "path": "index", "visible": "never" } + ] + }, + "revokeDelegatedGovernanceVotes(address delegatee, uint256 revokeFraction)": { + "$id": "revokeDelegatedGovernanceVotes(address,uint256)", + "intent": "Revoke Delegation", + "fields": [ + { + "path": "delegatee", + "label": "Delegatee", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "revokeFraction", + "label": "Fraction to Revoke", + "format": "unit", + "params": { "base": "%", "decimals": 22 }, + "visible": "always" + } + ] + }, + "unlock(uint256 value)": { + "$id": "unlock", + "intent": "Unlock", + "fields": [ + { "path": "value", "label": "Amount to Unlock", "format": "amount", "visible": "always" }, + { + "path": "@.from", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "withdraw(uint256 index)": { + "$id": "withdraw", + "intent": "Withdraw CELO", + "fields": [ + { + "path": "@.from", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { "path": "index", "label": "Withdrawal Index", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/circle/eip712-ReceiveWithAuthorization.json b/crates/clear-signing/src/assets/registry-snapshot/registry/circle/eip712-ReceiveWithAuthorization.json new file mode 100644 index 0000000..e175ff0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/circle/eip712-ReceiveWithAuthorization.json @@ -0,0 +1,44 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "domain": { "name": "USD Coin", "version": "2" }, + "deployments": [ + { "chainId": 1, "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, + { "chainId": 10, "address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" }, + { "chainId": 137, "address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" }, + { "chainId": 8453, "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" }, + { "chainId": 42161, "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" }, + { "chainId": 43114, "address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" } + ] + } + }, + "metadata": { "owner": "Circle Internet Financial", "info": { "url": "https://www.circle.com/" } }, + "display": { + "formats": { + "ReceiveWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)": { + "intent": "Authorize USDC transfer", + "fields": [ + { + "path": "from", + "label": "From", + "format": "addressName", + "params": { "types": ["wallet"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "to", + "label": "To", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "value", "label": "Amount", "format": "tokenAmount", "params": { "tokenPath": "@.to" }, "visible": "always" }, + { "path": "validAfter", "label": "Valid after", "format": "date", "params": { "encoding": "timestamp" } }, + { "path": "validBefore", "label": "Valid before", "format": "date", "params": { "encoding": "timestamp" } }, + { "label": "Nonce", "path": "nonce", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/circle/eip712-TransferWithAuthorization.json b/crates/clear-signing/src/assets/registry-snapshot/registry/circle/eip712-TransferWithAuthorization.json new file mode 100644 index 0000000..d162460 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/circle/eip712-TransferWithAuthorization.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "domain": { "name": "USD Coin", "version": "2" }, + "deployments": [ + { "chainId": 1, "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, + { "chainId": 10, "address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" }, + { "chainId": 137, "address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" }, + { "chainId": 8453, "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" }, + { "chainId": 42161, "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" }, + { "chainId": 43114, "address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" } + ] + } + }, + "metadata": { + "owner": "Circle Internet Financial", + "info": { "url": "https://www.circle.com/", "deploymentDate": "2020-08-27T00:00:00Z" } + }, + "display": { + "formats": { + "TransferWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)": { + "intent": "Authorize USDC transfer", + "fields": [ + { + "path": "from", + "label": "From", + "format": "addressName", + "params": { "types": ["wallet"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "to", + "label": "To", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "value", "label": "Amount", "format": "tokenAmount", "params": { "tokenPath": "@.to" }, "visible": "always" }, + { "path": "validAfter", "label": "Valid after", "format": "date", "params": { "encoding": "timestamp" } }, + { "path": "validBefore", "label": "Valid before", "format": "date", "params": { "encoding": "timestamp" } }, + { "label": "Nonce", "path": "nonce", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/circle/tests/eip712-ReceiveWithAuthorization.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/circle/tests/eip712-ReceiveWithAuthorization.tests.json new file mode 100644 index 0000000..6d27e7e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/circle/tests/eip712-ReceiveWithAuthorization.tests.json @@ -0,0 +1,49 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "USDC receive authorization on Arbitrum", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "ReceiveWithAuthorization": [ + { "name": "from", "type": "address" }, + { "name": "to", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "validAfter", "type": "uint256" }, + { "name": "validBefore", "type": "uint256" }, + { "name": "nonce", "type": "bytes32" } + ] + }, + "primaryType": "ReceiveWithAuthorization", + "domain": { "name": "USD Coin", "version": "2", "chainId": 42161, "verifyingContract": "0xaf88d065e77c8cc2239327c5edb3a432268e5831" }, + "message": { + "from": "0x9d7ae84c1e55c0f2dfd6909a88ba93f48617e750", + "to": "0xa95d9c1f655341597c94393fddc30cf3c08e4fce", + "value": "8080000", + "validAfter": "1772641538", + "validBefore": "1772645198", + "nonce": "0x433e3aad3b685127a168b6faca79fbddc1cb3f8d019325500b3c71baebb6e5ca" + } + }, + "expectedTexts": [ + "Authorize USDC transfer", + "From", + "0x9d7ae84c1e55c0f2dfd6909a88ba93f48617e750", + "To", + "0xa95d9c1f655341597c94393fddc30cf3c08e4fce", + "Amount", + "8.08 USDC", + "Valid after", + "2026-03-04", + "Valid before", + "2026-03-04" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/circle/tests/eip712-TransferWithAuthorization.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/circle/tests/eip712-TransferWithAuthorization.tests.json new file mode 100644 index 0000000..f4a01bb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/circle/tests/eip712-TransferWithAuthorization.tests.json @@ -0,0 +1,395 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "CoinGecko x402 v2 - USDC transfer authorization for onchain DEX pool search API", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "TransferWithAuthorization": [ + { + "name": "from", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "validAfter", + "type": "uint256" + }, + { + "name": "validBefore", + "type": "uint256" + }, + { + "name": "nonce", + "type": "bytes32" + } + ] + }, + "primaryType": "TransferWithAuthorization", + "domain": { + "name": "USD Coin", + "version": "2", + "chainId": 8453, + "verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "message": { + "from": "0x1234567890123456789012345678901234567890", + "to": "0x110cdBba7FE6434Ec4CE3464CC523942ad6Fb784", + "value": "10000", + "validAfter": "0", + "validBefore": "1738886400", + "nonce": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + }, + "expectedTexts": [ + "From", + "0x12345678901234567 890123456789012345 67890", + "To", + "0x110cdBba7FE6434Ec 4CE3464CC523942ad 6Fb784", + "Amount", + "0.01 USDC", + "Valid after", + "1970-01-01 12:00:00 AM UTC", + "Valid before", + "2025-02-07 12:00:00 AM UTC" + ] + }, + { + "description": "Zapper x402 v1 - USDC transfer authorization for token price API", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "TransferWithAuthorization": [ + { + "name": "from", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "validAfter", + "type": "uint256" + }, + { + "name": "validBefore", + "type": "uint256" + }, + { + "name": "nonce", + "type": "bytes32" + } + ] + }, + "primaryType": "TransferWithAuthorization", + "domain": { + "name": "USD Coin", + "version": "2", + "chainId": 8453, + "verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "message": { + "from": "0xABCDEF0123456789ABCDEF0123456789ABCDEF01", + "to": "0x43a2a720cd0911690c248075f4a29a5e7716f758", + "value": "3000", + "validAfter": "0", + "validBefore": "1738886410", + "nonce": "0x0000000000000000000000000000000000000000000000000000000000000002" + } + }, + "expectedTexts": [ + "From", + "0xabCDeF0123456789 AbcdEf0123456789aB CDEF01", + "To", + "0x43A2A720cD091169 0C248075f4a29a5e771 6f758", + "Amount", + "0.003 USDC", + "Valid after", + "1970-01-01 12:00:00 AM UTC", + "Valid before", + "2025-02-07 12:00:10 AM UTC" + ] + }, + { + "description": "x402Factory x402 v1 - USDC transfer authorization for text-to-speech API", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "TransferWithAuthorization": [ + { + "name": "from", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "validAfter", + "type": "uint256" + }, + { + "name": "validBefore", + "type": "uint256" + }, + { + "name": "nonce", + "type": "bytes32" + } + ] + }, + "primaryType": "TransferWithAuthorization", + "domain": { + "name": "USD Coin", + "version": "2", + "chainId": 8453, + "verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "message": { + "from": "0x9876543210987654321098765432109876543210", + "to": "0x402FaCcC3fAeb72351CC2b68C7966faF5f22B0d4", + "value": "300000", + "validAfter": "0", + "validBefore": "1738886460", + "nonce": "0x0000000000000000000000000000000000000000000000000000000000000003" + } + }, + "expectedTexts": [ + "From", + "0x9876543210987654 321098765432109876 543210", + "To", + "0x402FaCcC3fAeb723 51CC2b68C7966faF5f2 2B0d4", + "Amount", + "0.3 USDC", + "Valid after", + "1970-01-01 12:00:00 AM UTC", + "Valid before", + "2025-02-07 12:01:00 AM UTC" + ] + }, + { + "description": "SilverbackDeFi x402 v2 - USDC transfer authorization for pool analysis API", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "TransferWithAuthorization": [ + { + "name": "from", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "validAfter", + "type": "uint256" + }, + { + "name": "validBefore", + "type": "uint256" + }, + { + "name": "nonce", + "type": "bytes32" + } + ] + }, + "primaryType": "TransferWithAuthorization", + "domain": { + "name": "USD Coin", + "version": "2", + "chainId": 8453, + "verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "message": { + "from": "0xFEDCBA9876543210FEDCBA9876543210FEDCBA98", + "to": "0xD34411a70EffbDd000c529bbF572082ffDcF1794", + "value": "5000", + "validAfter": "0", + "validBefore": "1738886700", + "nonce": "0x0000000000000000000000000000000000000000000000000000000000000004" + } + }, + "expectedTexts": [ + "From", + "0xfEdcBA9876543210F edCBa9876543210fEd CBa98", + "To", + "0xD34411a70EffbDd00 0c529bbF572082ffDcF 1794", + "Amount", + "0.005 USDC", + "Valid after", + "1970-01-01 12:00:00 AM UTC", + "Valid before", + "2025-02-07 12:05:00 AM UTC" + ] + }, + { + "description": "Nittarab x402 v1 - USDC transfer authorization for secret content API", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "TransferWithAuthorization": [ + { + "name": "from", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "validAfter", + "type": "uint256" + }, + { + "name": "validBefore", + "type": "uint256" + }, + { + "name": "nonce", + "type": "bytes32" + } + ] + }, + "primaryType": "TransferWithAuthorization", + "domain": { + "name": "USD Coin", + "version": "2", + "chainId": 8453, + "verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "message": { + "from": "0x0123456789ABCDEF0123456789ABCDEF01234567", + "to": "0x89764c3dEd721c29999A237cF935a34e1C8EDf97", + "value": "50000", + "validAfter": "0", + "validBefore": "1738886700", + "nonce": "0x0000000000000000000000000000000000000000000000000000000000000005" + } + }, + "expectedTexts": [ + "From", + "0x0123456789abcDEF 0123456789abCDef012 34567", + "To", + "0x89764c3dEd721c299 99A237cF935a34e1C8 EDf97", + "Amount", + "0.05 USDC", + "Valid after", + "1970-01-01 12:00:00 AM UTC", + "Valid before", + "2025-02-07 12:05:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/consensus-specs/calldata-DepositContract.json b/crates/clear-signing/src/assets/registry-snapshot/registry/consensus-specs/calldata-DepositContract.json new file mode 100644 index 0000000..5aaae8a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/consensus-specs/calldata-DepositContract.json @@ -0,0 +1,27 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "DepositContract", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x00000000219ab540356cBB839Cbe05303d7705Fa" }, + { "chainId": 560048, "address": "0x00000000219ab540356cBB839Cbe05303d7705Fa" } + ] + } + }, + "metadata": { "owner": "Ethereum Foundation", "info": { "url": "https://ethereum.foundation" }, "contractName": "DepositContract" }, + "display": { + "formats": { + "deposit(bytes pubkey, bytes withdrawal_credentials, bytes signature, bytes32 deposit_data_root)": { + "intent": "Stake ETH", + "fields": [ + { "label": "Validator public key", "format": "raw", "path": "#.pubkey", "visible": "always" }, + { "label": "Withdraw credentials", "format": "raw", "path": "#.withdrawal_credentials", "visible": "always" }, + { "label": "Amount to deposit", "format": "amount", "path": "@.value", "visible": "always" }, + { "label": "Signature", "path": "#.signature", "visible": "never" }, + { "label": "Deposit Data Root", "path": "#.deposit_data_root", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/consensus-specs/tests/calldata-DepositContract.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/consensus-specs/tests/calldata-DepositContract.tests.json new file mode 100644 index 0000000..bdacf91 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/consensus-specs/tests/calldata-DepositContract.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Stake ETH - chain 1", + "rawTx": "0x02f901da01827310843b9aca008506fc23ac008303d0909400000000219ab540356cbb839cbe05303d7705fa8901bc16d674ec800000b901a422895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012031dbb68502f53ba9d82b1be0d3da20637dff74b36eda82f9fd7fc81681acfb080000000000000000000000000000000000000000000000000000000000000030a80c17e64f6172e5ab7bb1399d260b3684b0e70f99646f3fa7b4ef13a81963b245584b364f12ca3c465e20a23f548cdf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200100000000000000000000007e2a2fa2a064f693f0a55c5639476d913ff12d050000000000000000000000000000000000000000000000000000000000000060a9e03c759e4da922dbc697d7d4de22f962b7f6a964dcce1f3dbff8cf39f5452461e7f240aff7a44cdcdef2f5d790ee9c0eb5a3ebb5dc2d4f4835ac506347121afd92fc14211a860f08aba80580fe5a1cea8b993507d8311b7369ddf8951ddbbcc0", + "txHash": "0x79786d7d8e1d37613e54e922f512b59cfb6f78c1003d22d4b8e2fcfd671e0cd7", + "expectedTexts": [ + "Interaction with", + "Ethereum", + "Validator public key", + "0xa80c17e64f6172e5a b7bb1399d260b3684b 0e70f99646f3fa7b4ef1 3a81963b245584b364 f12ca3c465e20a23f54 8cdf", + "Withdraw credentials", + "0x0100000000000000 000000007e2a2fa2a06 4f693f0a55c5639476d 913ff12d05", + "Amount to deposit", + "32 ETH", + "Max fees", + "0.0075 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-coreagent.json b/crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-coreagent.json new file mode 100644 index 0000000..68c50a0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-coreagent.json @@ -0,0 +1,55 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { "contract": { "deployments": [{ "chainId": 1116, "address": "0x0000000000000000000000000000000000001011" }] } }, + "metadata": { "owner": "CoreDAO CoreAgent Contract", "info": { "url": "https://coredao.org/" } }, + "display": { + "formats": { + "delegateCoin(address candidate)": { + "intent": "Delegate CORE", + "fields": [ + { + "path": "candidate", + "label": "Validator Address", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "format": "amount", "label": "CORE amount", "path": "@.value" } + ] + }, + "undelegateCoin(address candidate, uint256 amount)": { + "intent": "Unstake CORE", + "fields": [ + { + "path": "candidate", + "label": "Validator Address", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "amount", "label": "CORE amount (0=All)", "format": "amount", "visible": "always" } + ] + }, + "transferCoin(address sourceCandidate, address targetCandidate, uint256 amount)": { + "intent": "Move staked CORE", + "fields": [ + { + "path": "sourceCandidate", + "label": "From Validator", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "targetCandidate", + "label": "To Validator", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "amount", "label": "Amount (in CORE)", "format": "amount", "visible": "always" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-corestake.json b/crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-corestake.json new file mode 100644 index 0000000..09c14e9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-corestake.json @@ -0,0 +1,35 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { "contract": { "deployments": [{ "chainId": 1116, "address": "0xf5fA1728bABc3f8D2a617397faC2696c958C3409" }] } }, + "metadata": { "owner": "CoreDAO Earn Contract", "info": { "url": "https://coredao.org/", "deploymentDate": "2025-02-24T02:55:15Z" } }, + "display": { + "formats": { + "mint(address _validator)": { + "intent": "Stake CORE", + "fields": [ + { "format": "amount", "label": "Amount to stake", "path": "@.value" }, + { + "path": "_validator", + "label": "Validator Address", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "redeem(uint256 stCore)": { + "intent": "Request Redeem", + "fields": [ + { + "path": "stCore", + "label": "Amount to Redeem", + "format": "tokenAmount", + "params": { "token": "0xb3A8F0f0da9ffC65318aA39E55079796093029AD" }, + "visible": "always" + } + ] + }, + "withdraw()": { "intent": "Withdraw CORE", "fields": [] } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-stakehub.json b/crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-stakehub.json new file mode 100644 index 0000000..cbd841b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/corestake/calldata-stakehub.json @@ -0,0 +1,6 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { "contract": { "deployments": [{ "chainId": 1116, "address": "0x0000000000000000000000000000000000001010" }] } }, + "metadata": { "owner": "CoreDAO StakeHub Contract", "info": { "url": "https://coredao.org/" } }, + "display": { "formats": { "claimReward()": { "intent": "Claim rewards", "fields": [] } } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/degate/eip712-degate.json b/crates/clear-signing/src/assets/registry-snapshot/registry/degate/eip712-degate.json new file mode 100644 index 0000000..0d09181 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/degate/eip712-degate.json @@ -0,0 +1,55 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0xe63602a9b3dfe983187525ac985fec4f57b24ed5" }], + "domain": { "name": "DeGate Protocol", "version": "3.0.1" } + } + }, + "metadata": { "owner": "DeGate Exchange Contract" }, + "display": { + "formats": { + "AccountUpdate(address owner,uint32 accountID,uint32 feeTokenID,uint96 maxFee,uint256 publicKey,uint32 validUntil,uint32 nonce)": { + "intent": "DeGate AccountUpdate", + "fields": [ + { "path": "owner", "label": "Owner", "format": "raw" }, + { "path": "accountID", "label": "AccountID", "format": "raw" }, + { "path": "feeTokenID", "label": "FeeTokenID", "format": "raw" }, + { "path": "maxFee", "label": "MaxFee", "format": "raw" }, + { "path": "publicKey", "label": "PublicKey", "format": "raw" }, + { "path": "validUntil", "label": "ValidUntil", "format": "raw" }, + { "path": "nonce", "label": "Nonce", "format": "raw" } + ] + }, + "Withdrawal(address owner,uint32 accountID,uint32 tokenID,uint248 amount,uint32 feeTokenID,uint96 maxFee,address to,uint248 minGas,uint32 validUntil,uint32 storageID)": { + "intent": "DeGate Withdrawal", + "fields": [ + { "path": "owner", "label": "Owner", "format": "raw" }, + { "path": "accountID", "label": "AccountID", "format": "raw" }, + { "path": "tokenID", "label": "TokenID", "format": "raw" }, + { "path": "amount", "label": "Amount", "format": "raw" }, + { "path": "feeTokenID", "label": "FeeTokenID", "format": "raw" }, + { "path": "maxFee", "label": "MaxFee", "format": "raw" }, + { "path": "to", "label": "To", "format": "raw" }, + { "path": "minGas", "label": "MinGas", "format": "raw" }, + { "path": "validUntil", "label": "ValidUntil", "format": "raw" }, + { "path": "storageID", "label": "StorageID", "format": "raw" } + ] + }, + "Transfer(address owner,uint32 accountID,uint32 tokenID,uint248 amount,uint32 feeTokenID,uint96 maxFee,address to,uint32 validUntil,uint32 storageID)": { + "intent": "DeGate Transfer", + "fields": [ + { "path": "owner", "label": "Owner", "format": "raw" }, + { "path": "accountID", "label": "AccountID", "format": "raw" }, + { "path": "tokenID", "label": "TokenID", "format": "raw" }, + { "path": "amount", "label": "Amount", "format": "raw" }, + { "path": "feeTokenID", "label": "FeeTokenID", "format": "raw" }, + { "path": "maxFee", "label": "MaxFee", "format": "raw" }, + { "path": "to", "label": "To", "format": "raw" }, + { "path": "validUntil", "label": "ValidUntil", "format": "raw" }, + { "path": "storageID", "label": "StorageID", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/degate/tests/eip712-degate.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/degate/tests/eip712-degate.tests.json new file mode 100644 index 0000000..0d2aa80 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/degate/tests/eip712-degate.tests.json @@ -0,0 +1,189 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "DeGate AccountUpdate", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "AccountUpdate": [ + { "name": "owner", "type": "address" }, + { "name": "accountID", "type": "uint32" }, + { "name": "feeTokenID", "type": "uint32" }, + { "name": "maxFee", "type": "uint96" }, + { "name": "publicKey", "type": "uint256" }, + { "name": "validUntil", "type": "uint32" }, + { "name": "nonce", "type": "uint32" } + ] + }, + "primaryType": "AccountUpdate", + "domain": { + "name": "DeGate Protocol", + "version": "3.0.1", + "chainId": 1, + "verifyingContract": "0xe63602a9B3DFe983187525AC985Fec4F57B24eD5" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "accountID": 10356, + "feeTokenID": 0, + "maxFee": "1000000000000000000", + "publicKey": "21888242871839275222246405745257275088548364400416034343698204186575808495617", + "validUntil": 1742169600, + "nonce": 7 + } + }, + "expectedTexts": [ + "Owner", + "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", + "AccountID", + "10356", + "FeeTokenID", + "0", + "MaxFee", + "100000000000000000 0", + "PublicKey", + "2188824287183927522 224640574525727508 854836440041603434 369820418657580849 5617", + "ValidUntil", + "1742169600", + "Nonce", + "7" + ] + }, + { + "description": "DeGate Withdrawal", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Withdrawal": [ + { "name": "owner", "type": "address" }, + { "name": "accountID", "type": "uint32" }, + { "name": "tokenID", "type": "uint32" }, + { "name": "amount", "type": "uint248" }, + { "name": "feeTokenID", "type": "uint32" }, + { "name": "maxFee", "type": "uint96" }, + { "name": "to", "type": "address" }, + { "name": "minGas", "type": "uint248" }, + { "name": "validUntil", "type": "uint32" }, + { "name": "storageID", "type": "uint32" } + ] + }, + "primaryType": "Withdrawal", + "domain": { + "name": "DeGate Protocol", + "version": "3.0.1", + "chainId": 1, + "verifyingContract": "0xe63602a9B3DFe983187525AC985Fec4F57B24eD5" + }, + "message": { + "owner": "0x36B2E1B2e6F6F2b82BaA2E4837F6b0dE58Ae9815", + "accountID": 10425, + "tokenID": 0, + "amount": "1500000000000000000", + "feeTokenID": 2, + "maxFee": "3000000000000000", + "to": "0x36B2E1B2e6F6F2b82BaA2E4837F6b0dE58Ae9815", + "minGas": "100000", + "validUntil": 1774000000, + "storageID": 58 + } + }, + "expectedTexts": [ + "Owner", + "0x36B2e1b2E6f6F2B82 bAa2E4837F6b0De58A e9815", + "AccountID", + "10425", + "TokenID", + "To", + "kenID 0", + "Amount", + "150000000000000000 0", + "FeeTokenID", + "2", + "MaxFee", + "3000000000000000", + "To", + "0x36B2e1b2E6f6F2B82 bAa2E4837F6b0De58A e9815", + "MinGas", + "100000", + "ValidUntil", + "1774000000", + "StorageID", + "58" + ] + }, + { + "description": "DeGate Transfer", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Transfer": [ + { "name": "owner", "type": "address" }, + { "name": "accountID", "type": "uint32" }, + { "name": "tokenID", "type": "uint32" }, + { "name": "amount", "type": "uint248" }, + { "name": "feeTokenID", "type": "uint32" }, + { "name": "maxFee", "type": "uint96" }, + { "name": "to", "type": "address" }, + { "name": "validUntil", "type": "uint32" }, + { "name": "storageID", "type": "uint32" } + ] + }, + "primaryType": "Transfer", + "domain": { + "name": "DeGate Protocol", + "version": "3.0.1", + "chainId": 1, + "verifyingContract": "0xe63602a9B3DFe983187525AC985Fec4F57B24eD5" + }, + "message": { + "owner": "0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf", + "accountID": 10425, + "tokenID": 0, + "amount": "1500000000000000000", + "feeTokenID": 0, + "maxFee": "500000000000000", + "to": "0x2B5AD5c4795c026514f8317c7a215E218DcCD6cF", + "validUntil": 1773765209, + "storageID": 58 + } + }, + "expectedTexts": [ + "Owner", + "0x7E5F4552091A69125 d5DfCb7b8C26590293 95Bdf", + "AccountID", + "10425", + "TokenID", + "To", + "kenID 0", + "Amount", + "150000000000000000 0", + "FeeTokenID", + "0", + "MaxFee", + "500000000000000", + "To", + "0x2B5AD5c4795c0265 14f8317c7a215E218Dc CD6cF", + "ValidUntil", + "1773765209", + "StorageID", + "58" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/dispatch/eip712-dispatch.json b/crates/clear-signing/src/assets/registry-snapshot/registry/dispatch/eip712-dispatch.json new file mode 100644 index 0000000..1b92a23 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/dispatch/eip712-dispatch.json @@ -0,0 +1,23 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" }], + "domain": { "name": "Lens Protocol Profiles", "version": "1" } + } + }, + "metadata": { "owner": "Dispatch.xyz" }, + "display": { + "formats": { + "FollowWithSig(address follower,uint256[] profileIds,bytes[] datas,uint256 nonce,uint256 deadline)": { + "intent": "Dispatch.xyz Follow Profile", + "fields": [ + { "path": "profileIds.[]", "label": "Profile Ids", "format": "raw" }, + { "path": "datas.[]", "label": "Data", "format": "raw" }, + { "path": "nonce", "label": "Nonce", "format": "raw" }, + { "path": "deadline", "label": "Expiration Date", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/dispatch/tests/eip712-dispatch.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/dispatch/tests/eip712-dispatch.tests.json new file mode 100644 index 0000000..a808459 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/dispatch/tests/eip712-dispatch.tests.json @@ -0,0 +1,82 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Dispatch.xyz Follow Profile", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "FollowWithSig": [ + { + "name": "follower", + "type": "address" + }, + { + "name": "profileIds", + "type": "uint256[]" + }, + { + "name": "datas", + "type": "bytes[]" + }, + { + "name": "nonce", + "type": "uint256" + }, + { + "name": "deadline", + "type": "uint256" + } + ] + }, + "primaryType": "FollowWithSig", + "domain": { + "name": "Lens Protocol Profiles", + "version": "1", + "chainId": 137, + "verifyingContract": "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d" + }, + "message": { + "follower": "0x3A5bd1E37b099aE3386D13947b6a90d97675e5e3", + "profileIds": [ + "42", + "1337" + ], + "datas": [ + "0x", + "0x" + ], + "nonce": "7", + "deadline": "1742500000" + } + }, + "expectedTexts": [ + "Profile Ids", + "42 Profile Ids 1337", + "Data", + "0x Data 0x", + "Nonce", + "7", + "Expiration Date", + "1742500000" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ethena/calldata-ethena.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ethena/calldata-ethena.json new file mode 100644 index 0000000..4f619f0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ethena/calldata-ethena.json @@ -0,0 +1,48 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Staked USDe", + "contract": { "deployments": [{ "chainId": 1, "address": "0x9D39A5DE30e57443BfF2A8307A4256c8797A3497" }] } + }, + "metadata": { "owner": "Ethena", "info": { "url": "https://ethena.fi/" }, "contractName": "Staked USDe" }, + "display": { + "formats": { + "cooldownShares(uint256 shares)": { + "intent": "Cooldown Shares", + "fields": [ + { + "label": "Amount", + "format": "tokenAmount", + "params": { "token": "0x9D39A5DE30e57443BfF2A8307A4256c8797A3497" }, + "path": "#.shares", + "visible": "always" + } + ] + }, + "cooldownAssets(uint256 assets)": { + "intent": "Cooldown Assets", + "fields": [ + { + "label": "Amount", + "format": "tokenAmount", + "params": { "token": "0x4c9EDD5852cd905f086C759E8383e09bff1E68B3" }, + "path": "#.assets", + "visible": "always" + } + ] + }, + "unstake(address receiver)": { + "intent": "Unstake", + "fields": [ + { + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#.receiver", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ethena/tests/calldata-ethena.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ethena/tests/calldata-ethena.tests.json new file mode 100644 index 0000000..8866653 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ethena/tests/calldata-ethena.tests.json @@ -0,0 +1,31 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Cooldown Shares - chain 1", + "rawTx": "0x02f84e018201e8841ff12f60841ff12f6083024728949d39a5de30e57443bff2a8307a4256c8797a349780a49343d9e10000000000000000000000000000000000000000000140dec2143dab35176404c0", + "txHash": "0xc34e8ee334d309e8b3658fcebcb4af2bc29ceb010141783b146d940ed4cdaca6", + "expectedTexts": [ + "Interaction with", + "Ethena", + "Amount", + "1515266.436573198 420501508 sUSDe", + "Max fees", + "0.0000800034392 ETH" + ] + }, + { + "description": "Unstake - chain 1", + "rawTx": "0x02f84d0182032283154938841b435ec0830174c8949d39a5de30e57443bff2a8307a4256c8797a349780a4f2888dbb0000000000000000000000000561e5b036ddcf2401c2b6b486f85451d75760a2c0", + "txHash": "0x97ea01b140a601124530ce6cee4c4ad87f4b8aaee9e4a0f8d2e99cf86faaba57", + "expectedTexts": [ + "Interaction with", + "Ethena", + "Receiver", + "0x0561e5b036DdcF24 01c2B6b486f85451d75 760A2", + "Max fees", + "0.0000436505968 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/fellow-fund/calldata-fellow-fund.json b/crates/clear-signing/src/assets/registry-snapshot/registry/fellow-fund/calldata-fellow-fund.json new file mode 100644 index 0000000..dc53c98 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/fellow-fund/calldata-fellow-fund.json @@ -0,0 +1,60 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "FellowFund", + "contract": { "deployments": [{ "chainId": 1, "address": "0x25d598CBB74fa73290e74697616DE2740d280745" }] } + }, + "metadata": { + "owner": "FellowFund", + "info": { "url": "https://fellow-fund.vercel.app", "deploymentDate": "2024-03-14T00:00:00Z" }, + "contractName": "FellowFund" + }, + "display": { + "formats": { + "createFellowship(string _metadata, uint256 _funds, uint256 _applicationDeadline, uint256 _marketDeadline, uint256 _epochDeadline)": { + "intent": "Create Fellowship", + "fields": [ + { "path": "_metadata", "label": "Program Details", "format": "raw", "visible": "always" }, + { "path": "_funds", "label": "Total Funding", "format": "amount", "visible": "always" }, + { + "path": "_applicationDeadline", + "label": "Application Deadline", + "format": "date", + "params": { "encoding": "timestamp" }, + "visible": "always" + }, + { + "path": "_marketDeadline", + "label": "Market Deadline", + "format": "date", + "params": { "encoding": "timestamp" }, + "visible": "always" + }, + { + "path": "_epochDeadline", + "label": "Program End Date", + "format": "date", + "params": { "encoding": "timestamp" }, + "visible": "always" + } + ] + }, + "applyToFellowship(uint256 fellowshipId, string metadata)": { + "intent": "Apply to Fellowship", + "fields": [ + { "path": "fellowshipId", "label": "Fellowship ID", "format": "raw", "visible": "always" }, + { "path": "metadata", "label": "Application Details", "format": "raw", "visible": "always" } + ] + }, + "setApplicantImpact(uint256 fellowshipId, uint256 applicationId, bool achieved, bytes proof)": { + "intent": "Verify Impact", + "fields": [ + { "path": "fellowshipId", "label": "Fellowship ID", "format": "raw", "visible": "always" }, + { "path": "applicationId", "label": "Application ID", "format": "raw", "visible": "always" }, + { "path": "achieved", "label": "Impact Achieved", "format": "raw", "visible": "always" }, + { "path": "proof", "label": "Verification Proof", "format": "raw", "visible": "always" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/figment/calldata-figment-batch-deposit.json b/crates/clear-signing/src/assets/registry-snapshot/registry/figment/calldata-figment-batch-deposit.json new file mode 100644 index 0000000..cf39c77 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/figment/calldata-figment-batch-deposit.json @@ -0,0 +1,33 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Figment ETH Depositor", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x8B0d88B8Be3C15D746Feb0B1f18c883c03B6Aa62" }, + { "chainId": 560048, "address": "0x7Ac74cb69104Cea773cc3154D47c930ca6462fe8" } + ] + } + }, + "metadata": { "owner": "Figment", "info": { "url": "https://figment.io/" }, "contractName": "Figment ETH Depositor" }, + "display": { + "formats": { + "deposit(bytes[] pubkeys, bytes[] withdrawal_credentials, bytes[] signatures, bytes32[] deposit_data_roots, uint256[] amounts_gwei)": { + "intent": "Stake ETH", + "fields": [ + { "label": "Validator Public Key", "format": "raw", "path": "#.pubkeys.[]" }, + { "label": "Withdraw Credentials", "format": "raw", "path": "#.withdrawal_credentials.[]" }, + { + "label": "Amount to Deposit", + "format": "unit", + "params": { "base": "ETH", "decimals": 9 }, + "path": "#.amounts_gwei.[]", + "visible": "always" + }, + { "label": "Signatures", "path": "#.signatures.[]", "visible": "never" }, + { "label": "Deposit Data Roots", "path": "#.deposit_data_roots.[]", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/figment/tests/calldata-figment-batch-deposit.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/figment/tests/calldata-figment-batch-deposit.tests.json new file mode 100644 index 0000000..1bc6433 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/figment/tests/calldata-figment-batch-deposit.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Stake ETH - chain 1", + "rawTx": "0x02f90336011583dad15f840400e6de8305dc8f948b0d88b8be3c15d746feb0b1f18c883c03b6aa628901bc16d674ec800000b90304c09bb1db00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030af611d47ebf55fd5f5c9037959e93e5a42f5e3e97478362191e5600711216867b1bf67ead7a3ff42b63532a8a194850700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017fd4817db6a15e8ff78bd0c04b6977ef294300274ef7537598baa54e1852ba9000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000773594000c0", + "txHash": "0xa0cfdaeb2a7f7925e1ee18795b8b787c1091bd98b7e52e545353955682bff77a", + "expectedTexts": [ + "Interaction with", + "Figment", + "Validator Public Key", + "0xaf611d47ebf55fd5f5c 9037959e93e5a42f5e3 e97478362191e560071 1216867b1bf67ead7a3f f42b63532a8a1948507", + "Withdraw Credentials", + "0x0000000000000000 000000000000000000 000000000000000000 000000000000", + "Amount to Deposit", + "32 ETH", + "Max fees", + "0.00002580210396313 8 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-DistributionToDelegators-Flare.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-DistributionToDelegators-Flare.json new file mode 100644 index 0000000..b8d65fc --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-DistributionToDelegators-Flare.json @@ -0,0 +1,58 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "DistributionToDelegators-Flare", + "contract": { "deployments": [{ "chainId": 14, "address": "0x9c7A4C83842B29bB4A082b0E689CB9474BD938d0" }] } + }, + "metadata": { "owner": "Flare Labs", "info": { "url": "https://flare.network/" }, "contractName": "DistributionToDelegators-Flare" }, + "display": { + "formats": { + "claim(address _rewardOwner, address _recipient, uint256 _month, bool _wrap)": { + "intent": "claim rewards", + "fields": [ + { + "label": "Reward Owner", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#._rewardOwner", + "visible": "always" + }, + { + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#._recipient", + "visible": "always" + }, + { "label": "Month", "format": "raw", "path": "#._month", "visible": "always" }, + { "label": "Wrap", "format": "raw", "path": "#._wrap", "visible": "always" } + ] + }, + "autoClaim(address[] _rewardOwners, uint256 _month)": { + "intent": "batch claims rewards", + "fields": [ + { + "label": "Reward Owner", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#._rewardOwners.[]", + "visible": "always" + }, + { "label": "Month", "format": "raw", "path": "#._month", "visible": "always" } + ] + }, + "confirmOptOutOfAirdrop(address[] _optOutAddresses)": { + "intent": "opt out of airdrop", + "fields": [ + { + "label": "Opt Out Address", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "#._optOutAddresses.[]", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-PollingFoundation-Flare.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-PollingFoundation-Flare.json new file mode 100644 index 0000000..0b58887 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-PollingFoundation-Flare.json @@ -0,0 +1,64 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "PollingFoundation-Flare", + "contract": { "deployments": [{ "chainId": 14, "address": "0xc8294a2335C6c45de827121090ce4Ba9977907D2" }] } + }, + "metadata": { "owner": "Flare Labs", "info": { "url": "https://flare.network/" }, "contractName": "PollingFoundation-Flare" }, + "display": { + "formats": { + "castVote(uint256 _proposalId, uint8 _support)": { + "intent": "cast vote", + "fields": [ + { "label": "Proposal Id", "format": "raw", "path": "#._proposalId", "visible": "always" }, + { "label": "Support", "format": "raw", "path": "#._support", "visible": "always" } + ] + }, + "propose(address[] _targets, uint256[] _values, bytes[] _calldatas, string _description, (bool accept, uint256 votingStartTs, uint256 votingPeriodSeconds, uint256 vpBlockPeriodSeconds, uint256 thresholdConditionBIPS, uint256 majorityConditionBIPS, uint256 executionDelaySeconds, uint256 executionPeriodSeconds) _settings)": { + "intent": "create proposal", + "fields": [ + { + "label": "Targets", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "#._targets.[]", + "visible": "always" + }, + { "label": "Values", "format": "amount", "path": "#._values.[]", "visible": "always" }, + { "label": "Calldatas", "format": "raw", "path": "#._calldatas.[]", "visible": "always" }, + { "label": "Description", "format": "raw", "path": "#._description", "visible": "always" }, + { + "path": "#._settings", + "fields": [ + { "label": "Accept", "format": "raw", "path": "accept" }, + { "label": "Voting Start", "format": "date", "params": { "encoding": "timestamp" }, "path": "votingStartTs" }, + { "label": "Voting Period", "format": "duration", "path": "votingPeriodSeconds" }, + { "label": "Vp Block Period", "format": "duration", "path": "vpBlockPeriodSeconds" }, + { "label": "Threshold (bps)", "format": "unit", "params": { "base": "bps" }, "path": "thresholdConditionBIPS" }, + { "label": "Majority (bps)", "format": "unit", "params": { "base": "bps" }, "path": "majorityConditionBIPS" }, + { "label": "Execution Delay", "format": "duration", "path": "executionDelaySeconds" }, + { "label": "Execution Period", "format": "duration", "path": "executionPeriodSeconds" } + ] + } + ] + }, + "propose(string _description, (bool accept, uint256 votingStartTs, uint256 votingPeriodSeconds, uint256 vpBlockPeriodSeconds, uint256 thresholdConditionBIPS, uint256 majorityConditionBIPS) _settings)": { + "intent": "create proposal", + "fields": [ + { "label": "Description", "format": "raw", "path": "#._description", "visible": "always" }, + { + "path": "#._settings", + "fields": [ + { "label": "Accept", "format": "raw", "path": "accept" }, + { "label": "Voting Start", "format": "date", "params": { "encoding": "timestamp" }, "path": "votingStartTs" }, + { "label": "Voting Period", "format": "duration", "path": "votingPeriodSeconds" }, + { "label": "Vp Block Period", "format": "duration", "path": "vpBlockPeriodSeconds" }, + { "label": "Threshold (bps)", "format": "unit", "params": { "base": "bps" }, "path": "thresholdConditionBIPS" }, + { "label": "Majority (bps)", "format": "unit", "params": { "base": "bps" }, "path": "majorityConditionBIPS" } + ] + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-PollingFoundation-Songbird.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-PollingFoundation-Songbird.json new file mode 100644 index 0000000..db8f0ec --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-PollingFoundation-Songbird.json @@ -0,0 +1,64 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "PollingFoundation-Songbird", + "contract": { "deployments": [{ "chainId": 19, "address": "0x79Df47237292Dbd1477502CFF3F61cD535B0FAce" }] } + }, + "metadata": { "owner": "Flare Labs", "info": { "url": "https://flare.network/" }, "contractName": "PollingFoundation-Songbird" }, + "display": { + "formats": { + "castVote(uint256 _proposalId, uint8 _support)": { + "intent": "cast vote", + "fields": [ + { "label": "Proposal Id", "format": "raw", "path": "#._proposalId", "visible": "always" }, + { "label": "Support", "format": "raw", "path": "#._support", "visible": "always" } + ] + }, + "propose(address[] _targets, uint256[] _values, bytes[] _calldatas, string _description, (bool accept, uint256 votingStartTs, uint256 votingPeriodSeconds, uint256 vpBlockPeriodSeconds, uint256 thresholdConditionBIPS, uint256 majorityConditionBIPS, uint256 executionDelaySeconds, uint256 executionPeriodSeconds) _settings)": { + "intent": "create proposal", + "fields": [ + { + "label": "Targets", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "#._targets.[]", + "visible": "always" + }, + { "label": "Values", "format": "amount", "path": "#._values.[]", "visible": "always" }, + { "label": "Calldatas", "format": "raw", "path": "#._calldatas.[]", "visible": "always" }, + { "label": "Description", "format": "raw", "path": "#._description", "visible": "always" }, + { + "path": "#._settings", + "fields": [ + { "label": "Accept", "format": "raw", "path": "accept" }, + { "label": "Voting Start Ts", "format": "date", "params": { "encoding": "timestamp" }, "path": "votingStartTs" }, + { "label": "Voting Period", "format": "duration", "path": "votingPeriodSeconds" }, + { "label": "Vp Block Period", "format": "duration", "path": "vpBlockPeriodSeconds" }, + { "label": "Threshold", "format": "unit", "params": { "base": "bps" }, "path": "thresholdConditionBIPS" }, + { "label": "Majority", "format": "unit", "params": { "base": "bps" }, "path": "majorityConditionBIPS" }, + { "label": "Execution Delay", "format": "duration", "path": "executionDelaySeconds" }, + { "label": "Execution Period", "format": "duration", "path": "executionPeriodSeconds" } + ] + } + ] + }, + "propose(string _description, (bool accept, uint256 votingStartTs, uint256 votingPeriodSeconds, uint256 vpBlockPeriodSeconds, uint256 thresholdConditionBIPS, uint256 majorityConditionBIPS) _settings)": { + "intent": "create proposal", + "fields": [ + { "label": "Description", "format": "raw", "path": "#._description", "visible": "always" }, + { + "path": "#._settings", + "fields": [ + { "label": "Accept", "format": "raw", "path": "accept" }, + { "label": "Voting Start Ts", "format": "date", "params": { "encoding": "timestamp" }, "path": "votingStartTs" }, + { "label": "Voting Period", "format": "duration", "path": "votingPeriodSeconds" }, + { "label": "Vp Block Period", "format": "duration", "path": "vpBlockPeriodSeconds" }, + { "label": "Threshold", "format": "unit", "params": { "base": "bps" }, "path": "thresholdConditionBIPS" }, + { "label": "Majority", "format": "unit", "params": { "base": "bps" }, "path": "majorityConditionBIPS" } + ] + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-RewardManager-Flare.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-RewardManager-Flare.json new file mode 100644 index 0000000..c48ef58 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-RewardManager-Flare.json @@ -0,0 +1,70 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "RewardManager-Flare", + "contract": { "deployments": [{ "chainId": 14, "address": "0xC8f55c5aA2C752eE285Bd872855C749f4ee6239B" }] } + }, + "metadata": { "owner": "Flare Labs", "info": { "url": "https://flare.network/" }, "contractName": "RewardManager-Flare" }, + "display": { + "formats": { + "autoClaim(address[] _rewardOwners, uint24 _rewardEpochId, (bytes32[] merkleProof, (uint24 rewardEpochId, bytes20 beneficiary, uint120 amount, uint8 claimType) body)[] _proofs)": { + "intent": "claim rewards", + "fields": [ + { + "label": "Reward Owner", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#._rewardOwners.[]", + "visible": "always" + }, + { + "path": "#._proofs.[]", + "fields": [ + { + "path": "body", + "fields": [ + { + "label": "Claim Owner", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "path": "beneficiary" + }, + { "label": "Amount", "format": "amount", "path": "amount" }, + { "label": "Claim Type", "format": "raw", "path": "claimType" } + ] + } + ] + }, + { "label": "Proofs Merkle Proof", "path": "#._proofs.[].merkleProof.[]", "visible": "never" }, + { "label": "Reward Epoch Id", "path": "#._rewardEpochId", "visible": "never" }, + { "label": "Proofs Body Reward Epoch Id", "path": "#._proofs.[].body.rewardEpochId", "visible": "never" } + ] + }, + "initialiseWeightBasedClaims((bytes32[] merkleProof, (uint24 rewardEpochId, bytes20 beneficiary, uint120 amount, uint8 claimType) body)[] _proofs)": { + "intent": "initialise claims", + "fields": [ + { + "path": "#._proofs.[]", + "fields": [ + { + "path": "body", + "fields": [ + { + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "path": "beneficiary" + }, + { "label": "Amount", "format": "amount", "path": "amount" }, + { "label": "Claim Type", "format": "raw", "path": "claimType" } + ] + } + ] + }, + { "label": "Proofs Merkle Proof", "path": "#._proofs.[].merkleProof.[]", "visible": "never" }, + { "label": "Proofs Body Reward Epoch Id", "path": "#._proofs.[].body.rewardEpochId", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-RewardManager-Songbird.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-RewardManager-Songbird.json new file mode 100644 index 0000000..0250ede --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-RewardManager-Songbird.json @@ -0,0 +1,70 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "RewardManager-Songbird", + "contract": { "deployments": [{ "chainId": 19, "address": "0xE26AD68b17224951b5740F33926Cc438764eB9a7" }] } + }, + "metadata": { "owner": "Flare Labs", "info": { "url": "https://flare.network/" }, "contractName": "RewardManager-Songbird" }, + "display": { + "formats": { + "initialiseWeightBasedClaims((bytes32[] merkleProof, (uint24 rewardEpochId, bytes20 beneficiary, uint120 amount, uint8 claimType) body)[] _proofs)": { + "intent": "initialise claims", + "fields": [ + { + "path": "#._proofs.[]", + "fields": [ + { + "path": "body", + "fields": [ + { + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "path": "beneficiary" + }, + { "label": "Amount", "format": "amount", "path": "amount" }, + { "label": "Claim Type", "format": "raw", "path": "claimType" } + ] + } + ] + }, + { "label": "Proofs Merkle Proof", "path": "#._proofs.[].merkleProof.[]", "visible": "never" }, + { "label": "Proofs Body Reward Epoch Id", "path": "#._proofs.[].body.rewardEpochId", "visible": "never" } + ] + }, + "autoClaim(address[] _rewardOwners, uint24 _rewardEpochId, (bytes32[] merkleProof, (uint24 rewardEpochId, bytes20 beneficiary, uint120 amount, uint8 claimType) body)[] _proofs)": { + "intent": "claim rewards", + "fields": [ + { + "label": "Reward Owner", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#._rewardOwners.[]", + "visible": "always" + }, + { "label": "Reward Epoch Id", "format": "raw", "path": "#._rewardEpochId" }, + { + "path": "#._proofs.[]", + "fields": [ + { + "path": "body", + "fields": [ + { + "label": "Claim Owner", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "path": "beneficiary" + }, + { "label": "Amount", "format": "amount", "path": "amount" }, + { "label": "Claim Type", "format": "raw", "path": "claimType" } + ] + } + ] + }, + { "label": "Proofs Merkle Proof", "path": "#._proofs.[].merkleProof.[]", "visible": "never" }, + { "label": "Proofs Body Reward Epoch Id", "path": "#._proofs.[].body.rewardEpochId", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-ValidatorRewardManager-Flare.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-ValidatorRewardManager-Flare.json new file mode 100644 index 0000000..6145f91 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flare/calldata-ValidatorRewardManager-Flare.json @@ -0,0 +1,57 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "ValidatorRewardManager-Flare", + "contract": { "deployments": [{ "chainId": 14, "address": "0xc0CF3Aaf93bd978C5BC662564Aa73E331f2eC0B5" }] } + }, + "metadata": { "owner": "Flare Labs", "info": { "url": "https://flare.network/" }, "contractName": "ValidatorRewardManager-Flare" }, + "display": { + "formats": { + "claim(address _rewardOwner, address _recipient, uint256 _rewardAmount, bool _wrap)": { + "intent": "Claim/Wrap Reward", + "fields": [ + { + "label": "Reward Owner", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#._rewardOwner", + "visible": "always" + }, + { + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#._recipient", + "visible": "always" + }, + { "label": "Reward Amount", "format": "amount", "path": "#._rewardAmount", "visible": "always" }, + { "label": "Wrap", "format": "raw", "path": "#._wrap", "visible": "always" } + ] + }, + "setClaimExecutors(address[] _executors)": { + "intent": "set executors", + "fields": [ + { + "label": "Executor", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#._executors.[]", + "visible": "always" + } + ] + }, + "setAllowedClaimRecipients(address[] _recipients)": { + "intent": "set recipients", + "fields": [ + { + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#._recipients.[]", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-EpochRewardsVault-dev.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-EpochRewardsVault-dev.json new file mode 100644 index 0000000..b2fe738 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-EpochRewardsVault-dev.json @@ -0,0 +1,126 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "contract": { + "deployments": [ + { + "chainId": 146, + "address": "0x137D66e0a5D4cEEe0A7eDA011bC3aA94931C7234" + }, + { + "chainId": 56, + "address": "0x909573e96dfc3F097B9ee1d007333cA33cf2d4A9" + }, + { + "chainId": 43114, + "address": "0xb95e2Fe3A4966d980ffce98ff067b5D8E097c62C" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "EpochRewardsVault dev", + "info": { + "url": "https://flyingtulip.com" + } + }, + "display": { + "formats": { + "deposit(uint256 assets, address receiver)": { + "intent": "Stake ftUSD", + "fields": [ + { + "path": "assets", + "label": "ftUSD amount", + "format": "raw", + "visible": "always" + }, + { + "path": "receiver", + "label": "Receiver", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + } + ], + "interpolatedIntent": "Stake {assets}" + }, + "withdraw(uint256 assets, address receiver, address owner)": { + "intent": "Unstake ftUSD", + "fields": [ + { + "path": "assets", + "label": "ftUSD amount", + "format": "raw", + "visible": "always" + }, + { + "path": "receiver", + "label": "Receiver", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "owner", + "label": "Owner", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + } + ], + "interpolatedIntent": "Unstake {assets}" + }, + "claim(address to)": { + "intent": "Claim ftUSD rewards", + "fields": [ + { + "path": "to", + "label": "Recipient", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + } + ], + "interpolatedIntent": "Claim to {to}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-EpochRewardsVault.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-EpochRewardsVault.json new file mode 100644 index 0000000..5ddfd80 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-EpochRewardsVault.json @@ -0,0 +1,128 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0xeb48218a4c35C814C7678cBcae88C6Ee037F7625" + }, + { + "chainId": 146, + "address": "0xD1E5A86f1005F6356Bd022C587dE0f430CD2aeb1" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "EpochRewardsVault", + "info": { + "url": "https://flyingtulip.com" + } + }, + "display": { + "formats": { + "deposit(uint256 assets, address receiver)": { + "intent": "Stake ftUSD", + "fields": [ + { + "path": "assets", + "label": "Amount", + "format": "tokenAmount", + "params": { + "token": "0xF7D85EC4E7710f71992752eac2111312e73E9C9C" + }, + "visible": "always" + }, + { + "path": "receiver", + "label": "Receiver", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + } + ], + "interpolatedIntent": "Stake {assets}" + }, + "withdraw(uint256 assets, address receiver, address owner)": { + "intent": "Unstake ftUSD", + "fields": [ + { + "path": "assets", + "label": "Amount", + "format": "tokenAmount", + "params": { + "token": "0xF7D85EC4E7710f71992752eac2111312e73E9C9C" + }, + "visible": "always" + }, + { + "path": "receiver", + "label": "Receiver", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "owner", + "label": "Owner", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + } + ], + "interpolatedIntent": "Unstake {assets}" + }, + "claim(address to)": { + "intent": "Claim ftUSD rewards", + "fields": [ + { + "path": "to", + "label": "Recipient", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + } + ], + "interpolatedIntent": "Claim to {to}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-MintAndRedeem-dev.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-MintAndRedeem-dev.json new file mode 100644 index 0000000..93e9fa6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-MintAndRedeem-dev.json @@ -0,0 +1,92 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "contract": { + "deployments": [ + { + "chainId": 146, + "address": "0xb9B23b0555B8066F3d5954Ea6C679a02339F78dc" + }, + { + "chainId": 56, + "address": "0x5f8D7B2009355a48ace2643d18E782F5c5818495" + }, + { + "chainId": 43114, + "address": "0x83D889120aB0A0683bc59245E77A9D510D5aCDA0" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "MintAndRedeem dev", + "info": { + "url": "https://flyingtulip.com" + } + }, + "display": { + "formats": { + "mint(address collateralToken, uint256 collateralAmount, uint256 txDeadline, uint256 minFtUSDOut)": { + "intent": "Buy ftUSD", + "fields": [ + { + "path": "collateralAmount", + "label": "Pay", + "format": "tokenAmount", + "params": { + "tokenPath": "collateralToken" + }, + "visible": "always" + }, + { + "path": "minFtUSDOut", + "label": "Minimum ftUSD", + "format": "raw", + "visible": "always" + }, + { + "path": "txDeadline", + "label": "Deadline", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Buy {minFtUSDOut}" + }, + "redeem(address collateralToken, uint256 ftUSDAmount, uint256 txDeadline, uint256 minCollateralOut)": { + "intent": "Sell ftUSD", + "fields": [ + { + "path": "ftUSDAmount", + "label": "ftUSD amount", + "format": "raw", + "visible": "always" + }, + { + "path": "minCollateralOut", + "label": "Minimum receive", + "format": "tokenAmount", + "params": { + "tokenPath": "collateralToken" + }, + "visible": "always" + }, + { + "path": "txDeadline", + "label": "Deadline", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Sell {ftUSDAmount}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-MintAndRedeem.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-MintAndRedeem.json new file mode 100644 index 0000000..b11cae3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-MintAndRedeem.json @@ -0,0 +1,97 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0xAa48EcBC843cF7E9A29155D112b8Cb27902bD23C" + }, + { + "chainId": 146, + "address": "0x0C6f8eC81c3eA5BFf06F6CD0791780f9f050eE31" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "MintAndRedeem", + "info": { + "url": "https://flyingtulip.com" + }, + "constants": { + "ftUSD": "0xF7D85EC4E7710f71992752eac2111312e73E9C9C" + } + }, + "display": { + "formats": { + "mint(address collateralToken, uint256 collateralAmount, uint256 txDeadline, uint256 minFtUSDOut)": { + "intent": "Buy ftUSD", + "fields": [ + { + "path": "collateralAmount", + "label": "Pay", + "format": "tokenAmount", + "params": { + "tokenPath": "collateralToken" + }, + "visible": "always" + }, + { + "path": "minFtUSDOut", + "label": "Minimum receive", + "format": "tokenAmount", + "params": { + "token": "0xF7D85EC4E7710f71992752eac2111312e73E9C9C" + }, + "visible": "always" + }, + { + "path": "txDeadline", + "label": "Deadline", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Buy {minFtUSDOut}" + }, + "redeem(address collateralToken, uint256 ftUSDAmount, uint256 txDeadline, uint256 minCollateralOut)": { + "intent": "Sell ftUSD", + "fields": [ + { + "path": "ftUSDAmount", + "label": "Pay", + "format": "tokenAmount", + "params": { + "token": "0xF7D85EC4E7710f71992752eac2111312e73E9C9C" + }, + "visible": "always" + }, + { + "path": "minCollateralOut", + "label": "Minimum receive", + "format": "tokenAmount", + "params": { + "tokenPath": "collateralToken" + }, + "visible": "always" + }, + { + "path": "txDeadline", + "label": "Deadline", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Sell {ftUSDAmount}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PftMarketplace.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PftMarketplace.json new file mode 100644 index 0000000..02f2991 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PftMarketplace.json @@ -0,0 +1,199 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "contract": { + "deployments": [ + { + "chainId": 146, + "address": "0x9bB958D459a97e3E37E11BeCf842E728167d9114" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "pFT Marketplace", + "info": { + "url": "https://flyingtulip.com" + } + }, + "display": { + "formats": { + "addListing(uint256 tokenId, address token, uint256 price, uint40 expires)": { + "intent": "List FT PUT", + "fields": [ + { + "path": "tokenId", + "label": "Position", + "format": "nftName", + "params": { + "collection": "0x1d8051c90076FaA5b683A3551Ee4369d00f99D67" + }, + "visible": "always" + }, + { + "path": "price", + "label": "Price", + "format": "tokenAmount", + "params": { + "tokenPath": "token" + }, + "visible": "always" + }, + { + "path": "expires", + "label": "Expires", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + } + ], + "interpolatedIntent": "List PUT {tokenId}" + }, + "editListing(uint256 tokenId, address token, uint256 price, uint256 expires)": { + "intent": "Edit FT PUT listing", + "fields": [ + { + "path": "tokenId", + "label": "Position", + "format": "nftName", + "params": { + "collection": "0x1d8051c90076FaA5b683A3551Ee4369d00f99D67" + }, + "visible": "always" + }, + { + "path": "price", + "label": "Price", + "format": "tokenAmount", + "params": { + "tokenPath": "token" + }, + "visible": "always" + }, + { + "path": "expires", + "label": "Expires", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Edit PUT {tokenId}" + }, + "removeListing(uint256 tokenId)": { + "intent": "Remove FT PUT listing", + "fields": [ + { + "path": "tokenId", + "label": "Position", + "format": "nftName", + "params": { + "collection": "0x1d8051c90076FaA5b683A3551Ee4369d00f99D67" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Remove PUT {tokenId}" + }, + "buy(uint256 tokenId, address expectedToken, uint256 expectedPrice, bytes32 expectedPutHash, (uint256 nonce, uint40 deadline, bytes signature) permit2Data)": { + "intent": "Buy FT PUT", + "fields": [ + { + "path": "tokenId", + "label": "Position", + "format": "nftName", + "params": { + "collection": "0x1d8051c90076FaA5b683A3551Ee4369d00f99D67" + }, + "visible": "always" + }, + { + "path": "expectedPrice", + "label": "Price", + "format": "tokenAmount", + "params": { + "tokenPath": "expectedToken" + }, + "visible": "always" + }, + { + "path": "permit2Data.deadline", + "label": "Permit deadline", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "optional" + }, + { + "path": "expectedPutHash", + "label": "Expected PUT hash", + "format": "raw", + "visible": "never" + } + ], + "interpolatedIntent": "Buy PUT {tokenId}" + }, + "acceptBuyOffer((address buyer, address denominationToken, uint96 minAmountRemaining, uint96 minFt, uint96 minStrike, address paymentToken, uint96 price, uint256 nonce, uint40 deadline) offer, uint256 tokenId, bytes signature, bytes permit2Signature, uint256 permit2Nonce, bytes32 expectedPutHash)": { + "intent": "Accept FT PUT offer", + "fields": [ + { + "path": "tokenId", + "label": "Position", + "format": "nftName", + "params": { + "collection": "0x1d8051c90076FaA5b683A3551Ee4369d00f99D67" + }, + "visible": "always" + }, + { + "path": "offer.price", + "label": "Offer price", + "format": "tokenAmount", + "params": { + "tokenPath": "offer.paymentToken" + }, + "visible": "always" + }, + { + "path": "offer.buyer", + "label": "Buyer", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "offer.deadline", + "label": "Offer expires", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + }, + { + "path": "expectedPutHash", + "label": "Expected PUT hash", + "format": "raw", + "visible": "never" + } + ], + "interpolatedIntent": "Accept offer {tokenId}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PftNft.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PftNft.json new file mode 100644 index 0000000..d12753f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PftNft.json @@ -0,0 +1,98 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0xa4215Daaf3745E14E96E169E0E7706c479Ce04F2" + }, + { + "chainId": 146, + "address": "0xa4215Daaf3745E14E96E169E0E7706c479Ce04F2" + }, + { + "chainId": 146, + "address": "0x1d8051c90076FaA5b683A3551Ee4369d00f99D67" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "pFT NFT", + "info": { + "url": "https://flyingtulip.com" + }, + "enums": { + "rights": { + "True": "Grant all", + "False": "Deny all" + } + } + }, + "display": { + "formats": { + "approve(address to, uint256 tokenId)": { + "intent": "Approve FT PUT position", + "fields": [ + { + "path": "to", + "label": "Operator", + "format": "addressName", + "params": { + "types": [ + "contract" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "tokenId", + "label": "Position", + "format": "nftName", + "params": { + "collectionPath": "@.to" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Approve PUT {tokenId}" + }, + "setApprovalForAll(address operator, bool approved)": { + "intent": "Manage FT PUT approvals", + "fields": [ + { + "path": "operator", + "label": "Operator", + "format": "addressName", + "params": { + "types": [ + "contract" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "approved", + "label": "Access rights", + "format": "enum", + "params": { + "$ref": "$.metadata.enums.rights" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Set operator {operator}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PositionsManager.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PositionsManager.json new file mode 100644 index 0000000..1579aa3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PositionsManager.json @@ -0,0 +1,156 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0xbe4050a73a7Fb384c65E885a15C33461A4B20055" + }, + { + "chainId": 146, + "address": "0xbe4050a73a7Fb384c65E885a15C33461A4B20055" + }, + { + "chainId": 146, + "address": "0x82fFB119eeEd117BAe7A2Cf38CE52eAbA3871821" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "PositionsManager", + "info": { + "url": "https://flyingtulip.com" + } + }, + "display": { + "formats": { + "deposit(address asset, uint256 amt)": { + "intent": "Deposit collateral", + "fields": [ + { + "path": "amt", + "label": "Amount", + "format": "tokenAmount", + "params": { + "tokenPath": "asset" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Deposit {amt}" + }, + "withdraw(address asset, uint256 amt)": { + "intent": "Withdraw collateral", + "fields": [ + { + "path": "amt", + "label": "Amount", + "format": "tokenAmount", + "params": { + "tokenPath": "asset" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Withdraw {amt}" + }, + "borrow(address asset, uint256 amt)": { + "intent": "Borrow asset", + "fields": [ + { + "path": "amt", + "label": "Amount", + "format": "tokenAmount", + "params": { + "tokenPath": "asset" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Borrow {amt}" + }, + "repay(address asset, uint256 amt)": { + "intent": "Repay debt", + "fields": [ + { + "path": "amt", + "label": "Amount", + "format": "tokenAmount", + "params": { + "tokenPath": "asset" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Repay {amt}" + }, + "approveBorrow(address delegate, address asset, uint256 borrowAllowance_)": { + "intent": "Approve borrowing", + "fields": [ + { + "path": "delegate", + "label": "Delegate", + "format": "addressName", + "params": { + "types": [ + "contract" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "borrowAllowance_", + "label": "Allowance", + "format": "tokenAmount", + "params": { + "tokenPath": "asset", + "threshold": "0x8000000000000000000000000000000000000000000000000000000000000000", + "message": "Unlimited" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Borrow OK {delegate}" + }, + "approveEngine(address engine, address asset, uint256 debitAllowance)": { + "intent": "Approve engine debit", + "fields": [ + { + "path": "engine", + "label": "Engine", + "format": "addressName", + "params": { + "types": [ + "contract" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "debitAllowance", + "label": "Allowance", + "format": "tokenAmount", + "params": { + "tokenPath": "asset", + "threshold": "0x8000000000000000000000000000000000000000000000000000000000000000", + "message": "Unlimited" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Engine OK {engine}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PutManager.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PutManager.json new file mode 100644 index 0000000..9e0e6bb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-PutManager.json @@ -0,0 +1,111 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0xbA49d0AC42f4fBA4e24A8677a22218a4dF75ebaA" + }, + { + "chainId": 146, + "address": "0xbA49d0AC42f4fBA4e24A8677a22218a4dF75ebaA" + }, + { + "chainId": 146, + "address": "0xAbd838E9977fc76430d637ED35EccFaF178Ce071" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "PutManager", + "info": { + "url": "https://flyingtulip.com" + } + }, + "display": { + "formats": { + "invest(address token, uint256 amount, address recipient, uint256 proofAmount, bytes32[] proofWL)": { + "intent": "Invest in FT PUT", + "fields": [ + { + "path": "amount", + "label": "Collateral", + "format": "tokenAmount", + "params": { + "tokenPath": "token" + }, + "visible": "always" + }, + { + "path": "recipient", + "label": "Recipient", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "proofAmount", + "label": "Whitelist cap", + "format": "raw", + "visible": "optional" + } + ], + "interpolatedIntent": "Invest {amount}" + }, + "divest(uint256 id, uint256 amount_ft)": { + "intent": "Divest FT PUT", + "fields": [ + { + "path": "id", + "label": "Position", + "format": "nftName", + "params": { + "collection": "0xa4215Daaf3745E14E96E169E0E7706c479Ce04F2" + }, + "visible": "always" + }, + { + "path": "amount_ft", + "label": "FT amount", + "format": "raw", + "visible": "always" + } + ], + "interpolatedIntent": "Divest PUT {id}" + }, + "withdrawFT(uint256 id, uint256 amount)": { + "intent": "Withdraw FT from PUT", + "fields": [ + { + "path": "id", + "label": "Position", + "format": "nftName", + "params": { + "collection": "0xa4215Daaf3745E14E96E169E0E7706c479Ce04F2" + }, + "visible": "always" + }, + { + "path": "amount", + "label": "FT amount", + "format": "raw", + "visible": "always" + } + ], + "interpolatedIntent": "Withdraw PUT {id}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-SessionManager.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-SessionManager.json new file mode 100644 index 0000000..6eab8a5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/calldata-SessionManager.json @@ -0,0 +1,348 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0x2DaF4B445E7d659100b22a15c3EeB10e64ac5dC9" + }, + { + "chainId": 1, + "address": "0xF9f3ddF2E96Cabef94e2634c326DC6dde99360f8" + }, + { + "chainId": 56, + "address": "0xC85CB743f72B3a9Bb594Faa7d46EE1EFC61b7A42" + }, + { + "chainId": 146, + "address": "0x2DaF4B445E7d659100b22a15c3EeB10e64ac5dC9" + }, + { + "chainId": 146, + "address": "0x109AE72778a0260571b9767477204F1ce41FBdff" + }, + { + "chainId": 146, + "address": "0x52Ef449D44cC4205fa44bF644dEE15611FC30734" + }, + { + "chainId": 43114, + "address": "0x176592C8Ed3F2D94cE4c3F1a4cfF7d068176AC54" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "SessionManager", + "info": { + "url": "https://flyingtulip.com" + } + }, + "display": { + "formats": { + "createSession(address delegate, uint48 validAfter, uint48 validUntil, uint32 maxCalls, uint16 maxFeeBps, (address token, uint256 limit)[] limits, bytes32 salt)": { + "intent": "Create session", + "fields": [ + { + "path": "delegate", + "label": "Delegate", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "validAfter", + "label": "Valid after", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + }, + { + "path": "validUntil", + "label": "Valid until", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + }, + { + "path": "maxCalls", + "label": "Max calls", + "format": "raw", + "visible": "always" + }, + { + "path": "maxFeeBps", + "label": "Max fee", + "format": "unit", + "params": { + "base": "bps", + "decimals": 0 + }, + "visible": "always" + }, + { + "path": "limits.[].limit", + "label": "Token limit", + "format": "tokenAmount", + "params": { + "tokenPath": "limits.[].token", + "threshold": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "message": "Unlimited" + }, + "visible": "always" + }, + { + "path": "limits.[]", + "label": "Limits", + "visible": "never" + }, + { + "path": "salt", + "label": "Salt", + "visible": "never" + } + ], + "interpolatedIntent": "Session {delegate}" + }, + "acceptOwnership()": { + "intent": "Manage session manager", + "fields": [], + "interpolatedIntent": "Accept ownership" + }, + "createSessionBySig(address owner_, address delegate, uint48 validAfter, uint48 validUntil, uint32 maxCalls, uint16 maxFeeBps, (address token, uint256 limit)[] limits, bytes32 salt, bytes ownerSignature)": { + "intent": "Create session by signature", + "fields": [ + { + "path": "owner_", + "label": "Owner", + "visible": "never" + }, + { + "path": "delegate", + "label": "Delegate", + "visible": "never" + }, + { + "path": "validAfter", + "label": "Valid after", + "visible": "never" + }, + { + "path": "validUntil", + "label": "Valid until", + "visible": "never" + }, + { + "path": "maxCalls", + "label": "Max calls", + "visible": "never" + }, + { + "path": "maxFeeBps", + "label": "Max fee", + "visible": "never" + }, + { + "path": "limits.[]", + "label": "Limits", + "visible": "never" + }, + { + "path": "salt", + "label": "Salt", + "visible": "never" + }, + { + "path": "ownerSignature", + "label": "Owner signature", + "visible": "never" + } + ], + "interpolatedIntent": "Sig session {delegate}" + }, + "invalidateNonceBySig(bytes32 sessionId, uint256 nonce, uint256 deadline, address executor, bytes delegateSignature)": { + "intent": "Invalidate session nonce", + "fields": [ + { + "path": "sessionId", + "label": "Session ID", + "visible": "never" + }, + { + "path": "nonce", + "label": "Nonce", + "visible": "never" + }, + { + "path": "deadline", + "label": "Deadline", + "visible": "never" + }, + { + "path": "executor", + "label": "Executor", + "visible": "never" + }, + { + "path": "delegateSignature", + "label": "Delegate signature", + "visible": "never" + } + ], + "interpolatedIntent": "Invalidate {nonce}" + }, + "renounceOwnership()": { + "intent": "Manage session manager", + "fields": [], + "interpolatedIntent": "Renounce ownership" + }, + "revokeSession(bytes32 sessionId)": { + "intent": "Revoke session", + "fields": [ + { + "path": "sessionId", + "label": "Session ID", + "visible": "never" + } + ], + "interpolatedIntent": "Revoke {sessionId}" + }, + "revokeSessionBySig(bytes32 sessionId, uint256 deadline, bytes ownerSignature)": { + "intent": "Revoke session by signature", + "fields": [ + { + "path": "sessionId", + "label": "Session ID", + "visible": "never" + }, + { + "path": "deadline", + "label": "Deadline", + "visible": "never" + }, + { + "path": "ownerSignature", + "label": "Owner signature", + "visible": "never" + } + ], + "interpolatedIntent": "Revoke sig {sessionId}" + }, + "setAllowedTarget(address target, bool allowed)": { + "intent": "Manage session manager", + "fields": [ + { + "path": "target", + "label": "Target", + "visible": "never" + }, + { + "path": "allowed", + "label": "Allowed", + "visible": "never" + } + ], + "interpolatedIntent": "Allow {target}" + }, + "setAllowedTargets(address[] targets, bool allowed)": { + "intent": "Manage session manager", + "fields": [ + { + "path": "targets.[]", + "label": "Targets", + "visible": "never" + }, + { + "path": "allowed", + "label": "Allowed", + "visible": "never" + } + ], + "interpolatedIntent": "Allow targets {allowed}" + }, + "transferOwnership(address newOwner)": { + "intent": "Manage session manager", + "fields": [ + { + "path": "newOwner", + "label": "New owner", + "visible": "never" + } + ], + "interpolatedIntent": "Transfer to {newOwner}" + }, + "validateAndConsume(address spendToken, uint256 spendAmount, (bytes32 sessionId, bytes32 dataHash, uint256 nonce, uint256 deadline, address executor, uint256 feeAmount) call, bytes delegateSignature, address executor)": { + "intent": "Validate session call", + "fields": [ + { + "path": "spendToken", + "label": "Spend token", + "visible": "never" + }, + { + "path": "spendAmount", + "label": "Spend amount", + "visible": "never" + }, + { + "path": "call.sessionId", + "label": "Session ID", + "visible": "never" + }, + { + "path": "call.dataHash", + "label": "Data hash", + "visible": "never" + }, + { + "path": "call.nonce", + "label": "Nonce", + "visible": "never" + }, + { + "path": "call.deadline", + "label": "Deadline", + "visible": "never" + }, + { + "path": "call.executor", + "label": "Call executor", + "visible": "never" + }, + { + "path": "call.feeAmount", + "label": "Fee amount", + "visible": "never" + }, + { + "path": "delegateSignature", + "label": "Delegate signature", + "visible": "never" + }, + { + "path": "executor", + "label": "Executor", + "visible": "never" + } + ], + "interpolatedIntent": "Validate {spendAmount}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-LeverageRfqEngine.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-LeverageRfqEngine.json new file mode 100644 index 0000000..36585a7 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-LeverageRfqEngine.json @@ -0,0 +1,110 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "domain": { + "name": "LeverageRfqEngine", + "version": "1" + }, + "deployments": [ + { + "chainId": 1, + "address": "0x8263a07504d93cB95e0a74f3627bb15faaf140e2" + }, + { + "chainId": 146, + "address": "0x8263a07504d93cB95e0a74f3627bb15faaf140e2" + }, + { + "chainId": 146, + "address": "0x8f143D84Ebf0751E56437A62BAB0528d1c8657BF" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "LeverageRfqEngine", + "info": { + "url": "https://flyingtulip.com" + }, + "enums": { + "actions": { + "0": "Open", + "1": "Close", + "2": "Swap" + } + } + }, + "display": { + "formats": { + "LeveragedOrder(uint8 action,address user,address sellToken,address buyToken,uint256 sellAmount,uint256 buyAmount,uint32 validTo,uint256 feeAmount)": { + "intent": "Sign spot order", + "fields": [ + { + "path": "action", + "label": "Action", + "format": "enum", + "params": { + "$ref": "$.metadata.enums.actions" + }, + "visible": "always" + }, + { + "path": "sellAmount", + "label": "Sell", + "format": "tokenAmount", + "params": { + "tokenPath": "sellToken" + }, + "visible": "always" + }, + { + "path": "buyAmount", + "label": "Minimum buy", + "format": "tokenAmount", + "params": { + "tokenPath": "buyToken" + }, + "visible": "always" + }, + { + "path": "feeAmount", + "label": "Fee", + "format": "tokenAmount", + "params": { + "tokenPath": "sellToken" + }, + "visible": "always" + }, + { + "path": "user", + "label": "User", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "validTo", + "label": "Valid until", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Spot sell {sellAmount}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-PftMarketplace-BuyOffer.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-PftMarketplace-BuyOffer.json new file mode 100644 index 0000000..86889a5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-PftMarketplace-BuyOffer.json @@ -0,0 +1,85 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [ + { + "chainId": 146, + "address": "0x9bB958D459a97e3E37E11BeCf842E728167d9114" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "pFT Marketplace", + "info": { + "url": "https://flyingtulip.com" + } + }, + "display": { + "formats": { + "BuyOffer(address buyer,address denominationToken,uint96 minAmountRemaining,uint96 minFt,uint96 minStrike,address paymentToken,uint96 price,uint256 nonce,uint40 deadline)": { + "intent": "Make FT PUT offer", + "fields": [ + { + "path": "price", + "label": "Offer price", + "format": "tokenAmount", + "params": { + "tokenPath": "paymentToken" + }, + "visible": "always" + }, + { + "path": "buyer", + "label": "Buyer", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "minAmountRemaining", + "label": "Minimum collateral", + "format": "tokenAmount", + "params": { + "tokenPath": "denominationToken" + }, + "visible": "always" + }, + { + "path": "minFt", + "label": "Minimum FT", + "format": "raw", + "visible": "always" + }, + { + "path": "minStrike", + "label": "Minimum strike", + "format": "raw", + "visible": "always" + }, + { + "path": "deadline", + "label": "Offer expires", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + } + ], + "interpolatedIntent": "PUT offer {price}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SessionManager-FT.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SessionManager-FT.json new file mode 100644 index 0000000..14cc27d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SessionManager-FT.json @@ -0,0 +1,120 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "domain": { + "name": "FT SessionManager", + "version": "1" + }, + "deployments": [ + { + "chainId": 1, + "address": "0xF9f3ddF2E96Cabef94e2634c326DC6dde99360f8" + }, + { + "chainId": 146, + "address": "0x109AE72778a0260571b9767477204F1ce41FBdff" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "FT SessionManager", + "info": { + "url": "https://flyingtulip.com" + } + }, + "display": { + "formats": { + "Session(address owner,address delegate,uint48 validAfter,uint48 validUntil,uint32 maxCalls,uint16 maxFeeBps,AssetLimit[] limits,bytes32 salt)AssetLimit(address token,uint256 limit)": { + "intent": "Create session", + "fields": [ + { + "path": "owner", + "label": "Owner", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "delegate", + "label": "Delegate", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "validAfter", + "label": "Valid after", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + }, + { + "path": "validUntil", + "label": "Valid until", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + }, + { + "path": "maxCalls", + "label": "Max calls", + "format": "raw", + "visible": "always" + }, + { + "path": "maxFeeBps", + "label": "Max fee", + "format": "unit", + "params": { + "base": "bps", + "decimals": 0 + }, + "visible": "always" + }, + { + "path": "limits.[].limit", + "label": "Token limit", + "format": "tokenAmount", + "params": { + "tokenPath": "limits.[].token", + "threshold": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "message": "Unlimited" + }, + "visible": "always" + }, + { + "path": "salt", + "label": "Salt", + "visible": "never" + } + ], + "interpolatedIntent": "FT session {delegate}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SessionManager-ftUSD.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SessionManager-ftUSD.json new file mode 100644 index 0000000..fe8b22c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SessionManager-ftUSD.json @@ -0,0 +1,132 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "domain": { + "name": "ftUSD SessionManager", + "version": "1" + }, + "deployments": [ + { + "chainId": 1, + "address": "0x2DaF4B445E7d659100b22a15c3EeB10e64ac5dC9" + }, + { + "chainId": 56, + "address": "0xC85CB743f72B3a9Bb594Faa7d46EE1EFC61b7A42" + }, + { + "chainId": 146, + "address": "0x2DaF4B445E7d659100b22a15c3EeB10e64ac5dC9" + }, + { + "chainId": 146, + "address": "0x52Ef449D44cC4205fa44bF644dEE15611FC30734" + }, + { + "chainId": 43114, + "address": "0x176592C8Ed3F2D94cE4c3F1a4cfF7d068176AC54" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "ftUSD SessionManager", + "info": { + "url": "https://flyingtulip.com" + } + }, + "display": { + "formats": { + "Session(address owner,address delegate,uint48 validAfter,uint48 validUntil,uint32 maxCalls,uint16 maxFeeBps,AssetLimit[] limits,bytes32 salt)AssetLimit(address token,uint256 limit)": { + "intent": "Create ftUSD session", + "fields": [ + { + "path": "owner", + "label": "Owner", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "delegate", + "label": "Delegate", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "validAfter", + "label": "Valid after", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + }, + { + "path": "validUntil", + "label": "Valid until", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + }, + { + "path": "maxCalls", + "label": "Max calls", + "format": "raw", + "visible": "always" + }, + { + "path": "maxFeeBps", + "label": "Max fee", + "format": "unit", + "params": { + "base": "bps", + "decimals": 0 + }, + "visible": "always" + }, + { + "path": "limits.[].limit", + "label": "Token limit", + "format": "tokenAmount", + "params": { + "tokenPath": "limits.[].token", + "threshold": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "message": "Unlimited" + }, + "visible": "always" + }, + { + "path": "salt", + "label": "Salt", + "visible": "never" + } + ], + "interpolatedIntent": "ftUSD session {delegate}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SpotOrderCancel.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SpotOrderCancel.json new file mode 100644 index 0000000..54551c6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/eip712-SpotOrderCancel.json @@ -0,0 +1,87 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "domain": { + "name": "FT SessionManager", + "version": "1" + }, + "deployments": [ + { + "chainId": 1, + "address": "0xF9f3ddF2E96Cabef94e2634c326DC6dde99360f8" + }, + { + "chainId": 146, + "address": "0x109AE72778a0260571b9767477204F1ce41FBdff" + } + ] + } + }, + "metadata": { + "owner": "Flying Tulip", + "contractName": "Spot order cancellation", + "info": { + "url": "https://flyingtulip.com" + } + }, + "display": { + "formats": { + "CancelOrder(string orderId)": { + "intent": "Cancel spot order", + "fields": [ + { + "path": "orderId", + "label": "Order ID", + "format": "raw", + "visible": "always" + } + ], + "interpolatedIntent": "Cancel order {orderId}" + }, + "TpslGroupCancel(address user,string positionId,string tpslGroupId,uint256 deadline)": { + "intent": "Cancel TP/SL orders", + "fields": [ + { + "path": "user", + "label": "User", + "format": "addressName", + "params": { + "types": [ + "wallet", + "eoa" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "positionId", + "label": "Position ID", + "format": "raw", + "visible": "always" + }, + { + "path": "tpslGroupId", + "label": "TP/SL group", + "format": "raw", + "visible": "always" + }, + { + "path": "deadline", + "label": "Deadline", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Cancel TP/SL {tpslGroupId}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-EpochRewardsVault-dev.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-EpochRewardsVault-dev.tests.json new file mode 100644 index 0000000..416d9d0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-EpochRewardsVault-dev.tests.json @@ -0,0 +1,32 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Stake ftUSD", + "rawTx": "0x02f8ad81921101843b9aca008307a12094137d66e0a5d4ceee0a7eda011bc3aa94931c723480b8446e553f650000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045c080a07add4d129768d15045f311c7225c3f9ad03245d69fa8b70ab72b6701f0da5e5fa03876aa3411942513f809b5a4ec6c757cbe8795b0c6d048c1ed1724acac834d08", + "expectedTexts": [ + "Stake ftUSD", + "ftUSD amount", + "Receiver" + ] + }, + { + "description": "Unstake ftUSD", + "rawTx": "0x02f8cd81921201843b9aca008307a12094137d66e0a5d4ceee0a7eda011bc3aa94931c723480b864b460af9400000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045c080a098adc7611b54559ae40d54d2ec90f09edbf4c91cb49b18bb962a71002ee1c21ca04e14a5de309a31b025eb092a933718c03c7cb819ce0e4019678c16e20dba70bf", + "expectedTexts": [ + "Unstake ftUSD", + "ftUSD amount", + "Receiver", + "Owner" + ] + }, + { + "description": "Claim ftUSD rewards", + "rawTx": "0x02f88c81921301843b9aca008307a12094137d66e0a5d4ceee0a7eda011bc3aa94931c723480a41e83409a000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045c001a0a68a348200c7e4e702e11f6dff1255d32597d9bffa65586d1086f37e7e5d4c60a00a0cbb9700346b4fde2ec041be145ce7b678cece8c951c0b703b523f80a46843", + "expectedTexts": [ + "Claim ftUSD rewards", + "Recipient" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-EpochRewardsVault.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-EpochRewardsVault.tests.json new file mode 100644 index 0000000..dc4c8e2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-EpochRewardsVault.tests.json @@ -0,0 +1,32 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Stake ftUSD", + "rawTx": "0x02f8ac010e01843b9aca008307a12094eb48218a4c35c814c7678cbcae88c6ee037f762580b8446e553f650000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045c080a066b1e72f7fe23f78f5ece4a0dc52a06da7af69ab3e93495e3e97353aa98fd7ffa04778203b9e555ae2860e044e173f496dd9068c0862d03a94b0cb0425f9828ef2", + "expectedTexts": [ + "Stake ftUSD", + "Amount", + "Receiver" + ] + }, + { + "description": "Unstake ftUSD", + "rawTx": "0x02f8cc010f01843b9aca008307a12094eb48218a4c35c814c7678cbcae88c6ee037f762580b864b460af9400000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045c080a007975116dde5db81705bcd80978624118d2dbaca5b6cbb5910ce7f046cdd5c4fa0710fe962f74031c5737417f90d56d8f7ce0c80ebd9db15f1dde8bd18c2bb510e", + "expectedTexts": [ + "Unstake ftUSD", + "Amount", + "Receiver", + "Owner" + ] + }, + { + "description": "Claim ftUSD rewards", + "rawTx": "0x02f88b011001843b9aca008307a12094eb48218a4c35c814c7678cbcae88c6ee037f762580a41e83409a000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045c001a058dcd0444e88e240fc6de501411c435a3caef1840305ef04cb92fa7e9b6cf4caa007419d7058542a080e2625fc280189bd8bf121cc2da39e7a064e5fe4dc6191cc", + "expectedTexts": [ + "Claim ftUSD rewards", + "Recipient" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-MintAndRedeem-dev.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-MintAndRedeem-dev.tests.json new file mode 100644 index 0000000..3227326 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-MintAndRedeem-dev.tests.json @@ -0,0 +1,25 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Buy ftUSD", + "rawTx": "0x02f8ed81920c01843b9aca008307a12094b9b23b0555b8066f3d5954ea6c679a02339f78dc80b884a647e8ec000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000069cf67000000000000000000000000000000000000000000000000000dbd2fc137a30000c080a0bcfef9cbde3fe92c7a3e92a6e78053690c39bc1b75775fd1d578c181d6ef63b4a008476ae11bbf4a832ebfda32a450e65ded9e4297cbf14f604f55687b2f11e2ef", + "expectedTexts": [ + "Buy ftUSD", + "Pay", + "Minimum ftUSD", + "Deadline" + ] + }, + { + "description": "Sell ftUSD", + "rawTx": "0x02f8ed81920d01843b9aca008307a12094b9b23b0555b8066f3d5954ea6c679a02339f78dc80b884ea2092f3000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000069cf670000000000000000000000000000000000000000000000000000000000000f1b30c080a0190e4fefb9df57c3ab168268ab0441c20191d25ea3eadffb82359f098cbebba9a02afed42f2dd85a991694791bc57d247633ab0f07ee9c12bcc4779ac2374bea0e", + "expectedTexts": [ + "Sell ftUSD", + "Pay", + "Minimum receive", + "Deadline" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-MintAndRedeem.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-MintAndRedeem.tests.json new file mode 100644 index 0000000..f84c24e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-MintAndRedeem.tests.json @@ -0,0 +1,25 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Buy ftUSD", + "rawTx": "0x02f8ec010a01843b9aca008307a12094aa48ecbc843cf7e9a29155d112b8cb27902bd23c80b884a647e8ec000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000069cf67000000000000000000000000000000000000000000000000000dbd2fc137a30000c001a073eed7f9074759bf99945b68e8e148cc2435191c68b25ebcdf5c6aae3f970de2a05194c01cc126cbf60a9a7d37df1160d06fb0f8ed1de34136b9b8a1579601325f", + "expectedTexts": [ + "Buy ftUSD", + "Pay", + "Minimum receive", + "Deadline" + ] + }, + { + "description": "Sell ftUSD", + "rawTx": "0x02f8ec010b01843b9aca008307a12094aa48ecbc843cf7e9a29155d112b8cb27902bd23c80b884ea2092f3000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000069cf670000000000000000000000000000000000000000000000000000000000000f1b30c080a08e134bd5d2c3ab798a552e2f955894c692b1906776dd417813776f344f70d50aa045855fb0f28ed78abe2010385dc460d4c8316ab0f78ba2dc72abb0bd3a96d6f5", + "expectedTexts": [ + "Sell ftUSD", + "Pay", + "Minimum receive", + "Deadline" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PftMarketplace.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PftMarketplace.tests.json new file mode 100644 index 0000000..3d848c2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PftMarketplace.tests.json @@ -0,0 +1,54 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "List FT PUT", + "rawTx": "0x02f8ec81920301843b9aca008307a120949bb958d459a97e3e37e11becf842e728167d911480b88494e85e80000000000000000000000000000000000000000000000000000000000000008d000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000002625a00000000000000000000000000000000000000000000000000000000069cf6700c001a044e2f9d11a413acddf316ab12ab3b8a80ec2c9fffc271e4897637b13ed3c469a9f41dc021b8d015143de14acb96eb54a9b2bebc478b19510c6b23277285b6143", + "expectedTexts": [ + "List FT PUT", + "Position", + "Price", + "Expires" + ] + }, + { + "description": "Edit FT PUT listing", + "rawTx": "0x02f8ed81920401843b9aca008307a120949bb958d459a97e3e37e11becf842e728167d911480b8844cd458a4000000000000000000000000000000000000000000000000000000000000008d000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000029f6300000000000000000000000000000000000000000000000000000000069d02a50c080a0f985b0d192476072c82f1c76caa9cd552ba9e8a0b732e74e7ca695065ecd3417a078ae8ac1656cef6310e30670e7df941a08040338407f2b847e4c80adec1ac509", + "expectedTexts": [ + "Edit FT PUT listing", + "Position", + "Price", + "Expires" + ] + }, + { + "description": "Remove FT PUT listing", + "rawTx": "0x02f88c81920501843b9aca008307a120949bb958d459a97e3e37e11becf842e728167d911480a4479ad4c3000000000000000000000000000000000000000000000000000000000000008dc001a078ba3d90c078c12fbc994d291b6c2196d1680f1ccd97b817e251b79e76393a6ba07678daf799243934b4ddb8554c20450b0c56aa93c52ce47c069f0c5b53230fb3", + "expectedTexts": [ + "Remove FT PUT listing", + "Position" + ] + }, + { + "description": "Buy FT PUT", + "rawTx": "0x02f901ee81920601843b9aca008307a120949bb958d459a97e3e37e11becf842e728167d911480b90184a7e26031000000000000000000000000000000000000000000000000000000000000008d000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000002625a0444444444444444444444444444444444444444444444444444444444444444400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000069cf670000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000041aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa00000000000000000000000000000000000000000000000000000000000000c001a0a5307ea2a496df46fad9a36fabb2d6084a6437800ea7c87ee57b89e35942760ea0294bc74ba5fe88ecd41ca865160014a2bbb919095bdc910ae4bcba801a8034b1", + "expectedTexts": [ + "Buy FT PUT", + "Position", + "Price", + "Permit deadline" + ] + }, + { + "description": "Accept FT PUT offer", + "rawTx": "0x02f9032e81920701843b9aca008307a120949bb958d459a97e3e37e11becf842e728167d911480b902c451bbefe60000000000000000000000002222222222222222222222222222222222222222000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000010a741a462780000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000002625a0000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000069cf6700000000000000000000000000000000000000000000000000000000000000008d00000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000b44444444444444444444444444444444444444444444444444444444444444440000000000000000000000000000000000000000000000000000000000000041aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00000000000000000000000000000000000000000000000000000000000000c001a0858ba0c6e7e7cf26cafe5953e6f7016c31321f6737ab242d18ac701f415dd689a07b35bbc063a5e8c606855d0ce4a31fad7466daa2d30c4b8eb29961b83106c6ee", + "expectedTexts": [ + "Accept FT PUT offer", + "Position", + "Offer price", + "Buyer", + "Offer expires" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PftNft.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PftNft.tests.json new file mode 100644 index 0000000..b20e858 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PftNft.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Approve pFT transfer", + "rawTx": "0x02f8ac010801843b9aca008307a12094a4215daaf3745e14e96e169e0e7706c479ce04f280b844095ea7b3000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000000000000000000000000000000000000000008dc001a0fd300495c7fa71fd8ecdae7a0a555d1f1939c992f130ac978688199bf2ec5a72a06b5ed84cd1d3af970f9804344322d0fed4cf68c3b1808a5c58db5de06abfcf1b", + "expectedTexts": [ + "Approve pFT transfer", + "Spender", + "Position" + ] + }, + { + "description": "Approve pFT operator", + "rawTx": "0x02f8ac010901843b9aca008307a12094a4215daaf3745e14e96e169e0e7706c479ce04f280b844a22cb465000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa960450000000000000000000000000000000000000000000000000000000000000001c001a06aee32a58edaba9f35e7b16a46ba69e230d3fbb0f8c0d6b1f51c941773a1789aa0615220ea757712d0e86b4ce78e62647555384cee3b9fb7036649f2aed629255d", + "expectedTexts": [ + "Approve pFT operator", + "Operator" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PositionsManager.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PositionsManager.tests.json new file mode 100644 index 0000000..2d03ffd --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PositionsManager.tests.json @@ -0,0 +1,55 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit into lend position", + "rawTx": "0x02f8ac011401843b9aca008307a12094be4050a73a7fb384c65e885a15c33461a4b2005580b84447e7ef24000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000004c4b40c001a033024eeb6b3b4a89e63bd8ed2498943222118133de860f888ebe8afc5f9f351ea0193674d96a5e558edceb3f7ecdaf779729df51b91da7a6056bb84e549a98747b", + "expectedTexts": [ + "Deposit to lend position", + "Deposit" + ] + }, + { + "description": "Withdraw from lend position", + "rawTx": "0x02f8ac011501843b9aca008307a12094be4050a73a7fb384c65e885a15c33461a4b2005580b844f3fef3a3000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000f4240c080a0be0e43db9cd001ea65f965b714c9920500853cdacaf260af3331950a0d5adf7fa07f169050c881b90410308410afca19f11a2a5078f3d1d3b0504c73cae2c41b64", + "expectedTexts": [ + "Withdraw from lend position", + "Withdraw" + ] + }, + { + "description": "Borrow from lend position", + "rawTx": "0x02f8ac011601843b9aca008307a12094be4050a73a7fb384c65e885a15c33461a4b2005580b8444b8a3529000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000001e8480c080a0201662f64dd40d40fe7d5fb10900ccce7821c35d00a1b79b35e1cce9f9d74fb9a02fa22339ad812f1049675cc65391f892fe12c01f69514e3e7ca87b98165698a2", + "expectedTexts": [ + "Borrow from lend position", + "Borrow" + ] + }, + { + "description": "Repay lend position", + "rawTx": "0x02f8ac011701843b9aca008307a12094be4050a73a7fb384c65e885a15c33461a4b2005580b84422867d78000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000001e8480c080a0d00845c5ee8a680cf46f2b79ea6cedf5eacff220ce15b3d1eb477b71362683f6a009710266b3b989879d73f94d26250ff57ff453b833b9dc06e9a4ab72bd5c2caa", + "expectedTexts": [ + "Repay lend position", + "Repay" + ] + }, + { + "description": "Approve lend borrow delegate", + "rawTx": "0x02f8cc011801843b9aca008307a12094be4050a73a7fb384c65e885a15c33461a4b2005580b864ef75b72b0000000000000000000000001111111111111111111111111111111111111111000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000989680c080a0a9cd74c59d7a14c402afa8b72e7e6fad5e0602e58c83e7e861a5fbd9a4e80398a00deb9e122f29b7ba2c40922869b5426eea822d4401ea9243c03a482d9e7e74db", + "expectedTexts": [ + "Approve borrow delegate", + "Delegate", + "Allowance" + ] + }, + { + "description": "Approve lend engine", + "rawTx": "0x02f8cc011901843b9aca008307a12094be4050a73a7fb384c65e885a15c33461a4b2005580b8649beefaf00000000000000000000000003333333333333333333333333333333333333333000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000989680c001a08717b2f46158e5d9c307349829376464e825fbf0dd1dc2a726413efd277df0d9a029b9486a9b180739a3e64ca538757f144d62cbef694f5d88428448c3aabfe06d", + "expectedTexts": [ + "Approve lend engine", + "Engine", + "Allowance" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PutManager.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PutManager.tests.json new file mode 100644 index 0000000..9f95067 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-PutManager.tests.json @@ -0,0 +1,33 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Invest in FT PUT", + "rawTx": "0x02f9014c018001843b9aca008307a12094ba49d0ac42f4fba4e24a8677a22218a4df75ebaa80b8e4de83db80000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa9604500000000000000000000000000000000000000000000000000000000004c4b4000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc001a0c26ee7c9a938c88d4cf64fa8dc0f61c9342c3b330c59064cf637bd5adeda489ea06014963f7103e432e9ad330ba10883674023364b8c16adce682bace0c561a1b2", + "expectedTexts": [ + "Invest in FT PUT", + "Collateral", + "Recipient", + "Whitelist cap" + ] + }, + { + "description": "Divest FT PUT", + "rawTx": "0x02f8ac010101843b9aca008307a12094ba49d0ac42f4fba4e24a8677a22218a4df75ebaa80b8444696c749000000000000000000000000000000000000000000000000000000000000008d00000000000000000000000000000000000000000000054b40b1f852bda00000c001a0f13290192885cca3c41ed2b50345fed5fa56a963c32dd8d78900288317e81d10a0558caabc72678d8f04e3c379977562aa86e29a02f0375ee21f47b0241db3b281", + "expectedTexts": [ + "Divest FT PUT", + "Position", + "FT amount" + ] + }, + { + "description": "Withdraw FT from PUT", + "rawTx": "0x02f8ac010201843b9aca008307a12094ba49d0ac42f4fba4e24a8677a22218a4df75ebaa80b8448bb992e1000000000000000000000000000000000000000000000000000000000000008d00000000000000000000000000000000000000000000021e19e0c9bab2400000c080a010fabac8663e71509b06cbd2c9f5f66a3e5703fa0298914e0c53b8abb782b768a06ba9cdaf5039e8a18c465a1a310b0ead7e2556b226bcd8f1ee0837c6121d8aaa", + "expectedTexts": [ + "Withdraw FT from PUT", + "Position", + "FT amount" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-SessionManager.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-SessionManager.tests.json new file mode 100644 index 0000000..a7b378b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/calldata-SessionManager.tests.json @@ -0,0 +1,18 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Create ftUSD session", + "rawTx": "0x02f901ac011a01843b9aca008307a120942daf4b445e7d659100b22a15c3eeb10e64ac5dc980b90144c14559e500000000000000000000000011111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000069800e800000000000000000000000000000000000000000000000000000000069893640000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000e055555555555555555555555555555555555555555555555555555555555555550000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f7d85ec4e7710f71992752eac2111312e73e9c9c0000000000000000000000000000000000000000000000056bc75e2d63100000c080a083403fb6ca1628a5b874e4d0e822642182ae57f9f6fba92c5798d1ed79ed539f9f7c053ab87d68827d2b8d3dcea331abf30218fcd7288c0b8c21f124472f15a3", + "expectedTexts": [ + "Create session", + "Delegate", + "Valid after", + "Valid until", + "Max calls", + "Max fee", + "Token limit" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-LeverageRfqEngine.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-LeverageRfqEngine.tests.json new file mode 100644 index 0000000..c33807b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-LeverageRfqEngine.tests.json @@ -0,0 +1,90 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Sign spot order", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "LeveragedOrder": [ + { + "name": "action", + "type": "uint8" + }, + { + "name": "user", + "type": "address" + }, + { + "name": "sellToken", + "type": "address" + }, + { + "name": "buyToken", + "type": "address" + }, + { + "name": "sellAmount", + "type": "uint256" + }, + { + "name": "buyAmount", + "type": "uint256" + }, + { + "name": "validTo", + "type": "uint32" + }, + { + "name": "feeAmount", + "type": "uint256" + } + ] + }, + "primaryType": "LeveragedOrder", + "domain": { + "name": "LeverageRfqEngine", + "version": "1", + "chainId": 1, + "verifyingContract": "0x8263a07504d93cB95e0a74f3627bb15faaf140e2" + }, + "message": { + "action": 2, + "user": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", + "sellToken": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "buyToken": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "sellAmount": "1000000", + "buyAmount": "250000000000000", + "validTo": 1775200000, + "feeAmount": "1000" + } + }, + "expectedTexts": [ + "Sign spot order", + "Action", + "Sell", + "Minimum buy", + "Fee", + "User", + "Valid until" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-PftMarketplace-BuyOffer.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-PftMarketplace-BuyOffer.tests.json new file mode 100644 index 0000000..5cf1526 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-PftMarketplace-BuyOffer.tests.json @@ -0,0 +1,85 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Make FT PUT offer", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "BuyOffer": [ + { + "name": "buyer", + "type": "address" + }, + { + "name": "denominationToken", + "type": "address" + }, + { + "name": "minAmountRemaining", + "type": "uint96" + }, + { + "name": "minFt", + "type": "uint96" + }, + { + "name": "minStrike", + "type": "uint96" + }, + { + "name": "paymentToken", + "type": "address" + }, + { + "name": "price", + "type": "uint96" + }, + { + "name": "nonce", + "type": "uint256" + }, + { + "name": "deadline", + "type": "uint40" + } + ] + }, + "primaryType": "BuyOffer", + "domain": { + "chainId": 146, + "verifyingContract": "0x9bB958D459a97e3E37E11BeCf842E728167d9114" + }, + "message": { + "buyer": "0x2222222222222222222222222222222222222222", + "denominationToken": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "minAmountRemaining": "1000000", + "minFt": "1000000000000000000", + "minStrike": "1200000000000000000", + "paymentToken": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "price": "2500000", + "nonce": "10", + "deadline": "1775200000" + } + }, + "expectedTexts": [ + "Make FT PUT offer", + "Offer price", + "Buyer", + "Minimum collateral", + "Minimum FT", + "Minimum strike", + "Offer expires" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SessionManager-FT.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SessionManager-FT.tests.json new file mode 100644 index 0000000..c196f34 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SessionManager-FT.tests.json @@ -0,0 +1,106 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Create FT session", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "AssetLimit": [ + { + "name": "token", + "type": "address" + }, + { + "name": "limit", + "type": "uint256" + } + ], + "Session": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "delegate", + "type": "address" + }, + { + "name": "validAfter", + "type": "uint48" + }, + { + "name": "validUntil", + "type": "uint48" + }, + { + "name": "maxCalls", + "type": "uint32" + }, + { + "name": "maxFeeBps", + "type": "uint16" + }, + { + "name": "limits", + "type": "AssetLimit[]" + }, + { + "name": "salt", + "type": "bytes32" + } + ] + }, + "primaryType": "Session", + "domain": { + "name": "FT SessionManager", + "version": "1", + "chainId": 146, + "verifyingContract": "0x109AE72778a0260571b9767477204F1ce41FBdff" + }, + "message": { + "owner": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", + "delegate": "0x1111111111111111111111111111111111111111", + "validAfter": 1770000000, + "validUntil": 1770600000, + "maxCalls": 100, + "maxFeeBps": 500, + "limits": [ + { + "token": "0xf7d85ec4e7710f71992752eac2111312e73e9c9c", + "limit": "100000000000000000000" + } + ], + "salt": "0x5555555555555555555555555555555555555555555555555555555555555555" + } + }, + "expectedTexts": [ + "Create session", + "Owner", + "Delegate", + "Valid after", + "Valid until", + "Max calls", + "Max fee", + "Token limit" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SessionManager-ftUSD.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SessionManager-ftUSD.tests.json new file mode 100644 index 0000000..3bbafca --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SessionManager-ftUSD.tests.json @@ -0,0 +1,106 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Create ftUSD session", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "AssetLimit": [ + { + "name": "token", + "type": "address" + }, + { + "name": "limit", + "type": "uint256" + } + ], + "Session": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "delegate", + "type": "address" + }, + { + "name": "validAfter", + "type": "uint48" + }, + { + "name": "validUntil", + "type": "uint48" + }, + { + "name": "maxCalls", + "type": "uint32" + }, + { + "name": "maxFeeBps", + "type": "uint16" + }, + { + "name": "limits", + "type": "AssetLimit[]" + }, + { + "name": "salt", + "type": "bytes32" + } + ] + }, + "primaryType": "Session", + "domain": { + "name": "ftUSD SessionManager", + "version": "1", + "chainId": 1, + "verifyingContract": "0x2DaF4B445E7d659100b22a15c3EeB10e64ac5dC9" + }, + "message": { + "owner": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", + "delegate": "0x1111111111111111111111111111111111111111", + "validAfter": 1770000000, + "validUntil": 1770600000, + "maxCalls": 100, + "maxFeeBps": 500, + "limits": [ + { + "token": "0xf7d85ec4e7710f71992752eac2111312e73e9c9c", + "limit": "100000000000000000000" + } + ], + "salt": "0x5555555555555555555555555555555555555555555555555555555555555555" + } + }, + "expectedTexts": [ + "Create ftUSD session", + "Owner", + "Delegate", + "Valid after", + "Valid until", + "Max calls", + "Max fee", + "Token limit" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SpotOrderCancel.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SpotOrderCancel.tests.json new file mode 100644 index 0000000..6f56025 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/flyingtulip/tests/eip712-SpotOrderCancel.tests.json @@ -0,0 +1,113 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Cancel spot order", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "CancelOrder": [ + { + "name": "orderId", + "type": "string" + } + ] + }, + "primaryType": "CancelOrder", + "domain": { + "name": "FT SessionManager", + "version": "1", + "chainId": 146, + "verifyingContract": "0x109AE72778a0260571b9767477204F1ce41FBdff" + }, + "message": { + "orderId": "ft-spot-141" + } + }, + "expectedTexts": [ + "Cancel spot order", + "Order ID" + ] + }, + { + "description": "Cancel TP/SL orders", + "data": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "TpslGroupCancel": [ + { + "name": "user", + "type": "address" + }, + { + "name": "positionId", + "type": "string" + }, + { + "name": "tpslGroupId", + "type": "string" + }, + { + "name": "deadline", + "type": "uint256" + } + ] + }, + "primaryType": "TpslGroupCancel", + "domain": { + "name": "FT SessionManager", + "version": "1", + "chainId": 146, + "verifyingContract": "0x109AE72778a0260571b9767477204F1ce41FBdff" + }, + "message": { + "user": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", + "positionId": "position-141", + "tpslGroupId": "tpsl-7", + "deadline": "1775200000" + } + }, + "expectedTexts": [ + "Cancel TP/SL orders", + "User", + "Position ID", + "TP/SL group", + "Deadline" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/calldata-CctpExtension.json b/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/calldata-CctpExtension.json new file mode 100644 index 0000000..fe1d8cd --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/calldata-CctpExtension.json @@ -0,0 +1,74 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Hyperliquid - CctpExtension", + "contract": { "deployments": [{ "chainId": 42161, "address": "0xA95d9c1F655341597C94393fDdc30cf3c08E4fcE" }] } + }, + "metadata": { + "owner": "Circle Internet Financial", + "info": { "url": "https://www.circle.com/" }, + "constants": { "usdcToken": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" }, + "enums": { "cctpDomains": { "19": "HyperEVM" }, "destinationDex": { "0": "Perp", "255": "Spot" } }, + "contractName": "Hyperliquid - CctpExtension" + }, + "display": { + "formats": { + "batchDepositForBurnWithAuth((uint256 amount, uint256 authValidAfter, uint256 authValidBefore, bytes32 authNonce, uint8 v, bytes32 r, bytes32 s) _receiveWithAuthorizationData, (uint256 amount, uint32 destinationDomain, bytes32 mintRecipient, bytes32 destinationCaller, uint256 maxFee, uint32 minFinalityThreshold, bytes hookData) _depositForBurnData)": { + "intent": "Bridge USDC via CCTP", + "fields": [ + { + "path": "_depositForBurnData.amount", + "label": "Amount", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.usdcToken" }, + "visible": "always" + }, + { + "path": "_depositForBurnData.destinationDomain", + "label": "Destination chain", + "format": "enum", + "params": { "$ref": "$.metadata.enums.cctpDomains" }, + "visible": "always" + }, + { + "path": "_depositForBurnData.mintRecipient.[-20:]", + "label": "Mint recipient", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local"] } + }, + { + "path": "_depositForBurnData.destinationCaller.[-20:]", + "label": "Destination caller", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local"] } + }, + { + "path": "_depositForBurnData.maxFee", + "label": "Max fee", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.usdcToken" }, + "visible": "always" + }, + { + "path": "_depositForBurnData.hookData.[32:52]", + "label": "HyperEVM recipient", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] } + }, + { + "path": "_depositForBurnData.hookData.[52:53]", + "label": "Destination DEX", + "format": "enum", + "params": { "$ref": "$.metadata.enums.destinationDex" } + }, + { "label": "Receive With Authorization Data", "path": "_receiveWithAuthorizationData", "visible": "never" }, + { + "label": "Deposit For Burn Data Min Finality Threshold", + "path": "_depositForBurnData.minFinalityThreshold", + "visible": "never" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/eip712-withdraw.json b/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/eip712-withdraw.json new file mode 100644 index 0000000..f1f3fff --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/eip712-withdraw.json @@ -0,0 +1,30 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0x0000000000000000000000000000000000000000" }, + { "chainId": 42161, "address": "0x0000000000000000000000000000000000000000" } + ], + "domain": { "name": "HyperliquidSignTransaction", "version": "1" } + } + }, + "metadata": { + "owner": "Hyperliquid Labs", + "info": { "url": "https://hyperliquid.xyz" }, + "constants": { "usdcToken": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" } + }, + "display": { + "formats": { + "HyperliquidTransaction:Withdraw(string hyperliquidChain,string destination,string amount,uint64 time)": { + "intent": "Withdraw from Hyperliquid", + "fields": [ + { "path": "destination", "label": "Recipient", "format": "raw", "visible": "always" }, + { "path": "amount", "label": "USDC amount", "format": "raw", "visible": "always" }, + { "path": "hyperliquidChain", "label": "Chain", "format": "raw" }, + { "label": "Time", "path": "time", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/tests/calldata-CctpExtension.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/tests/calldata-CctpExtension.tests.json new file mode 100644 index 0000000..8d35e8f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/tests/calldata-CctpExtension.tests.json @@ -0,0 +1,26 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "rawTx": "0x02f9026d82a4b1048401fba8f08401fba8f08094a95d9c1f655341597c94393fddc30cf3c08e4fce80b9024495878db100000000000000000000000000000000000000000000000000000000007b4a800000000000000000000000000000000000000000000000000000000069a85d020000000000000000000000000000000000000000000000000000000069a86b4e433e3aad3b685127a168b6faca79fbddc1cb3f8d019325500b3c71baebb6e5ca000000000000000000000000000000000000000000000000000000000000001bed39c863ac5c03efcb7bf516b72bb039c36a9863abb6cb2b40f976204ffcfca8570ef356eb3ef24c44bc6cff4c83f0f8a21e32a2ce62a6bc05977ee370773b3b000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000007b4a800000000000000000000000000000000000000000000000000000000000000013000000000000000000000000b21d281dedb17ae5b501f6aa8256fe38c4e45757000000000000000000000000b21d281dedb17ae5b501f6aa8256fe38c4e457570000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000038636374702d666f727761726400000000000000000000000000000000000000189d7ae84c1e55c0f2dfd6909a88ba93f48617e750000000000000000000000000c0", + "description": "Bridge 8.08 USDC from Arbitrum to HyperEVM", + "expectedTexts": [ + "Bridge USDC via CCTP", + "Amount", + "8.08 USDC", + "Destination chain", + "HyperEVM", + "Mint recipient", + "0xb21d281dedb17ae5b501f6aa8256fe38c4e45757", + "Destination caller", + "0xb21d281dedb17ae5b501f6aa8256fe38c4e45757", + "Max fee", + "0.2 USDC", + "HyperEVM recipient", + "0x9d7ae84c1e55c0f2dfd6909a88ba93f48617e750", + "Destination DEX", + "Perp" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/tests/eip712-withdraw.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/tests/eip712-withdraw.tests.json new file mode 100644 index 0000000..112eac9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/hyperliquid/tests/eip712-withdraw.tests.json @@ -0,0 +1,67 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Hyperliquid withdraw - 1 USDC", + "data": { + "domain": { + "name": "HyperliquidSignTransaction", + "version": "1", + "chainId": 42161, + "verifyingContract": "0x0000000000000000000000000000000000000000" + }, + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "HyperliquidTransaction:Withdraw": [ + { + "name": "hyperliquidChain", + "type": "string" + }, + { + "name": "destination", + "type": "string" + }, + { + "name": "amount", + "type": "string" + }, + { + "name": "time", + "type": "uint64" + } + ] + }, + "primaryType": "HyperliquidTransaction:Withdraw", + "message": { + "hyperliquidChain": "Mainnet", + "destination": "0x110cdBba7FE6434Ec4CE3464CC523942ad6Fb784", + "amount": "1", + "time": 1773826878818 + } + }, + "expectedTexts": [ + "Recipient", + "0x110cdBba7FE6434Ec4CE3464CC523942ad6Fb784", + "USDC amount", + "1" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/igra/calldata-KasExitBridge.json b/crates/clear-signing/src/assets/registry-snapshot/registry/igra/calldata-KasExitBridge.json new file mode 100644 index 0000000..4d0643a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/igra/calldata-KasExitBridge.json @@ -0,0 +1,48 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "IgraKasExitBridge", + "contract": { + "deployments": [ + { + "chainId": 38833, + "address": "0x4bb88c213d3ed9dc4bae694f1bc1bf745903b2d0" + } + ] + } + }, + "metadata": { + "owner": "Igra Labs", + "info": { + "url": "https://igra.network" + }, + "contractName": "KasExitBridge" + }, + "display": { + "formats": { + "requestExit(string kasPayoutAddress, uint64 unlockAmountSompi)": { + "intent": "Exit iKAS to Kaspa L1", + "fields": [ + { + "path": "#.kasPayoutAddress", + "label": "Kaspa destination", + "format": "raw", + "visible": "always" + }, + { + "path": "#.unlockAmountSompi", + "label": "KAS amount (sompi)", + "format": "raw", + "visible": "always" + }, + { + "path": "@.value", + "label": "iKAS burned", + "format": "amount", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-EURC-Morpho-Gauntlet-Core.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-EURC-Morpho-Gauntlet-Core.json new file mode 100644 index 0000000..c5d4ee2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-EURC-Morpho-Gauntlet-Core.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xe69884A372571AF24fcB94fB3F6948d1b0146533" }] } }, + "metadata": { + "constants": { "underlyingToken": "0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c", "underlyingTicker": "EURC", "vaultTicker": "kmgcEURC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-RLUSD-Euler-Yield.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-RLUSD-Euler-Yield.json new file mode 100644 index 0000000..551a178 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-RLUSD-Euler-Yield.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x11AEE91ED1e5a40443dd0ed21f7CF4d3fD4E0826" }] } }, + "metadata": { + "constants": { + "underlyingToken": "0x8292Bb45bf1Ee4d140127049757C2E0fF06317eD", + "underlyingTicker": "RLUSD", + "vaultTicker": "kEulerRLUSD" + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-AAVE-Arbitrum.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-AAVE-Arbitrum.json new file mode 100644 index 0000000..91e8872 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-AAVE-Arbitrum.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 42161, "address": "0xFf131917E1D6751e4d1B17612751Db521b1403c5" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", "underlyingTicker": "USDC", "vaultTicker": "skUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Aave-v3.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Aave-v3.json new file mode 100644 index 0000000..2a45fa8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Aave-v3.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x640522135e5e4598CAE85b170D5A675a53770fa0" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "kAaveUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Euler-Yield.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Euler-Yield.json new file mode 100644 index 0000000..77a2532 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Euler-Yield.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x1fCe9396c3aDD4C3A2Ed6B4461425B36eBC4bf87" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "kEulerUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Core-Base.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Core-Base.json new file mode 100644 index 0000000..20612b8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Core-Base.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x2cEbF7663a7593AdA5eC71DD8e41aca7CF77a2F5" }] } }, + "metadata": { + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "kmgcUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Core.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Core.json new file mode 100644 index 0000000..46e2281 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Core.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x80C179Cb86C567a0047f53A290Ec4C246151b0E7" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "kmgcUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Prime.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Prime.json new file mode 100644 index 0000000..f7e8fb6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-Prime.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x5E720481E8DE9c59547ad5a65742aDDdB53dD765" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "kmgpUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-Base-multisig.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-Base-multisig.json new file mode 100644 index 0000000..03f15cd --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-Base-multisig.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xb3E9C49d7E18bda41B5806b66f79a09aFD7AD369" }] } }, + "metadata": { + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "lmMgUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-multisig.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-multisig.json new file mode 100644 index 0000000..fa694fb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-multisig.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xc8beaf503fF0F2F36115eF662881F9D1dD98fE7B" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "lmMgUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-MEV-Capital.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-MEV-Capital.json new file mode 100644 index 0000000..2b7d5c1 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-MEV-Capital.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x2a4e2dACc45186bed96D9f766cB6BE6b0f8a26f1" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "kmmUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Re7-Base.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Re7-Base.json new file mode 100644 index 0000000..ed7873c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Re7-Base.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xa174B27a1e6a8194c854FfFF0FFb74A4DDA0CE3F" }] } }, + "metadata": { + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "kmrUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Smokehouse-USDC-multisig.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Smokehouse-USDC-multisig.json new file mode 100644 index 0000000..a368777 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Smokehouse-USDC-multisig.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xAEeA95Ad6DcE50943A43Ffb277E089A7c02b74d9" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "lmMsmhUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Steakhouse-USDC-multisig.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Steakhouse-USDC-multisig.json new file mode 100644 index 0000000..999e914 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDC-Morpho-Steakhouse-USDC-multisig.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x3Dc3b74698CD3e5e8c3A952342f6DD5696Ad633D" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "lmMsthUSDC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Aave-v3.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Aave-v3.json new file mode 100644 index 0000000..f284589 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Aave-v3.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xdD7927c757c1659B56C81c65af848Ae400EB879D" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "kAaveUSDT" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Compound-v3.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Compound-v3.json new file mode 100644 index 0000000..0bd868b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Compound-v3.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xcF34b24F5B1d7a4718F40D757A9a0dc0d7936f3e" }] } }, + "metadata": { + "constants": { + "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "underlyingTicker": "USDT", + "vaultTicker": "kCompoundUSDT" + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Euler-Yield.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Euler-Yield.json new file mode 100644 index 0000000..ca0a747 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Euler-Yield.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xDb768E9658A544C547eb26af3B4E190845817f0E" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "kEulerUSDT" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-Prime.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-Prime.json new file mode 100644 index 0000000..b13585f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-Prime.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xfb477d921b18C0fe6A4bD031f6f40006831E4C2b" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "kmgpUSDT" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Core-multisig.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Core-multisig.json new file mode 100644 index 0000000..31d4686 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Core-multisig.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x11Dbf3cD45D339ed8971623Be739883DEBdF239a" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "lmMgUSDT" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Prime.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Prime.json new file mode 100644 index 0000000..2cd43ab --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Prime.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x067d3D0e11efd564FED27b48DA1198Ab0F492ED1" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "kmgpUSDT" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Smokehouse-USDT-multisig.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Smokehouse-USDT-multisig.json new file mode 100644 index 0000000..c6c18bc --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Smokehouse-USDT-multisig.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x7150864349aF6fA5745178c84C6354de6d803E5B" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "lmMsmhUSDT" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Steakhouse-USDT-multisig.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Steakhouse-USDT-multisig.json new file mode 100644 index 0000000..8221ca5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDT-Morpho-Steakhouse-USDT-multisig.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x00F05Efa6D73335225f23b5ADb1Fc873795AACCF" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "lmMsthUSDT" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDe-Euler-Yield-USDE.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDe-Euler-Yield-USDE.json new file mode 100644 index 0000000..4b4f78b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-USDe-Euler-Yield-USDE.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x370522eDfF79FcA69e38F42c378531ba71d09678" }] } }, + "metadata": { + "constants": { "underlyingToken": "0x4c9EDD5852cd905f086C759E8383e09bff1E68B3", "underlyingTicker": "USDe", "vaultTicker": "kEulerUSDe" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WBTC-Morpho-Gauntlet-Core.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WBTC-Morpho-Gauntlet-Core.json new file mode 100644 index 0000000..c1f55c3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WBTC-Morpho-Gauntlet-Core.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x9d4c18c1C15cFDBF260f2910031bBd68F4aa889D" }] } }, + "metadata": { + "constants": { "underlyingToken": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "underlyingTicker": "WBTC", "vaultTicker": "kmgcWBTC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Aave-v3.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Aave-v3.json new file mode 100644 index 0000000..bef85da --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Aave-v3.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xb64Bfc4e7de3638425dC36eD77DA4d79BB4c59f6" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "underlyingTicker": "WETH", "vaultTicker": "kAaveWETH" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Morpho-Gauntlet-Core.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Morpho-Gauntlet-Core.json new file mode 100644 index 0000000..4e2f129 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Morpho-Gauntlet-Core.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xC90CB928711d7Dff6564Ede7D7Ce3fb6E3e654F2" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "underlyingTicker": "WETH", "vaultTicker": "kmgcWETH" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Morpho-MEV-Capital.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Morpho-MEV-Capital.json new file mode 100644 index 0000000..d649c45 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-WETH-Morpho-MEV-Capital.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x057e9B54c04B467Ccd9DFB56A84bDD99c17a2A50" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "underlyingTicker": "WETH", "vaultTicker": "kmmWETH" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-cbBTC-Morpho-Gauntlet-Core.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-cbBTC-Morpho-Gauntlet-Core.json new file mode 100644 index 0000000..7d3ce5a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-Vault-cbBTC-Morpho-Gauntlet-Core.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-KilnVaults.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x79091F30B3ba1102734B2484f209986250b2630b" }] } }, + "metadata": { + "constants": { "underlyingToken": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", "underlyingTicker": "cbBTC", "vaultTicker": "kmgccbBTC" } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-batch-deposit-v2.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-batch-deposit-v2.json new file mode 100644 index 0000000..b86b121 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-batch-deposit-v2.json @@ -0,0 +1,55 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Kiln Staking - Batch Deposit", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x576834cB068e677db4aFF6ca245c7bde16C3867e" }, + { "chainId": 560048, "address": "0x00ae9b96Ef8D5D54cFCC02d9A1Ccc19ACD688B72" } + ] + } + }, + "metadata": { "owner": "Kiln", "info": { "url": "https://kiln.fi" }, "contractName": "Kiln Staking - Batch Deposit" }, + "display": { + "formats": { + "batchDeposit(bytes publicKeys, bytes withdrawalCreds, bytes signatures, bytes32[] dataRoots)": { + "intent": "Stake 32ETH per validators", + "fields": [ + { "label": "Validators", "format": "raw", "path": "#.publicKeys", "visible": "always" }, + { "label": "Type and owner", "format": "raw", "path": "#.withdrawalCreds", "visible": "always" }, + { "label": "Signatures", "format": "raw", "path": "#.signatures" }, + { "label": "Data Roots", "format": "raw", "path": "#.dataRoots.[]" } + ] + }, + "batchDepositCustom(bytes publicKeys, bytes withdrawalCreds, bytes signatures, bytes32[] dataRoots, uint256 amountPerValidator)": { + "intent": "Stake any amount per validator", + "fields": [ + { "label": "Validators", "format": "raw", "path": "#.publicKeys", "visible": "always" }, + { "label": "Type and owner", "format": "raw", "path": "#.withdrawalCreds", "visible": "always" }, + { "label": "Signatures", "format": "raw", "path": "#.signatures" }, + { "label": "Data Roots", "format": "raw", "path": "#.dataRoots.[]" }, + { "label": "Amount Per Validator", "format": "amount", "path": "#.amountPerValidator", "visible": "always" } + ] + }, + "bigBatchDeposit(bytes publicKeys, bytes withdrawalCreds, bytes signatures, bytes32[] dataRoots)": { + "intent": "Stake 32ETH per validators", + "fields": [ + { "label": "Validators", "format": "raw", "path": "#.publicKeys", "visible": "always" }, + { "label": "Type and owner", "format": "raw", "path": "#.withdrawalCreds", "visible": "always" }, + { "label": "Signatures", "format": "raw", "path": "#.signatures" }, + { "label": "Data Roots", "format": "raw", "path": "#.dataRoots.[]" } + ] + }, + "bigBatchDepositCustom(bytes publicKeys, bytes withdrawalCreds, bytes signatures, bytes32[] dataRoots, uint256 amountPerValidator)": { + "intent": "Stake any amount per validator", + "fields": [ + { "label": "Validators", "format": "raw", "path": "#.publicKeys", "visible": "always" }, + { "label": "Type and owner", "format": "raw", "path": "#.withdrawalCreds", "visible": "always" }, + { "label": "Signatures", "format": "raw", "path": "#.signatures" }, + { "label": "Data Roots", "format": "raw", "path": "#.dataRoots.[]" }, + { "label": "Amount Per Validator", "format": "amount", "path": "#.amountPerValidator", "visible": "always" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-batch-exit.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-batch-exit.json new file mode 100644 index 0000000..7bf8b17 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-batch-exit.json @@ -0,0 +1,21 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Kiln Staking - Batch Exit", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x004c226fff73aa94b78a4df1a0e861797ba16819" }, + { "chainId": 560048, "address": "0x06f9C32A3093DDE837a2E172041DF79B4b850A2e" } + ] + } + }, + "metadata": { "owner": "Kiln", "info": { "url": "https://kiln.fi" }, "contractName": "Kiln Staking - Batch Exit" }, + "display": { + "formats": { + "requestExit(bytes[] validators_)": { + "intent": "Request Validator Exit", + "fields": [{ "label": "Validators", "format": "raw", "path": "#.validators_.[]", "visible": "always" }] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-fee-splitter-factory.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-fee-splitter-factory.json new file mode 100644 index 0000000..554e798 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/calldata-kiln-fee-splitter-factory.json @@ -0,0 +1,109 @@ +{ + "$schema": "https://eips.ethereum.org/assets/eip-7730/erc7730-v2.schema.json", + "context": { + "$id": "Kiln Staking - Fee Splitter", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x8659EEFF31CFcff580D37AF8e7Af250F8998aA83" }, + { "chainId": 560048, "address": "0x1A76bc69922744807E86375f8B8AB8A7cf18Eb7a" } + ] + } + }, + "metadata": { "owner": "Kiln", "info": { "url": "https://kiln.fi" }, "contractName": "Kiln Staking - Fee Splitter" }, + "display": { + "formats": { + "createOperator(address _owner, string _name, uint256 _operatorFee, uint256 _maximumOperatorFee, address[] _recipients, uint256[] _percents)": { + "intent": "Create Operator", + "fields": [ + { + "label": "Owner", + "format": "addressName", + "params": { "types": ["eoa", "wallet", "contract"], "sources": ["ens", "local"] }, + "path": "#._owner", + "visible": "always" + }, + { "label": "Name", "format": "raw", "path": "#._name", "visible": "always" }, + { + "label": "Operator Fee", + "format": "unit", + "params": { "base": "%", "decimals": 2 }, + "path": "#._operatorFee", + "visible": "always" + }, + { + "label": "Maximum Operator Fee", + "format": "unit", + "params": { "base": "%", "decimals": 2 }, + "path": "#._maximumOperatorFee", + "visible": "always" + }, + { + "label": "Recipients", + "format": "addressName", + "params": { "types": ["eoa", "wallet", "contract"], "sources": ["local", "ens"] }, + "path": "#._recipients.[]", + "visible": "always" + }, + { + "label": "Percentages", + "format": "unit", + "params": { "base": "%", "decimals": 2 }, + "path": "#._percents.[]", + "visible": "always" + } + ] + }, + "createSplitter(address operator, bytes32 salt)": { + "intent": "Create Splitter", + "fields": [ + { + "label": "Operator", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local", "ens"] }, + "path": "#.operator", + "visible": "always" + }, + { "label": "Salt", "format": "raw", "path": "#.salt" } + ] + }, + "createSplitterAndCall(address operator, bytes32 salt, address callAddress, bytes data)": { + "intent": "Create and Stake", + "fields": [ + { + "label": "Operator", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local", "ens"] }, + "path": "#.operator", + "visible": "always" + }, + { "label": "Salt", "format": "raw", "path": "#.salt" }, + { + "label": "Call Address", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local", "ens"] }, + "path": "#.callAddress" + }, + { + "label": "Transaction", + "format": "calldata", + "params": { "calleePath": "#.callAddress", "amountPath": "@.value" }, + "path": "#.data", + "visible": "always" + } + ] + }, + "transferOwnership(address newOwner)": { + "intent": "Start owner transfer", + "fields": [ + { + "label": "New Owner", + "format": "addressName", + "params": { "types": ["eoa", "wallet", "contract"], "sources": ["local", "ens"] }, + "path": "#.newOwner", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/common-KilnVaults.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/common-KilnVaults.json new file mode 100644 index 0000000..d72061f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/common-KilnVaults.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Kiln", + "info": { + "url": "https://kiln.fi/" + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-EURC-Morpho-Gauntlet-Core.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-EURC-Morpho-Gauntlet-Core.tests.json new file mode 100644 index 0000000..baf6484 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-EURC-Morpho-Gauntlet-Core.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86901280f840cf718c3830c2b0494e69884a372571af24fcb94fb3f6948d1b014653380b8446e553f6500000000000000000000000000000000000000000000000000000000000fa0ee000000000000000000000000ef6648842f74612e3566f52a361c4fba8aa30ccec0", + "txHash": "0x2a5852fa3b73a84aed8122052ed2892701bed137234eb9dae66dea9da4529e93", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.024238 EUROC", + "Share ticker", + "kmgcEURC", + "Send shares to", + "0xEF6648842F74612e 3566F52a361C4fbA8a A30CCe", + "Max fees", + "0.00017346027645441 2 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88e0181a28404002b80840cbccda08312f9f294e69884a372571af24fcb94fb3f6948d1b014653380b864ba08765200000000000000000000000000000000000000000000000000000000000f42410000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f44060000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0x70e1d4910e70cdce29fbc5f1ba376b0cbbce2247616d7d1f3215b33a0b26dd45", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Shares to redeem", + "1.000001 kmgcEURC", + "To", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Owner", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.0002657645858 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-RLUSD-Euler-Yield.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-RLUSD-Euler-Yield.tests.json new file mode 100644 index 0000000..743e96e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-RLUSD-Euler-Yield.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d01308439f8b2c08439f8b2c0830c85da9411aee91ed1e5a40443dd0ed21f7cf4d3fd4e082680b8446e553f650000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48dc0", + "txHash": "0x3345db379cc1db2727dc1f03821107df21c5dd8d8b22c7ba11a6174a1e390889", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1 RLUSD", + "Share ticker", + "kEulerRLUSD", + "Send shares to", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Max fees", + "0.0007982108748 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d01618412afa1608412afa1608308fa7d9411aee91ed1e5a40443dd0ed21f7cf4d3fd4e082680b864ba0876520000000000000000000000000000000000000000000000000ddc9361b61ad9010000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48d0000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48dc0", + "txHash": "0xeaf3eacf42e5975c63842fc7400305687cba5d6aa1dbe58cd140366ce39749e0", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Shares to redeem", + "0.99883526524573 1073 keeyRLUSD", + "To", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Owner", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Max fees", + "0.0001844674755 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Aave-v3.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Aave-v3.tests.json new file mode 100644 index 0000000..e681685 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Aave-v3.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d011c84f582f3c084f582f3c0830ec94694640522135e5e4598cae85b170d5a675a53770fa080b8446e553f6500000000000000000000000000000000000000000000000000000000000f42400000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48dc0", + "txHash": "0x46aa74fb3e11a5110147ae05ac8a8b3665fcd1490a75707416fd1b20deafc708", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1 USDC", + "Share ticker", + "kAaveUSDC", + "Send shares to", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Max fees", + "0.00399143457 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f889015f25840de1907f83062fbe94640522135e5e4598cae85b170d5a675a53770fa080b864ba08765200000000000000000000000000000000000000000000000000000000000f41e30000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48d0000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48dc0", + "txHash": "0x0bd9781fcda93ca9fc3b942a82588f35643968844180d62dae5caa88b120d2d5", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Shares to redeem", + "0.999907 kAaveUSDC", + "To", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Owner", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Max fees", + "0.0000944209958377 62 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Euler-Yield.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Euler-Yield.tests.json new file mode 100644 index 0000000..e1d8f75 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Euler-Yield.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d011f843b9aca008488e99d02830c941c941fce9396c3add4c3a2ed6b4461425b36ebc4bf8780b8446e553f6500000000000000000000000000000000000000000000000000000000cb39dd5d00000000000000000000000022b9093f13660d118fcfe63b3f7c454b0f405fffc0", + "txHash": "0x4211a285c69d64313dc2f105e7a3366efccc9e581f7f077870f9a28e737e1c81", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "3409.567069 USDC", + "Share ticker", + "kEulerUSDC", + "Send shares to", + "0x22b9093F13660d118 Fcfe63B3F7c454b0F40 5fff", + "Max fees", + "0.00189353680137938 4 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d01628415b540408415b5404083090383941fce9396c3add4c3a2ed6b4461425b36ebc4bf8780b864ba08765200000000000000000000000000000000000000000000000000000000000f41540000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48d0000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48dc0", + "txHash": "0x6843b7f53446bf3fb768db329393f3d17419ec8dbd3e84d0f30e6fb8fc6ce64e", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Shares to redeem", + "0.999764 keeyUSDC", + "To", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Owner", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Max fees", + "0.0002151413166 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-Core.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-Core.tests.json new file mode 100644 index 0000000..25f5247 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-Core.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86b01578205dc8407d51bae8335c4a89480c179cb86c567a0047f53a290ec4c246151b0e780b8446e553f650000000000000000000000000000000000000000000000000000000000030d400000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48dc0", + "txHash": "0xccc8f859c1548a3eb5ff49c5be3221104740cc0a46c787ab15bbfb629eb205a0", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "0.2 USDC", + "Share ticker", + "kmgcUSDC", + "Send shares to", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Max fees", + "0.0004630448545060 32 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f889015c0f840c3e94c1831ab76e9480c179cb86c567a0047f53a290ec4c246151b0e780b864ba08765200000000000000000000000000000000000000000000000000000000000605710000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48d0000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48dc0", + "txHash": "0x3cdb5563860d34e92106a7e6c9a6d979f9091e4a08958deb3fe5092aab5a04aa", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Shares to redeem", + "0.394609 kmgcUSDC", + "To", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Owner", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Max fees", + "0.0003596824862970 7 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-Prime.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-Prime.tests.json new file mode 100644 index 0000000..61b1c56 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-Prime.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86c014583019a2884c07e72d2830b2bb5945e720481e8de9c59547ad5a65742adddb53dd76580b8446e553f6500000000000000000000000000000000000000000000000000000000000f42410000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0x274e05b1c841b1aaabf647406264230de5a5b7d6079cb9158364eaf5e82cbb50", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.000001 USDC", + "Share ticker", + "kmgpUSDC", + "Send shares to", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.00236427758681817 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-multisig.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-multisig.tests.json new file mode 100644 index 0000000..64357b7 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Gauntlet-USDC-Core-multisig.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86b010d824f388416067f20831d6a8c94c8beaf503ff0f2f36115ef662881f9d1dd98fe7b80b8446e553f6500000000000000000000000000000000000000000000000000000000000f4241000000000000000000000000ef6648842f74612e3566f52a361c4fba8aa30ccec0", + "txHash": "0x9ff8769022e405cf30fa2cbc2b0e866244494c0722f137245c9e59b06cd869ea", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.000001 USDC", + "Share ticker", + "lmMgUSDC", + "Send shares to", + "0xEF6648842F74612e 3566F52a361C4fbA8a A30CCe", + "Max fees", + "0.00071237674472384 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-MEV-Capital.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-MEV-Capital.tests.json new file mode 100644 index 0000000..f6854e5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-MEV-Capital.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86b0169824dd68427137508832a1f14942a4e2dacc45186bed96d9f766cb6be6b0f8a26f180b8446e553f6500000000000000000000000000000000000000000000000000000000000f42410000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0x6da1864a7027c3875056741e4b2ed917905bb2b07d870291017764b530837349", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.000001 USDC", + "Share ticker", + "kmmUSDC", + "Send shares to", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.00180972574219382 4 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Smokehouse-USDC-multisig.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Smokehouse-USDC-multisig.tests.json new file mode 100644 index 0000000..5bcef62 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Smokehouse-USDC-multisig.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86c0111830f42408403d47e4883269d0094aeea95ad6dce50943a43ffb277e089a7c02b74d980b8446e553f6500000000000000000000000000000000000000000000000000000000000f4241000000000000000000000000ef6648842f74612e3566f52a361c4fba8aa30ccec0", + "txHash": "0x6653e102805d22d1f061fc0e9726bfce81f8585a56b10f8f31709f1e4719a36b", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.000001 USDC", + "Share ticker", + "lmMsmhUSDC", + "Send shares to", + "0xEF6648842F74612e 3566F52a361C4fbA8a A30CCe", + "Max fees", + "0.00016260773250048 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Steakhouse-USDC-multisig.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Steakhouse-USDC-multisig.tests.json new file mode 100644 index 0000000..9f218dd --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDC-Morpho-Steakhouse-USDC-multisig.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86a0115818c8404f7a780830b9440943dc3b74698cd3e5e8c3a952342f6dd5696ad633d80b8446e553f6500000000000000000000000000000000000000000000000000000000000f4241000000000000000000000000ef6648842f74612e3566f52a361c4fba8aa30ccec0", + "txHash": "0x31228e3e0e55f451f08c6b14d91878bf934b796e4f564d81f4dbd3faf3f096ba", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.000001 USDC", + "Share ticker", + "lmMsthUSDC", + "Send shares to", + "0xEF6648842F74612e 3566F52a361C4fbA8a A30CCe", + "Max fees", + "0.00006324173667532 8 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Aave-v3.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Aave-v3.tests.json new file mode 100644 index 0000000..b684f06 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Aave-v3.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86c014b83019a2884705453648307ce1d94dd7927c757c1659b56c81c65af848ae400eb879d80b8446e553f6500000000000000000000000000000000000000000000000000000000000f42410000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0x82931364cedb48aeedabba2c77fd06c35fa84c65d16fccd7f2a912569a56632d", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.000001 USDT", + "Share ticker", + "kAaveUSDT", + "Send shares to", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.00096399192725358 8 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Compound-v3.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Compound-v3.tests.json new file mode 100644 index 0000000..b1fbd54 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Compound-v3.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86c014d83019a28845a825af08305db7094cf34b24f5b1d7a4718f40d757a9a0dc0d7936f3e80b8446e553f6500000000000000000000000000000000000000000000000000000000000f42410000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0x65ed856860d66829021999e897b35809022c0723e38e7f831a07bffcea4272be", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.000001 USDT", + "Share ticker", + "kCompoundUSDT", + "Send shares to", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.0005828824186944 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Euler-Yield.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Euler-Yield.tests.json new file mode 100644 index 0000000..36f88a0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Euler-Yield.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d012d84bdf5c2c084bdf5c2c0830d1ab894db768e9658a544c547eb26af3b4e190845817f0e80b8446e553f65000000000000000000000000000000000000000000000000000000000007a1200000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48dc0", + "txHash": "0xf350b28c3e10a4cc070f956a315e164eddb87d895a2ac4d0b3dfa39e57e79ebe", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "0.5 USDT", + "Share ticker", + "kEulerUSDT", + "Send shares to", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Max fees", + "0.002737021096 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f889015e25840e435e1e8305fde694db768e9658a544c547eb26af3b4e190845817f0e80b864ba087652000000000000000000000000000000000000000000000000000000000016e3560000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48d0000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48dc0", + "txHash": "0xfda87c6058b2aad40e48a349d4977a5a8cf6b4451bee457c82050ab33a2c14a0", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Shares to redeem", + "1.49999 keeyUSDT", + "To", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Owner", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Max fees", + "0.0000939662864683 4 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-Prime.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-Prime.tests.json new file mode 100644 index 0000000..96de30b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-Prime.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f869012f0f840cf931ef830c580794fb477d921b18c0fe6a4bd031f6f40006831e4c2b80b8446e553f6500000000000000000000000000000000000000000000000000000000000fc044000000000000000000000000ef6648842f74612e3566f52a361c4fba8aa30ccec0", + "txHash": "0x2dd4488595feff4bc8a4a53656771b8308e0e13e1c63ce665e505f9de6592aa4", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.03226 USDT", + "Share ticker", + "kmgpUSDT", + "Send shares to", + "0xEF6648842F74612e 3566F52a361C4fbA8a A30CCe", + "Max fees", + "0.00017607800904231 3 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88e0181ab8403868eb0840ac9d7408313cc2094fb477d921b18c0fe6a4bd031f6f40006831e4c2b80b864ba08765200000000000000000000000000000000000000000000000000000000000f42410000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f44060000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0xd8a83eb243dacf6b0bc56bb1ba52b12653346cb9c55060d41642e93e0024af91", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Shares to redeem", + "1.000001 kmgpUSDT", + "To", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Owner", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.00023483664 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Core-multisig.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Core-multisig.tests.json new file mode 100644 index 0000000..956a392 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Core-multisig.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86b010f824f38841169f56e830f882d9411dbf3cd45d339ed8971623be739883debdf239a80b8446e553f6500000000000000000000000000000000000000000000000000000000000f4241000000000000000000000000ef6648842f74612e3566f52a361c4fba8aa30ccec0", + "txHash": "0xabf9fa9956c099d3466d833b07b15fb3c40872ec22d232991442f62a6639496f", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.000001 USDT", + "Share ticker", + "lmMgUSDT", + "Send shares to", + "0xEF6648842F74612e 3566F52a361C4fbA8a A30CCe", + "Max fees", + "0.0002973866805545 82 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Prime.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Prime.tests.json new file mode 100644 index 0000000..b8cba27 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Gauntlet-USDT-Prime.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86c0102830945d484983e81cc830c015d94067d3d0e11efd564fed27b48da1198ab0f492ed180b8446e553f6500000000000000000000000000000000000000000000000000000000000f648d000000000000000000000000ef6648842f74612e3566f52a361c4fba8aa30ccec0", + "txHash": "0x76aa3e9a11264f732801be58f2951f837bfbddbdcfef884861e3a0a8d097244e", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.008781 USDT", + "Share ticker", + "kmgpUSDT", + "Send shares to", + "0xEF6648842F74612e 3566F52a361C4fbA8a A30CCe", + "Max fees", + "0.00200962222371305 2 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Smokehouse-USDT-multisig.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Smokehouse-USDT-multisig.tests.json new file mode 100644 index 0000000..ecfaf32 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Smokehouse-USDT-multisig.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86a011381c9840831ff478314ff3d947150864349af6fa5745178c84c6354de6d803e5b80b8446e553f6500000000000000000000000000000000000000000000000000000000000f4241000000000000000000000000ef6648842f74612e3566f52a361c4fba8aa30ccec0", + "txHash": "0x6b78db1552d9e91534db28fd06766a07aa429669c8f4f136bf85b99f161c5cc1", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.000001 USDT", + "Share ticker", + "lmMsmhUSDT", + "Send shares to", + "0xEF6648842F74612e 3566F52a361C4fbA8a A30CCe", + "Max fees", + "0.00018920060312292 3 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Steakhouse-USDT-multisig.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Steakhouse-USDT-multisig.tests.json new file mode 100644 index 0000000..4d7b714 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDT-Morpho-Steakhouse-USDT-multisig.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86a0117818c8404580a4c830d00609400f05efa6d73335225f23b5adb1fc873795aaccf80b8446e553f6500000000000000000000000000000000000000000000000000000000000f4241000000000000000000000000ef6648842f74612e3566f52a361c4fba8aa30ccec0", + "txHash": "0x0a509e3700eb9ade4bf7db56c912e5c12f00df5f1cb13c97b2ed2a7005d69670", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1.000001 USDT", + "Share ticker", + "lmMsthUSDT", + "Send shares to", + "0xEF6648842F74612e 3566F52a361C4fbA8a A30CCe", + "Max fees", + "0.00006209728937075 2 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDe-Euler-Yield-USDE.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDe-Euler-Yield-USDE.tests.json new file mode 100644 index 0000000..578d7a8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-USDe-Euler-Yield-USDE.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d012884405f7e0084405f7e00830d193c94370522edff79fca69e38f42c378531ba71d0967880b8446e553f650000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48dc0", + "txHash": "0x2c7e90a644382643e1f02ceae2d89ff91c468d1f7cdedd789fe818e156c69651", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "1 USDe", + "Share ticker", + "kEulerUSDe", + "Send shares to", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Max fees", + "0.00092710224 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f889015d1e840ecbd3ad8305c34694370522edff79fca69e38f42c378531ba71d0967880b864ba0876520000000000000000000000000000000000000000000000000ddf74ab929b53a10000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48d0000000000000000000000004d98bae1f73284c093d610f0597411bfa114c48dc0", + "txHash": "0xffe85c594aa1f9f888d3529993ad91099644408e845289a3beea46dcab32f87f", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Shares to redeem", + "0.99964592254742 2113 keeyUSDE", + "To", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Owner", + "0x4d98BaE1F73284c0 93d610F0597411Bfa114 C48D", + "Max fees", + "0.00009375243106107 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WBTC-Morpho-Gauntlet-Core.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WBTC-Morpho-Gauntlet-Core.tests.json new file mode 100644 index 0000000..39b1b1e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WBTC-Morpho-Gauntlet-Core.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86b01578236b08432dc62d0830d23c2949d4c18c1c15cfdbf260f2910031bbd68f4aa889d80b8446e553f65000000000000000000000000000000000000000000000000000000000000038f0000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0xacf4b104acb4c3d28e43ea297395f2343ffeb6d858082796c61d46682c85415c", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "0.00000911 WBTC", + "Share ticker", + "kmgcWBTC", + "Send shares to", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.0007347988608659 52 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Aave-v3.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Aave-v3.tests.json new file mode 100644 index 0000000..570b7e9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Aave-v3.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86c015183019a2884837b19648307915d94b64bfc4e7de3638425dc36ed77da4d79bb4c59f680b8446e553f6500000000000000000000000000000000000000000000000000015f10a0e220010000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0xa0bdf85e98bc8f9753474f17d1d8942a6499106aaacbf67a54349c756fb75933", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "0.00038600000000 0001 WETH", + "Share ticker", + "kAaveWETH", + "Send shares to", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.0010940406252086 6 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Morpho-Gauntlet-Core.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Morpho-Gauntlet-Core.tests.json new file mode 100644 index 0000000..4deff7c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Morpho-Gauntlet-Core.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86b017382367c841bb8b84e8317330f94c90cb928711d7dff6564ede7d7ce3fb6e3e654f280b8446e553f6500000000000000000000000000000000000000000000000000015f10a0e220010000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0x37e16d2ef85ca8da3701f8d547201aa89e35ec9feab560591afe9b792e7438b5", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "0.00038600000000 0001 WETH", + "Share ticker", + "kmgcWETH", + "Send shares to", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.00070712334092456 2 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Morpho-MEV-Capital.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Morpho-MEV-Capital.tests.json new file mode 100644 index 0000000..3a9d10a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-WETH-Morpho-MEV-Capital.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86b017782367c841c3981d08320736994057e9b54c04b467ccd9dfb56a84bdd99c17a2a5080b8446e553f6500000000000000000000000000000000000000000000000000015f10a0e220010000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0xd6048421b5134de99497645645e22ee1fabe5004e13148e990255ce8e06c351f", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "0.00038600000000 0001 WETH", + "Share ticker", + "kmmWETH", + "Send shares to", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.00100705659982190 4 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-cbBTC-Morpho-Gauntlet-Core.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-cbBTC-Morpho-Gauntlet-Core.tests.json new file mode 100644 index 0000000..955acf9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-Vault-cbBTC-Morpho-Gauntlet-Core.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86c015383019a28846b8d9df0830aeead9479091f30b3ba1102734b2484f209986250b2630b80b8446e553f65000000000000000000000000000000000000000000000000000000000000038f0000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0xe637b638a0fae1b3c366e598e9303c2dd2a083ca36f42031af25f1f1ac791b36", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Deposit asset", + "0.00000911 cbBTC", + "Share ticker", + "kmgccbBTC", + "Send shares to", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.00129281312219832 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-batch-deposit-v2.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-batch-deposit-v2.tests.json new file mode 100644 index 0000000..da6c5be --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-batch-deposit-v2.tests.json @@ -0,0 +1,45 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Stake 32ETH per validators - chain 1", + "rawTx": "0x02f90219010b85037e11d60085037e11d600830212c894576834cb068e677db4aff6ca245c7bde16c3867e8901bc16d674ec800000b901e4c82655b7000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000308636e3767e50b8f847c627c2cbb451c241664568464b95cc6d7f9629577a08f59bea50b5a5cc2901e8ebdd7abfe8d7b9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000c20d5ac9ec1463a85ed00ff3f483d0008773108b00000000000000000000000000000000000000000000000000000000000000609715f44974927cee3e6fa9372ed38c09da4069422e7e298ed04a63e979aeefe18295ffcdf64245635cdc684138caf8ce0b6cda608f62befc2c1eec549b29c52e3bc8669b8ff520d12525969cbb8a2e8f990d9229d392a0393d8430ce801880170000000000000000000000000000000000000000000000000000000000000001c00612ae76d3aa9b6903a201a628976b37de9fb1e98391b859c386d0b43b940dc0", + "txHash": "0x17d8ef5d23e67724302433c4c83dc6e7eb2024e837140ef3b31c45c3a308e438", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Validators", + "0x8636e3767e50b8f84 7c627c2cbb451c24166 4568464b95cc6d7f96 29577a08f59bea50b5a 5cc2901e8ebdd7abfe8 d7b9", + "Type and owner", + "0x0100000000000000 00000000c20d5ac9ec1 463a85ed00ff3f483d0 008773108b", + "Signatures", + "0x9715f44974927cee3 e6fa9372ed38c09da40 69422e7e298ed04a63 e979aeefe18295ffcdf6 4245635cdc684138caf 8ce0b6cda608f62b... More", + "Data Roots", + "0xc00612ae76d3aa9b6 903a201a628976b37d e9fb1e98391b859c386 d0b43b940d", + "Max fees", + "0.0020382 ETH" + ] + }, + { + "description": "Stake any amount per validator - chain 1", + "rawTx": "0x02f9023701628403541ab3840cd0eeb083017df494576834cb068e677db4aff6ca245c7bde16c3867e8901bc16d674ec800000b90204fe37d82900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000000000000000000000308cdbf47b2dbbc72710095b274ed9a7e08226f0c37f2bbfbabf42946172fabafdf0383aac022cc1efadfd1891a455e54900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002002000000000000000000000007cfa0e1598a425ecbc8688faddba064a9a50ed8000000000000000000000000000000000000000000000000000000000000006087f02b2eb7e79e36a468a2b43b5c62adb21b8b58ff37aea73475d933e2df26efe0fb52cf8ff6e9312ecf519574dd0092015a09696478825e9a72a12e2537620431451b410e95f5b4a4d74c1aaf53ec58c8d1c43402249e2d7d00ed8e4ac128900000000000000000000000000000000000000000000000000000000000000001a689fe0d1fcf2df0f7a184d15343832d76b2ab2b9e4099092f80632ec9487a98c0", + "txHash": "0x3b4c1fa7a5cb82e6ed4b488cbb5ede95b4e3c7c8707365cd0feb9d4323c69321", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Validators", + "0x8cdbf47b2dbbc7271 0095b274ed9a7e0822 6f0c37f2bbfbabf42946 172fabafdf0383aac022 cc1efadfd1891a455e54 9", + "Type and owner", + "0x0200000000000000 0000000007cfa0e1598 a425ecbc8688faddba0 64a9a50ed8", + "Signatures", + "0x87f02b2eb7e79e36a 468a2b43b5c62adb21 b8b58ff37aea73475d9 33e2df26efe0fb52cf8ff 6e9312ecf519574dd00 92015a096964788... More", + "Data Roots", + "0xa689fe0d1fcf2df0f7a 184d15343832d76b2a b2b9e4099092f80632 ec9487a98", + "Amount Per Validator", + "32 ETH", + "Max fees", + "0.00002102457581152 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-batch-exit.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-batch-exit.tests.json new file mode 100644 index 0000000..177cd73 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-batch-exit.tests.json @@ -0,0 +1,18 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Request Validator Exit - chain 1", + "rawTx": "0x02f8ec010e84177861da842829d2b78264a994004c226fff73aa94b78a4df1a0e861797ba1681980b8c4254209ba0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030a82b3766b4cec79bd2843d3b81b458427b52c6a71be5c00262a1cf4cf4c2960255f0dead34b0adf426c257e74fb9bc2b00000000000000000000000000000000c0", + "txHash": "0xf4793919657e8d6d5fa34636e109bebd5f64e0bf9e58607a23a1331f8600e567", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Validators", + "0xa82b3766b4cec79b d2843d3b81b458427b 52c6a71be5c00262a1cf 4cf4c2960255f0dead3 4b0adf426c257e74fb9 bc2b", + "Max fees", + "0.00001736391390587 1 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-fee-splitter-factory.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-fee-splitter-factory.tests.json new file mode 100644 index 0000000..b94cd41 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kiln/tests/calldata-kiln-fee-splitter-factory.tests.json @@ -0,0 +1,30 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Create and Stake - chain 1", + "rawTx": "0x02f902f7010c84010d3b9984094f2e3083041e3c948659eeff31cfcff580d37af8e7af250f8998aa838901ccbe18194ef80000b902c4608c54d4000000000000000000000000939ff2302c6629b6e8ed93305dddd9c4a9b2eed5aa1ad05671b43fa27a4ad8bc5d683f33c23366c40a250259a5e4ac1fab6c8251000000000000000000000000576834cb068e677db4aff6ca245c7bde16c3867e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000204fe37d82900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000001ccbe18194ef80000000000000000000000000000000000000000000000000000000000000000003093d45bc199a5249f701be69cd87daaa179f2884c93b2e8c61b3756ce9267d162469fdf90deb33b797f9d824e052ddb20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000000000000000fa47b11975766516ca7c67eba782eb025b7240b200000000000000000000000000000000000000000000000000000000000000609892758c1b020dcf83abbd0078de16d81088f439614053fcda6206c84d5fa27f4f3da1e84f0abca56675dee7e88c181019f84ff3b60f771a86f26006a317f756013c67ccd5a59afc81fb3c1c23f24828a8714ce3466d729773523af5a6270a89000000000000000000000000000000000000000000000000000000000000000109a27560b52a66ab85554bf4efd347a3b59024564e308a2924effa2fb12d240600000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x1578de282acc15effada476d4d8a776c77a68adbfb8451909db7b5be4c27f4cd", + "expectedTexts": [ + "Interaction with", + "Kiln", + "Operator", + "0x939ff2302c6629B6E 8Ed93305DdDD9C4a9 B2eed5", + "Salt", + "0xaa1ad05671b43fa27 a4ad8bc5d683f33c233 66c40a250259a5e4ac1 fab6c8251", + "Call Address", + "0x576834cB068e677d b4aFF6ca245c7bde16C 3867e", + "Transaction", + "type Stake any amount per validator Validators 0x93d45bc199a5249f7 01be69cd87daaa179f2 884c93b2e8c61b3756 ce9267d162469fdf90d eb33b797f9d824e052 ddb20", + "Max fees", + "0.00004215159288300 8 ETH", + "Transaction", + "signed", + "Transaction", + "signed", + "Transaction", + "signed" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kyberswap/calldata-MetaAggregationRouterV2.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kyberswap/calldata-MetaAggregationRouterV2.json new file mode 100644 index 0000000..35d4cd9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kyberswap/calldata-MetaAggregationRouterV2.json @@ -0,0 +1,91 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "MetaAggregationRouterV2", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 56, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 42161, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 137, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 10, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 43114, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 8453, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 59144, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 146, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 80094, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 2020, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 130, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 999, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 9745, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 42793, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 143, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 4326, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" }, + { "chainId": 4153, "address": "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" } + ] + } + }, + "metadata": { + "owner": "KyberSwap", + "info": { "url": "https://kyberswap.com/" }, + "constants": { "addressAsEth": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" }, + "contractName": "MetaAggregationRouterV2" + }, + "display": { + "definitions": { + "sendAmount": { + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": "$.metadata.constants.addressAsEth" } + }, + "minReceiveAmount": { + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": "$.metadata.constants.addressAsEth" } + }, + "beneficiary": { + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "wallet", "contract"], "sources": ["local", "ens"] } + } + }, + "formats": { + "swap((address callTarget, address approveTarget, bytes targetData, (address srcToken, address dstToken, address[] srcReceivers, uint256[] srcAmounts, address[] feeReceivers, uint256[] feeAmounts, address dstReceiver, uint256 amount, uint256 minReturnAmount, uint256 flags, bytes permit) desc, bytes clientData) execution)": { + "$id": "swap", + "intent": "Swap", + "interpolatedIntent": "Swap {execution.desc.amount} for at least {execution.desc.minReturnAmount} to recipient {execution.desc.dstReceiver}", + "fields": [ + { + "path": "execution.desc.amount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "execution.desc.srcToken" }, + "visible": "always" + }, + { + "path": "execution.desc.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "execution.desc.dstToken" }, + "visible": "always" + }, + { + "path": "execution.desc.dstReceiver", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "wallet", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Call Target", "path": "execution.callTarget", "visible": "never" }, + { "label": "Approve Target", "path": "execution.approveTarget", "visible": "never" }, + { "label": "Target Data", "path": "execution.targetData", "visible": "never" }, + { "label": "Source Receivers", "path": "execution.desc.srcReceivers", "visible": "never" }, + { "label": "Source Amounts", "path": "execution.desc.srcAmounts", "visible": "never" }, + { "label": "Fee Receivers", "path": "execution.desc.feeReceivers", "visible": "never" }, + { "label": "Fee Amounts", "path": "execution.desc.feeAmounts", "visible": "never" }, + { "label": "Flags", "path": "execution.desc.flags", "visible": "never" }, + { "label": "Permit", "path": "execution.desc.permit", "visible": "never" }, + { "label": "Client Data", "path": "execution.clientData", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/kyberswap/tests/calldata-MetaAggregationRouterV2.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/kyberswap/tests/calldata-MetaAggregationRouterV2.tests.json new file mode 100644 index 0000000..a8305ed --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/kyberswap/tests/calldata-MetaAggregationRouterV2.tests.json @@ -0,0 +1,20 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "KyberSwap: MetaAggregationRouterV2: swap USDC to WFRAX", + "rawTx": "0xe21fd0e900000000000000000000000000000000000000000000000000000000000000200000000000000000000000008f10b468b06c6fd214b65f87778827f7d113f996000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000f600000000000000000000000000000000000000000000000000000000000000c6000000000000000000000000057aee64000000000000000000000000057aee640000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041c19fb33d8f3553eab8cc3a59d01c6d2ee49de9fa21a763f69f8b54995244d9c52126f70f3bf08296da71f8c024ff8b717173a8e20ee4759b121ac2acf594f4001b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b60000000000000000000000000d059075bf71107c56522b60354feb51edd1654bf000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000534c8df00000000000000000000000005c113e9000000000000000000000000057aee64000000000000000a2a1202dfd7bb98893000000000000000000000000000000000aa877f151bd1a0000000f42400000000000000000000000000000004f82e73edb06d29ff62c91ec8f5ff06571bdeb290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a03e7470000000000000000000000000000000000000000000000000000000000000b40000000000000000000000000000000000000000000000000000000000000000261f598cd000000000000000031439a79a3535d69b65c3be384840282b4ea0aa791dd7346000000000000000031439a79a3535d69b65c3be384840282b4ea0aa7000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000900000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48800000000000000000000000000005bf00000000000000000000000057aee640000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000373d8bf008fce00900000000000000015455c918e405a2831fbff8595c0aae35ee3db9d100000000000000000000000000000000000000000000000000000000000000800000000000000000000000008f10b468b06c6fd214b65f87778827f7d113f9960000000000000000000000000000000000000000000000000000000000000020000000000000000000000100dcef968d416a41cdac0ed8702fac8128a64241a20000000000000000000000000000000000000000000000000000000020715a50bd2b21c500000000000000035c9193efd0d9af71cf6bd812afc73a21978e5e7f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000008f10b468b06c6fd214b65f87778827f7d113f99600000000000000000000000000000000000000000000000000000000000000200000000000000000000000014f95c5ba0c7c69fb2f9340e190ccee890b3bd87c000000000000000000000000853d955acef822db058eb8505911ed77f175b99e8000000000000000000350237128d52600000000000000328d90cd6d4e6a6b760000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000328d90cd6d4e6a6b766fba12b700000000000000025455c918e405a2831fbff8595c0aae35ee3db9d100000000000000000000000000000000000000000000000000000000000000800000000000000000000000008f10b468b06c6fd214b65f87778827f7d113f99600000000000000000000000000000000000000000000000000000000000000200000001e000000000000271003b59bd1c8b9f6c265ba0c3421923b93f15036fa0000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d080000000000000000006b3d780d05aee000000000000006645ab114b3f80f3b600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000006645ab114b3f80f3b6736e774d0000000000000004d1877a31a73c7cb31c02b9e7d7c336531562b21e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000008f10b468b06c6fd214b65f87778827f7d113f9960000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d000000000000000000000000000000000000000000000006645ab114b3f80f3b600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000004acaf8d2865c0714f79da09645c13fd2888977f00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000001028bfef06007c02c79a0530e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cacd6fd266af91b8aed52accc382b4e165586e2980000000000000000001ef09a04f3400000000000000001d81aca2608b35000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000001d81aca2608b3500006fba12b700000000000000045455c918e405a2831fbff8595c0aae35ee3db9d100000000000000000000000000000000000000000000000000000000000000800000000000000000000000008f10b468b06c6fd214b65f87778827f7d113f99600000000000000000000000000000000000000000000000000000000000000200000001e00000000000027100fe046a9027d8ce9a909f0c93ea2ddcfd8090f8700000000000000000000000004acaf8d2865c0714f79da09645c13fd2888977f8000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000004acaf8d2865c0714f79da09645c13fd2888977f000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000d059075bf71107c56522b60354feb51edd1654bf0000000000000000000000000000000000000000000000000000000057aee6400000000000000000000000000000000000000000000000a28c4f23ba281431550000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000010000000000000000000000008f10b468b06c6fd214b65f87778827f7d113f99600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000057aee64000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b97b22536f75726365223a226b7962657273776170222c22416d6f756e74496e555344223a22313436392e343235383537222c22416d6f756e744f7574555344223a22313436352e303038303735222c22416d6f756e744f7574223a2232393939393832383730333437303334323332393738222c22526f7574654944223a2261666232386464334d7446414c344f643a64316533313465372d6c464b32626c4f222c2254696d657374616d70223a313737383633393531317d00000000000000", + "txHash": "0xe0a8339e903bfb69fdfe01dd7f43af19a7df99c480676f03c4df6af15ca039dd", + "expectedTexts": [ + "Interaction with", + "MetaAggregationRouterV2", + "Amount to Send", + "1471.08 USDC", + "Minimum to Receive", + "2998.482878911860715861 WFRAX", + "Beneficiary", + "0xd059075BF71107C5 6522B60354feb51eD D1654bF" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/layerswap/calldata-LayerswapDepository.json b/crates/clear-signing/src/assets/registry-snapshot/registry/layerswap/calldata-LayerswapDepository.json new file mode 100644 index 0000000..e6a68ae --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/layerswap/calldata-LayerswapDepository.json @@ -0,0 +1,210 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "LayerswapDepository", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 10, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 56, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 100, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 130, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 137, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 143, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 146, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 169, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 185, "address": "0x74C3019613E917ede3Aa079270e9030f01215a06" }, + { "chainId": 196, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 204, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 252, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 324, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 360, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 480, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 690, "address": "0x74C3019613E917ede3Aa079270e9030f01215a06" }, + { "chainId": 999, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 1101, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 1135, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 1329, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 1625, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 1868, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 1890, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 1923, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 2020, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 2741, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 2818, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 5000, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 5330, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 8217, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 8453, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 9745, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 9999, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 13371, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 34443, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 42161, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 42170, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 42220, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 43114, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 48900, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 55244, "address": "0x74C3019613E917ede3Aa079270e9030f01215a06" }, + { "chainId": 57073, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 59144, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 60808, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 80094, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 81457, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 167000, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 534352, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 543210, "address": "0x1b16c320210d913C399500c61A6749946AD42aa8" }, + { "chainId": 660279, "address": "0x74C3019613E917ede3Aa079270e9030f01215a06" }, + { "chainId": 747474, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 7777777, "address": "0xE226E4825CB215aBaFAd98fdd400583eAb6a594f" }, + { "chainId": 11155111, "address": "0x805463C27E8D59FEe436f3160904e52ca26bA74b" }, + { "chainId": 888888888, "address": "0x74C3019613E917ede3Aa079270e9030f01215a06" }, + { "chainId": 1380012617, "address": "0x74C3019613E917ede3Aa079270e9030f01215a06" } + ] + } + }, + "metadata": { + "owner": "Layerswap", + "contractName": "LayerswapDepository", + "info": { + "url": "https://layerswap.io", + "deploymentDate": "2026-05-13T00:00:00Z" + } + }, + "display": { + "formats": { + "depositNative(bytes32 id,address receiver)": { + "$id": "depositNative", + "intent": "Swap ETH", + "interpolatedIntent": "Swap {@.value}", + "fields": [ + { "path": "#.id", "label": "Swap ID", "format": "raw", "visible": "always" }, + { + "path": "#.receiver", + "label": "Solver", + "format": "addressName", + "params": { "types": ["wallet", "contract"] }, + "visible": "always" + }, + { "path": "@.value", "label": "Amount", "format": "amount", "visible": "always" } + ] + }, + "depositERC20(bytes32 id,address token,address receiver,uint256 amount)": { + "$id": "depositERC20", + "intent": "Swap token", + "interpolatedIntent": "Swap {#.amount}", + "fields": [ + { "path": "#.id", "label": "Swap ID", "format": "raw", "visible": "always" }, + { + "path": "#.token", + "label": "Token to swap", + "format": "addressName", + "params": { "types": ["contract"] }, + "visible": "always" + }, + { + "path": "#.receiver", + "label": "Solver", + "format": "addressName", + "params": { "types": ["wallet", "contract"] }, + "visible": "always" + }, + { + "path": "#.amount", + "label": "Amount", + "format": "tokenAmount", + "params": { "tokenPath": "#.token" }, + "visible": "always" + } + ] + }, + "addToWhitelist(address addr)": { + "$id": "addToWhitelist", + "intent": "Add solver", + "interpolatedIntent": "Whitelist {#.addr} as solver", + "fields": [ + { + "path": "#.addr", + "label": "Solver to whitelist", + "format": "addressName", + "params": { "types": ["wallet", "contract"] }, + "visible": "always" + } + ] + }, + "removeFromWhitelist(address addr)": { + "$id": "removeFromWhitelist", + "intent": "Remove solver", + "interpolatedIntent": "Remove {#.addr} from whitelist", + "fields": [ + { + "path": "#.addr", + "label": "Solver to remove", + "format": "addressName", + "params": { "types": ["wallet", "contract"] }, + "visible": "always" + } + ] + }, + "updateWhitelistedAddress(address oldAddr,address newAddr)": { + "$id": "updateWhitelistedAddress", + "intent": "Replace solver", + "interpolatedIntent": "Swap solver to {#.newAddr}", + "fields": [ + { + "path": "#.oldAddr", + "label": "Existing solver", + "format": "addressName", + "params": { "types": ["wallet", "contract"] }, + "visible": "always" + }, + { + "path": "#.newAddr", + "label": "Replacement solver", + "format": "addressName", + "params": { "types": ["wallet", "contract"] }, + "visible": "always" + } + ] + }, + "pause()": { + "$id": "pause", + "intent": "Pause", + "interpolatedIntent": "Pause Layerswap swaps", + "fields": [] + }, + "unpause()": { + "$id": "unpause", + "intent": "Resume", + "interpolatedIntent": "Resume Layerswap swaps", + "fields": [] + }, + "transferOwnership(address newOwner)": { + "$id": "transferOwnership", + "intent": "Transfer ownership", + "interpolatedIntent": "Propose new owner {#.newOwner}", + "fields": [ + { + "path": "#.newOwner", + "label": "Proposed new owner", + "format": "addressName", + "params": { "types": ["wallet", "contract"] }, + "visible": "always" + } + ] + }, + "acceptOwnership()": { + "$id": "acceptOwnership", + "intent": "Accept ownership", + "interpolatedIntent": "Accept depository ownership", + "fields": [] + }, + "renounceOwnership()": { + "$id": "renounceOwnership", + "intent": "Renounce ownership", + "interpolatedIntent": "Renounce ownership: FINAL", + "fields": [] + } + } + } +} \ No newline at end of file diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/layerswap/tests/calldata-LayerswapDepository.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/layerswap/tests/calldata-LayerswapDepository.tests.json new file mode 100644 index 0000000..ebf5e1b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/layerswap/tests/calldata-LayerswapDepository.tests.json @@ -0,0 +1,94 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Layerswap: LayerswapDepository: depositNative - 0.1 ETH", + "rawTx": "0x02f8bc83aa36a7808459682f008506fc23ac0083030d4094805463c27e8d59fee436f3160904e52ca26ba74b88016345785d8a0000b84480a6de927468697369737465737469647468697369737465737469647468697369737469000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045c080a0e839959ad4ede2fcc69e72a80ace8fb7a5091ac59c358b1dba5e652476a3c74aa0216ef5f7a178a43f4eab716d2717f0e7e4bd2fc7bf692e55d9e668fac6a2b4c9", + "expectedTexts": [ + "Swap ETH", + "Swap 0.1 ETH", + "Swap ID", + "Solver", + "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "Amount", + "0.1 ETH" + ] + }, + { + "description": "Layerswap: LayerswapDepository: depositERC20 - 1 USDC", + "rawTx": "0x02f8f483aa36a7018459682f008506fc23ac0083030d4094805463c27e8d59fee436f3160904e52ca26ba74b80b884f4371f637468697369737465737469647468697369737465737469647468697369737469000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa9604500000000000000000000000000000000000000000000000000000000000f4240c001a08b4cba5c96c8654c1d221174876707e9809f6881e9168f0a95a924b74494d05ba001fddafc0bcddcb84a83c5ebb2bcd9a1cbf7085b7a4d2ecdf586423e088fbdca", + "expectedTexts": [ + "Swap token", + "Swap ID", + "Token to swap", + "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "Solver", + "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "Amount", + "1 USDC" + ] + }, + { + "description": "Layerswap: LayerswapDepository: addToWhitelist", + "rawTx": "0x02f89383aa36a7028459682f008506fc23ac0083030d4094805463c27e8d59fee436f3160904e52ca26ba74b80a4e43252d7000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045c001a00fe8741ac69c6c5b1be2ac6322a022ca9d851adb061ffc89802450ab4f22aeaba05ab1676b746510b5064a39b77547c1db968086ab81981ab0f01df41e1800964f", + "expectedTexts": [ + "Add solver", + "Solver to whitelist", + "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" + ] + }, + { + "description": "Layerswap: LayerswapDepository: removeFromWhitelist", + "rawTx": "0x02f89283aa36a7038459682f008506fc23ac0083030d4094805463c27e8d59fee436f3160904e52ca26ba74b80a48ab1d681000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045c0019ffa6be78852428ed9365972ea41dffcbd586fb3b5c71de50ec60684a26efee0a052892c0a73f6fa3679c7a522abb9be7c23242c892fa0328646cfde7786c46ba8", + "expectedTexts": [ + "Remove solver", + "Solver to remove", + "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" + ] + }, + { + "description": "Layerswap: LayerswapDepository: updateWhitelistedAddress", + "rawTx": "0x02f8b483aa36a7048459682f008506fc23ac0083030d4094805463c27e8d59fee436f3160904e52ca26ba74b80b84486d11066000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9bc080a0e403002045f48b63f71e28750f63232e28b9a2161ef7cf2a8e55a22d87c7fc4ea009019f7ce32e891172b3f862ca0e29dd7b187e663494a96f02dd78b88341ce2c", + "expectedTexts": [ + "Replace solver", + "Existing solver", + "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "Replacement solver", + "0xaB5801a7D398351b8bE11C439e05C5B3259aeC9B" + ] + }, + { + "description": "Layerswap: LayerswapDepository: pause", + "rawTx": "0x02f87383aa36a7058459682f008506fc23ac0083030d4094805463c27e8d59fee436f3160904e52ca26ba74b80848456cb59c080a073ab7e5a077d901c60fe2f05d138591ef8877763ff180a95f8605cb6186da8d5a0116214c923d22a80f982a21b16cf17a8bbc2977fd30fec201726f85a3ec64268", + "expectedTexts": ["Pause", "Pause Layerswap swaps"] + }, + { + "description": "Layerswap: LayerswapDepository: unpause", + "rawTx": "0x02f87383aa36a7068459682f008506fc23ac0083030d4094805463c27e8d59fee436f3160904e52ca26ba74b80843f4ba83ac001a0b0a641e82eb3a2858d9cdfbee8300ba07288ab92274275b539f2aea7d864f067a0302aa6a65b9c516698d8905b4f8bbcb42e65fa54b9c20cb0b3c13c7bdad2d620", + "expectedTexts": ["Resume", "Resume Layerswap swaps"] + }, + { + "description": "Layerswap: LayerswapDepository: transferOwnership", + "rawTx": "0x02f89383aa36a7078459682f008506fc23ac0083030d4094805463c27e8d59fee436f3160904e52ca26ba74b80a4f2fde38b000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9bc080a0e64af93b9e901a5f90126f085019eac34dbd991df14fab0ea4a48161d26c5e16a038bdb5a2ed308248978725f1f259be427cb2b3db217b37ad3e425c2b4c55c51a", + "expectedTexts": [ + "Transfer ownership", + "Propose new owner", + "Proposed new owner", + "0xaB5801a7D398351b8bE11C439e05C5B3259aeC9B" + ] + }, + { + "description": "Layerswap: LayerswapDepository: acceptOwnership", + "rawTx": "0x02f87383aa36a7088459682f008506fc23ac0083030d4094805463c27e8d59fee436f3160904e52ca26ba74b808479ba5097c080a0dfe548c5bdc8d6224a32f0cd12cf024be76a91a633fd3a6dd44d9500e14a43cfa067f8970a7f683e726b6b3e406c435d4b18e3ba21afb9e1e6fab55250b6fc193c", + "expectedTexts": ["Accept ownership", "Accept depository ownership"] + }, + { + "description": "Layerswap: LayerswapDepository: renounceOwnership", + "rawTx": "0x02f87383aa36a7098459682f008506fc23ac0083030d4094805463c27e8d59fee436f3160904e52ca26ba74b8084715018a6c080a02334c9415e22fda81d737638b446a55d502b3739f3727e3c31edadd96cd804b9a041ba869b2800da1d8a62af93848b3f677c3134a0b12f91576339f39b105b39fb", + "expectedTexts": [ + "Renounce ownership", + "Renounce ownership: FINAL" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ledgerquest/eip712-ledgerquest.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ledgerquest/eip712-ledgerquest.json new file mode 100644 index 0000000..0389d6d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ledgerquest/eip712-ledgerquest.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0x33c6eec1723b12c46732f7ab41398de45641fa42" }], + "domain": { "name": "Ledger Quest", "version": "1" } + } + }, + "metadata": { "owner": "Ledger" }, + "display": { + "formats": { + "mint(address receiver,uint256 categoryId,uint256 collectionId)": { + "intent": "Mint", + "fields": [ + { "path": "receiver", "label": "Receiver", "format": "raw" }, + { "path": "categoryId", "label": "Quest Type", "format": "raw" }, + { "path": "collectionId", "label": "Collection", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ledgerquest/tests/eip712-ledgerquest.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ledgerquest/tests/eip712-ledgerquest.tests.json new file mode 100644 index 0000000..a56794b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ledgerquest/tests/eip712-ledgerquest.tests.json @@ -0,0 +1,32 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "mint": [ + { "name": "receiver", "type": "address" }, + { "name": "categoryId", "type": "uint256" }, + { "name": "collectionId", "type": "uint256" } + ] + }, + "primaryType": "mint", + "domain": { + "name": "Ledger Quest", + "version": "1", + "chainId": 137, + "verifyingContract": "0x33C6EeC1723B12c46732f7AB41398DE45641FA42" + }, + "message": { "receiver": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "categoryId": "3", "collectionId": "12" } + }, + "expectedTexts": ["Receiver", "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", "Quest Type", "3", "Collection", "12"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lens/eip712-lens-lenshub.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lens/eip712-lens-lenshub.json new file mode 100644 index 0000000..93ee669 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lens/eip712-lens-lenshub.json @@ -0,0 +1,218 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" }], + "domain": { "name": "Lens Protocol Profiles", "version": "2" } + } + }, + "metadata": { "owner": "LensHub" }, + "display": { + "formats": { + "Act(uint256 publicationActedProfileId,uint256 publicationActedId,uint256 actorProfileId,uint256[] referrerProfileIds,uint256[] referrerPubIds,address actionModuleAddress,bytes actionModuleData,uint256 nonce,uint256 deadline)": { + "intent": "Act", + "fields": [ + { "path": "actorProfileId", "label": "actorProfileId", "format": "raw" }, + { "path": "publicationActedId", "label": "publicationActedId", "format": "raw" }, + { "path": "publicationActedProfileId", "label": "publicationActedProfileId", "format": "raw" }, + { "label": "Deadline", "path": "deadline", "visible": "never" }, + { "label": "Action Module Address", "path": "actionModuleAddress", "visible": "never" }, + { "label": "Referrer Profile Ids", "path": "referrerProfileIds.[]", "visible": "never" }, + { "label": "Action Module Data", "path": "actionModuleData", "visible": "never" }, + { "label": "Referrer Pub Ids", "path": "referrerPubIds.[]", "visible": "never" } + ] + }, + "ChangeDelegatedExecutorsConfig(uint256 delegatorProfileId,address[] delegatedExecutors,bool[] approvals,uint64 configNumber,bool switchToGivenConfig,uint256 nonce,uint256 deadline)": { + "intent": "ChangeDelegatedExecutorsConfig", + "fields": [ + { "path": "delegatorProfileId", "label": "Delegator ProfileId", "format": "raw" }, + { "path": "delegatedExecutors.[]", "label": "Delegated Executors", "format": "raw" }, + { "path": "approvals.[]", "label": "Approvals", "format": "raw" }, + { "path": "configNumber", "label": "configNumber", "format": "raw" }, + { "path": "switchToGivenConfig", "label": "switchToGivenConfig", "format": "raw" }, + { "path": "nonce", "label": "nonce", "format": "raw" }, + { "label": "Deadline", "path": "deadline", "visible": "never" } + ] + }, + "Comment(uint256 profileId,string contentURI,uint256 pointedProfileId,uint256 pointedPubId,uint256[] referrerProfileIds,uint256[] referrerPubIds,bytes referenceModuleData,address[] actionModules,bytes[] actionModulesInitDatas,address referenceModule,bytes referenceModuleInitData,uint256 nonce,uint256 deadline)": { + "intent": "Comment", + "fields": [ + { "path": "profileId", "label": "Profile Id", "format": "raw" }, + { "path": "contentURI", "label": "content URI", "format": "raw" }, + { "path": "pointedProfileId", "label": "Pointed Profile Id", "format": "raw" }, + { "path": "pointedPubId", "label": "Pointed Pub Id", "format": "raw" }, + { "path": "nonce", "label": "nonce", "format": "raw" }, + { "label": "Reference Module Init Data", "path": "referenceModuleInitData", "visible": "never" }, + { "label": "Reference Module Data", "path": "referenceModuleData", "visible": "never" }, + { "label": "Action Modules", "path": "actionModules", "visible": "never" }, + { "label": "Deadline", "path": "deadline", "visible": "never" }, + { "label": "Referrer Profile Ids", "path": "referrerProfileIds", "visible": "never" }, + { "label": "Reference Module", "path": "referenceModule", "visible": "never" }, + { "label": "Action Modules Init Datas", "path": "actionModulesInitDatas", "visible": "never" }, + { "label": "Referrer Pub Ids", "path": "referrerPubIds", "visible": "never" } + ] + }, + "Follow(uint256 followerProfileId,uint256[] idsOfProfilesToFollow,uint256[] followTokenIds,bytes[] datas,uint256 nonce,uint256 deadline)": { + "intent": "Follow", + "fields": [ + { "path": "followerProfileId", "label": "follower ProfileId", "format": "raw" }, + { "path": "idsOfProfilesToFollow.[]", "label": "ids Of Profiles To Follow", "format": "raw" }, + { "path": "followTokenIds.[]", "label": "follow TokenIds", "format": "raw" }, + { "path": "datas.[]", "label": "datas", "format": "raw" }, + { "path": "nonce", "label": "nonce", "format": "raw" }, + { "label": "Deadline", "path": "deadline", "visible": "never" } + ] + }, + "follow_with_sign(uint256 followerProfileId,uint256 signatureDeadline)": { + "intent": "follow_with_sign", + "fields": [ + { "path": "followerProfileId", "label": "followerProfileId", "format": "raw" }, + { "path": "signatureDeadline", "label": "signatureDeadline", "format": "raw" } + ] + }, + "link(uint256 handle_id,uint256 profile_id)": { + "intent": "link", + "fields": [ + { "path": "handle_id", "label": "handle_id", "format": "raw" }, + { "path": "profile_id", "label": "profile_id", "format": "raw" } + ] + }, + "link_with_sig(uint256 handle_id,uint256 profile_id,uint256 signatureDeadline)": { + "intent": "link_with_sig", + "fields": [ + { "path": "handle_id", "label": "handle_id", "format": "raw" }, + { "path": "profile_id", "label": "profile_id", "format": "raw" }, + { "path": "signatureDeadline", "label": "signatureDeadline", "format": "raw" } + ] + }, + "mint(uint256 to,uint256 profile_id,uint256 profile_id_pointed,uint256 pubid_pointed)": { + "intent": "mint", + "fields": [ + { "path": "to", "label": "to", "format": "raw" }, + { "path": "profile_id", "label": "profile_id", "format": "raw" }, + { "path": "profile_id_pointed", "label": "profile_id_pointed", "format": "raw" }, + { "path": "pubid_pointed", "label": "pubid_pointed", "format": "raw" } + ] + }, + "Mirror(uint256 profileId,string metadataURI,uint256 pointedProfileId,uint256 pointedPubId,uint256[] referrerProfileIds,uint256[] referrerPubIds,bytes referenceModuleData,uint256 nonce,uint256 deadline)": { + "intent": "mirror", + "fields": [ + { "path": "profileId", "label": "profileId", "format": "raw" }, + { "path": "metadataURI", "label": "metadataURI", "format": "raw" }, + { "path": "pointedProfileId", "label": "pointedProfileId", "format": "raw" }, + { "path": "nonce", "label": "nonce", "format": "raw" }, + { "label": "Deadline", "path": "deadline", "visible": "never" }, + { "label": "Pointed Pub Id", "path": "pointedPubId", "visible": "never" }, + { "label": "Reference Module Data", "path": "referenceModuleData", "visible": "never" }, + { "label": "Referrer Profile Ids", "path": "referrerProfileIds", "visible": "never" }, + { "label": "Referrer Pub Ids", "path": "referrerPubIds", "visible": "never" } + ] + }, + "mirror_with_sig(uint256 profile_id,uint256 profile_id_pointed,uint256 pubid_pointed,uint256 signatureDeadline)": { + "intent": "mirror_with_sig", + "fields": [ + { "path": "profile_id", "label": "profile_id", "format": "raw" }, + { "path": "profile_id_pointed", "label": "profile_id_pointed", "format": "raw" }, + { "path": "pubid_pointed", "label": "pubid_pointed", "format": "raw" }, + { "path": "signatureDeadline", "label": "signatureDeadline", "format": "raw" } + ] + }, + "Post(uint256 profileId,string contentURI,address[] actionModules,bytes[] actionModulesInitDatas,address referenceModule,bytes referenceModuleInitData,uint256 nonce,uint256 deadline)": { + "intent": "Post", + "fields": [ + { "path": "profileId", "label": "Profile Id", "format": "raw" }, + { "path": "contentURI", "label": "Post URI", "format": "raw" }, + { "path": "nonce", "label": "nonce", "format": "raw" }, + { "label": "Reference Module Init Data", "path": "referenceModuleInitData", "visible": "never" }, + { "label": "Action Modules", "path": "actionModules", "visible": "never" }, + { "label": "Deadline", "path": "deadline", "visible": "never" }, + { "label": "Reference Module", "path": "referenceModule", "visible": "never" }, + { "label": "Action Modules Init Datas", "path": "actionModulesInitDatas", "visible": "never" } + ] + }, + "post_with_sign(uint256 profile_id,uint256 signatureDeadline)": { + "intent": "post_with_sign", + "fields": [ + { "path": "profile_id", "label": "profile_id", "format": "raw" }, + { "path": "signatureDeadline", "label": "signatureDeadline", "format": "raw" } + ] + }, + "Quote(uint256 profileId,string contentURI,uint256 pointedProfileId,uint256 pointedPubId,uint256 nonce,uint256 deadline)": { + "intent": "Quote", + "fields": [ + { "path": "profileId", "label": "profileId", "format": "raw" }, + { "path": "contentURI", "label": "contentURI", "format": "raw" }, + { "path": "pointedProfileId", "label": "pointedProfileId", "format": "raw" }, + { "path": "pointedPubId", "label": "pointedPubId", "format": "raw" }, + { "path": "nonce", "label": "nonce", "format": "raw" }, + { "path": "deadline", "label": "deadline", "format": "raw" } + ] + }, + "quote_with_sign(uint256 profile_id,uint256 profile_id_pointed,uint256 pubid_pointed,uint256 signatureDeadline)": { + "intent": "quote_with_sign", + "fields": [ + { "path": "profile_id", "label": "profile_id", "format": "raw" }, + { "path": "profile_id_pointed", "label": "profile_id_pointed", "format": "raw" }, + { "path": "pubid_pointed", "label": "pubid_pointed", "format": "raw" }, + { "path": "signatureDeadline", "label": "signatureDeadline", "format": "raw" } + ] + }, + "set_block_status(uint256 byProfileId,uint256 signatureDeadline)": { + "intent": "set_block_status", + "fields": [ + { "path": "byProfileId", "label": "byProfileId", "format": "raw" }, + { "path": "signatureDeadline", "label": "signatureDeadline", "format": "raw" } + ] + }, + "SetProfileMetadataURI(uint256 profileId,string metadataURI,uint256 nonce,uint256 deadline)": { + "intent": "SetProfileMetadataURI", + "fields": [ + { "path": "profileId", "label": "profileId", "format": "raw" }, + { "path": "metadataURI", "label": "metadataURI", "format": "raw" }, + { "path": "nonce", "label": "nonce", "format": "raw" }, + { "label": "Deadline", "path": "deadline", "visible": "never" } + ] + }, + "set_block_status_with_sig(uint256 byProfileId,uint256 signatureDeadline)": { + "intent": "set_block_status_with_sig", + "fields": [ + { "path": "byProfileId", "label": "byProfileId", "format": "raw" }, + { "path": "signatureDeadline", "label": "signatureDeadline", "format": "raw" } + ] + }, + "SetFollowModule(uint256 profileId,address followModule,bytes followModuleInitData,uint256 nonce,uint256 deadline)": { + "intent": "Set Follow Module", + "fields": [ + { "path": "profileId", "label": "profileId", "format": "raw" }, + { "path": "followModule", "label": "followModule", "format": "raw" }, + { "path": "nonce", "label": "nonce", "format": "raw" }, + { "label": "Deadline", "path": "deadline", "visible": "never" }, + { "label": "Follow Module Init Data", "path": "followModuleInitData", "visible": "never" } + ] + }, + "set_profile_metadata_with_sign(uint256 profileId,uint256 signatureDeadline)": { + "intent": "set_profile_metadata_with_sign", + "fields": [ + { "path": "profileId", "label": "profileId", "format": "raw" }, + { "path": "signatureDeadline", "label": "signatureDeadline", "format": "raw" } + ] + }, + "Unfollow(uint256 unfollowerProfileId,uint256[] idsOfProfilesToUnfollow,uint256 nonce,uint256 deadline)": { + "intent": "Unfollow", + "fields": [ + { "path": "unfollowerProfileId", "label": "Unfollower ProfileId", "format": "raw" }, + { "path": "idsOfProfilesToUnfollow.[]", "label": "ids Of Profiles To Unfollow", "format": "raw" }, + { "path": "nonce", "label": "nonce", "format": "raw" }, + { "path": "deadline", "label": "deadline", "format": "raw" } + ] + }, + "unfollow_with_sign(uint256 unfollowerProfileId,uint256 signatureDeadline)": { + "intent": "unfollow_with_sign", + "fields": [ + { "path": "unfollowerProfileId", "label": "unfollowerProfileId", "format": "raw" }, + { "path": "signatureDeadline", "label": "signatureDeadline", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lens/eip712-lens-token-handle-registry.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lens/eip712-lens-token-handle-registry.json new file mode 100644 index 0000000..82f592c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lens/eip712-lens-token-handle-registry.json @@ -0,0 +1,31 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0xd4f2f33680fccb36748fa9831851643781608844" }], + "domain": { "name": "Lens Protocol Profiles", "version": "2" } + } + }, + "metadata": { "owner": "TokenHandleRegistry" }, + "display": { + "formats": { + "unlink_with_sig(uint256 handle_id,uint256 profile_id,uint256 signatureDeadline)": { + "intent": "unlink_with_sig", + "fields": [ + { "path": "handle_id", "label": "handle_id", "format": "raw" }, + { "path": "profile_id", "label": "profile_id", "format": "raw" }, + { "path": "signatureDeadline", "label": "signatureDeadline", "format": "raw" } + ] + }, + "unlink(uint256 handleId,uint256 profileId,uint256 nonce,uint256 deadline)": { + "intent": "unlink", + "fields": [ + { "path": "handleId", "label": "handleId", "format": "raw" }, + { "path": "profileId", "label": "profileId", "format": "raw" }, + { "path": "nonce", "label": "nonce", "format": "raw" }, + { "label": "Deadline", "path": "deadline", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lens/tests/eip712-lens-lenshub.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lens/tests/eip712-lens-lenshub.tests.json new file mode 100644 index 0000000..e113a36 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lens/tests/eip712-lens-lenshub.tests.json @@ -0,0 +1,774 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Act", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Act": [ + { "name": "publicationActedProfileId", "type": "uint256" }, + { "name": "publicationActedId", "type": "uint256" }, + { "name": "actorProfileId", "type": "uint256" }, + { "name": "referrerProfileIds", "type": "uint256[]" }, + { "name": "referrerPubIds", "type": "uint256[]" }, + { "name": "actionModuleAddress", "type": "address" }, + { "name": "actionModuleData", "type": "bytes" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Act", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d" + }, + "message": { + "publicationActedProfileId": 412876, + "publicationActedId": 27, + "actorProfileId": 589332, + "referrerProfileIds": [412876, 401245], + "referrerPubIds": [26, 19], + "actionModuleAddress": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", + "actionModuleData": "0x0000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa8417400000000000000000000000000000000000000000000000000000000000f4240", + "nonce": 128, + "deadline": 1782864000 + } + }, + "expectedTexts": ["publicationActedProfileId", "412876", "publicationActedId", "27", "actorProfileId", "589332"] + }, + { + "description": "ChangeDelegatedExecutorsConfig", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "ChangeDelegatedExecutorsConfig": [ + { "name": "delegatorProfileId", "type": "uint256" }, + { "name": "delegatedExecutors", "type": "address[]" }, + { "name": "approvals", "type": "bool[]" }, + { "name": "configNumber", "type": "uint64" }, + { "name": "switchToGivenConfig", "type": "bool" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "ChangeDelegatedExecutorsConfig", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" + }, + "message": { + "delegatorProfileId": 84521, + "delegatedExecutors": [ + "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", + "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619", + "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270" + ], + "approvals": [true, false, true], + "configNumber": 4, + "switchToGivenConfig": true, + "nonce": 12, + "deadline": 1776677136 + } + }, + "expectedTexts": [ + "Delegator ProfileId", + "84521", + "Delegated Executors", + "0x2791Bca1f2de4661E D88A30C99A7a9449A a84174 Delegated Executors 0x7ceB23fD6bC0adD5 9E62ac25578270cFf1b 9f619", + "Delegated Executors", + "0x0d500B1d8E8eF31E2 1C99d1Db9A6444d3A Df1270", + "Approvals", + "true Approvals false", + "Approvals", + "true", + "configNumber", + "4", + "switchToGivenConfig", + "true", + "nonce", + "12" + ] + }, + { + "description": "Comment", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Comment": [ + { "name": "profileId", "type": "uint256" }, + { "name": "contentURI", "type": "string" }, + { "name": "pointedProfileId", "type": "uint256" }, + { "name": "pointedPubId", "type": "uint256" }, + { "name": "referrerProfileIds", "type": "uint256[]" }, + { "name": "referrerPubIds", "type": "uint256[]" }, + { "name": "referenceModuleData", "type": "bytes" }, + { "name": "actionModules", "type": "address[]" }, + { "name": "actionModulesInitDatas", "type": "bytes[]" }, + { "name": "referenceModule", "type": "address" }, + { "name": "referenceModuleInitData", "type": "bytes" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Comment", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" + }, + "message": { + "profileId": "48291", + "contentURI": "ipfs://bafybeid7f4m4n7vxxtdh6x2f5w4jv3l2t5n6k2k3x4v5z6y7a8b9c0d1e2", + "pointedProfileId": "10987", + "pointedPubId": "42", + "referrerProfileIds": ["10201", "22117"], + "referrerPubIds": ["88", "13"], + "referenceModuleData": "0x", + "actionModules": ["0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619"], + "actionModulesInitDatas": ["0x", "0x"], + "referenceModule": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "referenceModuleInitData": "0x", + "nonce": "17", + "deadline": "1798761600" + } + }, + "expectedTexts": [ + "Profile Id", + "48291", + "content URI", + "ipfs://bafybeid7f4m4n7 vxxtdh6x2f5w4jv3l2t5n 6k2k3x4v5z6y7a8b9c0 d1e2", + "Pointed Profile Id", + "Profile Id", + "10987", + "Pointed Pub Id", + "42", + "nonce", + "17" + ] + }, + { + "description": "Follow", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Follow": [ + { "name": "followerProfileId", "type": "uint256" }, + { "name": "idsOfProfilesToFollow", "type": "uint256[]" }, + { "name": "followTokenIds", "type": "uint256[]" }, + { "name": "datas", "type": "bytes[]" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Follow", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" + }, + "message": { + "followerProfileId": "84521", + "idsOfProfilesToFollow": ["12", "1043"], + "followTokenIds": ["0", "0"], + "datas": ["0x", "0x"], + "nonce": "27", + "deadline": "1777680000" + } + }, + "expectedTexts": [ + "follower ProfileId", + "84521", + "ids Of Profiles To Follow", + "12", + "ids Of Profiles To Follow", + "1043", + "follow TokenIds", + "0 follow TokenIds 0", + "datas", + "0x", + "datas", + "0x", + "nonce", + "27" + ] + }, + { + "description": "follow_with_sign", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "follow_with_sign": [{ "name": "followerProfileId", "type": "uint256" }, { "name": "signatureDeadline", "type": "uint256" }] + }, + "primaryType": "follow_with_sign", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d" + }, + "message": { "followerProfileId": "842197", "signatureDeadline": "1776643200" } + }, + "expectedTexts": ["followerProfileId", "842197", "signatureDeadline", "1776643200"] + }, + { + "description": "link", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "link": [{ "name": "handle_id", "type": "uint256" }, { "name": "profile_id", "type": "uint256" }] + }, + "primaryType": "link", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d" + }, + "message": { "handle_id": 184467, "profile_id": 93211 } + }, + "expectedTexts": ["handle_id", "184467", "profile_id", "93211"] + }, + { + "description": "link_with_sig", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "link_with_sig": [ + { "name": "handle_id", "type": "uint256" }, + { "name": "profile_id", "type": "uint256" }, + { "name": "signatureDeadline", "type": "uint256" } + ] + }, + "primaryType": "link_with_sig", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d" + }, + "message": { "handle_id": 1045123, "profile_id": 1045098, "signatureDeadline": 1776643200 } + }, + "expectedTexts": ["handle_id", "1045123", "profile_id", "1045098"] + }, + { + "description": "mint", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "mint": [ + { "name": "to", "type": "uint256" }, + { "name": "profile_id", "type": "uint256" }, + { "name": "profile_id_pointed", "type": "uint256" }, + { "name": "pubid_pointed", "type": "uint256" } + ] + }, + "primaryType": "mint", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" + }, + "message": { "to": "1845210", "profile_id": "512944", "profile_id_pointed": "509102", "pubid_pointed": "73" } + }, + "expectedTexts": [ + "to", + "review", + "to", + "review", + "to", + "1845210", + "profile_id", + "512944", + "profile_id", + "profile_id_pointed", + "509102", + "pubid_pointed", + "73", + "to" + ] + }, + { + "description": "mirror", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Mirror": [ + { "name": "profileId", "type": "uint256" }, + { "name": "metadataURI", "type": "string" }, + { "name": "pointedProfileId", "type": "uint256" }, + { "name": "pointedPubId", "type": "uint256" }, + { "name": "referrerProfileIds", "type": "uint256[]" }, + { "name": "referrerPubIds", "type": "uint256[]" }, + { "name": "referenceModuleData", "type": "bytes" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Mirror", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xDb46D1dC155634fBC732f92E853b10B288aD5A1D" + }, + "message": { + "profileId": 845321, + "metadataURI": "ipfs://bafkreifx2w4m6p7v3k9n2q8s5t1y0z7c4u6e8r9a1b3d5f7h9j0k2l4m", + "pointedProfileId": 112233, + "pointedPubId": 57, + "referrerProfileIds": [445566, 778899], + "referrerPubIds": [12, 34], + "referenceModuleData": "0x", + "nonce": 19, + "deadline": 1785168000 + } + }, + "expectedTexts": [ + "profileId", + "845321", + "metadataURI", + "ipfs://bafkreifx2w4m6p 7v3k9n2q8s5t1y0z7c4u 6e8r9a1b3d5f7h9j0k2l 4m", + "pointedProfileId", + "112233", + "nonce", + "19" + ] + }, + { + "description": "mirror_with_sig", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "mirror_with_sig": [ + { "name": "profile_id", "type": "uint256" }, + { "name": "profile_id_pointed", "type": "uint256" }, + { "name": "pubid_pointed", "type": "uint256" }, + { "name": "signatureDeadline", "type": "uint256" } + ] + }, + "primaryType": "mirror_with_sig", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d" + }, + "message": { "profile_id": 845321, "profile_id_pointed": 712004, "pubid_pointed": 43, "signatureDeadline": 1779321600 } + }, + "expectedTexts": ["Deadline", "1779321600"] + }, + { + "description": "Post", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Post": [ + { "name": "profileId", "type": "uint256" }, + { "name": "contentURI", "type": "string" }, + { "name": "actionModules", "type": "address[]" }, + { "name": "actionModulesInitDatas", "type": "bytes[]" }, + { "name": "referenceModule", "type": "address" }, + { "name": "referenceModuleInitData", "type": "bytes" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Post", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xDb46d1Dc155634Fbc732f92E853b10B288Ad5A1d" + }, + "message": { + "profileId": 42817, + "contentURI": "ipfs://bafybeid5n5x7m2z4j4q4s5j2xjv4f4m2j3mq6y7f7z3e6x2h6z4f2u3m3a/metadata.json", + "actionModules": [], + "actionModulesInitDatas": [], + "referenceModule": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", + "referenceModuleInitData": "0x", + "nonce": 12, + "deadline": 1776681600 + } + }, + "expectedTexts": [ + "Profile Id", + "42817", + "Post URI", + "ipfs://bafybeid5n5x7m2 z4j4q4s5j2xjv4f4m2j3 mq6y7f7z3e6x2h6z4f2 u3m3a/metadata.json", + "nonce", + "12" + ] + }, + { + "description": "post_with_sign", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "post_with_sign": [{ "name": "profile_id", "type": "uint256" }, { "name": "signatureDeadline", "type": "uint256" }] + }, + "primaryType": "post_with_sign", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" + }, + "message": { "profile_id": 735421, "signatureDeadline": 1776643200 } + }, + "expectedTexts": ["profile_id", "735421", "signatureDeadline", "1776643200"] + }, + { + "description": "Quote", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Quote": [ + { "name": "profileId", "type": "uint256" }, + { "name": "contentURI", "type": "string" }, + { "name": "pointedProfileId", "type": "uint256" }, + { "name": "pointedPubId", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Quote", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" + }, + "message": { + "profileId": 84291, + "contentURI": "ipfs://bafkreihdwdcefgh4dqkjv67uzcmw7ojee6xedzdetojuzjevtenxquvyku", + "pointedProfileId": 21841, + "pointedPubId": 57, + "nonce": 19, + "deadline": 1779321600 + } + }, + "expectedTexts": [ + "profileId", + "84291", + "contentURI", + "ipfs://bafkreihdwdcefgh 4dqkjv67uzcmw7ojee6 xedzdetojuzjevtenxquv yku", + "pointedProfileId", + "21841", + "pointedPubId", + "57", + "nonce", + "19", + "deadline", + "1779321600" + ] + }, + { + "description": "quote_with_sign", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "quote_with_sign": [ + { "name": "profile_id", "type": "uint256" }, + { "name": "profile_id_pointed", "type": "uint256" }, + { "name": "pubid_pointed", "type": "uint256" }, + { "name": "signatureDeadline", "type": "uint256" } + ] + }, + "primaryType": "quote_with_sign", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" + }, + "message": { "profile_id": 482913, "profile_id_pointed": 136204, "pubid_pointed": 27, "signatureDeadline": 1781913600 } + }, + "expectedTexts": ["profile_id", "482913", "profile_id_pointed", "136204", "pubid_pointed", "27", "signatureDeadline", "1781913600"] + }, + { + "description": "set_block_status", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "set_block_status": [{ "name": "byProfileId", "type": "uint256" }, { "name": "signatureDeadline", "type": "uint256" }] + }, + "primaryType": "set_block_status", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" + }, + "message": { "byProfileId": "845211", "signatureDeadline": "1777699200" } + }, + "expectedTexts": ["byProfileId", "845211", "signatureDeadline", "1777699200"] + }, + { + "description": "SetProfileMetadataURI", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "SetProfileMetadataURI": [ + { "name": "profileId", "type": "uint256" }, + { "name": "metadataURI", "type": "string" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "SetProfileMetadataURI", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xDb46d1Dc155634Fbc732f92E853b10B288Ad5A1d" + }, + "message": { + "profileId": 482913, + "metadataURI": "ipfs://bafybeid5n5x7m2z4j4q4s5j2xjv4f4m2j3mq6y7f7z3e6x2h6z4f2u3m3a", + "nonce": 27, + "deadline": 1782864000 + } + }, + "expectedTexts": [ + "profileId", + "482913", + "metadataURI", + "ipfs://bafybeid5n5x7m2 z4j4q4s5j2xjv4f4m2j3 mq6y7f7z3e6x2h6z4f2 u3m3a", + "nonce", + "27" + ] + }, + { + "description": "set_block_status_with_sig", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "set_block_status_with_sig": [{ "name": "byProfileId", "type": "uint256" }, { "name": "signatureDeadline", "type": "uint256" }] + }, + "primaryType": "set_block_status_with_sig", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d" + }, + "message": { "byProfileId": "84521", "signatureDeadline": "1776672000" } + }, + "expectedTexts": ["byProfileId", "84521", "signatureDeadline", "1776672000"] + }, + { + "description": "Set Follow Module", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "SetFollowModule": [ + { "name": "profileId", "type": "uint256" }, + { "name": "followModule", "type": "address" }, + { "name": "followModuleInitData", "type": "bytes" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "SetFollowModule", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" + }, + "message": { + "profileId": 128472, + "followModule": "0x794a61358D6845594F94dc1DB02A252b5b4814aD", + "followModuleInitData": "0x", + "nonce": 42, + "deadline": 1782864000 + } + }, + "expectedTexts": ["nonce", "42"] + }, + { + "description": "set_profile_metadata_with_sign", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "set_profile_metadata_with_sign": [{ "name": "profileId", "type": "uint256" }, { "name": "signatureDeadline", "type": "uint256" }] + }, + "primaryType": "set_profile_metadata_with_sign", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xdb46d1dc155634fbc732f92e853b10b288ad5a1d" + }, + "message": { "profileId": 42817, "signatureDeadline": 1776686400 } + }, + "expectedTexts": ["profileId", "42817", "signatureDeadline", "1776686400"] + }, + { + "description": "Unfollow", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Unfollow": [ + { "name": "unfollowerProfileId", "type": "uint256" }, + { "name": "idsOfProfilesToUnfollow", "type": "uint256[]" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Unfollow", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d" + }, + "message": { "unfollowerProfileId": 48219, "idsOfProfilesToUnfollow": [9182, 22451, 77604], "nonce": 17, "deadline": 1779273600 } + }, + "expectedTexts": [ + "Unfollower ProfileId", + "48219", + "ids Of Profiles To Unfollow", + "9182", + "ids Of Profiles To Unfollow", + "22451 ids Of Profiles To Unfollow 77604", + "nonce", + "17", + "deadline", + "1779273600" + ] + }, + { + "description": "unfollow_with_sign", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "unfollow_with_sign": [{ "name": "unfollowerProfileId", "type": "uint256" }, { "name": "signatureDeadline", "type": "uint256" }] + }, + "primaryType": "unfollow_with_sign", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d" + }, + "message": { "unfollowerProfileId": 482193, "signatureDeadline": 1779321600 } + }, + "expectedTexts": ["followerProfileId", "482193", "signatureDeadline", "1779321600"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lens/tests/eip712-lens-token-handle-registry.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lens/tests/eip712-lens-token-handle-registry.tests.json new file mode 100644 index 0000000..ed3e9e7 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lens/tests/eip712-lens-token-handle-registry.tests.json @@ -0,0 +1,55 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "unlink_with_sig", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "unlink_with_sig": [ + { "name": "handle_id", "type": "uint256" }, + { "name": "profile_id", "type": "uint256" }, + { "name": "signatureDeadline", "type": "uint256" } + ] + }, + "primaryType": "unlink_with_sig", + "domain": { "name": "Example", "version": "1", "chainId": 137, "verifyingContract": "0xd4f2f33680fccb36748fa9831851643781608844" }, + "message": { "handle_id": "1000000000000000000", "profile_id": "1000000000000000000", "signatureDeadline": "1000000000000000000" } + }, + "expectedTexts": ["handle_id", "100000000000000000 0", "profile_id", "100000000000000000 0", "signatureDeadline", "100000000000000000 0"] + }, + { + "description": "unlink", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "unlink": [ + { "name": "handleId", "type": "uint256" }, + { "name": "profileId", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "unlink", + "domain": { + "name": "Lens Protocol Profiles", + "version": "2", + "chainId": 137, + "verifyingContract": "0xD4F2F33680FCCb36748FA9831851643781608844" + }, + "message": { "handleId": "904217", "profileId": "129381", "nonce": "12", "deadline": "1777449600" } + }, + "expectedTexts": ["handleId", "904217", "profileId", "129381", "nonce", "12"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-WithdrawalQueueERC721.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-WithdrawalQueueERC721.json new file mode 100644 index 0000000..2e691fa --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-WithdrawalQueueERC721.json @@ -0,0 +1,198 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "WithdrawalQueueERC721", + "contract": { "deployments": [{ "chainId": 1, "address": "0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1" }] } + }, + "metadata": { + "owner": "Lido DAO", + "info": { "url": "https://lido.fi" }, + "constants": { + "stETHaddress": "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84", + "wstETHaddress": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0" + }, + "contractName": "WithdrawalQueueERC721" + }, + "display": { + "formats": { + "requestWithdrawals(uint256[] _amounts, address _owner)": { + "intent": "Request Withdrawal", + "interpolatedIntent": "Withdraw {_amounts.[]}", + "fields": [ + { + "label": "Amount", + "format": "tokenAmount", + "path": "#._amounts.[]", + "params": { "token": "$.metadata.constants.stETHaddress" }, + "visible": "always" + }, + { + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#._owner", + "visible": "always" + } + ] + }, + "requestWithdrawalsWithPermit(uint256[] _amounts, address _owner, (uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) _permit)": { + "intent": "Request Withdrawal", + "interpolatedIntent": "Withdraw {_amounts.[]}", + "fields": [ + { + "label": "Amount", + "format": "tokenAmount", + "path": "#._amounts.[]", + "params": { "token": "$.metadata.constants.stETHaddress" }, + "visible": "always" + }, + { + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#._owner", + "visible": "always" + }, + { "label": "Permit Value", "path": "#._permit.value", "visible": "never" }, + { "label": "Permit Deadline", "path": "#._permit.deadline", "visible": "never" }, + { "label": "Permit V", "path": "#._permit.v", "visible": "never" }, + { "label": "Permit R", "path": "#._permit.r", "visible": "never" }, + { "label": "Permit S", "path": "#._permit.s", "visible": "never" } + ] + }, + "requestWithdrawalsWstETH(uint256[] _amounts, address _owner)": { + "intent": "Request withdrawal", + "interpolatedIntent": "Withdraw {_amounts.[]}", + "fields": [ + { + "label": "Amount to withdraw", + "format": "tokenAmount", + "path": "#._amounts.[]", + "params": { "token": "$.metadata.constants.wstETHaddress" }, + "visible": "always" + }, + { + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"], "senderAddress": ["0x0000000000000000000000000000000000000000"] }, + "path": "#._owner", + "visible": "always" + } + ] + }, + "requestWithdrawalsWstETHWithPermit(uint256[] _amounts, address _owner, (uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) _permit)": { + "intent": "Request withdrawal", + "interpolatedIntent": "Withdraw {_amounts.[]}", + "fields": [ + { + "label": "Amount to withdraw", + "format": "tokenAmount", + "path": "#._amounts.[]", + "params": { "token": "$.metadata.constants.wstETHaddress" }, + "visible": "always" + }, + { + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#._owner", + "visible": "always" + }, + { "label": "Permit", "path": "#._permit", "visible": "never" } + ] + }, + "claimWithdrawal(uint256 _requestId)": { + "intent": "Claim withdrawal", + "fields": [{ "label": "Request ID", "format": "raw", "path": "#._requestId", "visible": "always" }] + }, + "claimWithdrawals(uint256[] _requestIds, uint256[] _hints)": { + "intent": "Claim withdrawals", + "fields": [ + { "label": "Request ID", "format": "raw", "path": "#._requestIds.[]", "visible": "always" }, + { "label": "Hints", "path": "#._hints.[]", "visible": "never" } + ] + }, + "claimWithdrawalsTo(uint256[] _requestIds, uint256[] _hints, address _recipient)": { + "intent": "Claim withdrawals", + "fields": [ + { "label": "Request IDs", "format": "raw", "path": "#._requestIds.[]", "visible": "always" }, + { + "label": "ETH recipient", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#._recipient", + "visible": "always" + }, + { "label": "Hints", "path": "#._hints.[]", "visible": "never" } + ] + }, + "approve(address _to, uint256 _requestId)": { + "intent": "Approve unstETH NFT", + "fields": [ + { + "label": "Operator address", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local"] }, + "path": "#._to" + }, + { "label": "Request ID", "format": "raw", "path": "#._requestId" } + ] + }, + "safeTransferFrom(address _from, address _to, uint256 _requestId)": { + "intent": "Transfer unstETH NFT", + "interpolatedIntent": "Send unstETH to {_to}", + "fields": [ + { + "label": "From", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#._from", + "visible": "always" + }, + { + "label": "To", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#._to", + "visible": "always" + }, + { "label": "Request ID", "format": "raw", "path": "#._requestId", "visible": "always" } + ] + }, + "transferFrom(address _from, address _to, uint256 _requestId)": { + "intent": "Transfer unstETH NFT", + "interpolatedIntent": "Send unstETH to {_to}", + "fields": [ + { + "label": "From", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#._from", + "visible": "always" + }, + { + "label": "To", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#._to", + "visible": "always" + }, + { "label": "Request ID", "format": "raw", "path": "#._requestId", "visible": "always" } + ] + }, + "setApprovalForAll(address _operator, bool _approved)": { + "intent": "Set unstETH operator approval", + "fields": [ + { + "label": "Operator", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#._operator", + "visible": "always" + }, + { "label": "Approved", "format": "raw", "path": "#._approved", "visible": "always" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-stETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-stETH.json new file mode 100644 index 0000000..2522527 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-stETH.json @@ -0,0 +1,66 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { "$id": "stETH", "contract": { "deployments": [{ "chainId": 1, "address": "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84" }] } }, + "metadata": { + "owner": "Lido DAO", + "info": { "url": "https://lido.fi" }, + "constants": { "stETHaddress": "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84" }, + "contractName": "stETH" + }, + "display": { + "formats": { + "approve(address _spender, uint256 _amount)": { + "intent": "Approve stETH", + "interpolatedIntent": "Allow to spend {_amount}", + "fields": [ + { + "label": "Spender", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local"] }, + "path": "#._spender", + "visible": "always" + }, + { + "label": "Amount", + "format": "tokenAmount", + "path": "#._amount", + "params": { + "token": "$.metadata.constants.stETHaddress", + "threshold": "0x8000000000000000000000000000000000000000000000000000000000000000", + "message": "Unlimited" + }, + "visible": "always" + } + ] + }, + "submit(address _referral)": { + "intent": "Stake ETH", + "interpolatedIntent": "Stake {@.value} ETH", + "fields": [ + { "label": "Amount", "format": "amount", "path": "@.value" }, + { "label": "Referral", "path": "#._referral", "visible": "never" } + ] + }, + "transfer(address _recipient, uint256 _amount)": { + "intent": "Transfer stETH", + "interpolatedIntent": "Send {_amount} to {_recipient}", + "fields": [ + { + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#._recipient", + "visible": "always" + }, + { + "label": "Amount", + "format": "tokenAmount", + "path": "#._amount", + "params": { "token": "$.metadata.constants.stETHaddress" }, + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-wstETH-referral-staker.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-wstETH-referral-staker.json new file mode 100644 index 0000000..540ca24 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-wstETH-referral-staker.json @@ -0,0 +1,20 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "wstETH-referral-staker", + "contract": { "deployments": [{ "chainId": 1, "address": "0xa88f0329C2c4ce51ba3fc619BBf44efE7120Dd0d" }] } + }, + "metadata": { "owner": "Lido DAO", "info": { "url": "https://lido.fi" }, "contractName": "wstETH-referral-staker" }, + "display": { + "formats": { + "stakeETH(address _referral)": { + "intent": "Stake ETH", + "interpolatedIntent": "Stake {@.value} ETH", + "fields": [ + { "label": "Amount to stake", "format": "amount", "path": "@.value" }, + { "label": "Referral", "path": "#._referral", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-wstETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-wstETH.json new file mode 100644 index 0000000..9e62fc5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/calldata-wstETH.json @@ -0,0 +1,191 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { "$id": "wstETH", "contract": { "deployments": [{ "chainId": 1, "address": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0" }] } }, + "metadata": { + "owner": "Lido DAO", + "info": { "url": "https://lido.fi" }, + "constants": { + "stETHaddress": "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84", + "wstETHaddress": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0" + }, + "contractName": "wstETH" + }, + "display": { + "formats": { + "approve(address spender, uint256 amount)": { + "intent": "Authorize spending", + "interpolatedIntent": "Allow to spend {amount}", + "fields": [ + { + "label": "Spender", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local"] }, + "path": "#.spender", + "visible": "always" + }, + { + "label": "Amount", + "format": "tokenAmount", + "path": "#.amount", + "params": { + "token": "$.metadata.constants.wstETHaddress", + "threshold": "0x8000000000000000000000000000000000000000000000000000000000000000", + "message": "Unlimited" + }, + "visible": "always" + } + ] + }, + "decreaseAllowance(address spender, uint256 subtractedValue)": { + "intent": "Decrease allowance", + "fields": [ + { + "label": "Spender", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local"] }, + "path": "#.spender", + "visible": "always" + }, + { + "label": "Amount", + "format": "tokenAmount", + "path": "#.subtractedValue", + "params": { "token": "$.metadata.constants.wstETHaddress" }, + "visible": "always" + } + ] + }, + "increaseAllowance(address spender, uint256 addedValue)": { + "intent": "Increase allowance", + "fields": [ + { + "label": "Spender", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local"] }, + "path": "#.spender", + "visible": "always" + }, + { + "label": "Amount", + "format": "tokenAmount", + "path": "#.addedValue", + "params": { + "token": "$.metadata.constants.wstETHaddress", + "threshold": "0x8000000000000000000000000000000000000000000000000000000000000000", + "message": "Unlimited" + }, + "visible": "always" + } + ] + }, + "permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)": { + "intent": "Permit spending", + "interpolatedIntent": "Permit {value} spending", + "fields": [ + { + "label": "Owner", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#.owner", + "visible": "always" + }, + { + "label": "Spender", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local"] }, + "path": "#.spender", + "visible": "always" + }, + { + "label": "Amount", + "format": "tokenAmount", + "path": "#.value", + "params": { + "token": "$.metadata.constants.wstETHaddress", + "threshold": "0x8000000000000000000000000000000000000000000000000000000000000000", + "message": "Unlimited" + }, + "visible": "always" + }, + { "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" }, "path": "#.deadline", "visible": "always" }, + { "label": "V", "path": "#.v", "visible": "never" }, + { "label": "R", "path": "#.r", "visible": "never" }, + { "label": "S", "path": "#.s", "visible": "never" } + ] + }, + "wrap(uint256 _stETHAmount)": { + "intent": "Wrap stETH", + "interpolatedIntent": "Wrap {_stETHAmount}", + "fields": [ + { + "label": "stETH amount", + "format": "tokenAmount", + "path": "#._stETHAmount", + "params": { "token": "$.metadata.constants.stETHaddress" }, + "visible": "always" + } + ] + }, + "unwrap(uint256 _wstETHAmount)": { + "intent": "Unwrap wstETH to stETH", + "interpolatedIntent": "Unwrap {_wstETHAmount}", + "fields": [ + { + "label": "wstETH amount", + "format": "tokenAmount", + "path": "#._wstETHAmount", + "params": { "token": "$.metadata.constants.wstETHaddress" }, + "visible": "always" + } + ] + }, + "transfer(address recipient, uint256 amount)": { + "intent": "Transfer wstETH", + "interpolatedIntent": "Send {amount} to {recipient}", + "fields": [ + { + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#.recipient", + "visible": "always" + }, + { + "label": "Amount", + "format": "tokenAmount", + "path": "#.amount", + "params": { "token": "$.metadata.constants.wstETHaddress" }, + "visible": "always" + } + ] + }, + "transferFrom(address sender, address recipient, uint256 amount)": { + "intent": "Transfer wstETH", + "interpolatedIntent": "Send {amount} to {recipient}", + "fields": [ + { + "label": "Sender", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#.sender", + "visible": "always" + }, + { + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#.recipient", + "visible": "always" + }, + { + "label": "Amount", + "format": "tokenAmount", + "path": "#.amount", + "params": { "token": "$.metadata.constants.wstETHaddress" }, + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-WithdrawalQueueERC721.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-WithdrawalQueueERC721.tests.json new file mode 100644 index 0000000..8810229 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-WithdrawalQueueERC721.tests.json @@ -0,0 +1,81 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Request Withdrawal - chain 1", + "rawTx": "0x02f8af018201148405f5e100840bad32608306680994889edc2edab5f40e902b864ad4d7ade8e412f9b180b884d66810420000000000000000000000000000000000000000000000000000000000000040000000000000000000000000ba782baf2ee66f6fc76a711b6554975afb2805e400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000003e99b888f3eb3c0", + "txHash": "0x726b85ce98dec618eaaf3abaae514613e9a89b7c489accbe0d0b807295a8797e", + "expectedTexts": [ + "Interaction with", + "Lido DAO", + "Amount to withdraw", + "0.001101279150423 731 stETH", + "Beneficiary", + "conan26.eth", + "Max fees", + "0.0000822484191 ETH" + ] + }, + { + "description": "Request Withdrawal - chain 1", + "rawTx": "0x02f9014d010983915c738403ca653b830463a094889edc2edab5f40e902b864ad4d7ade8e412f9b180b90124acf41e4d00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000b5f547a6b243c1fe6e907b6dc85e366c683911b8000000000000000000000000000000000000000000000000120a871cc00200000000000000000000000000000000000000000000000000000000000069bbc8a7000000000000000000000000000000000000000000000000000000000000001b1444e01dbd6066a3ab981980258e25413f406f98b3c11375f30efdc80157959928981af7de920ada3b9148d416c54f7755c36aa34bd21094f819bf661c6c1bdb0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000120a871cc0020000c0", + "txHash": "0x09e30771bbcade3c51b23674002770780b020d19f0dfddcb8ba9ba08b7ee7d51", + "expectedTexts": [ + "Interaction with", + "Lido DAO", + "Amount to withdraw", + "1.3 stETH", + "Beneficiary", + "0xB5F547A6b243C1Fe 6e907B6dC85e366c68 3911b8", + "Max fees", + "0.00001829321474608 ETH" + ] + }, + { + "description": "claim withdrawal - chain 1", + "rawTx": "0x02f84e01820121840280a484840663c0f28302b15894889edc2edab5f40e902b864ad4d7ade8e412f9b180a4f8444436000000000000000000000000000000000000000000000000000000000001c90fc0", + "txHash": "0x6c94afecc0fa00212767e0bc6c550a580616eef348a64aa55f86832bb54349de", + "expectedTexts": ["Interaction with", "Lido DAO", "Request ID", "117007", "Max fees", "0.00001891793145988 8 ETH"] + }, + { + "description": "claim withdrawals - chain 1", + "rawTx": "0x02f8ec0107830f42408405db8da28301612094889edc2edab5f40e902b864ad4d7ade8e412f9b180b8c4e3afe0a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000016e410000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000034cc0", + "txHash": "0x79a234f238f16b22ff70a2023fbbba8cf4982f46c795eeee6ffd0232d942fa99", + "expectedTexts": ["Interaction with", "Lido DAO", "Request ID", "93761", "Max fees", "0.0000088840348688 ETH"] + }, + { + "description": "Transfer unstETH NFT - chain 1", + "rawTx": "0x02f88c01068405f5e1008409ce122082d3b694889edc2edab5f40e902b864ad4d7ade8e412f9b180b86442842e0e0000000000000000000000000240ce6cdac388d077f32b16c63b8c4251340ad50000000000000000000000000240ce6cdac388d077f32b16c63b8c4251340ad5000000000000000000000000000000000000000000000000000000000001ccb8c0", + "txHash": "0x719295da3686977b70cf157cc36bf74035acba0945aea47fe7a8845f60dec7b0", + "expectedTexts": [ + "Interaction with", + "Lido DAO", + "From", + "0x0240ce6CDAC388d 077f32b16c63b8C4251 340Ad5", + "To", + "0x0240ce6CDAC388d 077f32b16c63b8C4251 340Ad5", + "Request ID", + "117944", + "Max fees", + "0.000008915571 ETH" + ] + }, + { + "description": "Transfer unstETH NFT - chain 1", + "rawTx": "0x02f88c0111839896808403f21d578302475394889edc2edab5f40e902b864ad4d7ade8e412f9b180b86423b872dd000000000000000000000000914403e8bfaaa4a7a47501d25cd1b4c1b2ae2772000000000000000000000000783402877691894c739b58e087107489ad6a5f25000000000000000000000000000000000000000000000000000000000001cd5ec0", + "txHash": "0x10cd5f8559ddfd311387d90278e20a4d831806b1ae9627fadb775e5a569eb55a", + "expectedTexts": [ + "Interaction with", + "Lido DAO", + "From", + "0x914403e8BfAaA4A7 A47501D25CD1B4c1B2 ae2772", + "To", + "0x783402877691894c 739b58E087107489aD 6A5f25", + "Request ID", + "118110", + "Max fees", + "0.0000098855436053 01 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-stETH.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-stETH.tests.json new file mode 100644 index 0000000..b356324 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-stETH.tests.json @@ -0,0 +1,41 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Approve stETH - chain 1", + "rawTx": "0x02f86d01158401bdfe288405866f45830129ab94ae7ab96520de3a18e5e111b5eaab095312d7fe8480b844095ea7b300000000000000000000000040aa958dd87fc8305b97f2ba922cddca374bcd7f0000000000000000000000000000000000000000000000000354a6ba7a180000c0", + "txHash": "0x855d1be7b06e45058123bfa96b17102d21b3c8d6e32b78d25bfddfe004adda44", + "expectedTexts": [ + "Interaction with", + "Lido DAO", + "Spender", + "0x40aA958dd87FC830 5b97f2BA922CDdCa37 4bcD7f", + "Amount", + "0.24 stETH", + "Max fees", + "0.0000070637429309 67 ETH" + ] + }, + { + "description": "Stake ETH - chain 1", + "rawTx": "0x02f853011f830f42408405b16fd683016b4794ae7ab96520de3a18e5e111b5eaab095312d7fe84880ef7fca59c4bb813a4a1903eab0000000000000000000000006dc9657c2d90d57cadffb64239242d06e6103e43c0", + "txHash": "0x2c1bdd2d86e183f6b439296b2c07437f64fb91fbf97f50ee2298c5232b5de128", + "expectedTexts": ["Interaction with", "Lido DAO", "Amount to stake", "1.0786084240005345 47 ETH", "Max fees", "0.00000888276061141 8 ETH"] + }, + { + "description": "Transfer stETH - chain 1", + "rawTx": "0x02f86e01158477359400852e90edd0008303a98094ae7ab96520de3a18e5e111b5eaab095312d7fe8480b844a9059cbb00000000000000000000000062425cd6bdcb6bfe51558ea465b063486b70dc9f0000000000000000000000000000000000000000000000000e0db2f70f18f532c0", + "txHash": "0xedd2ec5c2909a2f746905e20e51222d002bc3b93de02acbc2b8c3b9f7093b70e", + "expectedTexts": [ + "Interaction with", + "Lido DAO", + "Recipient", + "0x62425cD6BDcB6bFE 51558EA465B063486B 70dc9f", + "Amount", + "1.012662265408189 746 stETH", + "Max fees", + "0.048 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-wstETH-referral-staker.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-wstETH-referral-staker.tests.json new file mode 100644 index 0000000..88e1606 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-wstETH-referral-staker.tests.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Stake ETH - chain 1", + "rawTx": "0x02f8530112830f424084034826208304b34194a88f0329c2c4ce51ba3fc619bbf44efe7120dd0d88d6f788ee32cd0000a4946fe3e800000000000000000000000011d00000000000000000000000000000000011d0c0", + "txHash": "0x5dbf484d20aea51d0ffe9690ff3db21346f10da9ca4ce6e2a84cf4abf37d5ece", + "expectedTexts": ["Interaction with", "Lido DAO", "Amount to stake", "15.49 ETH", "Max fees", "0.00001696029698 ETH"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-wstETH.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-wstETH.tests.json new file mode 100644 index 0000000..bbd43b3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lido/tests/calldata-wstETH.tests.json @@ -0,0 +1,94 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending - chain 1", + "rawTx": "0x02f86c01658477359400847baffa9e82b62a947f39c581f595b53c5cb19bd0b3f8da6c935e2ca080b844095ea7b3000000000000000000000000bf67f59d2988a46fbff7ed79a621778a3cd3985b000000000000000000000000000000000000000000000010fa168bd82c3645eec0", + "txHash": "0xda944502a7bbbe2f39cdae33e464175ce62d0304b13c8d7ff0984f66b7d0dc07", + "expectedTexts": [ + "Interaction with", + "Lido DAO", + "Spender", + "0xBf67F59D2988A46F BFF7ed79A621778a3C d3985B", + "Amount", + "313.168649898893 395438 wstETH", + "Max fees", + "0.00009677163694948 4 ETH" + ] + }, + { + "description": "Wrap stETH - chain 1", + "rawTx": "0x02f84d0181818405f5e1008409a358a08302d8eb947f39c581f595b53c5cb19bd0b3f8da6c935e2ca080a4ea598cb00000000000000000000000000000000000000000000000000de0b6b3a763fffec0", + "txHash": "0x3af0ee20e9dba4ff0a5f18bf3bbaa551bb2397e91d61166668947aaafb99836b", + "expectedTexts": ["Interaction with", "Lido DAO", "stETH amount", "0.99999999999999 9998 stETH", "Max fees", "0.0000301737051 ETH"] + }, + { + "description": "Unwrap wstETH to stETH - chain 1", + "rawTx": "0x02f84c01628405f5e100840a52d2808302569a947f39c581f595b53c5cb19bd0b3f8da6c935e2ca080a4de0e9a3e000000000000000000000000000000000000000000000000000132ac87e52184c0", + "txHash": "0x907a2cfdbf3d3c2a7a20a1c2edf9f09c9c23ae74b74e8f298fa16461d29d0f87", + "expectedTexts": ["Interaction with", "Lido DAO w", "stETH amount", "0.000337191572414 852 wstETH", "Max fees", "0.0000265415144 ETH"] + }, + { + "description": "Transfer wstETH - chain 1", + "rawTx": "0xf86903840365dd1983013880947f39c581f595b53c5cb19bd0b3f8da6c935e2ca080b844a9059cbb000000000000000000000000db34fbb4e7989c3f8957e9e9b346bf46ee0f0408000000000000000000000000000000000000000000000000000009184e72a000018080", + "txHash": "0x0e5a75211ed011499112a72adcc6ce3ce68fec3d0bed51def072daefce3efcbb", + "expectedTexts": [ + "Interaction with", + "Lido DAO", + "Recipient", + "0xdB34FBB4E7989c3f 8957e9E9b346bf46Ee 0F0408", + "Amount", + "0.00001 wstETH", + "Max fees", + "0.0000045605908 ETH" + ] + }, + { + "description": "Decrease allowance - chain 1", + "rawTx": "0x02f8af01138477359400848b3dee0382ade2947f39c581f595b53c5cb19bd0b3f8da6c935e2ca080b844a457c2d7000000000000000000000000e951fe9a680e1249dbe463dd14a6d7061442bc9f00000000000000000000000000000000000000000000000001634549cc9c3000c080a0a57b29534519e2f8ebbe6f1f5889f4299360fa3af576f43ad9495d74e0880adda07a430809723b87417efb13c1b0f2f1995ede8681a2d913802d55261c019ae807", + "txHash": "0x0803495eb52ed1e5bdb65e386f603b9a1c83c20fb69365aa24fe0ce2ec93a5f2", + "expectedTexts": [ + "Interaction with", + "Lido DAO", + "Spender", + "0xe951fe9A680e1249 DBe463DD14A6d7061 442bc9f", + "Amount", + "0.0999998 wstETH" + ] + }, + { + "description": "Increase allowance - chain 1", + "rawTx": "0x02f8af014c84773594008483eb8ad282ae04947f39c581f595b53c5cb19bd0b3f8da6c935e2ca080b844395093510000000000000000000000005bdd5eb14d20cebd6d90b92da6eb866ee756c1220000000000000000000000000000000000000000000000000000000000000064c080a0622cfa3c9213c9ab97a962716d5fc9a63a0f9b496844184d49da140ce65e320da06e1eca8728f6b44ffa14ba31a2be7f69cc6c42bbb0942996977bae92a546af17", + "txHash": "0xc969f43f76513d06e6731afffe2a55387a9c0c420bcbbef5ea7007e77c598150", + "expectedTexts": [ + "Interaction with", + "Lido DAO", + "Spender", + "0x5BDD5EB14D20CEbD 6d90B92da6eB866Ee 756C122", + "Amount", + "0.00000000000000 01 wstETH" + ] + }, + { + "description": "Permit spending - chain 1", + "rawTx": "0x02f901520182932a831d5918850176be191b83037cc2947f39c581f595b53c5cb19bd0b3f8da6c935e2ca080b8e4d505accf00000000000000000000000008b00ceee2fb66029b53d76110b19eeaabfd1e65000000000000000000000000e66aa98b55c5a55c9af9da12fe39b8868af9a346ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000001bd925c9dc4daf2b97326adca692aba99dd40a1394c841772f5a724c2dc35953867e99359d1f68b310a5c7f88d01abaf6956d58334b3ec60f8b70f32380d9474fcc080a086dc5258e055940460390ded6e39e780df41d52370b43ef0a43caa37cfd4b0e7a05f786412335c0e17ba3fa0ea7dd8158025feafa6a8a7e5c478abecc0978d960b", + "txHash": "0x921cbe8ffe2ae92351a33e194d6d170420d94903f636adeb04108565ca6bed86", + "expectedTexts": ["Interaction with", "Lido DAO", "Owner", "Spender", "Amount", "Deadline"] + }, + { + "description": "Transfer wstETH from sender - chain 1", + "rawTx": "0x02f8d20182932b831d591885016d07380b8301f659947f39c581f595b53c5cb19bd0b3f8da6c935e2ca080b86423b872dd00000000000000000000000008b00ceee2fb66029b53d76110b19eeaabfd1e650000000000000000000000002aed99855fed0259e5774b50a9f589d2bc1e1597000000000000000000000000000000000000000000000000019334e70d000e9cc080a029a68b8e2e55674076776041e82a7a26c4838fa07389add5fd990fa407a593caa02cda4f8121f333419b1bb92a9009d10b06f74172e3a2310f1dd5afe2511de6a2", + "txHash": "0x6cb5632a279fcf9becb607354da606ba672d05151afebc5ba70450f1fd5cd790", + "expectedTexts": [ + "Interaction with", + "Lido DAO", + "Sender", + "0x08B00CEeE2fB660 29b53D76110b19eEa ABFd1e65", + "Recipient", + "0x2aEd99855FeD0259 e5774B50A9f589D2b C1e1597", + "Amount", + "0.11349258257459 1644 wstETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lifi/calldata-LIFIDiamond.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lifi/calldata-LIFIDiamond.json new file mode 100644 index 0000000..0de8c85 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lifi/calldata-LIFIDiamond.json @@ -0,0 +1,276 @@ +{ + "$schema": "https://github.com/LedgerHQ/clear-signing-erc7730-registry/blob/master/specs/erc7730-v2.schema.json", + "context": { + "$id": "LI.FI Service GmbH", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 137, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 42161, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 10, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 56, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 43114, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 100, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 250, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 324, "address": "0x341e94069f53234fE6DabeF707aD424830525715" }, + { "chainId": 8453, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 59144, "address": "0xDE1E598b81620773454588B85D6b5D4eEC32573e" }, + { "chainId": 5000, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 534352, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 42220, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 1284, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 1285, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 1313161554, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 1088, "address": "0x24ca98fB6972F5eE05f0dB00595c7f68D9FaFd68" }, + { "chainId": 25, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 1666600000, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 122, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 288, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 106, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 9001, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 42170, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 167004, "address": "0x3A9A5dBa8FE1C4Da98187cE4755701BCA182f63b" }, + { "chainId": 204, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 81457, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 252, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" }, + { "chainId": 34443, "address": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" } + ] + } + }, + "metadata": { + "owner": "LI.FI", + "info": { "url": "https://li.fi" }, + "constants": { + "addressAsEth": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", + "addressAsNull": "0x0000000000000000000000000000000000000000" + }, + "contractName": "LI.FI Service GmbH" + }, + "display": { + "definitions": { + "fromAmount": { + "label": "Amount info", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["$.metadata.constants.addressAsEth", "$.metadata.constants.addressAsNull"] } + }, + "_minAmountOut": { + "label": "Minimum Amount to receive", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["$.metadata.constants.addressAsEth", "$.metadata.constants.addressAsNull"] } + } + }, + "formats": { + "swapTokensMultipleV3ERC20ToERC20(bytes32 _transactionId, string _integrator, string _referrer, address _receiver, uint256 _minAmountOut, (address callTo, address approveTo, address sendingAssetId, address receivingAssetId, uint256 fromAmount, bytes callData, bool requiresDeposit)[] _swapData)": { + "$id": "swapTokensMultipleV3ERC20ToERC20", + "intent": "Swap", + "fields": [ + { + "path": "_swapData.[0].fromAmount", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "_swapData.[0].sendingAssetId" }, + "visible": "always" + }, + { + "path": "_minAmountOut", + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "_swapData.[-1].receivingAssetId" }, + "visible": "always" + }, + { + "path": "_receiver", + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Transaction Id", "path": "_transactionId", "visible": "never" }, + { "label": "Integrator", "path": "_integrator", "visible": "never" }, + { "label": "Referrer", "path": "_referrer", "visible": "never" }, + { "label": "Swap Data Call Data", "path": "_swapData.[].callData", "visible": "never" }, + { "label": "Swap Data Call To", "path": "_swapData.[].callTo", "visible": "never" }, + { "label": "Swap Data Approve To", "path": "_swapData.[].approveTo", "visible": "never" }, + { "label": "Swap Data Requires Deposit", "path": "_swapData.[].requiresDeposit", "visible": "never" } + ] + }, + "swapTokensMultipleV3ERC20ToNative(bytes32 _transactionId, string _integrator, string _referrer, address _receiver, uint256 _minAmountOut, (address callTo, address approveTo, address sendingAssetId, address receivingAssetId, uint256 fromAmount, bytes callData, bool requiresDeposit)[] _swapData)": { + "$id": "swapTokensMultipleV3ERC20ToNative", + "intent": "Swap", + "fields": [ + { + "path": "_swapData.[0].fromAmount", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "_swapData.[0].sendingAssetId" }, + "visible": "always" + }, + { "path": "_minAmountOut", "$ref": "$.display.definitions._minAmountOut", "visible": "always" }, + { + "path": "_receiver", + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Transaction Id", "path": "_transactionId", "visible": "never" }, + { "label": "Integrator", "path": "_integrator", "visible": "never" }, + { "label": "Referrer", "path": "_referrer", "visible": "never" }, + { "label": "Swap Data Call Data", "path": "_swapData.[].callData", "visible": "never" }, + { "label": "Swap Data Requires Deposit", "path": "_swapData.[].requiresDeposit", "visible": "never" }, + { "label": "Swap Data Approve To", "path": "_swapData.[].approveTo", "visible": "never" }, + { "label": "Swap Data Call To", "path": "_swapData.[].callTo", "visible": "never" } + ] + }, + "swapTokensMultipleV3NativeToERC20(bytes32 _transactionId, string _integrator, string _referrer, address _receiver, uint256 _minAmountOut, (address callTo, address approveTo, address sendingAssetId, address receivingAssetId, uint256 fromAmount, bytes callData, bool requiresDeposit)[] _swapData)": { + "$id": "swapTokensMultipleV3NativeToERC20", + "intent": "Swap", + "fields": [ + { "path": "@.value", "label": "Amount to send", "format": "amount" }, + { + "path": "_minAmountOut", + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "_swapData.[-1].receivingAssetId" }, + "visible": "always" + }, + { + "path": "_receiver", + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Transaction Id", "path": "_transactionId", "visible": "never" }, + { "label": "Integrator", "path": "_integrator", "visible": "never" }, + { "label": "Referrer", "path": "_referrer", "visible": "never" }, + { "label": "Swap Data [0] Call Data", "path": "_swapData.[0].callData", "visible": "never" }, + { "label": "Swap Data [0] Requires Deposit", "path": "_swapData.[0].requiresDeposit", "visible": "never" }, + { "label": "Swap Data [0] Call To", "path": "_swapData.[0].callTo", "visible": "never" }, + { "label": "Swap Data [0] Approve To", "path": "_swapData.[0].approveTo", "visible": "never" } + ] + }, + "swapTokensSingleV3ERC20ToERC20(bytes32 _transactionId, string _integrator, string _referrer, address _receiver, uint256 _minAmountOut, (address callTo, address approveTo, address sendingAssetId, address receivingAssetId, uint256 fromAmount, bytes callData, bool requiresDeposit) _swapData)": { + "$id": "swapTokensSingleV3ERC20ToERC20", + "intent": "Swap", + "fields": [ + { + "path": "_swapData.fromAmount", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "_swapData.sendingAssetId" }, + "visible": "always" + }, + { + "path": "_minAmountOut", + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "_swapData.receivingAssetId" }, + "visible": "always" + }, + { + "path": "_receiver", + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Transaction Id", "path": "_transactionId", "visible": "never" }, + { "label": "Integrator", "path": "_integrator", "visible": "never" }, + { "label": "Referrer", "path": "_referrer", "visible": "never" }, + { "label": "Swap Data Call Data", "path": "_swapData.callData", "visible": "never" }, + { "label": "Swap Data Requires Deposit", "path": "_swapData.requiresDeposit", "visible": "never" } + ] + }, + "swapTokensSingleV3ERC20ToNative(bytes32 _transactionId, string _integrator, string _referrer, address _receiver, uint256 _minAmountOut, (address callTo, address approveTo, address sendingAssetId, address receivingAssetId, uint256 fromAmount, bytes callData, bool requiresDeposit) _swapData)": { + "$id": "swapTokensSingleV3ERC20ToNative", + "intent": "Swap", + "fields": [ + { + "path": "_swapData.fromAmount", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "_swapData.sendingAssetId" }, + "visible": "always" + }, + { "path": "_minAmountOut", "$ref": "$.display.definitions._minAmountOut", "visible": "always" }, + { + "path": "_receiver", + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Transaction Id", "path": "_transactionId", "visible": "never" }, + { "label": "Integrator", "path": "_integrator", "visible": "never" }, + { "label": "Referrer", "path": "_referrer", "visible": "never" }, + { "label": "Swap Data Call Data", "path": "_swapData.callData", "visible": "never" }, + { "label": "Swap Data Call To", "path": "_swapData.callTo", "visible": "never" }, + { "label": "Swap Data Approve To", "path": "_swapData.approveTo", "visible": "never" }, + { "label": "Swap Data Requires Deposit", "path": "_swapData.requiresDeposit", "visible": "never" } + ] + }, + "swapTokensSingleV3NativeToERC20(bytes32 _transactionId, string _integrator, string _referrer, address _receiver, uint256 _minAmountOut, (address callTo, address approveTo, address sendingAssetId, address receivingAssetId, uint256 fromAmount, bytes callData, bool requiresDeposit) _swapData)": { + "$id": "swapTokensSingleV3NativeToERC20", + "intent": "Swap", + "fields": [ + { "path": "@.value", "label": "Amount to send", "format": "amount" }, + { + "path": "_minAmountOut", + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "_swapData.receivingAssetId" }, + "visible": "always" + }, + { + "path": "_receiver", + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Transaction Id", "path": "_transactionId", "visible": "never" }, + { "label": "Integrator", "path": "_integrator", "visible": "never" }, + { "label": "Referrer", "path": "_referrer", "visible": "never" }, + { "label": "Swap Data Call Data", "path": "_swapData.callData", "visible": "never" }, + { "label": "Swap Data Requires Deposit", "path": "_swapData.requiresDeposit", "visible": "never" }, + { "label": "Swap Data Approve To", "path": "_swapData.approveTo", "visible": "never" } + ] + }, + "swapTokensGeneric(bytes32 _transactionId, string _integrator, string _referrer, address _receiver, uint256 _minAmount, (address callTo, address approveTo, address sendingAssetId, address receivingAssetId, uint256 fromAmount, bytes callData, bool requiresDeposit)[] _swapData)": { + "$id": "swapTokensGeneric", + "intent": "Swap", + "fields": [ + { + "path": "_swapData.[0].fromAmount", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "_swapData.[0].sendingAssetId" }, + "visible": "always" + }, + { + "path": "_minAmount", + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "_swapData.[-1].receivingAssetId" }, + "visible": "always" + }, + { + "path": "_receiver", + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "label": "Transaction Id", "path": "_transactionId", "visible": "never" }, + { "label": "Integrator", "path": "_integrator", "visible": "never" }, + { "label": "Referrer", "path": "_referrer", "visible": "never" }, + { "label": "Swap Data Call Data", "path": "_swapData.[].callData", "visible": "never" }, + { "label": "Swap Data Call To", "path": "_swapData.[].callTo", "visible": "never" }, + { "label": "Swap Data Approve To", "path": "_swapData.[].approveTo", "visible": "never" }, + { "label": "Swap Data Requires Deposit", "path": "_swapData.[].requiresDeposit", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lifi/tests/calldata-LIFIDiamond.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lifi/tests/calldata-LIFIDiamond.tests.json new file mode 100644 index 0000000..bd35b2b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lifi/tests/calldata-LIFIDiamond.tests.json @@ -0,0 +1,85 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Swap - chain 1", + "rawTx": "0x02f908100182026e8405f5e100841d91d57e83092faa941231deb6f5749ef6ce6943a275a1d3e7486f4eae80b907e45fd9ae2e82d1caaa74c5bf574756b6f41bd6ae9b56b0e6956600b37040b0a73c9a7ccb4600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000078b59874bf0fb404d88d9e688fdc56ee3e085e6b00000000000000000000000000000000000000012e30579338f1fa147ae147ae00000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000008626173652d617070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a307830303030303030303030303030303030303030303030303030303030303030303030303030303030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000003ef238c36035880efbdfa239d218186b79ad1d6f0000000000000000000000003ef238c36035880efbdfa239d218186b79ad1d6f000000000000000000000000d7efb00d12c2c13131fd319336fdf952525da2af000000000000000000000000d7efb00d12c2c13131fd319336fdf952525da2af000000000000000000000000000000000000000000000000000000012a05f20000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000084eedd56e1000000000000000000000000d7efb00d12c2c13131fd319336fdf952525da2af0000000000000000000000000000000000000000000000000000000002faf08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005aafc1f252d544f744d17a4e734afd6efc47ede400000000000000000000000000000000000000000000000000000000000000000000000000000000ac4c6e212a361c968f1725b4d055b47e63f80b75000000000000000000000000ac4c6e212a361c968f1725b4d055b47e63f80b75000000000000000000000000d7efb00d12c2c13131fd319336fdf952525da2af00000000000000000000000006450dee7fd2fb8e39061434babcfc05599a6fb800000000000000000000000000000000000000000000000000000001270b018000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003645f3bd1c8000000000000000000000000d7efb00d12c2c13131fd319336fdf952525da2af00000000000000000000000000000000000000000000000000000001270b01800000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae00000000000000000000000006450dee7fd2fb8e39061434babcfc05599a6fb800000000000000000000000000000000000000012de2fb53d7dd414100e6afcd000000000000000000000000c10ee9031f2a0b84766a86b55a8d90f357910fb400000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000244ba3f2165000000000000000000000000de7259893af7cdbc9fd806c6ba61d22d581d56670000000000000000000000000000000000000000004d5c3f6114b8d379fa97e1000000000000000000000000d7efb00d12c2c13131fd319336fdf952525da2af00000000000000000000000000000000000000000000000000000001270b018000000000000000000000000006450dee7fd2fb8e39061434babcfc05599a6fb800000000000000000000000000000000000000013788ee13d123b000000000000000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000cf019d1b698e15000301d7efb00d12c2c13131fd319336fdf952525da2af01ffff01464bd7e6718a815c20a5ad529003d7a93a9676b300c10ee9031f2a0b84766a86b55a8d90f357910fb400938611e7502b01c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2024ed200c0d776e2223c9a2ad13433dab7ec08cb9c5e76ae00c10ee9031f2a0b84766a86b55a8d90f357910fb4000bb88e712ac1624fffff012a9d2ba41aba912316d16742f259412b681898db00c10ee9031f2a0b84766a86b55a8d90f357910fb400a0182bd6d85000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x6cf0a5130b01feea85621148b7a6193c775d8516b1aa3628f37828bc5c12a5c8", + "expectedTexts": [ + "Interaction with", + "LI.FI Amount to Send 500000 XPR Minimum to Receive 93522914967.0464 37151086561198 XEN", + "Recipient", + "0x78b59874BF0Fb404 D88D9e688fdC56eE3E 085e6b", + "Max fees", + "0.0002986630745885 88 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f90fae01078405f5e10084217005e08310729d941231deb6f5749ef6ce6943a275a1d3e7486f4eae80b90f842c57e884db1fe5ccc56d184ef83d0947fb7cc3e54d747dc64af4229c70afe7d49466dbf900000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000a368825594237f98cd05803027e841aeca7e8f52000000000000000000000000000000000000000000000000001ac7d14c6f6c4a000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000046263646300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a307830303030303030303030303030303030303030303030303030303030303030303030303030303030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000003ef238c36035880efbdfa239d218186b79ad1d6f0000000000000000000000003ef238c36035880efbdfa239d218186b79ad1d6f000000000000000000000000f230b790e05390fc8295f4d3f60332c93bed42e2000000000000000000000000f230b790e05390fc8295f4d3f60332c93bed42e20000000000000000000000000000000000000000000000000000000003567e0000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000084eedd56e1000000000000000000000000f230b790e05390fc8295f4d3f60332c93bed42e20000000000000000000000000000000000000000000000000000000000088b8000000000000000000000000000000000000000000000000000000000000222e0000000000000000000000000f5ba3507df4e01a9ed6100b4d5671e346bf5443f000000000000000000000000000000000000000000000000000000000000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b50000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b5000000000000000000000000f230b790e05390fc8295f4d3f60332c93bed42e2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034bcfa000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b04e21fd0e9000000000000000000000000000000000000000000000000000000000000002000000000000000000000000063242a4ea82847b20e506b63b0e2e2eff0cc6cb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000034bcfa0000000000000000000000000034bcfa0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041dd453aebc7ebca1c7679a74bc186bcdc85db7fff0fc8078183e09de41e8f323b3b04c71c17e2d1b817e0483983c0fa0d150234042f24a7ac592ec96b184f0d741c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000003219ed800000000000000000000000003760068000000000000000000000000034bcfa00000000000000000001b779b9699aa2500000000000000000000000000000000000001ccd2cd6500000007a120077a100000000000000000000000008fe83dab1d17185f091569b440b9e3c7ead1453d0000000000000000000000008b1fb4937bab5d02248a0825bf2564863237b00f0000000000000000000000000000000000000000000000000000000069c1678200000000000000000000000000000000000000000000000000000000000005e0000000000000000000000000000000000000000000000000000000000000000261f598cd000000000000000031439a79a3535d69b65c3be384840282b4ea0aa791dd7346000000000000000031439a79a3535d69b65c3be384840282b4ea0aa70000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000f230b790e05390fc8295f4d3f60332c93bed42e280000000000000000000000000000037000000000000000000000000034bcfa000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000034bcfa0736e774d0000000000000001d1877a31a73c7cb31c02b9e7d7c336531562b21e000000000000000000000000000000000000000000000000000000000000008000000000000000000000000063242a4ea82847b20e506b63b0e2e2eff0cc6cb00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000004444c5dc75cb358380d2e3de08a900000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f230b790e05390fc8295f4d3f60332c93bed42e200000000000000000000000000000000000000000000000000000000034bcfa000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009858000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000007b654a4cd9dd68a74ed9f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f230b790e05390fc8295f4d3f60332c93bed42e2000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae00000000000000000000000000000000000000000000000000000000034bcfa0000000000000000000000000000000000000000000000000001ac7d14c6f6c4900000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000100000000000000000000000063242a4ea82847b20e506b63b0e2e2eff0cc6cb0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000034bcfa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab7b22536f75726365223a226c692e6669222c22416d6f756e74496e555344223a2231362e393332303037222c22416d6f756e744f7574555344223a2231362e343935323432222c22416d6f756e744f7574223a2237373331333334353031343736393030222c22526f7574654944223a2238303131653761336b304a41497252383a64356663653163633439684563614d2d222c2254696d657374616d70223a313737343238313432367d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xdd05df1178e2c9becfa70eb62d8524b6940b3c3e5d478e40b41323370ff24e1d", + "expectedTexts": [ + "Interaction with", + "LI.FI Amount to Send 56 TRX Minimum Amount to... 7538051138939978 ???", + "Max fees", + "0.0006047002956498 88 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f90797018201438405f5e100841acf8049830b025c941231deb6f5749ef6ce6943a275a1d3e7486f4eae8710aabbaec2c6d3b90764736eac0bf1026a307b79b4860b5e60d4e57e206e8278ed39267483b433d541afb78abaf900000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000009db61e60e1f1cc3e03952f8e19cc7705dce8581b000000000000000000000000000000000000000000000011c74070906863e8f600000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000008626173652d617070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a307830303030303030303030303030303030303030303030303030303030303030303030303030303030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000003ef238c36035880efbdfa239d218186b79ad1d6f0000000000000000000000003ef238c36035880efbdfa239d218186b79ad1d6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010aabbaec2c6d300000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000064e0cbc5f200000000000000000000000000000000000000000000000000002aaad63a448c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005aafc1f252d544f744d17a4e734afd6efc47ede400000000000000000000000000000000000000000000000000000000000000000000000000000000ac4c6e212a361c968f1725b4d055b47e63f80b75000000000000000000000000ac4c6e212a361c968f1725b4d055b47e63f80b7500000000000000000000000000000000000000000000000000000000000000000000000000000000000000008248270620aa532e4d64316017be5e873e37cc0900000000000000000000000000000000000000000000000000108010d888824700000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003045f3bd1c8000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000108010d88882470000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae0000000000000000000000008248270620aa532e4d64316017be5e873e37cc09000000000000000000000000000000000000000000000011c2b351bb45784a43000000000000000000000000c10ee9031f2a0b84766a86b55a8d90f357910fb400000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001e4ba3f2165000000000000000000000000de7259893af7cdbc9fd806c6ba61d22d581d5667000000000000000000000000000000000000000000000000048d1ed522eb9eb2000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000108010d88882470000000000000000000000008248270620aa532e4d64316017be5e873e37cc09000000000000000000000000000000000000000000000012540317aca06700000000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000007f019d1b68b0af00020301ffff0201c10ee9031f2a0b84766a86b55a8d90f357910fb4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc201c02aaa39b223fe8d0a0e5c4f27ead9083c756cc201ffff0118bbe20f81bdcb340325e28a6ee6bb426b7ccbc100c10ee9031f2a0b84766a86b55a8d90f357910fb40084012592a035000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xf681e1ea9b4e9a0b7597f825ae1c2cb9f7256d5e1d5caa791ae37c18ca7e063f", + "expectedTexts": [ + "Interaction with", + "LI.FI Amount to send 0.00469132269497723 5 ETH Minimum to Receive 327.952248630648 498422 DEVVE", + "Recipient", + "0x9db61e60E1F1Cc3e0 3952F8E19CC7705DCE 8581b", + "Max fees", + "0.0003245353240935 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f905ce01018405f5e1008414bdb50b8306139b941231deb6f5749ef6ce6943a275a1d3e7486f4eae80b905a44666fc800952f9c7209d8a4a1e0da65d943a2c152262753fd8b3f57ffe164339a71b3aaf00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000002d7d7d61978ff0b82164cc201ec532a68f10f9c200000000000000000000000000000000000000000000000000000000ad1fc97c00000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000008626173652d617070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30783030303030303030303030303030303030303030303030303030303030303030303030303030303000000000000000000000000000000000000000000000000000000000000000000000ac4c6e212a361c968f1725b4d055b47e63f80b75000000000000000000000000ac4c6e212a361c968f1725b4d055b47e63f80b75000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000b28412c000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003245f3bd1c8000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000b28412c00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000acf3779e000000000000000000000000c10ee9031f2a0b84766a86b55a8d90f357910fb400000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000204ba3f2165000000000000000000000000de7259893af7cdbc9fd806c6ba61d22d581d566700000000000000000000000000000000000000000000000000000000002c51dd000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000b28412c0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000b27a808a0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000009e019d1b569860000101dac17f958d2ee523a2206206994597c13d831ec701ffff06000000000004444c5dc75cb358380d2e3de08a90a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000a00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c10ee9031f2a0b84766a86b55a8d90f357910fb4b28410b27b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x77640203938a2789ed6acb4cbcab24d152b0076848823800190341cb7974590e", + "expectedTexts": [ + "Interaction with", + "LI.FI Amount to Send 2995 USDT Minimum to Receive 2904.541564 USDC", + "Recipient", + "0x2D7d7d61978fF0b82 164CC201Ec532a68f10 F9c2", + "Max fees", + "0.00013857660904618 5 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f90af00182014c8432eabc9d8432eabc9d8304499b941231deb6f5749ef6ce6943a275a1d3e7486f4eae80b90ac4733214a3b0e46cd1cd95c3d26a4a45a24138c03e201c7b8898df6dc73b4436cfd85a2d9600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000a78456d70bed1938fb26e6106922b2f370960b610000000000000000000000000000000000000000000000000004c88b2db9c0000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000f6261636b7061636b2d77616c6c65740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a307830303030303030303030303030303030303030303030303030303030303030303030303030303030000000000000000000000000000000000000000000000000000000000000000000009706b69de23fe0b471addd642175126b3a8bf0710000000000000000000000009706b69de23fe0b471addd642175126b3a8bf071000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d4e9ace5000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000084400a32e6c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000009010b0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20a0c000000000000000000000000000000000000000000000000000000000000000000000000000000000009030708030a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c02aaa39b223fe8d0a0e5c4f27ead9083c756cc27a89000000000000000000000000000000000000000000000000000000000000000000000000000000000806060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031231deb6f5749ef6ce6943a275a1d3e7486f4eae7a8506000000000000000000000000000000000000000000000000000000000000000000000000000000090304020306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e1f0273e81020201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e04f9fe6de11e10b1611000efb30baf7ac9075b97a810000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000004c88b2db9c0000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae00000000000000000000000000000000000000000000000000000000000000202717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b63980000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000009706b69de23fe0b471addd642175126b3a8bf07100000000000000000000000000000000000000000000000000000000000000205548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000242e1a7d4d0000000000000000000000000000000000000000000000000004d4e9ace5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002017c8350211f06df98b60a62097e1a510000004f0587fa9230000000000000074000000000000000000000000000000000000000000000000000000000000002047469f21e209d43e16bd7f4ca3e96bbfe3f1a41d7d486028d515bb7b3879bf2700000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000004d4e9ace5000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xd4a8263ff90910c298d65160242551a9360b30737717ba7a06c390a75c56bae1", + "expectedTexts": [ + "Interaction with", + "LI.FI Amount to Send 0.00136 WETH Minimum Amount to... 1346400000000000 ???", + "Max fees", + "0.00024003160185038 3 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f906150180841dcd650084316fa3c0830c370e941231deb6f5749ef6ce6943a275a1d3e7486f4eae87077427e9fd1a73b905e4af7060fd7d7dfcbd59649897cb1bb7b725bba402ae32237aaeae566881fd62c35b91540a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000049d74da14765d2dc73d73884bf2d1e7a49b38f18000000000000000000000000000000000000000000000000000000000044cd060000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000f6a756d7065722e65786368616e67650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30783030303030303030303030303030303030303030303030303030303030303030303030303030303000000000000000000000000000000000000000000000000000000000000000000000a6e941eab67569ca4522f70d343714ff51d571c4000000000000000000000000a6e941eab67569ca4522f70d343714ff51d571c40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000077427e9fd1a7300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000036473fc445700000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000303024d01c01231deb6f5749ef6ce6943a275a1d3e7486f4eae0000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48e000d4e800d9f800ddc800df5ac7eea737afc7c27e64f1e67fae1130b507b0472b795d73d719f99d517706c36ba8c95b6e13b0f0df50d42a34dcad98fcbdc0cc0ac64e32fa30e60ec52359de1b0000e069c162e2e844cd06f800c8077427e9fd1a73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2c80478e4bf97dca60200e60300fa447a8103596af3ad1ed8dcdff53b1dd599264cd60200e60201080300fa0902f1ac01012570a0823101012c02010800020a0b000000000000000000000000000000000000000000000000000000000003013605004005002000030a0b03000e030d0c0102000401030000000000000000000000000000000000f003e5f003e8030160050060030181030184050020050000022c0d9ff88001019905008003008a0603019d03008ac802fb432a653dcd0200e60301afcd452c162da7761f08f656b8e5ede3a3859813780200e60201bd0301af01012c0201bd0301360500e00500c0f140a35a0101e90501000200e601019905012003008a0603019d03008a020070000206070706000000000000000000000000000000000000000000000000000000e845020603020905014003022a03013605016003022abea8108b5a8707edfe1507c3a06e2735d40ef7c202007002024005018000050607080700000000000000000000000000000000000000000000000000000003025d05016003022a0501400200700200480501a0040000010201080000030000011c012500000000400129012c01080000200130013600e6070020015701600000070020018701990000000000019f01af010804000001b701bd000003000001d101da00000000400129012c01bd00002001da01e000e607002001e001e9000000002001ed01f601bd00000001f6020601bd060020020602090000080020022e023700000700200237024000000300000254025d0000080020027e028a0000030000028a02930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xf853e035367ab9e89d58e0aea73a00d50489d5b0827e748bfa8dd81d7150e7e0", + "expectedTexts": [ + "Interaction with", + "LI.FI Amount to send 0.00209803961519985 9 ETH Minimum to Receive 4.508934 USDC", + "Recipient", + "0x49d74da14765d2Dc 73d73884bF2d1E7A49 B38F18", + "Max fees", + "0.0006639562644 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0xf9055281a3841126d33b830e9b1b941231deb6f5749ef6ce6943a275a1d3e7486f4eae872e57615dd2ec81b905244630a0d8f602a5b7b1e5fca34ba9773046a76ee2828de4e29e9f091dd7581cc7ee1aeafe00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000751f9dcc942294f9a8e1b415ac5d00ef7e6a0aae000000000000000000000000000000000000000000001c669ebefc5c77deb8520000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000665786f6475730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a307830303030303030303030303030303030303030303030303030303030303030303030303030303030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000003ef238c36035880efbdfa239d218186b79ad1d6f0000000000000000000000003ef238c36035880efbdfa239d218186b79ad1d6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e57615dd2ec8100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000064e0cbc5f2000000000000000000000000000000000000000000000000000064d6b7328f94000000000000000000000000000000000000000000000000000011cb89bda0dd0000000000000000000000004dd665c59007fd825d98fddabf7759f650f2ace0000000000000000000000000000000000000000000000000000000000000000000000000000000000d05a7d3448512b78fa8a9e46c4872c88c4a0d050000000000000000000000000d05a7d3448512b78fa8a9e46c4872c88c4a0d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c974b2d0ba1716e644c1fc59982a89ddd2ff724000000000000000000000000000000000000000000000000002de0bf1ce2bc1000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ca83bd37f9000000012c974b2d0ba1716e644c1fc59982a89ddd2ff724072de0bf1ce2bc100a1d477c116dbbb300000007ae140001365084b05fa7d5028346bd21d842ed0601bab5b8000000011231deb6f5749ef6ce6943a275a1d3e7486f4eae00000000276885550003010204005401010201000201a4020e0001020300030d40000fa000ff000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec72c974b2d0ba1716e644c1fc59982a89ddd2ff7240000000000000000000000000000000000000000000000000000018080", + "txHash": "0x0a324bca85db01cf88304c1b2c53702aca7764dca144c5b8c09f05377e8f33fc", + "expectedTexts": ["Recipient"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/calldata-lbtc-mainnet.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/calldata-lbtc-mainnet.json new file mode 100644 index 0000000..8e643a2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/calldata-lbtc-mainnet.json @@ -0,0 +1,125 @@ +{ + "$schema": "https://github.com/LedgerHQ/clear-signing-erc7730-registry/blob/master/specs/erc7730-v2.schema.json", + "context": { "$id": "LBTC", "contract": { "deployments": [{ "chainId": 1, "address": "0x8236a87084f8b84306f72007f36f2618a5634494" }] } }, + "metadata": { "owner": "Lombard Finance", "info": { "url": "https://www.lombard.finance/" }, "contractName": "LBTC" }, + "display": { + "formats": { + "approve(address spender, uint256 value)": { + "$id": "approve", + "intent": "Approve", + "fields": [ + { + "path": "value", + "label": "Amount to Approve", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { + "path": "spender", + "label": "Spender", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "burn(uint256 amount)": { + "$id": "burn", + "intent": "Burn", + "fields": [ + { + "path": "amount", + "label": "Amount to Burn", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + } + ] + }, + "mint(bytes rawPayload, bytes proof)": { + "$id": "mint", + "intent": "Mint", + "fields": [ + { "path": "rawPayload", "label": "Payload", "format": "raw", "visible": "always" }, + { "path": "proof", "label": "Proof", "format": "raw", "visible": "always" } + ] + }, + "permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)": { + "$id": "permit", + "intent": "Permit", + "fields": [ + { "path": "owner", "label": "Owner", "format": "addressName", "params": { "types": ["eoa", "wallet"] }, "visible": "always" }, + { + "path": "spender", + "label": "Spender", + "format": "addressName", + "params": { "types": ["eoa", "wallet", "contract"] }, + "visible": "always" + }, + { "path": "value", "label": "Allowance", "format": "tokenAmount", "params": { "tokenPath": "@.to" }, "visible": "always" }, + { "path": "deadline", "label": "Valid Until", "format": "date", "params": { "encoding": "timestamp" } }, + { "label": "V", "path": "v", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "S", "path": "s", "visible": "never" } + ] + }, + "redeem(uint256 amount)": { + "$id": "redeem", + "intent": "Redeem", + "fields": [ + { + "path": "amount", + "label": "Amount to Redeem", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + } + ] + }, + "redeemForBtc(bytes scriptPubkey, uint256 amount)": { + "$id": "redeemForBtc", + "intent": "Redeem BTC", + "fields": [ + { + "path": "amount", + "label": "Amount to Burn", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { "path": "scriptPubkey", "label": "ScriptPubKey (BTC)", "format": "raw", "visible": "always" } + ] + }, + "transfer(address to, uint256 value)": { + "$id": "transfer(address,uint256)", + "intent": "Send", + "fields": [ + { + "path": "value", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { "path": "to", "label": "Recipient", "format": "addressName", "params": { "types": ["eoa", "wallet"] }, "visible": "always" } + ] + }, + "transferFrom(address from, address to, uint256 value)": { + "$id": "transferFrom", + "intent": "Transfer", + "fields": [ + { + "path": "value", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { "path": "from", "label": "From", "format": "addressName", "params": { "types": ["eoa", "wallet"] }, "visible": "always" }, + { "path": "to", "label": "Recipient", "format": "addressName", "params": { "types": ["eoa", "wallet"] }, "visible": "always" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/calldata-lbtc-sepolia.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/calldata-lbtc-sepolia.json new file mode 100644 index 0000000..3748d7d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/calldata-lbtc-sepolia.json @@ -0,0 +1,128 @@ +{ + "$schema": "https://github.com/LedgerHQ/clear-signing-erc7730-registry/blob/master/specs/erc7730-v2.schema.json", + "context": { + "$id": "LBTC", + "contract": { "deployments": [{ "chainId": 11155111, "address": "0x731eFa688F3679688cf60A3993b8658138953ED6" }] } + }, + "metadata": { "owner": "Lombard Finance", "info": { "url": "https://www.lombard.finance/" }, "contractName": "LBTC" }, + "display": { + "formats": { + "approve(address spender, uint256 value)": { + "$id": "approve", + "intent": "Approve", + "fields": [ + { + "path": "value", + "label": "Amount to Approve", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { + "path": "spender", + "label": "Spender", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "burn(uint256 amount)": { + "$id": "burn", + "intent": "Burn", + "fields": [ + { + "path": "amount", + "label": "Amount to Burn", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + } + ] + }, + "mint(bytes rawPayload, bytes proof)": { + "$id": "mint", + "intent": "Mint", + "fields": [ + { "path": "rawPayload", "label": "Payload", "format": "raw", "visible": "always" }, + { "path": "proof", "label": "Proof", "format": "raw", "visible": "always" } + ] + }, + "permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)": { + "$id": "permit", + "intent": "Permit", + "fields": [ + { "path": "owner", "label": "Owner", "format": "addressName", "params": { "types": ["eoa", "wallet"] }, "visible": "always" }, + { + "path": "spender", + "label": "Spender", + "format": "addressName", + "params": { "types": ["eoa", "wallet", "contract"] }, + "visible": "always" + }, + { "path": "value", "label": "Allowance", "format": "tokenAmount", "params": { "tokenPath": "@.to" }, "visible": "always" }, + { "path": "deadline", "label": "Valid Until", "format": "date", "params": { "encoding": "timestamp" } }, + { "label": "V", "path": "v", "visible": "never" }, + { "label": "R", "path": "r", "visible": "never" }, + { "label": "S", "path": "s", "visible": "never" } + ] + }, + "redeem(uint256 amount)": { + "$id": "redeem", + "intent": "Redeem", + "fields": [ + { + "path": "amount", + "label": "Amount to Redeem", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + } + ] + }, + "redeemForBtc(bytes scriptPubkey, uint256 amount)": { + "$id": "redeemForBtc", + "intent": "Redeem BTC", + "fields": [ + { + "path": "amount", + "label": "Amount to Burn", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { "path": "scriptPubkey", "label": "ScriptPubKey (BTC)", "format": "raw", "visible": "always" } + ] + }, + "transfer(address to, uint256 value)": { + "$id": "transfer(address,uint256)", + "intent": "Send", + "fields": [ + { + "path": "value", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { "path": "to", "label": "Recipient", "format": "addressName", "params": { "types": ["eoa", "wallet"] }, "visible": "always" } + ] + }, + "transferFrom(address from, address to, uint256 value)": { + "$id": "transferFrom", + "intent": "Transfer", + "fields": [ + { + "path": "value", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { "path": "from", "label": "From", "format": "addressName", "params": { "types": ["eoa", "wallet"] }, "visible": "always" }, + { "path": "to", "label": "Recipient", "format": "addressName", "params": { "types": ["eoa", "wallet"] }, "visible": "always" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/eip712-network-fee-authorization-mainnet.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/eip712-network-fee-authorization-mainnet.json new file mode 100644 index 0000000..1ee4b4c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/eip712-network-fee-authorization-mainnet.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0x8236a87084f8B84306f72007F36F2618A5634494" }], + "domain": { "name": "Lombard Staked Bitcoin", "version": "1" } + } + }, + "metadata": { "owner": "Lombard Finance", "info": { "url": "https://www.lombard.finance/" } }, + "display": { + "formats": { + "feeApproval(uint256 chainId,uint256 fee,uint256 expiry)": { + "intent": "Lombard Network Fee Authorization", + "fields": [ + { "path": "chainId", "label": "Chain ID", "format": "raw" }, + { "path": "fee", "label": "Network Fee", "format": "amount" }, + { "path": "expiry", "label": "Expiry", "format": "date", "params": { "encoding": "timestamp" } } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/eip712-network-fee-authorization-sepolia.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/eip712-network-fee-authorization-sepolia.json new file mode 100644 index 0000000..48190cd --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/eip712-network-fee-authorization-sepolia.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 11155111, "address": "0x731eFa688F3679688cf60A3993b8658138953ED6" }], + "domain": { "name": "Lombard Staked Bitcoin", "version": "1" } + } + }, + "metadata": { "owner": "Lombard Finance", "info": { "url": "https://www.lombard.finance/" } }, + "display": { + "formats": { + "feeApproval(uint256 chainId,uint256 fee,uint256 expiry)": { + "intent": "Lombard Network Fee Authorization", + "fields": [ + { "path": "chainId", "label": "Chain ID", "format": "raw" }, + { "path": "fee", "label": "Network Fee", "format": "raw" }, + { "path": "expiry", "label": "Expiry", "format": "date", "params": { "encoding": "timestamp" } } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/calldata-lbtc-mainnet.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/calldata-lbtc-mainnet.tests.json new file mode 100644 index 0000000..5a2c02f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/calldata-lbtc-mainnet.tests.json @@ -0,0 +1,61 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Approve - chain 1", + "rawTx": "0x02f86d01819e8405f5e1008408890f0082cb1e948236a87084f8b84306f72007f36f2618a563449480b844095ea7b30000000000000000000000006a000f20005980200259b80c51020030400010680000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xd1b5ddd11bab1de9f798d38626ba469a35142853d4b09f0c22ea3485ff7788f6", + "expectedTexts": [ + "Interaction with", + "Lombard Finance", + "Amount to Approve", + "0 LBTC", + "Spender", + "0x6A000F2000598020 0259B80c5102003040 001068", + "Max fees", + "0.0000074461136 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0x02f90a6a01031c84049facfc8306a1d7948236a87084f8b84306f72007f36f2618a563449480b90a446bc63893000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000164e288fb4a67636e97dfe9e0a5f7c0ab17636a921dc777c6aa9d6665e810ce50d61feb6d1200000000000000000000000000000000000000000000000000000000000009f000000000000000000000000089e3e4e7a699d6f131d893aeef7ee143706ac23a0000000000000000000000009ece5fb1ab62d9075c4ec814b321e24d8ea021ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000064155b6b130000000000000000000000008236a87084f8b84306f72007f36f2618a5634494000000000000000000000000e75d41c7ebcd9fa6b5ba4fe6ada3d960596d6b9e000000000000000000000000000000000000000000000000000000000066a72d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000840000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000056000000000000000000000000000000000000000000000000000000000000005c00000000000000000000000000000000000000000000000000000000000000620000000000000000000000000000000000000000000000000000000000000068000000000000000000000000000000000000000000000000000000000000006e0000000000000000000000000000000000000000000000000000000000000074000000000000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000004005e0eccdcc0825ffb7412be724377bb3e7893c79939c68b51ce04fcf25b902be3c5d2c6ddb406a656a0c5b1a2c6c8ca87845064e492b761ff04fe3b6de2511ca0000000000000000000000000000000000000000000000000000000000000040b046977cc15700729e78bc9ee8b7c82a178cfd53b9de1ee5af1c82848c2f2f0137b6d1373c1837dd8913bcbfe069394d66639434e5cf791fa3ab391bc57bb2d3000000000000000000000000000000000000000000000000000000000000004077e6fe8e87cf9429d6ad6ca61f8f04f8a09f96d21d25e951493a77c93ab27a961da88402d072e62e2ad1db1a14f202f0b9ee374429f133cefbf41c4054894c680000000000000000000000000000000000000000000000000000000000000040cc83085bcb489ef1b72a61511919de3c93185e4a75a60293ae32b6c0d6bf67403f989ad0c22a4df1cc5d9961c3f394f23a884db32a528cd1ca9728679f33b4ae00000000000000000000000000000000000000000000000000000000000000406a4e8a90e2f4bdf3fe26e7819fdec18918e1c91f2700de0e636520bf6ecb96f228aa854d171f6fe963ca1c8bbb8876971947c10bb34948ca25891d04026776530000000000000000000000000000000000000000000000000000000000000040b87756db331a2d69829788c4ea7e0a91b5e612fc9bbde98c2326f2ca4d8d73a421456d13f8b8020004af01deda4821705cfd05cef5898edbe1e6be13585413ed0000000000000000000000000000000000000000000000000000000000000040cc489ed4c2462a148c7851cfea8775b05be6801cdb14e02d0d87d933895936a4242f06e6d86e2f2ed72e086ddf3df051d26695f27924bc15fb41115278ec11540000000000000000000000000000000000000000000000000000000000000040491b7fda8a37c5d8ddb8761f043f0a926f73acabc7adb4a0df4233abf2eaf6db307e57953f86a0b21c34f45e8e7568d856c768b5f7cca56950a771dd26b67f1500000000000000000000000000000000000000000000000000000000000000409246799ec707c50839fd1c56527bcc9912de53e009c337f98d445b1da04215331fb45917de07a0d8e9ed829f29bded6dfebc1bfcaaa7748f8a56d4c31a4f644c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000404669becc31eb67540dc7838634c3d9bd7a23dd6330a29c06c4a83a044293dbad54dde7808617684e5c84b7cf2b883774ea20ed2445439b1877daffaa65c5f64d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070b1733e14d189348224d66fb5c587b82701ef77cd425905d25e14dfab92939941a950d1b8996b73e81384e37b456eb3dce6efffdf76fb5b1632eaf682ac36500000000000000000000000000000000000000000000000000000000000000040d0fc4b52d3d35e17601aee28f037dabd3c62c7cd7b61b88ce2f36736f5be18eb3569ab183dfb647d00d23402936099bbc06723d17f3a243f1c0e130c0db75e42c0", + "txHash": "0x19e1ffea5e038700b790190323a494c3d555397f178a3700d7a0b506f1ddeedf", + "expectedTexts": [ + "Interaction with", + "Lombard Finance", + "Payload", + "0xe288fb4a67636e97d fe9e0a5f7c0ab17636a9 21dc777c6aa9d6665e8 10ce50d61feb6d12000 000000000000000000 000000000000000... More", + "Proof", + "0x0000000000000000 000000000000000000 000000000000000000 000000000020000000 000000000000000000 000000000000000... More", + "Max fees", + "0.00003371703341968 4 ETH" + ] + }, + { + "description": "Redeem BTC - chain 1", + "rawTx": "0x02f8cf018201b98407de8de8841a3b71ee8302b4e5948236a87084f8b84306f72007f36f2618a563449480b8a430b93d85000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000111e316800000000000000000000000000000000000000000000000000000000000000225120b1ab9b9a724417868ad01e94f4f918cd9099445086fa5123a8489f6b200b1002000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x4d8d2ac24fc9be6666b1542934d22a08b48b96424984e6058c2022b43dd21144", + "expectedTexts": [ + "Interaction with", + "Lombard Finance Amount to Burn 2.871914 LBTC ScriptPubKey (BTC) 0x5120b1ab9b9a72441 7868ad01e94f4f918cd 9099445086fa5123a8 489f6b200b1002", + "Max fees", + "0.0000780659822596 86 ETH" + ] + }, + { + "description": "Send - chain 1", + "rawTx": "0x02f86d01638405f5e10084114c19c083015d16948236a87084f8b84306f72007f36f2618a563449480b844a9059cbb000000000000000000000000e57f3834700e9fe0166c97be35e97a053d1ac5f80000000000000000000000000000000000000000000000000000000000a6dcefc0", + "txHash": "0x2d23ceafa0c1ce4fbc26d975cf07be716f5d675319c619c5ccb78cb4c31c4a14", + "expectedTexts": [ + "Interaction with", + "Lombard Finance", + "Amount to Send", + "0.10935535 LBTC", + "Recipient", + "ldzx-001.eth", + "Max fees", + "0.0000259340132 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/eip712-network-fee-authorization-mainnet.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/eip712-network-fee-authorization-mainnet.tests.json new file mode 100644 index 0000000..3e6e734 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/eip712-network-fee-authorization-mainnet.tests.json @@ -0,0 +1,28 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Lombard Network Fee Authorization", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "feeApproval": [{ "name": "chainId", "type": "uint256" }, { "name": "fee", "type": "uint256" }, { "name": "expiry", "type": "uint256" }] + }, + "primaryType": "feeApproval", + "domain": { + "name": "Lombard Staked Bitcoin", + "version": "1", + "chainId": 1, + "verifyingContract": "0x8236a87084f8B84306f72007F36F2618A5634494" + }, + "message": { "chainId": 1, "fee": "300000000000000", "expiry": 1779321600 } + }, + "expectedTexts": ["Network Fee", "Authorization", "Chain ID", "1 Network Fee 3000000 LBTC", "Expiry", "2026-05-21 12:00:00 AM UTC"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/eip712-network-fee-authorization-sepolia.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/eip712-network-fee-authorization-sepolia.tests.json new file mode 100644 index 0000000..5c948e5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/lombard/tests/eip712-network-fee-authorization-sepolia.tests.json @@ -0,0 +1,35 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Lombard Network Fee Authorization", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "feeApproval": [{ "name": "chainId", "type": "uint256" }, { "name": "fee", "type": "uint256" }, { "name": "expiry", "type": "uint256" }] + }, + "primaryType": "feeApproval", + "domain": { + "name": "Lombard Staked Bitcoin", + "version": "1", + "chainId": 11155111, + "verifyingContract": "0x731eFa688F3679688cf60A3993b8658138953ED6" + }, + "message": { "chainId": 11155111, "fee": 2000000000000000, "expiry": 1782345600 } + }, + "expectedTexts": [ + "Network Fee", + "Authorization Network Ethereum Sepolia", + "Chain ID", + "11155111 Network Fee 2000000000000000", + "Expiry", + "2026-06-25 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/midas/calldata-MinterVault.json b/crates/clear-signing/src/assets/registry-snapshot/registry/midas/calldata-MinterVault.json new file mode 100644 index 0000000..b58d425 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/midas/calldata-MinterVault.json @@ -0,0 +1,198 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Minter Vault", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x99361435420711723aF805F08187c9E6bF796683" }, + { "chainId": 1, "address": "0xa8a5c4FF4c86a459EBbDC39c5BE77833B3A15d88" }, + { "chainId": 1, "address": "0x10cC8dbcA90Db7606013d8CD2E77eb024dF693bD" }, + { "chainId": 1, "address": "0xfE8de16F2663c61187C1e15Fb04D773E6ac668CC" }, + { "chainId": 1, "address": "0xE092737D412E0B290380F9c8548cB5A58174704f" }, + { "chainId": 1, "address": "0xcE0A2953a5d46400Af601a9857235312d1924aC7" }, + { "chainId": 1, "address": "0xD0Bbc3a811E3a3502A07B130346DCc4cc9355c95" }, + { "chainId": 1, "address": "0x41438435c20B1C2f1fcA702d387889F346A0C3DE" }, + { "chainId": 1, "address": "0xbA9FD2850965053Ffab368Df8AA7eD2486f11024" }, + { "chainId": 1, "address": "0xc21511EDd1E6eCdc36e8aD4c82117033e50D5921" }, + { "chainId": 1, "address": "0xf89fEbef93c54618C4420Ee4173e69Cd21B27e3a" }, + { "chainId": 1, "address": "0x416ec6E04c009F9Bae99a47ef836BF2cc64Ec93c" }, + { "chainId": 1, "address": "0x164645fbC7220a3b4f8f5C6B473bCf1b6db146DD" }, + { "chainId": 1, "address": "0xd6FD5D4Fa64Fc7131e0ec3A4A53dC620A0FFc1Bc" }, + { "chainId": 1, "address": "0x5AD2e3d65f8eCDc36eeba38BAE3Cc6Ff258D2dfa" }, + { "chainId": 1, "address": "0xC93bb8D5581D74272F0E304593af9Ab4E3A0181b" }, + { "chainId": 1, "address": "0xAFCC1C556EE0436c10A3054B3d615ABB93A352B5" }, + { "chainId": 1, "address": "0xA6d60A71844bc134f4303F5E40169D817b491E37" }, + { "chainId": 1, "address": "0x695fb34B07a8cEc2411B1bb519fD8F1731850c81" }, + { "chainId": 1, "address": "0x5AE23D23B7986a708CBA9bF808aD9A43BF77d1b7" }, + { "chainId": 1, "address": "0x8493f1f2B834c2837C87075b0EdAc17f5273789a" }, + { "chainId": 1, "address": "0xD1c5cBaBb367783FB6b40935c64512EF06cBB4f4" }, + { "chainId": 1, "address": "0x8F382ae7BBdBEcda835D26CE3Ba64010EAEe1386" }, + { "chainId": 1, "address": "0x34031E751DA2Ab19009D8f7eb268Face2BdFD0dd" }, + { "chainId": 1, "address": "0xaA192F810106B6161cbe5FE531289C0e3B196DEB" }, + { "chainId": 1, "address": "0x2ddC913e4C7674A7E42c55db48a92c47158E91C6" }, + { "chainId": 1, "address": "0x30aCCEeDFf97A3fe11aB52EE7425Af4589338C06" }, + { "chainId": 1, "address": "0x5E154946561AEA4E750AAc6DeaD23D37e00E47f6" }, + { "chainId": 1, "address": "0x52e808bD3496c69c705028a258aEe0a6E1a5b35D" }, + { "chainId": 1, "address": "0x5455222CCDd32F85C1998f57DC6CF613B4498C2a" }, + { "chainId": 1, "address": "0x57B3Be350C777892611CEdC93BCf8c099A9Ecdab" }, + { "chainId": 1, "address": "0xeD22A9861C6eDd4f1292aeAb1E44661D5f3FE65e" }, + { "chainId": 1, "address": "0x9a5cf6c0a1CEe5226E31e3D0a81F2ca2462d8387" }, + { "chainId": 1, "address": "0x54602a8e47BF82073d75E0AC2aeF67F84fbCb8e4" }, + { "chainId": 1, "address": "0x511d88E64d843Ee11Bf039a3EB837393001aEDE7" }, + { "chainId": 1, "address": "0x0f7e323103b29E1B18d521DE957Ed0c4c0A8189E" }, + { "chainId": 30, "address": "0xf454A52DA2157686Ef99702C0C19c0E8D66bC03c" }, + { "chainId": 30, "address": "0x79A15707E2766d486681569Bd1041821f5e32998" }, + { "chainId": 30, "address": "0x82Dd60B6e3f1f3Db025a715952B0e9f96B7D7a53" }, + { "chainId": 56, "address": "0x30B59844eC16ABA3ec4ca0BD97557CcB670D924E" }, + { "chainId": 56, "address": "0x7AeE9020Df0ac01Bc6f3cEeF6B1B7Cbf3D0937e4" }, + { "chainId": 143, "address": "0xdF7dEb47635AF76Da5e455C6b0F4E26222326FD9" }, + { "chainId": 239, "address": "0x762B366fD2c460f3b08D7CB279140fe39dF2e5Ca" }, + { "chainId": 239, "address": "0xbD2CE9D5F2c682FCA3ce587Bf1C041ad8DDd2a69" }, + { "chainId": 999, "address": "0x65D0a14dd083C38244542BAC0e0cd16d51c37458" }, + { "chainId": 1776, "address": "0x8F42Ef868CaC8BBeD00a1343Cf06373fea1c40C0" }, + { "chainId": 8453, "address": "0x8978e327FE7C72Fa4eaF4649C23147E279ae1470" }, + { "chainId": 8453, "address": "0x80b666D60293217661E7382737bb3E42348f7CE5" }, + { "chainId": 8453, "address": "0x2fD18B0878967E19292E9a8BF38Bb1415F6ad653" }, + { "chainId": 8453, "address": "0x263A7AcE5E77986b77DcA125859248fEED52383c" }, + { "chainId": 8453, "address": "0x3aAc6fd73fA4e16Ec683BD4aaF5Ec89bb2C0EdC2" }, + { "chainId": 8453, "address": "0xFecc6FDFF76fB2A2De42B787dC3D02B634a8b6D9" }, + { "chainId": 8453, "address": "0xEa22F8C1624c17C1B58727235292684831A08d56" }, + { "chainId": 8453, "address": "0x5f09Aff8B9b1f488B7d1bbaD4D89648579e55d61" }, + { "chainId": 9745, "address": "0x2b690Cab819A815732544aEb422474EfDc1B0615" }, + { "chainId": 9745, "address": "0x4Ef9fF56162bD3Cb5073FB20DbD355C59084093f" }, + { "chainId": 9745, "address": "0xa603cf264aDEB8E7f0f063C116929ADAC2D4286E" }, + { "chainId": 16661, "address": "0x72a93168AE79F269DeB2b1892F2AFd7eaa800271" }, + { "chainId": 23294, "address": "0xD7Fe0e91C05CAfdd26dA4B176eEc2b883795BDcC" }, + { "chainId": 42161, "address": "0x643f73A6a3Ffc5d6C6Be7c97Cc30422763CFb1d0" }, + { "chainId": 42161, "address": "0x01bfF1379CE9f0877141a18670d4214dFAf630bE" }, + { "chainId": 42161, "address": "0x2c851A37eF2d607F198DDB259309Dcd2B398E8f9" }, + { "chainId": 42161, "address": "0xb285f7699206C88A0aEC8bb004e42793de8139e0" }, + { "chainId": 42161, "address": "0x9815FffE5600cF71342579f0f3E0Dd8ccBd496D8" }, + { "chainId": 98866, "address": "0xb05F6aa8C2ea9aB8537cF09A9B765a21De249224" }, + { "chainId": 98866, "address": "0x8F38A24d064B41c990a3f47439a7a7EE713BF8Dc" }, + { "chainId": 98866, "address": "0x23dE49C9ECb8bAaF4aBDeD123FaFbb7D5b7a0eE2" }, + { "chainId": 98866, "address": "0xe6F0C60Fca2bd97d633a3D9D49DBEFDF19636D8c" }, + { "chainId": 98866, "address": "0xc4E4aCA6A81794562c46DA86c20dc652bA2Af25E" }, + { "chainId": 98866, "address": "0x71DD2570a843B0D1c74FFAb23F348193F19F18B1" }, + { "chainId": 534352, "address": "0xcA1C871f8ae2571Cb126A46861fc06cB9E645152" }, + { "chainId": 534352, "address": "0x8d3702c41aDeB3b6d0C5679899EFcF34AaB07cF2" }, + { "chainId": 747474, "address": "0x175A9b122bf22ac2b193a0A775D7370D5A75268E" }, + { "chainId": 747474, "address": "0xcb7d9A25F7b9bdd0Eee77B1cEb2894D39deBca1C" }, + { "chainId": 1440000, "address": "0x30FBc82A72CA674AA250cd6c27BCca1Fe602f1Bb" } + ] + } + }, + "metadata": { "owner": "Midas", "info": { "url": "https://midas.app" }, "contractName": "Minter Vault" }, + "display": { + "formats": { + "depositInstant(address tokenIn, uint256 amountToken, uint256 minReceiveAmount, bytes32 referrerId, address recipient)": { + "intent": "instantly buy", + "fields": [ + { + "label": "You pay with", + "format": "addressName", + "params": { "types": ["token"] }, + "path": "#.tokenIn", + "visible": "always" + }, + { + "label": "Amount", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.amountToken", + "visible": "always" + }, + { + "label": "Minimum to Receive", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.minReceiveAmount", + "visible": "always" + }, + { + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#.recipient", + "visible": "always" + }, + { "label": "Referrer Id", "path": "#.referrerId", "visible": "never" } + ] + }, + "depositInstant(address tokenIn, uint256 amountToken, uint256 minReceiveAmount, bytes32 referrerId)": { + "intent": "instantly buy", + "fields": [ + { + "label": "You pay with", + "format": "addressName", + "params": { "types": ["token"] }, + "path": "#.tokenIn", + "visible": "always" + }, + { + "label": "Amount", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.amountToken", + "visible": "always" + }, + { + "label": "Minimum to Receive", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.minReceiveAmount", + "visible": "always" + }, + { "label": "Referrer Id", "path": "#.referrerId", "visible": "never" } + ] + }, + "depositRequest(address tokenIn, uint256 amountToken, bytes32 referrerId)": { + "intent": "Deposit Request", + "fields": [ + { + "label": "You pay with", + "format": "addressName", + "params": { "types": ["token"] }, + "path": "#.tokenIn", + "visible": "always" + }, + { + "label": "Amount", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.amountToken", + "visible": "always" + }, + { "label": "Referrer Id", "path": "#.referrerId", "visible": "never" } + ] + }, + "depositRequest(address tokenIn, uint256 amountToken, bytes32 referrerId, address recipient)": { + "intent": "Deposit Request", + "fields": [ + { + "label": "You pay with", + "format": "addressName", + "params": { "types": ["token"] }, + "path": "#.tokenIn", + "visible": "always" + }, + { + "label": "Amount", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.amountToken", + "visible": "always" + }, + { + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#.recipient", + "visible": "always" + }, + { "label": "Referrer Id", "path": "#.referrerId", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/midas/calldata-RedemptionVault.json b/crates/clear-signing/src/assets/registry-snapshot/registry/midas/calldata-RedemptionVault.json new file mode 100644 index 0000000..77c5ba0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/midas/calldata-RedemptionVault.json @@ -0,0 +1,208 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Redemption Vault", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xF6e51d24F4793Ac5e71e0502213a9BBE3A6d4517" }, + { "chainId": 1, "address": "0x569D7dccBF6923350521ecBC28A555A500c4f0Ec" }, + { "chainId": 1, "address": "0x19AB19e61A930bc5C7B75Bf06cDd954218Ca9F0b" }, + { "chainId": 1, "address": "0x0D89C1C4799353F3805A3E6C4e1Cbbb83217D123" }, + { "chainId": 1, "address": "0x30d9D1e76869516AEa980390494AaEd45C3EfC1a" }, + { "chainId": 1, "address": "0x9B2C5E30E3B1F6369FC746A1C1E47277396aF15D" }, + { "chainId": 1, "address": "0xac14a14f578C143625Fc8F54218911e8F634184D" }, + { "chainId": 1, "address": "0x5356B8E06589DE894D86B24F4079c629E8565234" }, + { "chainId": 1, "address": "0x8Bee3870Ad8293dcE79E6f4cb049F7531Bd57c22" }, + { "chainId": 1, "address": "0x44b0440e35c596e858cEA433D0d82F5a985fD19C" }, + { "chainId": 1, "address": "0x6Be2f55816efd0d91f52720f096006d63c366e98" }, + { "chainId": 1, "address": "0x5aeA6D35ED7B3B7aE78694B7da2Ee880756Af5C0" }, + { "chainId": 1, "address": "0x97ACDFb3956403c4c6BbE837DC611e3a6bA1b3a7" }, + { "chainId": 1, "address": "0x1FE17936c1CdC73c857263997716e3A60B9291C7" }, + { "chainId": 1, "address": "0x4BCfDA0A844B49dA8Bb19562EE52Cc385395001A" }, + { "chainId": 1, "address": "0x7b83aA7b4CE8C7a021Cafc862a030129cEbf799d" }, + { "chainId": 1, "address": "0xFaAE52c6A6d477f859a740a76B29c33559ace18c" }, + { "chainId": 1, "address": "0xE042678e6c6871Fa279e037C11e390f31334ba0B" }, + { "chainId": 1, "address": "0x2db1eC186acDeaf7d0fc78bFfE335560b0fE0085" }, + { "chainId": 1, "address": "0x2d7d5b1706653796602617350571B3F8999B950c" }, + { "chainId": 1, "address": "0xf4F042D90f0C0d3ABA4A30Caa6Ac124B14A7e600" }, + { "chainId": 1, "address": "0x9f7dd5462C183B6577858e16a13A4d864CE2f972" }, + { "chainId": 1, "address": "0x71EFa7AF1686C5c04AA34a120a91cb4262679C44" }, + { "chainId": 1, "address": "0xa7c6c173D38DCf0543B5C479B845a430529A9a96" }, + { "chainId": 1, "address": "0xa85b5Dd222A71602FcA40410bc1f158bff1fa458" }, + { "chainId": 1, "address": "0x37769aF173Ea65dfc2880179940d5566817aF6AE" }, + { "chainId": 1, "address": "0xF0C91Bbae7f67c4e595d723ef5FB38B59F2008cf" }, + { "chainId": 1, "address": "0x649f8698068ad143A7e18Ba9cb0Be112D5986AEb" }, + { "chainId": 1, "address": "0x5572Eb7f4fB679Ff6A99203f12B0484dC1062d78" }, + { "chainId": 1, "address": "0x4Fd4DD7171D14e5bD93025ec35374d2b9b4321b0" }, + { "chainId": 1, "address": "0x319a05E260acC2490768A726Ccfd341D4b3D5106" }, + { "chainId": 1, "address": "0x9C3743582e8b2d7cCb5e08caF3c9C33780ac446f" }, + { "chainId": 1, "address": "0x15f724b35A75F0c28F352b952eA9D1b24e348c57" }, + { "chainId": 1, "address": "0x16d4f955B0aA1b1570Fe3e9bB2f8c19C407cdb67" }, + { "chainId": 1, "address": "0xb02cc77ee137436D71b9dE46958A3bB5d7346CcA" }, + { "chainId": 1, "address": "0xc37eDf7d955020D547B45F762027b49947D02550" }, + { "chainId": 1, "address": "0xc33dAdA688f224c514682Ec6Ba940888d43C4b29" }, + { "chainId": 1, "address": "0x70Ba3211f2584Bf1C8a2aCdF0a00dba559CE1Ffa" }, + { "chainId": 30, "address": "0x99D22115Fd6706B78703fF015DE897d43667D12F" }, + { "chainId": 30, "address": "0xe7a1A676D0CCA2e20A69adD500985C7271a40205" }, + { "chainId": 30, "address": "0x4F4da20f45Ce2c94e84B93e4D73f3F3F33b8B570" }, + { "chainId": 56, "address": "0x73685BD72dF34B92Bc81D43ef35CFf4300DE8625" }, + { "chainId": 56, "address": "0xF76e650F8a9526fe5E4B40F1B567C5C1b427EE43" }, + { "chainId": 143, "address": "0x2Ce347dECFc8dAB433c4EB6CA171747E5a82c332" }, + { "chainId": 239, "address": "0x5E65feDa93CDf3286d4B70BA6d3e2a0e86594CDd" }, + { "chainId": 239, "address": "0x911f9aF9138284A49b29F9894571Fb86e29D1d79" }, + { "chainId": 999, "address": "0x36094ABE5E589691B8f60505823A72F5fdEdC953" }, + { "chainId": 1776, "address": "0xc5a2ADeacc1cf8424630c0C6B09E1DF6e871c65A" }, + { "chainId": 8453, "address": "0x2a8c22E3b10036f3AEF5875d04f8441d4188b656" }, + { "chainId": 8453, "address": "0xF804a646C034749b5484bF7dfE875F6A4F969840" }, + { "chainId": 8453, "address": "0x0e0eb6cdad90174f1Db606EC186ddD0B5eD80847" }, + { "chainId": 8453, "address": "0x25D30cF795602e807d2038c1326Ad6643F822cEA" }, + { "chainId": 8453, "address": "0xa8a5c4FF4c86a459EBbDC39c5BE77833B3A15d88" }, + { "chainId": 8453, "address": "0x5CB155D19696ED296dc4942BEDB6EEc69367c332" }, + { "chainId": 8453, "address": "0x86811aD3430DbA37e1641538729bF346c20A5412" }, + { "chainId": 8453, "address": "0x9BF00b7CFC00D6A7a2e2C994DB8c8dCa467ee359" }, + { "chainId": 9745, "address": "0x24e49D2Ad8f0bcD0cF7F2A5Ab560Ca4319f6bd75" }, + { "chainId": 9745, "address": "0x69EcaB6aA7bDFDdD99deF0891c0317076430ae50" }, + { "chainId": 9745, "address": "0x880661F9b412065D616890cA458dcCd0146cb77C" }, + { "chainId": 16661, "address": "0x9dae503014edc48A4d8FE789f22c70Ae650eb79B" }, + { "chainId": 23294, "address": "0xf939E88ecAd43115116c7106DfdbdC4b1315a7Ee" }, + { "chainId": 42161, "address": "0x8ac12d5B71e4f046459b67077F8704BA0a86F8F9" }, + { "chainId": 42161, "address": "0xE03cD34De0E47c67bF881dB22feAb83121B50cC3" }, + { "chainId": 42161, "address": "0x6D6e88B8514EA404d33f38D505d611B5EEe23AfD" }, + { "chainId": 42161, "address": "0xe8a95184516C39469a68BA50D134C25fc5A6C9c8" }, + { "chainId": 42161, "address": "0x139EC173b9c355241dfA91A1DE3453Adae0A9083" }, + { "chainId": 98866, "address": "0x3aC6b2Bf09f470e5674C3DA60Be7D2DA2791F897" }, + { "chainId": 98866, "address": "0x9B0d0bDAE237116F711E8C9d900B5dDCC8eF8B5D" }, + { "chainId": 98866, "address": "0xC874394Cd67F7de462eb5c25889beC9744Bc0F80" }, + { "chainId": 98866, "address": "0x331Af8984d9f10C5173E69537F41313996e7C3Cc" }, + { "chainId": 98866, "address": "0xf22Ad227b3082557dBDA8AD99B694eb295c06092" }, + { "chainId": 98866, "address": "0x3Cd58EFe911B1e936c014695CCfaB8c8825E3a63" }, + { "chainId": 534352, "address": "0x904EA8d7FcaB7351758fAC82bDbc738E2010BC25" }, + { "chainId": 534352, "address": "0x5c33073Ea1D21936d760E32a7A7a748BD21B773E" }, + { "chainId": 747474, "address": "0xE93E6Cf151588d63bB669138277D20f28C2E7cdA" }, + { "chainId": 747474, "address": "0x8E3865B9d2d8e562d8bb3b15D9B4941AeE6f67f1" }, + { "chainId": 1440000, "address": "0xDaC1b058cE42b67Ba33DbfDBA972d76C83C085D6" } + ] + } + }, + "metadata": { "owner": "Midas", "info": { "url": "https://midas.app" }, "contractName": "Redemption Vault" }, + "display": { + "formats": { + "redeemInstant(address tokenOut, uint256 amountMTokenIn, uint256 minReceiveAmount, address recipient)": { + "intent": "instantly redeem", + "fields": [ + { + "label": "Receive token", + "format": "addressName", + "params": { "types": ["token"] }, + "path": "#.tokenOut", + "visible": "always" + }, + { + "label": "Amount to redeem", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.amountMTokenIn", + "visible": "always" + }, + { + "label": "Min receive amount", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.minReceiveAmount", + "visible": "always" + }, + { + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#.recipient", + "visible": "always" + } + ] + }, + "redeemInstant(address tokenOut, uint256 amountMTokenIn, uint256 minReceiveAmount)": { + "intent": "instantly redeem", + "fields": [ + { + "label": "Receive token", + "format": "addressName", + "params": { "types": ["token"] }, + "path": "#.tokenOut", + "visible": "always" + }, + { + "label": "Amount to redeem", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.amountMTokenIn", + "visible": "always" + }, + { + "label": "Min receive amount", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.minReceiveAmount", + "visible": "always" + } + ] + }, + "redeemRequest(address tokenOut, uint256 amountMTokenIn, address recipient)": { + "intent": "request a redemption", + "fields": [ + { + "label": "Receive token", + "format": "addressName", + "params": { "types": ["token"] }, + "path": "#.tokenOut", + "visible": "always" + }, + { + "label": "mToken Amount In", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.amountMTokenIn", + "visible": "always" + }, + { + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#.recipient", + "visible": "always" + } + ] + }, + "redeemRequest(address tokenOut, uint256 amountMTokenIn)": { + "intent": "request a redemption", + "fields": [ + { + "label": "Receive token", + "format": "addressName", + "params": { "types": ["token"] }, + "path": "#.tokenOut", + "visible": "always" + }, + { + "label": "mToken Amount In", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.amountMTokenIn", + "visible": "always" + } + ] + }, + "redeemFiatRequest(uint256 amountMTokenIn)": { + "intent": "request a redemption", + "fields": [ + { + "label": "mToken Amount In", + "format": "unit", + "params": { "base": " ", "decimals": 18, "prefix": false }, + "path": "#.amountMTokenIn", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/midas/tests/calldata-MinterVault.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/midas/tests/calldata-MinterVault.tests.json new file mode 100644 index 0000000..1f3e374 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/midas/tests/calldata-MinterVault.tests.json @@ -0,0 +1,45 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "instantly buy - chain 1", + "rawTx": "0x02f8cf01820149847735940084824e01598307b20e94c21511edd1e6ecdc36e8ad4c82117033e50d592180b8a442e8866b000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000001bc16d674ec8000000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260250f404fe130dde634c4e4c4e052dd664a8a3c0", + "txHash": "0x7a6ca5d72ca371b66a98106f34550900878237822f7ae21b63433bddffabfcd7", + "expectedTexts": [ + "Interaction with", + "Midas", + "You pay with", + "USD Coin", + "Amount", + "2", + "Slippage", + "0.001", + "Max fees", + "0.00110254989160982 2 ETH" + ] + }, + { + "description": "instantly buy - chain 1", + "rawTx": "0x02f8af018203dd8402c5005f840640ab07830813cd9499361435420711723af805f08187c9e6bf79668380b884c02dd27a000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000d26ca51afe12e000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x51a26c6e28b98488a7f08dfa043910a3b9ce301cc63f3fa5a899853217366d6c", + "expectedTexts": [ + "Interaction with", + "Midas", + "You pay with", + "USD Coin", + "Amount", + "1", + "Slippage", + "0.9476672238", + "Max fees", + "0.00005553028140073 1 ETH" + ] + }, + { + "description": "request buying - chain 1", + "rawTx": "0x02f88d0131843b9aca008448a8782e83efdb5694a8a5c4ff4c86a459ebbdc39c5be77833b3a15d8880b8646e26b9f8000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000056bc75e2d631000000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xd5008782eec0db9954e8fa88f2d7fc8c0625ade08426129a8eaa3a337b449cf6", + "expectedTexts": ["Interaction with", "Midas", "You pay with", "Tether USD", "Amount", "100", "Max fees", "0.01916177637924696 4 ETH"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/midas/tests/calldata-RedemptionVault.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/midas/tests/calldata-RedemptionVault.tests.json new file mode 100644 index 0000000..2b0e447 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/midas/tests/calldata-RedemptionVault.tests.json @@ -0,0 +1,35 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "instantly redeem - chain 1", + "rawTx": "0x02f88e0181d28405f5e1008408a48640830b38c594569d7dccbf6923350521ecbc28a555a500c4f0ec80b8648b53f75e000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000008283c08bbd531624630000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xf01f3749b6092dced9d1e85612eb14c27bb69267d5379d767c4af596a03cc3e9", + "expectedTexts": [ + "Interaction with", + "Midas", + "You receive", + "USD Coin", + "Amount to redeem", + "2407.57047124199775 5491", + "Slippage", + "0", + "Max fees", + "0.000106637205 ETH" + ] + }, + { + "description": "request a redemption - chain 1", + "rawTx": "0x02f86d011a841dcd65008449fcb4528307a4c094f6e51d24f4793ac5e71e0502213a9bbe3a6d451780b844bfc2d46a000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000067c255192f22317fcc0", + "txHash": "0x81124d83ab16c0b53fd5c6be7bb1be2c653906905f78f1c880c5d87056f90bc5", + "expectedTexts": [ + "Interaction with", + "Midas You will receive USD Coin", + "Amount to redeem", + "119.6261103686681292 76", + "Max fees", + "0.00062180092554585 6 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SETHc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SETHc.json new file mode 100644 index 0000000..df08b8a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SETHc.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "9Summits", + "info": { "url": "https://9summits.io/" }, + "constants": { "underlyingToken": "0x4200000000000000000000000000000000000006", "underlyingTicker": "WETH", "vaultTicker": "9SETHc" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xF540D790413FCFAedAC93518Ae99EdDacE82cb78" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SETHcore.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SETHcore.json new file mode 100644 index 0000000..b7493e0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SETHcore.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "9Summits", + "info": { "url": "https://9summits.io/" }, + "constants": { "underlyingToken": "0x4200000000000000000000000000000000000006", "underlyingTicker": "WETH", "vaultTicker": "9SETHcore" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x5496b42ad0deCebFab0db944D83260e60D54f667" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSDC11Core.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSDC11Core.json new file mode 100644 index 0000000..cbc1865 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSDC11Core.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "9Summits", + "info": { "url": "https://9summits.io/" }, + "constants": { + "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "underlyingTicker": "USDC", + "vaultTicker": "9SUSDC11Core" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x1E2aAaDcF528b9cC08F43d4fd7db488cE89F5741" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSDCcore.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSDCcore.json new file mode 100644 index 0000000..54e7caa --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSDCcore.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "9Summits", + "info": { "url": "https://9summits.io/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "9SUSDCcore" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xD5Ac156319f2491d4ad1Ec4aA5ed0ED48C0fa173" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSR.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSR.json new file mode 100644 index 0000000..825cc99 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-9summits-9SUSR.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "9Summits", + "info": { "url": "https://9summits.io/" }, + "constants": { "underlyingToken": "0x66a1E37c9b0eAddca17d3662D6c05F4DECf3e110", "underlyingTicker": "USR", "vaultTicker": "9SUSR" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x00B6f2C15E4439749f192D10c70f65354848Cf4b" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-MorphoBlue.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-MorphoBlue.json new file mode 100644 index 0000000..67c62aa --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-MorphoBlue.json @@ -0,0 +1,242 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb" }, + { "chainId": 8453, "address": "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb" } + ] + } + }, + "metadata": { "owner": "Morpho DAO", "info": { "url": "https://docs.morpho.org/governance/organization/multisigs-and-addresses" } }, + "display": { + "formats": { + "borrow((address loanToken, address collateralToken, address oracle, address irm, uint256 lltv) marketParams, uint256 assets, uint256 shares, address onBehalf, address receiver)": { + "intent": "Borrow from Morpho Market", + "fields": [ + { + "path": "#.marketParams", + "fields": [ + { "label": "Loan Token", "format": "addressName", "params": { "types": ["token"] }, "path": "loanToken" }, + { "label": "Collateral Token", "format": "addressName", "params": { "types": ["token"] }, "path": "collateralToken" }, + { + "label": "Oracle", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "oracle" + }, + { + "label": "Irm", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "irm" + }, + { "label": "Lltv", "format": "raw", "path": "lltv" } + ] + }, + { "label": "Assets", "format": "raw", "path": "#.assets", "visible": "always" }, + { "label": "Shares", "format": "raw", "path": "#.shares", "visible": "always" }, + { + "label": "On Behalf", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "#.onBehalf", + "visible": "always" + }, + { + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#.receiver", + "visible": "always" + } + ] + }, + "repay((address loanToken, address collateralToken, address oracle, address irm, uint256 lltv) marketParams, uint256 assets, uint256 shares, address onBehalf, bytes data)": { + "intent": "Repay on Morpho Market", + "fields": [ + { + "path": "#.marketParams", + "fields": [ + { "label": "Loan Token", "format": "addressName", "params": { "types": ["token"] }, "path": "loanToken" }, + { "label": "Collateral Token", "format": "addressName", "params": { "types": ["token"] }, "path": "collateralToken" }, + { + "label": "Oracle", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "oracle" + }, + { + "label": "Irm", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "irm" + }, + { "label": "Lltv", "format": "raw", "path": "lltv" } + ] + }, + { "label": "Assets", "format": "raw", "path": "#.assets", "visible": "always" }, + { "label": "Shares", "format": "raw", "path": "#.shares", "visible": "always" }, + { + "label": "On Behalf", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "#.onBehalf", + "visible": "always" + }, + { "label": "Data", "format": "raw", "path": "#.data", "visible": "always" } + ] + }, + "supply((address loanToken, address collateralToken, address oracle, address irm, uint256 lltv) marketParams, uint256 assets, uint256 shares, address onBehalf, bytes data)": { + "intent": "Supply on Morpho Market", + "fields": [ + { + "path": "#.marketParams", + "fields": [ + { "label": "Loan Token", "format": "addressName", "params": { "types": ["token"] }, "path": "loanToken" }, + { "label": "Collateral Token", "format": "addressName", "params": { "types": ["token"] }, "path": "collateralToken" }, + { + "label": "Oracle", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "oracle" + }, + { + "label": "Irm", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "irm" + }, + { "label": "Lltv", "format": "raw", "path": "lltv" } + ] + }, + { "label": "Assets", "format": "raw", "path": "#.assets", "visible": "always" }, + { "label": "Shares", "format": "raw", "path": "#.shares", "visible": "always" }, + { + "label": "On Behalf", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "#.onBehalf", + "visible": "always" + }, + { "label": "Data", "format": "raw", "path": "#.data", "visible": "always" } + ] + }, + "supplyCollateral((address loanToken, address collateralToken, address oracle, address irm, uint256 lltv) marketParams, uint256 assets, address onBehalf, bytes data)": { + "intent": "Supply Collateral on Morpho Market", + "fields": [ + { + "path": "#.marketParams", + "fields": [ + { "label": "Loan Token", "format": "addressName", "params": { "types": ["token"] }, "path": "loanToken" }, + { "label": "Collateral Token", "format": "addressName", "params": { "types": ["token"] }, "path": "collateralToken" }, + { + "label": "Oracle", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "oracle" + }, + { + "label": "Irm", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "irm" + }, + { "label": "Lltv", "format": "raw", "path": "lltv" } + ] + }, + { "label": "Assets", "format": "raw", "path": "#.assets", "visible": "always" }, + { + "label": "On Behalf", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "#.onBehalf", + "visible": "always" + }, + { "label": "Data", "format": "raw", "path": "#.data", "visible": "always" } + ] + }, + "withdraw((address loanToken, address collateralToken, address oracle, address irm, uint256 lltv) marketParams, uint256 assets, uint256 shares, address onBehalf, address receiver)": { + "intent": "Withdraw from Morpho Market", + "fields": [ + { + "path": "#.marketParams", + "fields": [ + { "label": "Loan Token", "format": "addressName", "params": { "types": ["token"] }, "path": "loanToken" }, + { "label": "Collateral Token", "format": "addressName", "params": { "types": ["token"] }, "path": "collateralToken" }, + { + "label": "Oracle", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "oracle" + }, + { + "label": "Irm", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "irm" + }, + { "label": "Lltv", "format": "raw", "path": "lltv" } + ] + }, + { "label": "Assets", "format": "raw", "path": "#.assets", "visible": "always" }, + { "label": "Shares", "format": "raw", "path": "#.shares", "visible": "always" }, + { + "label": "On Behalf", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "#.onBehalf", + "visible": "always" + }, + { + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#.receiver", + "visible": "always" + } + ] + }, + "withdrawCollateral((address loanToken, address collateralToken, address oracle, address irm, uint256 lltv) marketParams, uint256 assets, address onBehalf, address receiver)": { + "intent": "Withdraw Collateral from Morpho Market", + "fields": [ + { + "path": "#.marketParams", + "fields": [ + { "label": "Loan Token", "format": "addressName", "params": { "types": ["token"] }, "path": "loanToken" }, + { "label": "Collateral Token", "format": "addressName", "params": { "types": ["token"] }, "path": "collateralToken" }, + { + "label": "Oracle", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "oracle" + }, + { + "label": "Irm", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "irm" + }, + { "label": "Lltv", "format": "raw", "path": "lltv" } + ] + }, + { "label": "Assets", "format": "raw", "path": "#.assets", "visible": "always" }, + { + "label": "On Behalf", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract", "token", "collection"] }, + "path": "#.onBehalf", + "visible": "always" + }, + { + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#.receiver", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-MorphoBundlerV3.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-MorphoBundlerV3.json new file mode 100644 index 0000000..16d7e9b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-MorphoBundlerV3.json @@ -0,0 +1,40 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x6566194141eefa99Af43Bb5Aa71460Ca2Dc90245" }, + { "chainId": 8453, "address": "0x6BFd8137e702540E7A42B74178A4a49Ba43920C4" } + ] + } + }, + "metadata": { "owner": "Morpho DAO", "info": { "url": "https://morpho.org" } }, + "display": { + "formats": { + "multicall((address to, bytes data, uint256 value, bool skipRevert, bytes32 callbackHash)[] bundle)": { + "intent": "Bundler3 Multicall", + "fields": [ + { + "path": "#.bundle.[].data", + "label": "Action", + "format": "calldata", + "params": { "calleePath": "#.bundle.[].to", "amountPath": "#.bundle.[].value" }, + "visible": "always" + } + ] + }, + "reenter((address to, bytes data, uint256 value, bool skipRevert, bytes32 callbackHash)[] bundle)": { + "intent": "Reenter Bundler3", + "fields": [ + { + "path": "#.bundle.[].data", + "label": "Action", + "format": "calldata", + "params": { "calleePath": "#.bundle.[].to", "amountPath": "#.bundle.[].value" }, + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-apostro-aprUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-apostro-aprUSDC.json new file mode 100644 index 0000000..26f2a55 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-apostro-aprUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Apostro", + "info": { "url": "https://apostro.xyz" }, + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "aprUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xcdDCDd18A16ED441F6CB10c3909e5e7ec2B9e8f3" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-apostro-aprUSR.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-apostro-aprUSR.json new file mode 100644 index 0000000..b273089 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-apostro-aprUSR.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Apostro", + "info": { "url": "https://apostro.xyz" }, + "constants": { "underlyingToken": "0x35E5dB674D8e93a03d814FA0ADa70731efe8a4b9", "underlyingTicker": "USR", "vaultTicker": "aprUSR" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xC484D83F667b779cc9907248101214235642258B" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reETH.json new file mode 100644 index 0000000..981a303 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reETH.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "B.Protocol", + "info": { "url": "https://www.bprotocol.org/" }, + "constants": { "underlyingToken": "0x4200000000000000000000000000000000000006", "underlyingTicker": "WETH", "vaultTicker": "reETH" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x70F796946eD919E4Bc6cD506F8dACC45E4539771" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reGOLD.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reGOLD.json new file mode 100644 index 0000000..a53b453 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reGOLD.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "B.Protocol", + "info": { "url": "https://www.bprotocol.org/" }, + "constants": { "underlyingToken": "0x2103E845C5E135493Bb6c2A4f0B8651956eA8682", "underlyingTicker": "XAUM", "vaultTicker": "reGOLD" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x45c1875F1C48622b3D9740Af2D7dc62Bc9a72422" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reUSDC.json new file mode 100644 index 0000000..90f8200 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-reUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "B.Protocol", + "info": { "url": "https://www.bprotocol.org/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "reUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x0F359FD18BDa75e9c49bC027E7da59a4b01BF32a" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-recbBTC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-recbBTC.json new file mode 100644 index 0000000..563dec4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-b_protocol-recbBTC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "B.Protocol", + "info": { "url": "https://www.bprotocol.org/" }, + "constants": { "underlyingToken": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", "underlyingTicker": "cbBTC", "vaultTicker": "recbBTC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xB9C9158aB81f90996cAD891fFbAdfBaad733c8C6" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbETH.json new file mode 100644 index 0000000..15178fa --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbETH.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Block Analitica", + "info": { "url": "https://morpho.blockanalitica.com/" }, + "constants": { "underlyingToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "underlyingTicker": "WETH", "vaultTicker": "bbETH" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x38989BBA00BDF8181F4082995b3DEAe96163aC5D" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbUSDC.json new file mode 100644 index 0000000..3a37848 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Block Analitica", + "info": { "url": "https://morpho.blockanalitica.com/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "bbUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x186514400e52270cef3D80e1c6F8d10A75d47344" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbUSDT.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbUSDT.json new file mode 100644 index 0000000..291dc66 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-bbUSDT.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Block Analitica", + "info": { "url": "https://morpho.blockanalitica.com/" }, + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "bbUSDT" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x2C25f6C25770fFEC5959D34B94Bf898865e5D6b1" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwETH.json new file mode 100644 index 0000000..c62cf82 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwETH.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Block Analitica", + "info": { "url": "https://morpho.blockanalitica.com/" }, + "constants": { "underlyingToken": "0x4200000000000000000000000000000000000006", "underlyingTicker": "WETH", "vaultTicker": "mwETH" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xa0E430870c4604CcfC7B38Ca7845B1FF653D0ff1" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwEURC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwEURC.json new file mode 100644 index 0000000..0a1d171 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwEURC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Block Analitica", + "info": { "url": "https://morpho.blockanalitica.com/" }, + "constants": { "underlyingToken": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42", "underlyingTicker": "EURC", "vaultTicker": "mwEURC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xf24608E0CCb972b0b0f4A6446a0BBf58c701a026" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwUSDC.json new file mode 100644 index 0000000..454b7aa --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Block Analitica", + "info": { "url": "https://morpho.blockanalitica.com/" }, + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "mwUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xc1256Ae5FF1cf2719D4937adb3bbCCab2E00A2Ca" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwcbBTC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwcbBTC.json new file mode 100644 index 0000000..5baf152 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-block_analitica-mwcbBTC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Block Analitica", + "info": { "url": "https://morpho.blockanalitica.com/" }, + "constants": { "underlyingToken": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", "underlyingTicker": "cbBTC", "vaultTicker": "mwcbBTC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x543257eF2161176D7C8cD90BA65C2d4CaEF5a796" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-fence-ERY.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-fence-ERY.json new file mode 100644 index 0000000..c773cc6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-fence-ERY.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Fence", + "info": { "url": "https://www.fence.finance/" }, + "constants": { "underlyingToken": "0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f", "underlyingTicker": "EURe", "vaultTicker": "ERY" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xC21DB71648B18C5B9E038d88393C9b254cf8eaC8" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-elixirUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-elixirUSDC.json new file mode 100644 index 0000000..973d448 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-elixirUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "elixirUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x0404fD1a77756EB029F06b5CDea88B2B2ddC2fEE" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtAUSDc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtAUSDc.json new file mode 100644 index 0000000..9f0ade3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtAUSDc.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a", "underlyingTicker": "AUSD", "vaultTicker": "gtAUSDc" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x1B4cd53a1A8e5F50aB6320EF34E5fB4D3df7B6f6" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtDAIcore.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtDAIcore.json new file mode 100644 index 0000000..10478a7 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtDAIcore.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x6B175474E89094C44Da98b954EedeAC495271d0F", "underlyingTicker": "DAI", "vaultTicker": "gtDAIcore" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x500331c9fF24D9d11aee6B07734Aa72343EA74a5" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtEURCc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtEURCc.json new file mode 100644 index 0000000..9cda742 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtEURCc.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42", "underlyingTicker": "EURC", "vaultTicker": "gtEURCc" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x1c155be6bC51F2c37d472d4C2Eba7a637806e122" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtLBTCc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtLBTCc.json new file mode 100644 index 0000000..50cc4e7 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtLBTCc.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xecAc9C5F704e954931349Da37F60E39f515c11c1", "underlyingTicker": "LBTC", "vaultTicker": "gtLBTCc" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x0D05e6ec0A10f9fFE9229EAA785c11606a1d13Fb" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtLRTcore.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtLRTcore.json new file mode 100644 index 0000000..af465d4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtLRTcore.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "underlyingTicker": "WETH", "vaultTicker": "gtLRTcore" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x4881Ef0BF6d2365D3dd6499ccd7532bcdBCE0658" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDAcore.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDAcore.json new file mode 100644 index 0000000..68e6b51 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDAcore.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x0000206329b97DB379d5E1Bf586BbDB969C63274", "underlyingTicker": "USDA", "vaultTicker": "gtUSDAcore" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x125D41A6e5dbf455cD9Df8F80BCC6fd172D52Cc6" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDC.json new file mode 100644 index 0000000..8568bc9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "gtUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xdd0f28e19C1780eb6396170735D45153D261490d" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCc.json new file mode 100644 index 0000000..1dee549 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCc.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "gtUSDCc" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xc0c5689e6f4D256E861F65465b691aeEcC0dEb12" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCcore.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCcore.json new file mode 100644 index 0000000..68818ec --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCcore.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "gtUSDCcore" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x8eB67A509616cd6A7c1B3c8C21D48FF57df3d458" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCmkr.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCmkr.json new file mode 100644 index 0000000..cf105c5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCmkr.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "gtUSDCmkr" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xEbFA750279dEfa89b8D99bdd145a016F6292757b" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCp.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCp.json new file mode 100644 index 0000000..5515328 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDCp.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "gtUSDCp" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xeE8F4eC5672F09119b96Ab6fB59C27E1b7e44b61" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDT.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDT.json new file mode 100644 index 0000000..904e8be --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtUSDT.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "gtUSDT" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x8CB3649114051cA5119141a34C200D65dc0Faa73" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWBTCc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWBTCc.json new file mode 100644 index 0000000..b07ca73 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWBTCc.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "underlyingTicker": "WBTC", "vaultTicker": "gtWBTCc" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x443df5eEE3196e9b2Dd77CaBd3eA76C3dee8f9b2" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETH.json new file mode 100644 index 0000000..852bc4e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETH.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "underlyingTicker": "WETH", "vaultTicker": "gtWETH" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x2371e134e3455e0593363cBF89d3b6cf53740618" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETHc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETHc.json new file mode 100644 index 0000000..26a2971 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETHc.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x4200000000000000000000000000000000000006", "underlyingTicker": "WETH", "vaultTicker": "gtWETHc" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x6b13c060F13Af1fdB319F52315BbbF3fb1D88844" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETHe.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETHe.json new file mode 100644 index 0000000..84a032a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtWETHe.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "underlyingTicker": "WETH", "vaultTicker": "gtWETHe" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x1e6ffa4e9F63d10B8820A3ab52566Af881Dab53c" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtcbBTCc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtcbBTCc.json new file mode 100644 index 0000000..da72c50 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtcbBTCc.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", "underlyingTicker": "cbBTC", "vaultTicker": "gtcbBTCc" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xF587f2e8AfF7D76618d3B6B4626621860FbD54e3" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gteUSDc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gteUSDc.json new file mode 100644 index 0000000..642f492 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gteUSDc.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xA0d69E286B938e21CBf7E51D71F6A4c8918f482F", "underlyingTicker": "eUSD", "vaultTicker": "gteUSDc" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xc080f56504e0278828A403269DB945F6c6D6E014" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtmsETHc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtmsETHc.json new file mode 100644 index 0000000..0c54679 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtmsETHc.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x64351fC9810aDAd17A690E4e1717Df5e7e085160", "underlyingTicker": "msETH", "vaultTicker": "gtmsETHc" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x78B18E07dc43017fcEaabaD0751d6464c0F56b25" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtmsUSDc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtmsUSDc.json new file mode 100644 index 0000000..10ada4a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtmsUSDc.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xab5eB14c09D416F0aC63661E57EDB7AEcDb9BEfA", "underlyingTicker": "msUSD", "vaultTicker": "gtmsUSDc" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x6859B34a9379122d25A9FA46f0882d434fee36c3" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtusdcf.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtusdcf.json new file mode 100644 index 0000000..b0f717f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-gtusdcf.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "gtusdcf" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xc582F04d8a82795aa2Ff9c8bb4c1c889fe7b754e" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-ionicUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-ionicUSDC.json new file mode 100644 index 0000000..5fb41d4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-ionicUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "ionicUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xCd347c1e7d600a9A3e403497562eDd0A7Bc3Ef21" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-ionicWETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-ionicWETH.json new file mode 100644 index 0000000..58f04e6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-ionicWETH.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x4200000000000000000000000000000000000006", "underlyingTicker": "WETH", "vaultTicker": "ionicWETH" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x9aB2d181E4b87ba57D5eD564D3eF652C4E710707" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-mhyETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-mhyETH.json new file mode 100644 index 0000000..feda0eb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-mhyETH.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "underlyingTicker": "WETH", "vaultTicker": "mhyETH" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x701907283a57FF77E255C3f1aAD790466B8CE4ef" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-midasUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-midasUSDC.json new file mode 100644 index 0000000..2bb6d07 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-midasUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "midasUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xA8875aaeBc4f830524e35d57F9772FfAcbdD6C45" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-msolvbtcbbn.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-msolvbtcbbn.json new file mode 100644 index 0000000..2d19cb2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-msolvbtcbbn.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { + "underlyingToken": "0xd9D920AA40f578ab794426F5C90F6C731D159DEf", + "underlyingTicker": "SolvBTC.BBN", + "vaultTicker": "msolvbtcbbn" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xdBB316375B4dC992B2c8827D120c09dFB1d3455D" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-resolvUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-resolvUSDC.json new file mode 100644 index 0000000..30afa55 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-resolvUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "resolvUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x132E6C9C33A62D7727cd359b1f51e5B566E485Eb" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-sbMorphoUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-sbMorphoUSDC.json new file mode 100644 index 0000000..1d38275 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-sbMorphoUSDC.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { + "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "underlyingTicker": "USDC", + "vaultTicker": "sbMorphoUSDC" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x4Ff4186188f8406917293A9e01A1ca16d3cf9E59" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-sbMorphotBTC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-sbMorphotBTC.json new file mode 100644 index 0000000..f2570c8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-sbMorphotBTC.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { + "underlyingToken": "0x18084fbA666a33d37592fA2633fD49a74DD93a88", + "underlyingTicker": "tBTC", + "vaultTicker": "sbMorphotBTC" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x059Fc6723b9bF77DbF4283C8d7C90eA8Af44EF10" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smUSDC.json new file mode 100644 index 0000000..b2d5fd9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "smUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x616a4E1db48e22028f6bbf20444Cd3b8e3273738" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smWETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smWETH.json new file mode 100644 index 0000000..087192d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smWETH.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0x4200000000000000000000000000000000000006", "underlyingTicker": "WETH", "vaultTicker": "smWETH" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x27D8c7273fd3fcC6956a0B370cE5Fd4A7fc65c18" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smcbBTC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smcbBTC.json new file mode 100644 index 0000000..6344cfc --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-gauntlet-smcbBTC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Gauntlet", + "info": { "url": "https://www.gauntlet.xyz/" }, + "constants": { "underlyingToken": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", "underlyingTicker": "cbBTC", "vaultTicker": "smcbBTC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x5a47C803488FE2BB0A0EAaf346b420e4dF22F3C7" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-hakutora-hUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-hakutora-hUSDC.json new file mode 100644 index 0000000..dc64036 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-hakutora-hUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Hakutora", + "info": { "url": "https://hakutora.xyz/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "hUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x974c8FBf4fd795F66B85B73ebC988A51F1A040a9" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-leadblock-USDC-RWA.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-leadblock-USDC-RWA.json new file mode 100644 index 0000000..6be1f15 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-leadblock-USDC-RWA.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "LeadBlock", + "info": { "url": "https://leadblockpartners.com/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "USDC RWA" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x4cA0E178c94f039d7F202E09d8d1a655Ed3fb6b6" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-llamarisk-llama-crvUSD.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-llamarisk-llama-crvUSD.json new file mode 100644 index 0000000..c7c89d6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-llamarisk-llama-crvUSD.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "LlamaRisk", + "info": { "url": "https://www.llamarisk.com/" }, + "constants": { + "underlyingToken": "0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E", + "underlyingTicker": "crvUSD", + "vaultTicker": "llama-crvUSD" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x67315dd969B8Cd3a3520C245837Bf71f54579C75" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC-USR.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC-USR.json new file mode 100644 index 0000000..6c36454 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC-USR.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "MEV Capital", + "info": { "url": "https://mevcapital.com/" }, + "constants": { "underlyingToken": "0x66a1E37c9b0eAddca17d3662D6c05F4DECf3e110", "underlyingTicker": "USR", "vaultTicker": "MC-USR" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xD50DA5F859811A91fD1876C9461fD39c23C747Ad" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC.eUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC.eUSDC.json new file mode 100644 index 0000000..ca7a29b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC.eUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "MEV Capital", + "info": { "url": "https://mevcapital.com/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "MC.eUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x1265a81d42d513Df40d0031f8f2e1346954d665a" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC_USD0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC_USD0.json new file mode 100644 index 0000000..b70c4f1 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MC_USD0.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "MEV Capital", + "info": { "url": "https://mevcapital.com/" }, + "constants": { "underlyingToken": "0x73A15FeD60Bf67631dC6cd7Bc5B6e8da8190aCF5", "underlyingTicker": "USD0", "vaultTicker": "MC_USD0" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x749794E985Af5a9A384B9cEe6D88DaB4CE1576A1" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCcbBTC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCcbBTC.json new file mode 100644 index 0000000..44f7363 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCcbBTC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "MEV Capital", + "info": { "url": "https://mevcapital.com/" }, + "constants": { "underlyingToken": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", "underlyingTicker": "cbBTC", "vaultTicker": "MCcbBTC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x98cF0B67Da0F16E1F8f1a1D23ad8Dc64c0c70E0b" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCwBTC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCwBTC.json new file mode 100644 index 0000000..382a08f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCwBTC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "MEV Capital", + "info": { "url": "https://mevcapital.com/" }, + "constants": { "underlyingToken": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "underlyingTicker": "WBTC", "vaultTicker": "MCwBTC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x1c530D6de70c05A81bF1670157b9d928e9699089" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCwETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCwETH.json new file mode 100644 index 0000000..a2d96e9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-MCwETH.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "MEV Capital", + "info": { "url": "https://mevcapital.com/" }, + "constants": { "underlyingToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "underlyingTicker": "WETH", "vaultTicker": "MCwETH" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x9a8bC3B04b7f3D87cfC09ba407dCED575f2d61D8" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-USUALUSDC+.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-USUALUSDC+.json new file mode 100644 index 0000000..772b0e6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-USUALUSDC+.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "MEV Capital", + "info": { "url": "https://mevcapital.com/" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "USUALUSDC+" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xd63070114470f685b75B74D60EEc7c1113d33a3D" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-pWBTC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-pWBTC.json new file mode 100644 index 0000000..b3ec810 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-mev_capital-pWBTC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "MEV Capital", + "info": { "url": "https://mevcapital.com/" }, + "constants": { "underlyingToken": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "underlyingTicker": "WBTC", "vaultTicker": "pWBTC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x2f1aBb81ed86Be95bcf8178bA62C8e72D6834775" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7FRAX.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7FRAX.json new file mode 100644 index 0000000..5a69476 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7FRAX.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0x853d955aCEf822Db058eb8505911ED77F175b99e", "underlyingTicker": "FRAX", "vaultTicker": "Re7FRAX" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xBE40491F3261Fd42724F1AEb465796eb11c06ddF" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7RWA.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7RWA.json new file mode 100644 index 0000000..395c51c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7RWA.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0x59aaF835D34b1E3dF2170e4872B785f11E2a964b", "underlyingTicker": "verUSDC", "vaultTicker": "Re7RWA" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x6e37C95b43566E538D8C278eb69B00FC717a001b" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDA.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDA.json new file mode 100644 index 0000000..ab03e6a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDA.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0x0000206329b97DB379d5E1Bf586BbDB969C63274", "underlyingTicker": "USDA", "vaultTicker": "Re7USDA" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x89D80f5e9BC88d8021b352064ae73F0eAf79EBd8" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDC.json new file mode 100644 index 0000000..48f1aae --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "Re7USDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x60d715515d4411f7F43e4206dc5d4a3677f0eC78" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDT.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDT.json new file mode 100644 index 0000000..9a1be9e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7USDT.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "Re7USDT" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x95EeF579155cd2C5510F312c8fA39208c3Be01a8" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7WBTC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7WBTC.json new file mode 100644 index 0000000..e0bf33b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7WBTC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "underlyingTicker": "WBTC", "vaultTicker": "Re7WBTC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xE0C98605f279e4D7946d25B75869c69802823763" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7WETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7WETH.json new file mode 100644 index 0000000..7151379 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7WETH.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0x4200000000000000000000000000000000000006", "underlyingTicker": "WETH", "vaultTicker": "Re7WETH" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xA2Cac0023a4797b4729Db94783405189a4203AFc" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7cbBTC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7cbBTC.json new file mode 100644 index 0000000..3858f23 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7cbBTC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", "underlyingTicker": "cbBTC", "vaultTicker": "Re7cbBTC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xA02F5E93f783baF150Aa1F8b341Ae90fe0a772f7" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7cdxUSD1.1.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7cdxUSD1.1.json new file mode 100644 index 0000000..f915ec4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7cdxUSD1.1.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { + "underlyingToken": "0xC0D3700000987C99b3C9009069E4f8413fD22330", + "underlyingTicker": "cdxUSD", + "vaultTicker": "Re7cdxUSD1.1" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x74B6EA9BFee07C3756969b0139CFacBBa5845969" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7wstETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7wstETH.json new file mode 100644 index 0000000..406c4f6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-Re7wstETH.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { + "underlyingToken": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0", + "underlyingTicker": "wstETH", + "vaultTicker": "Re7wstETH" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xE87ed29896B91421ff43f69257ABF78300e40c7a" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-degenUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-degenUSDC.json new file mode 100644 index 0000000..759431a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-degenUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "degenUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xdB90A4e973B7663ce0Ccc32B6FbD37ffb19BfA83" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-fxUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-fxUSDC.json new file mode 100644 index 0000000..b38997c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-fxUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "fxUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x4F460bb11cf958606C69A963B4A17f9DaEEea8b6" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-mDEGEN.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-mDEGEN.json new file mode 100644 index 0000000..04dd72b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-mDEGEN.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed", "underlyingTicker": "DEGEN", "vaultTicker": "mDEGEN" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x8c3A6B12332a6354805Eb4b72ef619aEdd22BcdD" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-mMAI.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-mMAI.json new file mode 100644 index 0000000..762fef2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-mMAI.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0xbf1aeA8670D2528E08334083616dD9C5F3B087aE", "underlyingTicker": "MAI", "vaultTicker": "mMAI" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x30B8A2c8E7Fa41e77b54b8FaF45c610e7aD909E3" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-meUSD.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-meUSD.json new file mode 100644 index 0000000..a25173f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-meUSD.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0xCfA3Ef56d303AE4fAabA0592388F19d7C3399FB4", "underlyingTicker": "eUSD", "vaultTicker": "meUSD" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xbb819D845b573B5D7C538F5b85057160cfb5f313" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-pythETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-pythETH.json new file mode 100644 index 0000000..ccdd1dc --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-pythETH.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0x4200000000000000000000000000000000000006", "underlyingTicker": "WETH", "vaultTicker": "pythETH" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x80D9964fEb4A507dD697b4437Fc5b25b618CE446" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-pythUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-pythUSDC.json new file mode 100644 index 0000000..ace6be0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-pythUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "pythUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x0FaBfEAcedf47e890c50C8120177fff69C6a1d9B" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-uUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-uUSDC.json new file mode 100644 index 0000000..b2512f8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-re7_labs-uUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "RE7 Labs", + "info": { "url": "https://www.re7.capital" }, + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "uUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xB7890CEE6CF4792cdCC13489D36D9d42726ab863" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-sparkdao-spDAI.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-sparkdao-spDAI.json new file mode 100644 index 0000000..b772b16 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-sparkdao-spDAI.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "SparkDAO", + "info": { "url": "https://spark.fi/" }, + "constants": { "underlyingToken": "0x6B175474E89094C44Da98b954EedeAC495271d0F", "underlyingTicker": "DAI", "vaultTicker": "spDAI" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x73e65DBD630f90604062f6E02fAb9138e713edD9" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-sparkdao-sparkUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-sparkdao-sparkUSDC.json new file mode 100644 index 0000000..d714e4c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-sparkdao-sparkUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "SparkDAO", + "info": { "url": "https://spark.fi/" }, + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "sparkUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0x7BfA7C4f149E7415b73bdeDfe609237e29CBF34A" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqDAI.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqDAI.json new file mode 100644 index 0000000..daac53c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqDAI.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0x6B175474E89094C44Da98b954EedeAC495271d0F", "underlyingTicker": "DAI", "vaultTicker": "bbqDAI" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xbeeFfF68CC520D68f82641EFF84330C631E2490E" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqUSDC.json new file mode 100644 index 0000000..d224276 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "bbqUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xBEeFFF209270748ddd194831b3fa287a5386f5bC" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqUSDT.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqUSDT.json new file mode 100644 index 0000000..d9d249b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqUSDT.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "bbqUSDT" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xA0804346780b4c2e3bE118ac957D1DB82F9d7484" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqWSTETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqWSTETH.json new file mode 100644 index 0000000..d763166 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-bbqWSTETH.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { + "underlyingToken": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0", + "underlyingTicker": "wstETH", + "vaultTicker": "bbqWSTETH" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x833AdaeF212c5cD3f78906B44bBfb18258F238F0" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-csUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-csUSDC.json new file mode 100644 index 0000000..b9593d1 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-csUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "underlyingTicker": "USDC", "vaultTicker": "csUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x7204B7Dbf9412567835633B6F00C3Edc3a8D6330" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-csUSDL.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-csUSDL.json new file mode 100644 index 0000000..cc2eda0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-csUSDL.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0x7751E2F4b8ae93EF6B79d86419d42FE3295A4559", "underlyingTicker": "wUSDL", "vaultTicker": "csUSDL" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xbEEFC01767ed5086f35deCb6C00e6C12bc7476C1" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakETH.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakETH.json new file mode 100644 index 0000000..2b941a0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakETH.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0x4200000000000000000000000000000000000006", "underlyingTicker": "WETH", "vaultTicker": "steakETH" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xbEEf050a7485865A7a8d8Ca0CC5f7536b7a3443e" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakEURA.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakEURA.json new file mode 100644 index 0000000..d717a60 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakEURA.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0xA61BeB4A3d02decb01039e378237032B351125B4", "underlyingTicker": "EURA", "vaultTicker": "steakEURA" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xBEeFA28D5e56d41D35df760AB53B94D9FfD7051F" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakEURC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakEURC.json new file mode 100644 index 0000000..89059df --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakEURC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42", "underlyingTicker": "EURC", "vaultTicker": "steakEURC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xBeEF086b8807Dc5E5A1740C5E3a7C4c366eA6ab5" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakPAXG.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakPAXG.json new file mode 100644 index 0000000..33a4d30 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakPAXG.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0x45804880De22913dAFE09f4980848ECE6EcbAf78", "underlyingTicker": "PAXG", "vaultTicker": "steakPAXG" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xBeeF7959aE71D4e45e1863dae0B94C35244AF816" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakPYUSD.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakPYUSD.json new file mode 100644 index 0000000..defd769 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakPYUSD.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { + "underlyingToken": "0x6c3ea9036406852006290770BEdFcAbA0e23A0e8", + "underlyingTicker": "PYUSD", + "vaultTicker": "steakPYUSD" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xbEEF02e5E13584ab96848af90261f0C8Ee04722a" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakRUSD.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakRUSD.json new file mode 100644 index 0000000..a16b1bd --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakRUSD.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0x09D4214C03D01F49544C0448DBE3A27f768F2b34", "underlyingTicker": "rUSD", "vaultTicker": "steakRUSD" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xBeEf11eCb698f4B5378685C05A210bdF71093521" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakSUSDS.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakSUSDS.json new file mode 100644 index 0000000..dbdd631 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakSUSDS.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { + "underlyingToken": "0x5875eEE11Cf8398102FdAd704C9E96607675467a", + "underlyingTicker": "sUSDS", + "vaultTicker": "steakSUSDS" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xB17B070A56043e1a5a1AB7443AfAFDEbcc1168D7" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDA.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDA.json new file mode 100644 index 0000000..7fd70f8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDA.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0x0000206329b97DB379d5E1Bf586BbDB969C63274", "underlyingTicker": "USDA", "vaultTicker": "steakUSDA" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xbEEfa1aBfEbE621DF50ceaEF9f54FdB73648c92C" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDC.json new file mode 100644 index 0000000..d02078e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "underlyingTicker": "USDC", "vaultTicker": "steakUSDC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xbeeF010f9cb27031ad51e3333f9aF9C6B1228183" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDCrwa.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDCrwa.json new file mode 100644 index 0000000..67d6b5b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDCrwa.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { + "underlyingToken": "0x59aaF835D34b1E3dF2170e4872B785f11E2a964b", + "underlyingTicker": "verUSDC", + "vaultTicker": "steakUSDCrwa" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xbEefc4aDBE58173FCa2C042097Fe33095E68C3D6" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDM.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDM.json new file mode 100644 index 0000000..f5ca1d0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDM.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0x57F5E098CaD7A3D1Eed53991D4d66C45C9AF7812", "underlyingTicker": "wUSDM", "vaultTicker": "steakUSDM" } + }, + "context": { "contract": { "deployments": [{ "chainId": 8453, "address": "0xBEef03f0BF3cb2e348393008a826538AaDD7d183" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDQ.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDQ.json new file mode 100644 index 0000000..44f3a86 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDQ.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0xc83e27f270cce0A3A3A29521173a83F402c1768b", "underlyingTicker": "USDQ", "vaultTicker": "steakUSDQ" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xA1b60d96e5C50dA627095B9381dc5a46AF1a9a42" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDR.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDR.json new file mode 100644 index 0000000..f6a7d39 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDR.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0x7B43E3875440B44613DC3bC08E7763e6Da63C8f8", "underlyingTicker": "USDR", "vaultTicker": "steakUSDR" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x30881Baa943777f92DC934d53D3bFdF33382cab3" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDT.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDT.json new file mode 100644 index 0000000..1410e7e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDT.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "underlyingTicker": "USDT", "vaultTicker": "steakUSDT" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xbEef047a543E45807105E51A8BBEFCc5950fcfBa" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDTlite.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDTlite.json new file mode 100644 index 0000000..e730ff9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakUSDTlite.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { + "underlyingToken": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "underlyingTicker": "USDT", + "vaultTicker": "steakUSDTlite" + } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x097FFEDb80d4b2Ca6105a07a4D90eB739C45A666" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakWBTC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakWBTC.json new file mode 100644 index 0000000..565ab63 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/calldata-steakhouse_financial-steakWBTC.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/calldata-erc4626-vaults.json", + "metadata": { + "owner": "Steakhouse Financial", + "info": { "url": "https://www.steakhouse.financial" }, + "constants": { "underlyingToken": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "underlyingTicker": "WBTC", "vaultTicker": "steakWBTC" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xbeEf094333AEdD535c130958c204E84f681FD9FA" }] } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-9summits-9SUSDC11Core.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-9summits-9SUSDC11Core.tests.json new file mode 100644 index 0000000..f760f1c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-9summits-9SUSDC11Core.tests.json @@ -0,0 +1,73 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d011b84054e0840840a21fe80830bae70941e2aaadcf528b9cc08f43d4fd7db488ce89f574180b8446e553f650000000000000000000000000000000000000000000000000000000001299a4000000000000000000000000073f9c53a8b15e43056d5599f6488ac9a8730f85dc0", + "txHash": "0x2de38d96180cb43b3e22ee77f3ad954d5621140ce2e25d4fde509185b991717b", + "expectedTexts": [ + "Interaction with", + "9Summits", + "Deposit asset", + "19.50368 USDC", + "Share ticker", + "9SUSDC11Core", + "Send shares to", + "0x73F9c53A8B15e430 56d5599F6488AC9a87 30F85d", + "Max fees", + "0.00013014384 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b820318840bdb141a8316e360941e2aaadcf528b9cc08f43d4fd7db488ce89f574180b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x8c800511cc1f75b5769af38a6b079d4d2d11c7a9536ada01819d563e23a7aed3", + "expectedTexts": [ + "Interaction with", + "9Summits", + "Deposit asset", + "USDC", + "Minted shares", + "0.000000999 9SUSDC11Core", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000298360359 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88d014a8402ebae408402ebae40831d4d21941e2aaadcf528b9cc08f43d4fd7db488ce89f574180b864b460af940000000000000000000000000000000000000000000000000000000001598cd10000000000000000000000002fca661c0a563a4f3af1511c80d8391a4a5de79d0000000000000000000000002fca661c0a563a4f3af1511c80d8391a4a5de79dc0", + "txHash": "0xb52e5a0680a8d17458de3ca7571ff6df65163c21c47be2de4bc068af9940bdde", + "expectedTexts": [ + "Interaction with", + "9Summits", + "Withdraw exactly", + "22.645969 USDC", + "To", + "0x2fCa661c0a563a4f3 aF1511C80d8391a4a5D E79D", + "Owner", + "0x2fCa661c0a563a4f3 aF1511C80d8391a4a5D E79D", + "Max fees", + "0.000094094161 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d011d84054e0840840d1cef00830bf91d941e2aaadcf528b9cc08f43d4fd7db488ce89f574180b864ba0876520000000000000000000000000000000000000000000000013ef89e790317227f00000000000000000000000073f9c53a8b15e43056d5599f6488ac9a8730f85d00000000000000000000000073f9c53a8b15e43056d5599f6488ac9a8730f85dc0", + "txHash": "0xd3af902d949fe5f118c077be7bf8584bbf36ddd9095006e3894c46042ae5ab89", + "expectedTexts": [ + "Interaction with", + "9Summits", + "Shares to redeem", + "22.9842949408654 05567 9SUSDC11Core", + "To", + "0x73F9c53A8B15e430 56d5599F6488AC9a87 30F85d", + "Owner", + "0x73F9c53A8B15e430 56d5599F6488AC9a87 30F85d", + "Max fees", + "0.00017262718 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-MorphoBlue.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-MorphoBlue.tests.json new file mode 100644 index 0000000..0f327bc --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-MorphoBlue.tests.json @@ -0,0 +1,115 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Borrow from Morpho Market - chain 1", + "rawTx": "0x02f9014f018204d3830fb3888404a433b08303872a94bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb80b9012450d8cd4b000000000000000000000000cacd6fd266af91b8aed52accc382b4e165586e290000000000000000000000003b855aa8cc56a3cbd5dbb5456f5a13ce86aa0fe8000000000000000000000000c5860e9e6b6f6e9d79dce5c5ab0f7a4b878bd431000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000000000000000000000000000000d1d507e40be8000000000000000000000000000000000000000000000000c7e657b0c9a4ee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008449f934dbfbfa050f5e7738bf2e73a8110229040000000000000000000000008449f934dbfbfa050f5e7738bf2e73a811022904c0", + "txHash": "0xd65876b37b6cfd1c36051d7e4a710f122577ca66a5b94940cf0fd481c518d756", + "expectedTexts": [ + "Interaction with", + "Morpho DAO Loan Token Frax USD Collateral Token 0x3B855AA8CC56a3cB d5dBb5456F5A13Ce86 AA0fe8", + "Assets", + "590000000000000000 00000", + "Shares", + "0", + "On Behalf", + "0x8449f934dbFbFA05 0f5E7738bf2E73a81102 2904", + "Receiver", + "0x8449f934dbFbFA05 0f5E7738bf2E73a81102 2904", + "Max fees", + "0.0000180043227 ETH" + ] + }, + { + "description": "Repay on Morpho Market - chain 1", + "rawTx": "0x02f9016f0181b1841dcd6500842b39ac8083027dd194bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb80b9014420b76e810000000000000000000000006c3ea9036406852006290770bedfcaba0e23a0e80000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000c53c90d6e9a5b69e4abf3d5ae4c79225c7fef3d2000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000000000000000000000000000000bef55718ad6000000000000000000000000000000000000000000000000000000000000d22a7d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4916bf722d5b2d397fd2f3a925029d2c4e83b5100000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x51da07893f0ce41500eb968e8cbb353acfd493a981d1b1376c9da13bd61390d7", + "expectedTexts": [ + "Interaction with", + "Morpho DAO Loan Token PayPal USD Collateral Token Wrapped Bitcoin", + "Assets", + "3526000000", + "Shares", + "0", + "On Behalf", + "0xE4916bF722d5B2d3 97fd2F3A925029d2c4e 83B51", + "Data", + "0x", + "Max fees", + "0.0001184113812 ETH" + ] + }, + { + "description": "Supply on Morpho Market - chain 1", + "rawTx": "0x02f9016d01498305b8d8841940136a830191e794bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb80b90144a99aad89000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000038eeb52f0771140d10c4e9a9a72349a329fe8a6a000000000000000000000000ff1487bda8049a536f912e41e27b82a8a3845862000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000000000000000000000000000000bef55718ad6000000000000000000000000000000000000000000000000000000000000055d4a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e689f793882a9fbf80b26ee16f530076e013031100000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xda4b80253bbbbec23c7dfe3349da2206ee1a04c9f4e48e21c0510f2148e6126b", + "expectedTexts": [ + "Interaction with", + "Morpho DAO Loan Token USD Coin Collateral Token 0x38EEb52F0771140d1 0c4E9A9a72349A329F e8a6A", + "Assets", + "90000000", + "Shares", + "0", + "On Behalf", + "0xe689F793882A9FbF 80B26EE16f530076E01 30311", + "Data", + "0x", + "Max fees", + "0.0000435859862688 38 ETH" + ] + }, + { + "description": "Supply Collateral on Morpho Market - chain 1", + "rawTx": "0x02f9014d016f8315493884036746e08301eb4594bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb80b90124238d6579000000000000000000000000dc035d45d973e3ec169d2276ddab16f1e407384f000000000000000000000000e0f63a424a4439cbe457d80e4f4b51ad25b2c56c000000000000000000000000da63266b5184d08dbfbace96267837c45d7d34da000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc00000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000000000000000000000000000000001486f278b6000000000000000000000000f11cc888d8da84d3bf735b7b357814fd071e8b1a00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x7f8c5721ec91f85d26337087db308564f0bb8ae4683f3a8186b859a5549c6324", + "expectedTexts": [ + "Interaction with", + "Morpho DAO Loan Token USDS Stablecoin Collateral Token SPX6900", + "Assets", + "88163383478", + "On Behalf", + "0xf11Cc888d8Da84D3 bF735b7b357814fD071 e8B1A", + "Data", + "0x", + "Max fees", + "0.0000071811815 ETH" + ] + }, + { + "description": "Withdraw from Morpho Market - chain 1", + "rawTx": "0x02f9014f01820cae8374ff88840e3d347b8302b01494bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb80b901245c2bea49000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000003eaa0f0f0a5d3d595ae4e4b0d27f439d01c3e7b200000000000000000000000012d66602c691aa93e90415ab22fb0760695ac768000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000000000000000000000000000000cb2bba6f17b8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006cd0ed733213b14000000000000000000000000d7583e3cf08bbcab66f1242195227bbf9f865fda000000000000000000000000d7583e3cf08bbcab66f1242195227bbf9f865fdac0", + "txHash": "0xaed67a56efd26a49af6fc08e1674a1aca01977f345df822bb6948fdc3ed986e3", + "expectedTexts": [ + "Interaction with", + "Morpho DAO Loan Token USD Coin Collateral Token PT reUSD 25JUN2026", + "Assets", + "0", + "Shares", + "490064251891825428", + "On Behalf", + "0xd7583E3CF08bbcaB 66F1242195227bBf9F8 65Fda", + "Receiver", + "0xd7583E3CF08bbcaB 66F1242195227bBf9F8 65Fda", + "Max fees", + "0.00004208037531894 ETH" + ] + }, + { + "description": "Withdraw Collateral from Morpho Market - chain 1", + "rawTx": "0x02f9012d011d830186a0840436f2f083020e7f94bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb80b901048720316d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dcee70654261af21c44c093c300ed3bb97b78192000000000000000000000000b7948b5beee825e609990484a99340d8767b420e000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000000000000000000000000000000bef55718ad60000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000b1baf4287894eb272258651e7c581d16da883dda000000000000000000000000b1baf4287894eb272258651e7c581d16da883ddac0", + "txHash": "0x676bc37ff4709660d301508e85f6e27c4bfe1c143d04f9fb18af781a6f7ff7f6", + "expectedTexts": [ + "Interaction with", + "Morpho DAO Loan Token WETH Collateral Token Wrapped OETH", + "Assets", + "40000000000000000", + "On Behalf", + "0xB1bAf4287894eB272 258651e7C581d16da88 3DdA", + "Receiver", + "0xB1bAf4287894eB272 258651e7C581d16da88 3DdA", + "Max fees", + "0.00000953050593 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-MorphoBundlerV3.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-MorphoBundlerV3.tests.json new file mode 100644 index 0000000..1763380 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-MorphoBundlerV3.tests.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Bundler3 Multicall - chain 1", + "rawTx": "0x02f907f70182016283154938844758c540830819ce946566194141eefa99af43bb5aa71460ca2dc9024580b907cc374f435d0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4d505accf0000000000000000000000000480f2aa4e021fe328eb818d8f2315660d18a4080000000000000000000000004a6c312ec70e8747a587ee860a0353cd42be0ae0000000000000000000000000000000000000000000000000000000012a6d14ee0000000000000000000000000000000000000000000000000000000069c140ff000000000000000000000000000000000000000000000000000000000000001c04926a7edb481bb89787ac7e61a474339d7b7c7e81cc12ac1785350f40c7e517722ede40ab7818424606ef3d69d91baa81851d90bc45351828ef81d13b4abf6d000000000000000000000000000000000000000000000000000000000000000000000000000000004a6c312ec70e8747a587ee860a0353cd42be0ae000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064d96ca0b9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000004a6c312ec70e8747a587ee860a0353cd42be0ae0000000000000000000000000000000000000000000000000000000012a6d14ee000000000000000000000000000000000000000000000000000000000000000000000000000000004a6c312ec70e8747a587ee860a0353cd42be0ae000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000846ef5eeae000000000000000000000000a00a5b20f487d0113784f85fba88db66a408f1e0000000000000000000000000000000000000000000000000000000012a6d14ee0000000000000000000000000000000000000000000000000003b44ffade6d550000000000000000000000000480f2aa4e021fe328eb818d8f2315660d18a408000000000000000000000000000000000000000000000000000000000000000000000000000000004a6c312ec70e8747a587ee860a0353cd42be0ae000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000643790767d000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000480f2aa4e021fe328eb818d8f2315660d18a408ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000004a6c312ec70e8747a587ee860a0353cd42be0ae000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000643790767d000000000000000000000000a00a5b20f487d0113784f85fba88db66a408f1e00000000000000000000000000480f2aa4e021fe328eb818d8f2315660d18a408ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000069c124f62222da44c0", + "txHash": "0xdc0107fffe378e5fd241805599acc8066e8c63847f9085b35f2eccc0b1c3d6d7", + "expectedTexts": ["Action"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-b_protocol-reUSDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-b_protocol-reUSDC.tests.json new file mode 100644 index 0000000..d4404b2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-b_protocol-reUSDC.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82029d84025275d58316e360940f359fd18bda75e9c49bc027e7da59a4b01bf32a80b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001018080", + "txHash": "0xf97c0e344a4f62e5dafeb2f70e9d65b9655c95c261d93944cd5cce5bf10d68b3", + "expectedTexts": [ + "Interaction with", + "B.Protocol", + "Deposit asset", + "USDC", + "Minted shares", + "0.000000001 reUSDC", + "Mint shares to", + "0x0000000000000000 000000000000000000 000001", + "Max fees", + "0.0000584378235 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d013c847735940084888ec3388329908e940f359fd18bda75e9c49bc027e7da59a4b01bf32a80b864ba08765200000000000000000000000000000000000000000000040629730d501e9955a50000000000000000000000001fc0ad1335de20be79621556e74479398d0ffdc70000000000000000000000001fc0ad1335de20be79621556e74479398d0ffdc7c0", + "txHash": "0xa2acf4597c37717ddf34cd78280724ac88ed95c07202b58c6d9c02878a30b951", + "expectedTexts": [ + "Interaction with", + "B.Protocol", + "Shares to redeem", + "19003.13314153647 6845477 reUSDC", + "To", + "0x1fc0aD1335DE20bE7 9621556e74479398D0 FFdC7", + "Owner", + "0x1fc0aD1335DE20bE7 9621556e74479398D0 FFdC7", + "Max fees", + "0.00624079929290164 8 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-b_protocol-recbBTC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-b_protocol-recbBTC.tests.json new file mode 100644 index 0000000..b509388 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-b_protocol-recbBTC.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86e012d844db9054185036092f2428306764294b9c9158ab81f90996cad891ffbadfbaad733c8c680b8446e553f6500000000000000000000000000000000000000000000000000000000000005f000000000000000000000000017e7bb9fe7983947fdcf02c1e3d8e6c92c21da54c0", + "txHash": "0x6bf7e9490d6fb86dd836ef81f0a0e4dd82f1de4b976adabf5014d3f459d3d0fb", + "expectedTexts": [ + "Interaction with", + "B.Protocol", + "Deposit asset", + "0.0000152 cbBTC", + "Share ticker", + "recbBTC", + "Send shares to", + "0x17e7bB9fe7983947F dCf02c1E3d8e6C92C21 da54", + "Max fees", + "0.00614278381285402 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbETH.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbETH.tests.json new file mode 100644 index 0000000..3582b80 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbETH.tests.json @@ -0,0 +1,73 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86e01268405f5e1008504da7c7523830730789438989bba00bdf8181f4082995b3deae96163ac5d80b8446e553f6500000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000008949ac8bae1389179cc222d9ec21a1fc2f69c786c0", + "txHash": "0x01062eec602faa1abff730e565e4b9a4ae29cd68552c876206b3fe8a983fb060", + "expectedTexts": [ + "Interaction with", + "Block Analitica", + "Deposit asset", + "0.05 WETH", + "Share ticker", + "bbETH", + "Send shares to", + "0x8949ac8bae1389179 Cc222d9eC21a1Fc2F69 C786", + "Max fees", + "0.00982154633192868 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b8202a68402708be58316e3609438989bba00bdf8181f4082995b3deae96163ac5d80b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001018080", + "txHash": "0xa81b7d46981f96643d90067dbb82c052d606d535634e63f6882bc11f8f8236e6", + "expectedTexts": [ + "Interaction with", + "Block Analitica", + "Deposit asset", + "WETH", + "Minted shares", + "1000000000 ???", + "Mint shares to", + "0x0000000000000000 000000000000000000 000001", + "Max fees", + "0.0000613954155 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88e01288405f5e100850880052f778304fdfb9438989bba00bdf8181f4082995b3deae96163ac5d80b864b460af94000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000008949ac8bae1389179cc222d9ec21a1fc2f69c7860000000000000000000000008949ac8bae1389179cc222d9ec21a1fc2f69c786c0", + "txHash": "0x8fe3a3dfa623a2bb078b2e006554897139935dbec99ca2b103a66f3580c9d061", + "expectedTexts": [ + "Interaction with", + "Block Analitica", + "Withdraw exactly", + "0.0125 WETH", + "To", + "0x8949ac8bae1389179 Cc222d9eC21a1Fc2F69 C786", + "Owner", + "0x8949ac8bae1389179 Cc222d9eC21a1Fc2F69 C786", + "Max fees", + "0.01194392345655006 1 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f018201388405f5e10084087538e083037bce9438989bba00bdf8181f4082995b3deae96163ac5d80b864ba08765200000000000000000000000000000000000000000000000048cd63c52f59d43f00000000000000000000000071912cbe10302b66f14f4d39f6329986798aaa6a00000000000000000000000071912cbe10302b66f14f4d39f6329986798aaa6ac0", + "txHash": "0x5d2bf1c4f8d76914f00c1fce2252f6d4c7f1008e78b82603014d70d70b83fe38", + "expectedTexts": [ + "Interaction with", + "Block Analitica", + "Shares to redeem", + "5245958839510619199 ???", + "To", + "duelinggalois.eth", + "Owner", + "duelinggalois.eth", + "Max fees", + "0.0000323960538 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbUSDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbUSDC.tests.json new file mode 100644 index 0000000..68e2903 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbUSDC.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d013084054e08408489173700830645ca94186514400e52270cef3d80e1c6f8d10a75d4734480b8446e553f65000000000000000000000000000000000000000000000000000000001149e2b80000000000000000000000004d4ece693d1d30d7e040f7325594f9e71786cb26c0", + "txHash": "0xbe1a29e83c5e5183ce1e5fd6c790151c81b5756fba1f7f3d8f117021ac3be836", + "expectedTexts": [ + "Interaction with", + "Block Analitica", + "Deposit asset", + "290.05484 USDC", + "Share ticker", + "bbUSDC", + "Send shares to", + "0x4D4eCe693d1d30d7 E040f7325594F9E7178 6cB26", + "Max fees", + "0.0009454886 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d013184054e0840841e65fb80830644f394186514400e52270cef3d80e1c6f8d10a75d4734480b864ba08765200000000000000000000000000000000000000000000000ef8a99b2b30746e1e0000000000000000000000004d4ece693d1d30d7e040f7325594f9e71786cb260000000000000000000000004d4ece693d1d30d7e040f7325594f9e71786cb26c0", + "txHash": "0x022a4ef3056fc42e6337efcfd7536192a8090c6c4ec2e2dbb82f83b07dd8f35a", + "expectedTexts": [ + "Interaction with", + "Block Analitica", + "Shares to redeem", + "276.1724402342027 87358 bbUSDC", + "To", + "0x4D4eCe693d1d30d7 E040f7325594F9E7178 6cB26", + "Owner", + "0x4D4eCe693d1d30d7 E040f7325594F9E7178 6cB26", + "Max fees", + "0.00020954217 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbUSDT.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbUSDT.tests.json new file mode 100644 index 0000000..ce8d4d0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-block_analitica-bbUSDT.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d011184054e0840840bebc20083124f80942c25f6c25770ffec5959d34b94bf898865e5d6b180b8446e553f6500000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000bbaaa6f7f8c6d95efb8eb58c96084b0fe8e2df74c0", + "txHash": "0x667a1de923cbd76a75adc7735add68fc22da1bd05f5feee8e85968fc809ac912", + "expectedTexts": [ + "Interaction with", + "Block Analitica", + "Deposit asset", + "0.1 USDT", + "Share ticker", + "bbUSDT", + "Send shares to", + "0xBBaAa6f7f8C6d95Ef B8eB58c96084b0FE8E 2dF74", + "Max fees", + "0.00024 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b8202348409c7c66c8316e360942c25f6c25770ffec5959d34b94bf898865e5d6b180b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x0309d43a20035008d3fb0183a3142dcb70a9038f8505b3037393adaf57346b61", + "expectedTexts": [ + "Interaction with", + "Block Analitica", + "Deposit asset", + "USDT", + "Minted shares", + "0.000000001 bbUSDT", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000246131106 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d014c8405f5e100840ef902008303d0dd942c25f6c25770ffec5959d34b94bf898865e5d6b180b864ba08765200000000000000000000000000000000000000000000000594bce7778d012cc1000000000000000000000000d93f808e16eeeafcc342a55634fba3b77e9231b3000000000000000000000000d93f808e16eeeafcc342a55634fba3b77e9231b3c0", + "txHash": "0xa07e89c430c6b4088030a02cadd09e49bae133e605289ead6e15734566bb147b", + "expectedTexts": [ + "Interaction with", + "Block Analitica", + "Shares to redeem", + "102.9514160824354 84865 bbUSDT", + "To", + "ccamborde.eth", + "Owner", + "ccamborde.eth", + "Max fees", + "0.0000628193424 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtAUSDc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtAUSDc.tests.json new file mode 100644 index 0000000..1773ae4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtAUSDc.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b8202c684026d489d8316e360941b4cd53a1a8e5f50ab6320ef34e5fb4d3df7b6f680b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001018080", + "txHash": "0x7d5646c715925fe645969e6745edab4eac9de3a100ee84b40df996ad9099532e", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "AUSD", + "Minted shares", + "0.000000001 gtAUSDc", + "Mint shares to", + "0x0000000000000000 000000000000000000 000001", + "Max fees", + "0.0000610746675 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtDAIcore.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtDAIcore.tests.json new file mode 100644 index 0000000..f0de34d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtDAIcore.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f8840150839896808403dc01b0830d9dc794500331c9ff24d9d11aee6b07734aa72343ea74a580b85c6e553f6500000000000000000000000000000000000000000000000a9016758fa56b8231000000000000000000000000b69b0242d57d01b0f710c33a311435234050f5b91f45ae883a71ba4b61ba1cce41fee9d8535a2a0fffc69debc0", + "txHash": "0x9209f8dcb3a2ffd6f16e7c2d3424b3f6bb9e282806197fdd839aa1b840f43443", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "194.850055987860 832817 DAI", + "Share ticker", + "gtDAIcore", + "Send shares to", + "0xB69b0242d57d01b0f 710C33a31143523405 0F5b9", + "Max fees", + "0.00005778024525 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtLRTcore.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtLRTcore.tests.json new file mode 100644 index 0000000..432b099 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtLRTcore.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d0102841dcd65008451e5938083134aff944881ef0bf6d2365d3dd6499ccd7532bcdbce065880b864ba0876520000000000000000000000000000000000000000000000081dc0379cc79c1898000000000000000000000000029f7fb1ad4e7953ac2f4f52f7b37b05a62d400f000000000000000000000000029f7fb1ad4e7953ac2f4f52f7b37b05a62d400fc0", + "txHash": "0x93ec71f4cdfa76bc16d40b5ea9349a8e25788207048fd79c9b13e4f90a8e46a6", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "149.7177271588080 90776 gtLRTcore", + "To", + "0x029f7Fb1ad4E7953A C2F4f52F7B37b05a62 D400F", + "Owner", + "0x029f7Fb1ad4E7953A C2F4f52F7B37b05a62 D400F", + "Max fees", + "0.001737262242 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDAcore.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDAcore.tests.json new file mode 100644 index 0000000..1d90256 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDAcore.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b8202cb8402844dd58316e36094125d41a6e5dbf455cd9df8f80bcc6fd172d52cc680b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001018080", + "txHash": "0x69729eae9459cba89d0b99216f1d0f03958993af80d4df0df7249aa71d21d47f", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "USDA", + "Minted shares", + "0.000000001 gtUSDAcore", + "Mint shares to", + "0x0000000000000000 000000000000000000 000001", + "Max fees", + "0.0000633376635 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f01820683841d303aa08421abb0a08309f91e94125d41a6e5dbf455cd9df8f80bcc6fd172d52cc680b864ba0876520000000000000000000000000000000000000000000000001bc16d674c0bfd57000000000000000000000000fda462548ce04282f4b6d6619823a7c64fdc0185000000000000000000000000fda462548ce04282f4b6d6619823a7c64fdc0185c0", + "txHash": "0x0a0cb71ed10dff4e3eb226df8b8d37a0686821d647aa89735c2ca8301021c389", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "1.99999999995412 4119 gtUSDAcore", + "To", + "0xfdA462548Ce04282f 4B6D6619823a7C64Fd c0185", + "Owner", + "0xfdA462548Ce04282f 4B6D6619823a7C64Fd c0185", + "Max fees", + "0.0003692175102 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDC.tests.json new file mode 100644 index 0000000..a373bd1 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDC.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d01098405f5e1008409e1e8408307382f94dd0f28e19c1780eb6396170735d45153d261490d80b864ba087652000000000000000000000000000000000000000000001202956385d14d904f54000000000000000000000000e0f2fa025f38241ebff5396da4e83ae8320d04d4000000000000000000000000e0f2fa025f38241ebff5396da4e83ae8320d04d4c0", + "txHash": "0x1247d987c9f8a0d7f9a74c67e1f2ec7ac90a865408035afd2faa16b49e88779c", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "85050.2547744693 74529364 gtUSDC", + "To", + "0xe0F2Fa025F38241EB Ff5396Da4E83ae8320 d04D4", + "Owner", + "0xe0F2Fa025F38241EB Ff5396Da4E83ae8320 d04D4", + "Max fees", + "0.000078445783 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDCcore.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDCcore.tests.json new file mode 100644 index 0000000..8e0fabd --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDCcore.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d0153841dcd65008432685ba0831263d7948eb67a509616cd6a7c1b3c8c21d48ff57df3d45880b864ba0876520000000000000000000000000000000000000000000000bb352599a63a87a9770000000000000000000000001d657291293c5a14945680284f406629b527556b0000000000000000000000001d657291293c5a14945680284f406629b527556bc0", + "txHash": "0xe2d000e5c462aa36cffda0bb49bff613aa20010bdf792766a5208d393bcc0fb0", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "3453.370777781060 217207 gtUSDCcore", + "To", + "0x1d657291293C5A149 45680284f406629B52 7556b", + "Owner", + "0x1d657291293C5A149 45680284f406629B52 7556b", + "Max fees", + "0.0010192435599 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDT.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDT.tests.json new file mode 100644 index 0000000..d3aa4f4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtUSDT.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88c010583a84df0840987e1608309374c948cb3649114051ca5119141a34c200d65dc0faa7380b864ba087652000000000000000000000000000000000000000000000143a93f9a5acd41ffec00000000000000000000000039148dfb5bc9313b6146d9aebc296ec8b2f0e81800000000000000000000000039148dfb5bc9313b6146d9aebc296ec8b2f0e818c0", + "txHash": "0xf66040050fc5bac02e7ce3eccdbec7260e865d59af918c9a7ae00dff99b33b78", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "5970.49397183890 915326 gtUSDT", + "To", + "0x39148dFB5bC9313B 6146D9aEbc296eC8b2 f0E818", + "Owner", + "0x39148dFB5bC9313B 6146D9aEbc296eC8b2 f0E818", + "Max fees", + "0.000096576402 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWBTCc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWBTCc.tests.json new file mode 100644 index 0000000..9fd6e4b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWBTCc.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f8850122847735940084797e5ec88305556694443df5eee3196e9b2dd77cabd3ea76c3dee8f9b280b85c6e553f6500000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000413f43ea142a4dd1690fb8897b5e61011be93dec96d0dba96dab518e61ba1cce41fee9d8535a2a0fffc69debc0", + "txHash": "0x86018a1c533756d7b31d353c3b36611e2e43a1ceb9a4685fe0ba564d842717f9", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "0.00001 WBTC", + "Share ticker", + "gtWBTCc", + "Send shares to", + "0x413F43eA142a4dd16 90fb8897b5e61011Be9 3DEC", + "Max fees", + "0.00071248017477931 2 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82035c841cabf4e88316e36094443df5eee3196e9b2dd77cabd3ea76c3dee8f9b280b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0xeb33c156d68f9f9decdc9ce6a5206e6e0899a1348c56aef2b7f66ad912f305a6", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "WBTC", + "Minted shares", + "0.000000999 gtWBTCc", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.0007215471 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f018202568415c60920841866f2c0830911d094443df5eee3196e9b2dd77cabd3ea76c3dee8f9b280b864ba0876520000000000000000000000000000000000000000000000000012ff6a45b9f9080000000000000000000000000147a2d38acc12b88432f49b9a1dac86f67932200000000000000000000000000147a2d38acc12b88432f49b9a1dac86f6793220c0", + "txHash": "0x3e6418f61093aea2776e32a2f01d95bfb480af946996d45590566dcf567745cc", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "0.00534738148222 388 gtWBTCc", + "To", + "investingdams.eth", + "Owner", + "investingdams.eth", + "Max fees", + "0.0002433408096 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWETH.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWETH.tests.json new file mode 100644 index 0000000..4bceb0c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWETH.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f88401388336ee7f84067cdbbb83090aab942371e134e3455e0593363cbf89d3b6cf5374061880b85c6e553f650000000000000000000000000000000000000000000000003e7336287142000000000000000000000000000090deceec188094f6f6c1ef446d843f70abfc92cb798a57c245e9549d61ba1cce41fee9d8535a2a0fffc69debc0", + "txHash": "0xb4ad814583934261d841bd4c30e7cc3d2e42c0fa156119dbe24603738c3dc059", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "4.5 WETH", + "Share ticker", + "gtWETH", + "Send shares to", + "0x90dECEec188094f6f 6C1eF446D843F70abf C92Cb", + "Max fees", + "0.0000644972480481 05 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWETHe.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWETHe.tests.json new file mode 100644 index 0000000..776baff --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtWETHe.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86e0181d08435a4e902843a676e0283062d5c941e6ffa4e9f63d10b8820a3ab52566af881dab53c80b8446e553f6500000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000001cce18de074d0729459d81cf0a3e877456c8be3bc0", + "txHash": "0x3ed9299d9e7a06bbe890aaa4b104c94351a02ed6a7e2c1b28e51bd1b5e7c9cbc", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "0.002 WETH", + "Share ticker", + "gtWETHe", + "Send shares to", + "0x1ccE18De074d07294 59D81cf0A3e877456C 8be3B", + "Max fees", + "0.0003966735083035 44 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82021c84063b9f898316e360941e6ffa4e9f63d10b8820a3ab52566af881dab53c80b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x2ed3ca2030df9e09365e49aa4aa5c91bff6800ffdff1a46971967a41968ef513", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "WETH", + "Minted shares", + "0.000000001 gtWETHe", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.0001568561415 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f0182012d8406b316808409bbc2a08307d21d941e6ffa4e9f63d10b8820a3ab52566af881dab53c80b864ba0876520000000000000000000000000000000000000000000000000006fbcf04406a270000000000000000000000001cce18de074d0729459d81cf0a3e877456c8be3b0000000000000000000000001cce18de074d0729459d81cf0a3e877456c8be3bc0", + "txHash": "0xe9cd53415212eb5b6f02296a0bc5ce0fcdacc0096c38e6630627727f5d21c3cf", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "0.001965716408396 327 gtWETHe", + "To", + "0x1ccE18De074d07294 59D81cf0A3e877456C 8be3B", + "Owner", + "0x1ccE18De074d07294 59D81cf0A3e877456C 8be3B", + "Max fees", + "0.0000836979453 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtcbBTCc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtcbBTCc.tests.json new file mode 100644 index 0000000..046baff --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtcbBTCc.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d01818983030d43840337c9fd83063c2194f587f2e8aff7d76618d3b6b4626621860fbd54e380b8446e553f65000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000051b5871fcf177189f2ee32966c258997ba42e216c0", + "txHash": "0x12b2ffb5ca5173774244d1ad125b6a8232784c1f97ca84b391579f3591cdfd8d", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "0.00000333 cbBTC", + "Share ticker", + "gtcbBTCc", + "Send shares to", + "0x51b5871FCF177189F 2Ee32966C258997bA4 2e216", + "Max fees", + "0.00002205991608873 3 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82025c840b5cf3628316e36094f587f2e8aff7d76618d3b6b4626621860fbd54e380b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0xad6981a3d3b2df39c5e6297c3998d154b4691d3eb35b193b9468fd0954f99798", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "cbBTC", + "Minted shares", + "0.000000001 gtcbBTCc", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000285961491 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gteUSDc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gteUSDc.tests.json new file mode 100644 index 0000000..abb4c30 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gteUSDc.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f901d90181f4830f4240847aba8b5f83085b5594c080f56504e0278828a403269db945f6c6d6e01480b901af6e553f65000000000000000000000000000000000000000000000036303be2bbb864123e0000000000000000000000004521184ccf3451179372ebe495dbe93f1444d7f2e0f70dfc6bfe998fbefe82f04b8fa55cdc007864eed36e6a327a4395ee580e24f6192f52fb94831f69b1d4184abcb6633cb30a1c9db7f91c759d13092d98f8a898a8608ec9a279cc00f16acd61a97d5bae4baa3d029570284086a3d33cc71a6cceca27f811640504e300e87b226469737472696275746f724964223a224d704f6756446e63222c22616374696f6e223a226465706f736974222c226f70706f7274756e6974794964223a2239313966323561622d333634312d343235332d393233642d326530356366623838313335222c22616d6f756e74223a22393939353939383030383133363432353834363338222c22616d6f756e74557364223a223939382e3739222c22746f6b656e496e223a22307841306436394532383642393338653231434266374535314437314636413463383931386634383246222c22746f6b656e496e446563696d616c73223a31387d0001010cf09f90a24561726e0000000000000000deadbeefc0", + "txHash": "0x40a52b0f350f80fb2cd79342b34a4a38f4a968025ef14484a7cce655577127ea", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "999599800813642584 638 ???", + "Share ticker", + "gteUSDc", + "Send shares to", + "0x4521184Ccf3451179 372EBE495dBe93F144 4d7f2", + "Max fees", + "0.00112767551426036 3 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d010b8405f5e100840b1ab66083085d6f94c080f56504e0278828a403269db945f6c6d6e01480b864ba08765200000000000000000000000000000000000000000000013560bfde1c76c34d2c000000000000000000000000a55cc19e50234b346bdee93b6a2191dcff48acc4000000000000000000000000a55cc19e50234b346bdee93b6a2191dcff48acc4c0", + "txHash": "0xcf4cbef81058eaf8723af911a9784eb536cbc675d576f7fc9b32bb8baafe924b", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "5707.015453738277 22782 gteUSDc", + "To", + "0xA55CC19E50234b34 6Bdee93b6A2191DCff4 8ACc4", + "Owner", + "0xA55CC19E50234b34 6Bdee93b6A2191DCff4 8ACc4", + "Max fees", + "0.0001021309641 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtmsETHc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtmsETHc.tests.json new file mode 100644 index 0000000..abe6551 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtmsETHc.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f87001820bc784c8df1bc9850a4c5808018304e2d79478b18e07dc43017fceaabad0751d6464c0f56b2580b8446e553f6500000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000df826ff6518e609e4cee86299d40611c148099d5c0", + "txHash": "0x369870a7cee9a9bac7ea1c17d125411b004df0078b942a32ac8cf9a780e20a12", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "0.001 msETH", + "Share ticker", + "gtmsETHc", + "Send shares to", + "0xdf826ff6518e609E4c EE86299d40611C1480 99d5", + "Max fees", + "0.01416327294953749 5 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82024e84081e398e8316e3609478b18e07dc43017fceaabad0751d6464c0f56b2580b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x6fd32d19821849b2c9113bc1b2252f3f0631827ecfe02aabb15459c9003eda57", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "msETH", + "Minted shares", + "0.000000001 gtmsETHc", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000204297813 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtmsUSDc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtmsUSDc.tests.json new file mode 100644 index 0000000..c294fba --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtmsUSDc.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82026e840517d50b8316e360946859b34a9379122d25a9fa46f0882d434fee36c380b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0xd6ecf1d7109c6c8220067de7340c1ba8bf6cdfac9f4c525fb24acfbdf2aeb769", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "msUSD", + "Minted shares", + "0.000000001 gtmsUSDc", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.0001281719205 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtusdcf.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtusdcf.tests.json new file mode 100644 index 0000000..77b0619 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-gtusdcf.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88c0129834c4b4084085e4420831e848094c582f04d8a82795aa2ff9c8bb4c1c889fe7b754e80b864b460af94000000000000000000000000000000000000000000000000000000001e7cdb860000000000000000000000003cf3c6a96357e26de5c6f8be745dc453aad592490000000000000000000000002ce42f77f6f762fa3247bb2ad4d0f0c962f0c8a3c0", + "txHash": "0x85756e157b277558686dd008c1e17d2f40fc7a4e674631460d5797191f3e772f", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Withdraw exactly", + "511.499142 USDC", + "To", + "0x3cf3c6a96357e26DE 5c6F8Be745DC453AA D59249", + "Owner", + "0x2ce42f77f6F762fA32 47bb2Ad4D0f0C962F0 c8A3", + "Max fees", + "0.000280791104 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f8a101290284105c168b831c052e94c582f04d8a82795aa2ff9c8bb4c1c889fe7b754e80b87cba08765200000000000000000000000000000000000000000000114ecd3b46c803abff15000000000000000000000000b220f968e2f89c8f2372478cc28ff6384f3fc342000000000000000000000000b220f968e2f89c8f2372478cc28ff6384f3fc342ee2d0735dbe1e42c61ba1cce41fee9d8535a2a0fffc69debc0", + "txHash": "0xc942acb9dbb2b28ffad547027a17d7b9dbbbb918035dfe8917eca83ccb82831d", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "81733.86473815958 3821589 gtusdcf", + "To", + "0xb220f968e2f89C8f2 372478CC28ff6384F3F C342", + "Owner", + "0xb220f968e2f89C8f2 372478CC28ff6384F3F C342", + "Max fees", + "0.00050401958276402 6 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-mhyETH.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-mhyETH.tests.json new file mode 100644 index 0000000..2012854 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-mhyETH.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82021a84069b9be18316e36094701907283a57ff77e255c3f1aad790466b8ce4ef80b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x75b5a6ac9ac2ab1ecacc84b17cde381cf69c2366b2f9099a4b8e826c3560ae66", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "WETH", + "Minted shares", + "1000000000 ???", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.0001662919215 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f0182064a8402625a00840ac6ca00830af9c294701907283a57ff77e255c3f1aad790466b8ce4ef80b864ba087652000000000000000000000000000000000000000000000000037c03009a9eccfb0000000000000000000000003006ef6777ccc79c3af305101fe0b3d14bd47b590000000000000000000000003006ef6777ccc79c3af305101fe0b3d14bd47b59c0", + "txHash": "0xab3a6e91905c418c656865f832b945a07ef94312e575606db2835ea15fbb95f4", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "251078980354886907 ???", + "To", + "capitalistarebelde.et h", + "Owner", + "capitalistarebelde.et h", + "Max fees", + "0.0001300490784 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-midasUSDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-midasUSDC.tests.json new file mode 100644 index 0000000..a3f6b3e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-midasUSDC.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b820345843787b8908316e36094a8875aaebc4f830524e35d57f9772ffacbdd6c4580b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x44fa0c901326b313ab44b2fce5fababd1c1f1751d1602c28d5deee755f102e03", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Deposit asset", + "USDC", + "Minted shares", + "999000000000 ???", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.001397462232 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f018203aa8405f5e1008408de8200830801a794a8875aaebc4f830524e35d57f9772ffacbdd6c4580b864ba0876520000000000000000000000000000000000000000000000004367d4b95f6ba38900000000000000000000000081eb46befd6089b6ed8f6d791d89afda17f81e2000000000000000000000000081eb46befd6089b6ed8f6d791d89afda17f81e20c0", + "txHash": "0xd71d67d537bdd76b25c2f3531279e3b497231c468bc16612fa24ad2703fce2c7", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "485708461577729728 9 ???", + "To", + "outputlayer.eth", + "Owner", + "outputlayer.eth", + "Max fees", + "0.0000780769968 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-resolvUSDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-resolvUSDC.tests.json new file mode 100644 index 0000000..6945f25 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-resolvUSDC.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88b011482eec184082523ff8307950394132e6c9c33a62d7727cd359b1f51e5b566e485eb80b864ba0876520000000000000000000000000000000000000000000000000002c68d56b25b7d000000000000000000000000afd8867fd41db00bcb1ee80331048be7a1192c26000000000000000000000000afd8867fd41db00bcb1ee80331048be7a1192c26c0", + "txHash": "0x70d64dbd2c5f13bcaedd83cde7181bc2a99a161e08b8d51d6ce2125d50415bec", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Shares to redeem", + "0.00078126030063 9101 resolvUSDC", + "To", + "0xaFd8867Fd41db00b CB1EE80331048Be7a11 92c26", + "Owner", + "0xaFd8867Fd41db00b CB1EE80331048Be7a11 92c26", + "Max fees", + "0.00006790213034572 5 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-sbMorphoUSDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-sbMorphoUSDC.tests.json new file mode 100644 index 0000000..0dc509c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-sbMorphoUSDC.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88b0182019825840366029e830a1a5e944ff4186188f8406917293a9e01a1ca16d3cf9e5980b864b460af94000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000fba64167e4f091ca625fa79aa6f83665856f8bf2000000000000000000000000fba64167e4f091ca625fa79aa6f83665856f8bf2c0", + "txHash": "0x409630d6632f7635945cd456ca5c050fd96725019e1423e6bc59bf8ab81e793e", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Withdraw exactly", + "1000000 USDC", + "To", + "0xFbA64167e4f091Ca6 25FA79aa6f83665856f 8Bf2", + "Owner", + "0xFbA64167e4f091Ca6 25FA79aa6f83665856f 8Bf2", + "Max fees", + "0.0000377515192489 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-sbMorphotBTC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-sbMorphotBTC.tests.json new file mode 100644 index 0000000..36859e6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-gauntlet-sbMorphotBTC.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88c0155830186a084135c78c7830440a494059fc6723b9bf77dbf4283c8d7c90ea8af44ef1080b864b460af940000000000000000000000000000000000000000000000000001c6bf52634000000000000000000000000000bb6cacfcea26e45d0ac8019e1eb606440736b53e000000000000000000000000bb6cacfcea26e45d0ac8019e1eb606440736b53ec0", + "txHash": "0x11aea34d6e8f3add9fa025840a0cdb02d5ad68ddb6ff39d5d92082676951d082", + "expectedTexts": [ + "Interaction with", + "Gauntlet", + "Withdraw exactly", + "500000000000000 ???", + "To", + "0xBb6CaCfCeA26e45D 0ac8019e1Eb6064407 36b53e", + "Owner", + "0xBb6CaCfCeA26e45D 0ac8019e1Eb6064407 36b53e", + "Max fees", + "0.0000905267796458 2 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-hakutora-hUSDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-hakutora-hUSDC.tests.json new file mode 100644 index 0000000..e2c6ec9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-hakutora-hUSDC.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86a018195128408edd6bc831e848094974c8fbf4fd795f66b85b73ebc988a51f1a040a980b8446e553f6500000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000db494a7aa82349c40c053736cadc00fb18068d4ec0", + "txHash": "0xa643899cff94e3e8d17fa9a9f9b71a50122492815b5eccaf8b172ab2a52963ff", + "expectedTexts": [ + "Interaction with", + "Hakutora", + "Deposit asset", + "0.001 USDC", + "Share ticker", + "hUSDC", + "Send shares to", + "0xdb494A7Aa82349c4 0C053736Cadc00Fb18 068d4e", + "Max fees", + "0.000299609464 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88d010184054e0840842faf08008306e39e94974c8fbf4fd795f66b85b73ebc988a51f1a040a980b864b460af9400000000000000000000000000000000000000000000000000000002540be4000000000000000000000000003157c44c04bb41811895b046fc3de4ab7543a4690000000000000000000000003157c44c04bb41811895b046fc3de4ab7543a469c0", + "txHash": "0x83dc77df6887c74a4426639b1f296dcb4e53943adc01ba6f8355283e653ba9e1", + "expectedTexts": [ + "Interaction with", + "Hakutora", + "Withdraw exactly", + "10000 USDC", + "To", + "0x3157c44C04bb41811 895B046fc3dE4ab754 3a469", + "Owner", + "0x3157c44C04bb41811 895B046fc3dE4ab754 3a469", + "Max fees", + "0.0003611888 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d016084079671a084079671a083082b2194974c8fbf4fd795f66b85b73ebc988a51f1a040a980b864ba0876520000000000000000000000000000000000000000000000003a947b83940b173b0000000000000000000000007720866bab3fff360db6e080eb49cefa06fb1d070000000000000000000000007720866bab3fff360db6e080eb49cefa06fb1d07c0", + "txHash": "0x8bf30ac8812aec3f7998e2eca904f3b0ac9a55f146b7722dfee97e92aff645f7", + "expectedTexts": [ + "Interaction with", + "Hakutora", + "Shares to redeem", + "4.221134555807684 411 hUSDC", + "To", + "0x7720866BAB3ffF360 Db6E080EB49ceFa06f B1d07", + "Owner", + "0x7720866BAB3ffF360 Db6E080EB49ceFa06f B1d07", + "Max fees", + "0.0000681473817 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-leadblock-USDC-RWA.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-leadblock-USDC-RWA.tests.json new file mode 100644 index 0000000..76e9624 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-leadblock-USDC-RWA.tests.json @@ -0,0 +1,73 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d010c8405f5e10084354fb9c6830959a9944ca0e178c94f039d7f202e09d8d1a655ed3fb6b680b8446e553f650000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000079609ec8264bc4d1476d24bd23b8d9ddd5cce1f5c0", + "txHash": "0x2f11a61dfcaf440e5b6b7f92a7530677766ae9d2e091ef71819ec7049ed5ba23", + "expectedTexts": [ + "Interaction with", + "LeadBlock", + "Deposit asset", + "100 USDC", + "Share ticker", + "USDC RWA", + "Send shares to", + "0x79609Ec8264Bc4d1 476d24bD23B8D9ddD 5cCE1f5", + "Max fees", + "0.0005480783804809 5 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b8201de840e73c36e83124f80944ca0e178c94f039d7f202e09d8d1a655ed3fb6b680b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0xc11a51bddb224d826f0f9c1b1ac198d2eb55d5deebfdb62caf23e2baf811a1c7", + "expectedTexts": [ + "Interaction with", + "LeadBlock", + "Deposit asset", + "USDC", + "Minted shares", + "0.000000001 USDC RWA", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.0002909612328 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88f0181e5844dca629885034b89c8e48307d516944ca0e178c94f039d7f202e09d8d1a655ed3fb6b680b864b460af940000000000000000000000000000000000000000000000000000000002fb3f7b0000000000000000000000008379bd16381620914d8fa3d535f6ca9ef23ece530000000000000000000000008379bd16381620914d8fa3d535f6ca9ef23ece53c0", + "txHash": "0x6582a51fdf0d20abc20e386520d3a69cc88e3649d174177549cebe7b2bf36ada", + "expectedTexts": [ + "Interaction with", + "LeadBlock", + "Withdraw exactly", + "50.020219 USDC", + "To", + "kugusha.eth", + "Owner", + "kugusha.eth", + "Max fees", + "0.0072643643436542 96 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f010885016b969d0085016b969d008308c174944ca0e178c94f039d7f202e09d8d1a655ed3fb6b680b864ba0876520000000000000000000000000000000000000000000068f8f1a5fa6cadd2b1840000000000000000000000005c45e68b45943dce5886032cf7b04b123df2a3d00000000000000000000000005c45e68b45943dce5886032cf7b04b123df2a3d0c0", + "txHash": "0xf1b87439fda0cc9c2550b0540de152bbad690e58af13308d2591a9c28ef29a44", + "expectedTexts": [ + "Interaction with", + "LeadBlock", + "Shares to redeem", + "495718.3193476020 48594308 USDC RWA", + "To", + "0x5C45e68B45943DC E5886032CF7b04b123 DF2a3d0", + "Owner", + "0x5C45e68B45943DC E5886032CF7b04b123 DF2a3d0", + "Max fees", + "0.0035002532 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC-USR.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC-USR.tests.json new file mode 100644 index 0000000..8a39b4d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC-USR.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b820294840435b83c8316e36094d50da5f859811a91fd1876c9461fd39c23c747ad80b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0xb8cd21e6bd5aee99fc731326ac6ad4da7a3ecbbaae3925f931c4ecc89092fa26", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Deposit asset", + "USR", + "Minted shares", + "0.000000001 MC- USR", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000105944154 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d01819a8398968084034e40a0830e7fc694d50da5f859811a91fd1876c9461fd39c23c747ad80b864ba0876520000000000000000000000000000000000000000000000008b72a32870ee9536000000000000000000000000ceedf4da3eca8e5442a40ba450878c85cf5b5c03000000000000000000000000ceedf4da3eca8e5442a40ba450878c85cf5b5c03c0", + "txHash": "0x5d41b273ee55ce1b052d84e86bef5026922d13efc10e6dba23662fa355159af5", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Shares to redeem", + "10.04827311270570 1174 MC-USR", + "To", + "0xceEdf4DA3eCA8E54 42A40BA450878c85CF 5B5c03", + "Owner", + "0xceEdf4DA3eCA8E54 42A40BA450878c85CF 5B5c03", + "Max fees", + "0.00005269886844 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC.eUSDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC.eUSDC.tests.json new file mode 100644 index 0000000..38bf841 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC.eUSDC.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d013484020f452984060bbd3f83061fde941265a81d42d513df40d0031f8f2e1346954d665a80b8446e553f650000000000000000000000000000000000000000000000000000000000b6effd000000000000000000000000178d1a8ea06f28b2b4930620939b5d1739739580c0", + "txHash": "0x26f2ee1ccd67892153ca2990ff8df75fafd78ba5a2cfd233ca8b875dff813138", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Deposit asset", + "11.988989 USDC", + "Share ticker", + "MC.eUSDC", + "Send shares to", + "0x178d1A8ea06F28B2b 4930620939B5D17397 39580", + "Max fees", + "0.0000407124240459 86 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88d010b8405f5e1008420a19bb38306e8db941265a81d42d513df40d0031f8f2e1346954d665a80b864b460af940000000000000000000000000000000000000000000000000000000005f6101e000000000000000000000000ea07cc94c895265762d10de96944e2b6c84cd9e9000000000000000000000000ea07cc94c895265762d10de96944e2b6c84cd9e9c0", + "txHash": "0x39808dde69b42a9ac93bf6a0b8a4523119c195ad91f46234a51c23c59b471aa9", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Withdraw exactly", + "100.012062 USDC", + "To", + "0xEA07cC94c8952657 62d10De96944E2B6C8 4cD9e9", + "Owner", + "0xEA07cC94c8952657 62d10De96944E2B6C8 4cD9e9", + "Max fees", + "0.00024790560541340 9 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d0137840350fe7384091300d6830ea600941265a81d42d513df40d0031f8f2e1346954d665a80b864ba0876520000000000000000000000000000000000000000000000001fd216c90fd0c32d000000000000000000000000178d1a8ea06f28b2b4930620939b5d1739739580000000000000000000000000178d1a8ea06f28b2b4930620939b5d1739739580c0", + "txHash": "0xe6dd75065a0f335a25d3dd38447727d13ad103059ba1faa1a3bee4bd2f774f5c", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Shares to redeem", + "2.292920213094581 037 MC.eUSDC", + "To", + "0x178d1A8ea06F28B2b 4930620939B5D17397 39580", + "Owner", + "0x178d1A8ea06F28B2b 4930620939B5D17397 39580", + "Max fees", + "0.00014615072832 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC_USD0.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC_USD0.tests.json new file mode 100644 index 0000000..ecacd44 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MC_USD0.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82028a84047645308316e36094749794e985af5a9a384b9cee6d88dab4ce1576a180b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0xfb0cc0ca2d800da47f81754b139340116ccba7429715bb412e5f883503e47270", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Deposit asset", + "USD0", + "Minted shares", + "0.000000001 MC_ USD0", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000112289736 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88e01818d841dcd650084245ee9c083139a4f94749794e985af5a9a384b9cee6d88dab4ce1576a180b864b460af940000000000000000000000000000000000000000000000000a6efa8c291f0a3d000000000000000000000000117b7819a3d2ace81f57398fac0a30c6e72ad5ee000000000000000000000000117b7819a3d2ace81f57398fac0a30c6e72ad5eec0", + "txHash": "0x35cbab1063a6a5fd7afc596dda9d5b0589ece7bb5f67d5814216cb31610a295c", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Withdraw exactly", + "0.751813667709717 053 USD0", + "To", + "0x117b7819a3D2AcE81 F57398fAc0a30C6e72 AD5eE", + "Owner", + "0x117b7819a3D2AcE81 F57398fAc0a30C6e72 AD5eE", + "Max fees", + "0.0007839160074 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f0182019a84017429708403fa5f20830d568d94749794e985af5a9a384b9cee6d88dab4ce1576a180b864ba087652000000000000000000000000000000000000000000000002aadc379a11afdd2000000000000000000000000075c43c290e374ec5c202a0edb4b54ef3885698f800000000000000000000000075c43c290e374ec5c202a0edb4b54ef3885698f8c0", + "txHash": "0x6f9f436a5c5e8aae37e05d4038d10e600f202f56e4d1e25ea063dc35ab938a2b", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Shares to redeem", + "49.2052647636044 26016 MC_USD0", + "To", + "0x75c43c290E374Ec5 C202a0EDB4b54eF388 5698f8", + "Owner", + "0x75c43c290E374Ec5 C202a0EDB4b54eF388 5698f8", + "Max fees", + "0.0000583391025 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCcbBTC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCcbBTC.tests.json new file mode 100644 index 0000000..35b373f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCcbBTC.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b820360841c9b7a408316e3609498cf0b67da0f16e1f8f1a1d23ad8dc64c0c70e0b80b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x2df237208cbd87ae093ae613599b8ab0a85af12132a091f61aec4252c779f650", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Deposit asset", + "cbBTC", + "Minted shares", + "0.000000999 MCcbBTC", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000719927136 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f01820104840109cee08404380460830652eb9498cf0b67da0f16e1f8f1a1d23ad8dc64c0c70e0b80b864ba0876520000000000000000000000000000000000000000000000000024ffec078a260b0000000000000000000000000448cb024711d99f1daed26a90408e58745ee66e0000000000000000000000000448cb024711d99f1daed26a90408e58745ee66ec0", + "txHash": "0x66371451ef7743ec44100db98c6dbc34d57236a23a585906af06d40c4f75b20d", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Shares to redeem", + "0.01041448836544 2571 MCcbBTC", + "To", + "kozakura.eth", + "Owner", + "kozakura.eth", + "Max fees", + "0.00002933427554 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCwBTC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCwBTC.tests.json new file mode 100644 index 0000000..1199949 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCwBTC.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88c014e8359e9c5843c4c5f45831b9e50941c530d6de70c05a81bf1670157b9d928e969908980b864b460af94000000000000000000000000000000000000000000000000000000000000da39000000000000000000000000e3137ad66f739c0e6df4753e4a6a9665bc50ae9f000000000000000000000000e3137ad66f739c0e6df4753e4a6a9665bc50ae9fc0", + "txHash": "0x70e6ef32b70f9dad762aecdff7f1d564eb04c16655a69f308c9e42654ead5164", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Withdraw exactly", + "0.00055865 WBTC", + "To", + "0xE3137aD66F739c0e 6dF4753E4a6a9665bC 50Ae9f", + "Owner", + "0xE3137aD66F739c0e 6dF4753E4a6a9665bC 50Ae9f", + "Max fees", + "0.00183106493385 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f0182022c8401f89bb0844d3f640083056bb5941c530d6de70c05a81bf1670157b9d928e969908980b864ba087652000000000000000000000000000000000000000000000000000019c7761152e5000000000000000000000000e3137ad66f739c0e6df4753e4a6a9665bc50ae9f000000000000000000000000e3137ad66f739c0e6df4753e4a6a9665bc50ae9fc0", + "txHash": "0xdc35d22a1e82f8cf8220e4f7172cd111fe67d5a224590b6f273917261669b9cf", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Shares to redeem", + "0.00002834447003 3125 MCwBTC", + "To", + "0xE3137aD66F739c0e 6dF4753E4a6a9665bC 50Ae9f", + "Owner", + "0xE3137aD66F739c0e 6dF4753E4a6a9665bC 50Ae9f", + "Max fees", + "0.000460407888 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCwETH.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCwETH.tests.json new file mode 100644 index 0000000..9b5f4ba --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-MCwETH.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88c0116830f42408403f57d208321376e949a8bc3b04b7f3d87cfc09ba407dced575f2d61d880b864ba0876520000000000000000000000000000000000000000000000000011127a3c8542d40000000000000000000000006b5fcb8b83c46e9871b546948605e5e8b8e3b5330000000000000000000000006b5fcb8b83c46e9871b546948605e5e8b8e3b533c0", + "txHash": "0x530eb4492ed884e116535dc33a98ed0727447ade3bdd19d913e70b288626b75d", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Shares to redeem", + "0.00480539081475 7588 MCwETH", + "To", + "0x6B5fCb8B83C46E98 71B546948605E5E8B8 e3B533", + "Owner", + "0x6B5fCb8B83C46E98 71B546948605E5E8B8 e3B533", + "Max fees", + "0.00014458823676 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-USUALUSDC+.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-USUALUSDC+.tests.json new file mode 100644 index 0000000..39dafc3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-USUALUSDC+.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d012f8405f5e1008409a973208323854b94d63070114470f685b75b74d60eec7c1113d33a3d80b864ba08765200000000000000000000000000000000000000000000027a3d260076023720b30000000000000000000000001665d08e19f4f03b085058b056f9ae3f4ff03c8a0000000000000000000000001665d08e19f4f03b085058b056f9ae3f4ff03c8ac0", + "txHash": "0x54509ba249472c8891aabb8a513d309541f86e6d96fb4e2ee88c81d6f910e849", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Shares to redeem", + "11699.64195252412 7641779 USUALUSDC+", + "To", + "0x1665d08E19f4F03B0 85058b056f9Ae3f4ff0 3c8A", + "Owner", + "0x1665d08E19f4F03B0 85058b056f9Ae3f4ff0 3c8A", + "Max fees", + "0.0003773498343 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-pWBTC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-pWBTC.tests.json new file mode 100644 index 0000000..58ce583 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-mev_capital-pWBTC.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82035b8414fc26948316e360942f1abb81ed86be95bcf8178ba62c8e72d683477580b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x71ac64f145eb7a88f234f6af853e1e56cbbd87aca04412989e08171cc335f529", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Deposit asset", + "WBTC", + "Minted shares", + "0.000000999 pWBTC", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000528103902 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88c0128836234a084077f8e408309f638942f1abb81ed86be95bcf8178ba62c8e72d683477580b864ba08765200000000000000000000000000000000000000000000000000002453308299520000000000000000000000008258ecec50c5b0c0179d9986a9942fc2b8ad23620000000000000000000000008258ecec50c5b0c0179d9986a9942fc2b8ad2362c0", + "txHash": "0x74290763234dbdb1475b7bda6d11f5e0f566856d189b915b40e7b34ccb719863", + "expectedTexts": [ + "Interaction with", + "MEV Capital", + "Shares to redeem", + "0.00003993971475 0802 pWBTC", + "To", + "0x8258EceC50C5b0C0 179d9986a9942Fc2B8 Ad2362", + "Owner", + "0x8258EceC50C5b0C0 179d9986a9942Fc2B8 Ad2362", + "Max fees", + "0.0000821292848 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7FRAX.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7FRAX.tests.json new file mode 100644 index 0000000..d64c476 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7FRAX.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b8202d484025fe3f38316e36094be40491f3261fd42724f1aeb465796eb11c06ddf80b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001018080", + "txHash": "0x4f351761336fd283b8f6e630365694401c83ccbda6105803bb4b094172453584", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Deposit asset", + "FRAX", + "Minted shares", + "0.000000001 Re7FRAX", + "Mint shares to", + "0x0000000000000000 000000000000000000 000001", + "Max fees", + "0.0000597580605 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88e018204f5830f424084b2dfa040830a31df94be40491f3261fd42724f1aeb465796eb11c06ddf80b864ba08765200000000000000000000000000000000000000000000065a442221835292d53d000000000000000000000000798a59cb1ef7110e91640fc6a8056d029ba8a42e000000000000000000000000798a59cb1ef7110e91640fc6a8056d029ba8a42ec0", + "txHash": "0xfddaa0e03fb8b65f522b0ebbc95ed7c962cff4e9d92095e4d457b880798b5d86", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Shares to redeem", + "29999.3153872434 27976509 Re7FRAX", + "To", + "0x798a59cB1EF7110e9 1640Fc6A8056D029BA 8a42E", + "Owner", + "0x798a59cB1EF7110e9 1640Fc6A8056D029BA 8a42E", + "Max fees", + "0.002005049127 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7USDA.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7USDA.tests.json new file mode 100644 index 0000000..0be4145 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7USDA.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86f01819c8405f5e100850342770c0083088cee9489d80f5e9bc88d8021b352064ae73f0eaf79ebd880b8446e553f650000000000000000000000000000000000000000000000056bc75e2d63100000000000000000000000000000a9ddd91249dfdd450e81e1c56ab60e1a62651701c0", + "txHash": "0xea95291322b60d91de372edacecf320303fd518677a573576c2714020b7762f0", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Deposit asset", + "100 USDA", + "Share ticker", + "Re7USDA", + "Send shares to", + "0xA9DdD91249DFdd45 0E81E1c56Ab60E1A626 51701", + "Max fees", + "0.007845124 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7USDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7USDC.tests.json new file mode 100644 index 0000000..b375313 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7USDC.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86c01318302bf2084641381c08308be7b9460d715515d4411f7f43e4206dc5d4a3677f0ec7880b8446e553f6500000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000027c348c69fcf6f311334c7bedef7ddf7eeffff9c0", + "txHash": "0xe3a12d3cbb88151ff0770ad0ae32a0e2d8197c49967a6a29b4e0811c493dce69", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Deposit asset", + "2 USDC", + "Share ticker", + "Re7USDC", + "Send shares to", + "0x027C348C69fcf6f311 334C7BedEf7ddf7EEfFf F9", + "Max fees", + "0.000962152629 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88c013383087be0845a5c530083086be89460d715515d4411f7f43e4206dc5d4a3677f0ec7880b864b460af940000000000000000000000000000000000000000000000000000000000000025000000000000000000000000027c348c69fcf6f311334c7bedef7ddf7eeffff9000000000000000000000000027c348c69fcf6f311334c7bedef7ddf7eeffff9c0", + "txHash": "0x4e9e82f5fbdaf67554d576a0ec806379d3e8a68e04d9e120a701832850ccf264", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Withdraw exactly", + "0.000037 USDC", + "To", + "0x027C348C69fcf6f311 334C7BedEf7ddf7EEfFf F9", + "Owner", + "0x027C348C69fcf6f311 334C7BedEf7ddf7EEfFf F9", + "Max fees", + "0.000836698592 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f0182018284054e08408416a65700830960199460d715515d4411f7f43e4206dc5d4a3677f0ec7880b864ba0876520000000000000000000000000000000000000000000000000dc845de262bdcae0000000000000000000000006877bb79f680216bbdf01704939037f22193e7710000000000000000000000006877bb79f680216bbdf01704939037f22193e771c0", + "txHash": "0xba9152488544bceb62a814a14a80dc453a3d6d020706ab039fb8b8147375c2b5", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Shares to redeem", + "0.99312053826065 9374 Re7USDC", + "To", + "0x6877BB79f680216Bb dF01704939037F22193 e771", + "Owner", + "0x6877BB79f680216Bb dF01704939037F22193 e771", + "Max fees", + "0.0002334815 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7WBTC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7WBTC.tests.json new file mode 100644 index 0000000..92af465 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7WBTC.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b8203568411bd5ed68316e36094e0c98605f279e4d7946d25b75869c6980282376380b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0xff59b5d911ce8b9b99f5028ceea718ff0a0a516a7249c04e6894cb981d676698", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Deposit asset", + "WBTC", + "Minted shares", + "0.000000999 Re7WBTC", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000446434881 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d010b840171434084410756c08308311994e0c98605f279e4d7946d25b75869c6980282376380b864ba0876520000000000000000000000000000000000000000000000000018c3a857cb9a240000000000000000000000005aff481603bfab1b69785d1f6361a143697c55a90000000000000000000000005aff481603bfab1b69785d1f6361a143697c55a9c0", + "txHash": "0xfa8847646f90532ece4da2e969d7cf5ec1fda803b4c870b35e7e3dee545f1d25", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Shares to redeem", + "0.00697052723593 8852 Re7WBTC", + "To", + "0x5aFF481603BFAB1B 69785D1f6361a143697 c55A9", + "Owner", + "0x5aFF481603BFAB1B 69785D1f6361a143697 c55A9", + "Max fees", + "0.000585710987 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7cbBTC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7cbBTC.tests.json new file mode 100644 index 0000000..8fc8e29 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-Re7cbBTC.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b8203638422684c0a8316e36094a02f5e93f783baf150aa1f8b341ae90fe0a772f780b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x3382a9e55d83f85a33514e4da907eff2375dcbc6f51330994588b0c204e03628", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Deposit asset", + "cbBTC", + "Minted shares", + "0.000000999 Re7cbBTC", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000865890831 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-fxUSDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-fxUSDC.tests.json new file mode 100644 index 0000000..7bbf7b4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-re7_labs-fxUSDC.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86c0181a58224f684066851e0830774c2944f460bb11cf958606c69a963b4a17f9daeeea8b680b8446e553f6500000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000deadc0", + "txHash": "0x36d2d5024e66082c4bce7b44a3617b66534a85b4d97c46831e77078b07715152", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Deposit asset", + "0.1 USDC", + "Share ticker", + "fxUSDC", + "Send shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000052529015 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88e0181ca843b9aca04843e9614598305e6fd944f460bb11cf958606c69a963b4a17f9daeeea8b680b864b460af940000000000000000000000000000000000000000000000000000000000004e2000000000000000000000000003adfaa573ac1a9b19d2b8f79a5aaffb9c2a053200000000000000000000000003adfaa573ac1a9b19d2b8f79a5aaffb9c2a0532c0", + "txHash": "0xd67b3f72591768aa4378e13d23acdb11ca6821037390e4adeca169c8b3f11d5d", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Withdraw exactly", + "0.02 USDC", + "To", + "0x03adFaA573aC1a9b1 9D2b8F79a5aAFFb9c2 A0532", + "Owner", + "0x03adFaA573aC1a9b1 9D2b8F79a5aAFFb9c2 A0532", + "Max fees", + "0.00040616254708581 3 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88e0181c3841dcd6500844c4b400083084014944f460bb11cf958606c69a963b4a17f9daeeea8b680b864ba08765200000000000000000000000000000000000000000000000480fddc5ca3c5fc24000000000000000000000000e923302a5f0617ae4850442c03291cb709e99e43000000000000000000000000e923302a5f0617ae4850442c03291cb709e99e43c0", + "txHash": "0xd54ca0440e935795120aea20f0fe143ed17569068285afe26e467e1abd3a5773", + "expectedTexts": [ + "Interaction with", + "RE7 Labs", + "Shares to redeem", + "83.08180379124354 154 fxUSDC", + "To", + "pochemuchka.eth", + "Owner", + "pochemuchka.eth", + "Max fees", + "0.00069208576 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-sparkdao-spDAI.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-sparkdao-spDAI.tests.json new file mode 100644 index 0000000..1f6536a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-sparkdao-spDAI.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d0171843b9aca008450eb2827831749b29473e65dbd630f90604062f6e02fab9138e713edd980b8446e553f65000000000000000000000000000000000000000000000004d31f847531c400000000000000000000000000003263116cc11b1b4f3a45662e1d6ef93a0aaf7f9bc0", + "txHash": "0xebc3c510f5aff9527dd35dfd4772b9f95babbe5c60265d0d7bd12fb829e17b2d", + "expectedTexts": [ + "Interaction with", + "SparkDAO", + "Deposit asset", + "89 DAI", + "Share ticker", + "spDAI", + "Send shares to", + "0x3263116cC11B1b4F3 a45662E1D6Ef93a0AaF 7F9b", + "Max fees", + "0.00207194345216668 6 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82027e840487c1198316e3609473e65dbd630f90604062f6e02fab9138e713edd980b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0xb72ba61c2438c23df9b354695bf5f3835939fa1196b2b944536b8e7f7b19849c", + "expectedTexts": [ + "Interaction with", + "SparkDAO", + "Deposit asset", + "DAI", + "Minted shares", + "0.000000001 spDAI", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.0001140084855 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88d01098477359400849d1dd4e78312f43a9473e65dbd630f90604062f6e02fab9138e713edd980b864b460af940000000000000000000000000000000000000000000000000de0b6c1f91e4a76000000000000000000000000d7c6b904ba79b1a2d7e505db8fcff6c30d28b097000000000000000000000000d7c6b904ba79b1a2d7e505db8fcff6c30d28b097c0", + "txHash": "0xc27947bab051aa71585f472d4179a674f845b31d3a6a3c98854431b2cb46d6dc", + "expectedTexts": [ + "Interaction with", + "SparkDAO", + "Withdraw exactly", + "1.000000061500705 398 DAI", + "To", + "0xd7C6b904bA79b1A2 d7E505Db8FCff6c30D2 8b097", + "Owner", + "0xd7C6b904bA79b1A2 d7E505Db8FCff6c30D2 8b097", + "Max fees", + "0.00327433274133103 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqDAI.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqDAI.tests.json new file mode 100644 index 0000000..8304bc0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqDAI.tests.json @@ -0,0 +1,73 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f87301820128843b9aca00846cb80800830c192994beefff68cc520d68f82641eff84330c631e2490e80b8486e553f6500000000000000000000000000000000000000000000000390cb9d196dc325bf00000000000000000000000028cd8363cbeae51faf8ae752aee7c37bc2a851201115098fc0", + "txHash": "0x00e927698d58e312392ff29ce877052690ac411f0122a56b289d9da49ff5741b", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "65.77383791540378 9759 DAI", + "Share ticker", + "bbqDAI", + "Send shares to", + "0x28cD8363cBEaE51F AF8Ae752aEE7c37bC2 a85120", + "Max fees", + "0.001446200352 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82027a840459cfa58316e36094beefff68cc520d68f82641eff84330c631e2490e80b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x1c41209b4ce4491a1b4819c7df3bef7a6e8338651d922151bebf10d764d00557", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "DAI", + "Minted shares", + "0.000000001 bbqDAI", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.0001094920875 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88c010e83989680845620f340830cb43094beefff68cc520d68f82641eff84330c631e2490e80b864b460af9400000000000000000000000000000000000000000000000014fe30a2a7bbc000000000000000000000000000027c348c69fcf6f311334c7bedef7ddf7eeffff9000000000000000000000000027c348c69fcf6f311334c7bedef7ddf7eeffff9c0", + "txHash": "0x393c4b9f9318e842e56e680c014a193cea5b4f2062e24702fc9d0178fee390c9", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Withdraw exactly", + "1.5127 DAI", + "To", + "0x027C348C69fcf6f311 334C7BedEf7ddf7EEfFf F9", + "Owner", + "0x027C348C69fcf6f311 334C7BedEf7ddf7EEfFf F9", + "Max fees", + "0.0012030492 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f893018201298451994840848433fe80830bcfba94beefff68cc520d68f82641eff84330c631e2490e80b868ba087652000000000000000000000000000000000000000000000003476b59cffd4158b300000000000000000000000028cd8363cbeae51faf8ae752aee7c37bc2a8512000000000000000000000000028cd8363cbeae51faf8ae752aee7c37bc2a851201115098fc0", + "txHash": "0x9124617ae20d2899fcaac95450f0560a152722748a3003662a2d8bb1e21cb718", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Shares to redeem", + "60.48653797017159 9027 bbqDAI", + "To", + "0x28cD8363cBEaE51F AF8Ae752aEE7c37bC2 a85120", + "Owner", + "0x28cD8363cBEaE51F AF8Ae752aEE7c37bC2 a85120", + "Max fees", + "0.001716896132 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqUSDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqUSDC.tests.json new file mode 100644 index 0000000..faf0cee --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqUSDC.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86c013f832473318404326b898342d16e94beefff209270748ddd194831b3fa287a5386f5bc80b8446e553f650000000000000000000000000000000000000000000000000000000243e4c24000000000000000000000000051744abe45dbe5970d1389377c505a51b53beca8c0", + "txHash": "0x342f4b452ade62bb8253c70f4421c386454447263d9a8ef6ca80ba3545572743", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "9729 USDC", + "Share ticker", + "bbqUSDC", + "Send shares to", + "0x51744abe45DBE597 0d1389377C505a51B5 3bECA8", + "Max fees", + "0.00030833866801507 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f893018201cf841dcd65008428d8d9208317435194beefff209270748ddd194831b3fa287a5386f5bc80b868b460af94000000000000000000000000000000000000000000000000000000012a05f200000000000000000000000000fb4b6b889e8ba9e1aa424dad4da9f8ba6b83bb0a000000000000000000000000fb4b6b889e8ba9e1aa424dad4da9f8ba6b83bb0a1115098fc0", + "txHash": "0xa1c7e7a838ddcb0b92400584e45ad7fd383b7151e476ecacef0719aed36a8997", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Withdraw exactly", + "5000 USDC", + "To", + "0xFb4B6B889e8Ba9E1 AA424Dad4da9f8BA6b 83bB0a", + "Owner", + "0xFb4B6B889e8Ba9E1 AA424Dad4da9f8BA6b 83bB0a", + "Max fees", + "0.0010447816533 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d013b8405f5e1008409664fa0831659f694beefff209270748ddd194831b3fa287a5386f5bc80b864ba0876520000000000000000000000000000000000000000000000003f77e9bd41dad3da000000000000000000000000c45baf5922f39cdaca0a8f75abafb42a54f18ef4000000000000000000000000c45baf5922f39cdaca0a8f75abafb42a54f18ef4c0", + "txHash": "0x69a8af37f9fd73669fee17ad2de8deabe66254f92d6c49c82e3f1b64853acdb0", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Shares to redeem", + "4.57338094568097 8906 bbqUSDC", + "To", + "0xc45baF5922f39Cda Ca0A8F75AbafB42A54 f18eF4", + "Owner", + "0xc45baF5922f39Cda Ca0A8F75AbafB42A54 f18eF4", + "Max fees", + "0.0002310024294 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqUSDT.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqUSDT.tests.json new file mode 100644 index 0000000..3cc5937 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqUSDT.tests.json @@ -0,0 +1,73 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f871015b8401f2f66084056365008311803b94a0804346780b4c2e3be118ac957d1db82f9d748480b8486e553f650000000000000000000000000000000000000000000000000000000011d67727000000000000000000000000781ee986573a2d5951fbad81cce1f0d0662a97741115098fc0", + "txHash": "0xac0505ddaecebc038e40040631df48cc18fb94bd09893073190e37b09cc12325", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "299.267879 USDT", + "Share ticker", + "bbqUSDT", + "Send shares to", + "0x781EE986573A2D59 51fBaD81cCE1F0d0662 A9774", + "Max fees", + "0.0001036832856 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82037f840f37c86e8316e36094a0804346780b4c2e3be118ac957d1db82f9d748480b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x93aeb1c21f54ffe7d570c968a33e8d3e4a6fe90baac6a608d6c13f0c88b32566", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "USDT", + "Minted shares", + "0.000000999 bbqUSDT", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000382971045 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88e0181dc8477359400847bfec2ba8314215294a0804346780b4c2e3be118ac957d1db82f9d748480b864b460af9400000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000b0debcb643ee79f19ef659bd01d0fac12d058604000000000000000000000000b0debcb643ee79f19ef659bd01d0fac12d058604c0", + "txHash": "0xfcdc8d83302aaa3aae9789179f2004e9c3956fabc017b859febb4f3b035d918a", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Withdraw exactly", + "1 USDT", + "To", + "vijaypushkin.eth", + "Owner", + "vijaypushkin.eth", + "Max fees", + "0.0027444272816685 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f0182010a8404b571c0840a977ca0831358ae94a0804346780b4c2e3be118ac957d1db82f9d748480b864ba08765200000000000000000000000000000000000000000000000075ac55952b3200ca000000000000000000000000b0debcb643ee79f19ef659bd01d0fac12d058604000000000000000000000000b0debcb643ee79f19ef659bd01d0fac12d058604c0", + "txHash": "0x11878d6dc04bdaf704e355d0eace5bf2eff13fc7438ea32988ed5f0561aefbfb", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Shares to redeem", + "8.47924629759498 6698 bbqUSDT", + "To", + "vijaypushkin.eth", + "Owner", + "vijaypushkin.eth", + "Max fees", + "0.0002253033422 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqWSTETH.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqWSTETH.tests.json new file mode 100644 index 0000000..f999f27 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-bbqWSTETH.tests.json @@ -0,0 +1,73 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86e0181c4843b9aca00844bf3366283086f7d94833adaef212c5cd3f78906b44bbfb18258f238f080b8446e553f650000000000000000000000000000000000000000000000000002e7c59b01f25d000000000000000000000000c27df98c6379569eb00d9048fdfe898bd1680132c0", + "txHash": "0x592863bacb4402cc6de2929bc48debf1d7a024d9e38a5f3c79bf2696a18a06ad", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "0.00081778584859 0941 wstETH", + "Share ticker", + "bbqWSTETH", + "Send shares to", + "bluetable.eth", + "Max fees", + "0.00070443150121673 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82025284083ab47c8316e36094833adaef212c5cd3f78906b44bbfb18258f238f080b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x68c1d3b1438d52f1bb27cd207aa1841f1ab1c00634b377e525bfc3ac4c879427", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "wstETH", + "Minted shares", + "0.000000001 bbqWSTETH", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.00020709753 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88d01438477359400847d4cc4d78309151394833adaef212c5cd3f78906b44bbfb18258f238f080b864b460af940000000000000000000000000000000000000000000000002c54313f448e3199000000000000000000000000e29ca8f9c2e1af136a3489c0903a168d6fbecda3000000000000000000000000e29ca8f9c2e1af136a3489c0903a168d6fbecda3c0", + "txHash": "0x33970829758413ad51a93cbc41484db226457d3e0a944ec0196598cbdb81f571", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Withdraw exactly", + "3.194232183515394 457 wstETH", + "To", + "0xe29CA8f9c2e1af136 a3489C0903A168D6Fb Ecda3", + "Owner", + "0xe29CA8f9c2e1af136 a3489C0903A168D6Fb Ecda3", + "Max fees", + "0.00125125933866981 3 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88c015683e4e1c08423c3460083073c8494833adaef212c5cd3f78906b44bbfb18258f238f080b864ba087652000000000000000000000000000000000000000000000000003359d61f956000000000000000000000000000519f9718cf3c9ea0bf1fa9f6e9095b83b51fc9d3000000000000000000000000519f9718cf3c9ea0bf1fa9f6e9095b83b51fc9d3c0", + "txHash": "0xfe05cd833d6530f46f60007d98b114d74c800a8682792fdb17d5bcfba9674317", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Shares to redeem", + "0.014454 bbqWSTETH", + "To", + "0x519F9718cf3C9Ea0b F1FA9f6e9095b83b51F C9D3", + "Owner", + "0x519F9718cf3C9Ea0b F1FA9f6e9095b83b51F C9D3", + "Max fees", + "0.0002845464 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-csUSDC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-csUSDC.tests.json new file mode 100644 index 0000000..59203b0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-csUSDC.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82033084463a12af8316e360947204b7dbf9412567835633b6f00c3edc3a8d633080b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x73b6c6c4bba8c64408aad731606f9e31b3d19fcd102a841437db67486742a7b0", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "USDC", + "Minted shares", + "0.000000999 csUSDC", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.0017673164865 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88f01820101840405d0d08414aeccc083074145947204b7dbf9412567835633b6f00c3edc3a8d633080b864ba0876520000000000000000000000000000000000000000000000008a7962f8d597de66000000000000000000000000977767f401fc909614905857c9174bd08af02363000000000000000000000000977767f401fc909614905857c9174bd08af02363c0", + "txHash": "0x3150fd241b78bd5002fa7865220014e214d0560a6450ef3a2c65a6f08aff867f", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Shares to redeem", + "9.978115270290955 878 csUSDC", + "To", + "0x977767f401Fc90961 4905857c9174bd08af0 2363", + "Owner", + "0x977767f401Fc90961 4905857c9174bd08af0 2363", + "Max fees", + "0.000164984967 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-csUSDL.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-csUSDL.tests.json new file mode 100644 index 0000000..c3c8c35 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-csUSDL.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88e0182014783b71b0084068b6a408304563694beefc01767ed5086f35decb6c00e6c12bc7476c180b864ba087652000000000000000000000000000000000000000000000002376492eb6deff68c000000000000000000000000c28de126e148361cad06a235eb39651652360ba0000000000000000000000000c28de126e148361cad06a235eb39651652360ba0c0", + "txHash": "0x38ecf69ebb1a2d0d615bb47a97e6ac8db02814c32e95ed82f119f5c7516a3f13", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Shares to redeem", + "40.8849648570356 17932 csUSDL", + "To", + "devhaikya.eth", + "Owner", + "devhaikya.eth", + "Max fees", + "0.0000312066972 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakPYUSD.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakPYUSD.tests.json new file mode 100644 index 0000000..d1b6056 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakPYUSD.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f8720181a98405f5e1008409c4ea608307b6cf94beef02e5e13584ab96848af90261f0c8ee04722a80b8486e553f650000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000002d77c8db6756c3854aa6e8416b2f31741e708f2c1115098fc0", + "txHash": "0x26291fbfc8dc37c40ff24f67051f6b20e876cff66fe16d24aa6524f8cb2eeafc", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "100 PYUSD", + "Share ticker", + "steakPYUSD", + "Send shares to", + "0x2D77C8Db6756C385 4aa6e8416B2f31741E7 08f2c", + "Max fees", + "0.0000828598089 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b820369841261a7c68316e36094beef02e5e13584ab96848af90261f0c8ee04722a80b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0xebb2b37f4995652aada8103e6c44cff6934f1f2586c2a88e71e379bb37b989bb", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "PYUSD", + "Minted shares", + "0.000000999 steakPYUSD", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000462584745 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88e01820125831549388407fe34208308272b94beef02e5e13584ab96848af90261f0c8ee04722a80b864ba0876520000000000000000000000000000000000000000000001f3eee567e151798a4a0000000000000000000000009578380ecb0bb6e546c89fb595090645f8abffa20000000000000000000000009578380ecb0bb6e546c89fb595090645f8abffa2c0", + "txHash": "0x954d264523f2c5f4702d601f9156f523969f68bdb071f5ef058d5b9ffb4cf5c3", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Shares to redeem", + "9222.139572149192 067658 steakPYUSD", + "To", + "0x9578380ECb0bb6E5 46C89fb595090645f8 AbFfa2", + "Owner", + "0x9578380ECb0bb6E5 46C89fb595090645f8 AbFfa2", + "Max fees", + "0.0000716516415 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakRUSD.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakRUSD.tests.json new file mode 100644 index 0000000..9e472a8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakRUSD.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f8810149028404729c608308877f94beef11ecb698f4b5378685c05a210bdf7109352180b85c6e553f6500000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000006e0046c436d8d05bd999fd3b39556ed9937ba00eb51718d87bc93ce97e9b3a4c21f8d052535a2a0fffc69debc0", + "txHash": "0x54231ba46a52a439e220a13cd381e1622db9acd35c5bf2f047f9fae4a204f6ff", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "100000000000000000 00000 ???", + "Share ticker", + "steakRUSD", + "Send shares to", + "0x6E0046c436D8D05B d999FD3B39556eD993 7bA00E", + "Max fees", + "0.0000417107145 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b8202ac84026cffa08316e36094beef11ecb698f4b5378685c05a210bdf7109352180b84494bf804d000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001018080", + "txHash": "0xf941fa4151c17a0f1367a862b41903efc500f8bf07a765d1f7f497c1c2b61ac8", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "rUSD", + "Minted shares", + "0.000000001 steakRUSD", + "Mint shares to", + "0x0000000000000000 000000000000000000 000001", + "Max fees", + "0.00006104664 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88c0124839896808405d560b083093aca94beef11ecb698f4b5378685c05a210bdf7109352180b864ba0876520000000000000000000000000000000000000000000000007271a54e404a0111000000000000000000000000f1e205f74b0de14d8c45dd3748f9074da02b2416000000000000000000000000f1e205f74b0de14d8c45dd3748f9074da02b2416c0", + "txHash": "0x2749a98943cfa896fe348a3133b6f8bcb05769e7e0e99826682a11c2369e0c91", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Shares to redeem", + "8.246554148196712 721 steakRUSD", + "To", + "0xF1E205f74b0dE14D8 C45dd3748f9074DA02 b2416", + "Owner", + "0xF1E205f74b0dE14D8 C45dd3748f9074DA02 b2416", + "Max fees", + "0.00005919901838 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDQ.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDQ.tests.json new file mode 100644 index 0000000..aaa730f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDQ.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b820377842f98d6b48316e36094a1b60d96e5c50da627095b9381dc5a46af1a9a4280b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0xbd3fa947f858f658749b43c1c3cb56c55ee24e13d881351465d0465c8fe5fdfe", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "USDQ", + "Minted shares", + "0.000000999 steakUSDQ", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.001197818382 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDR.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDR.tests.json new file mode 100644 index 0000000..a56eba5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDR.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint - chain 1", + "rawTx": "0xf86b82038d8410dfb4348316e3609430881baa943777f92dc934d53d3bfdf33382cab380b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x45f2582c2a333b806e3856a23bd9d663e78ed8ac6e0488412c684439d82511ea", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "USDR", + "Minted shares", + "0.000000999 steakUSDR", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000424644174 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDT.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDT.tests.json new file mode 100644 index 0000000..ff1534c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDT.tests.json @@ -0,0 +1,56 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f869013a0f840947e8978307503394beef047a543e45807105e51a8bbefcc5950fcfba80b8446e553f6500000000000000000000000000000000000000000000000000000001cf07f86e000000000000000000000000bb12e9dee4c2b5811c53198bf2134325be444a3ac0", + "txHash": "0xec34e48ead4d572829bc21739c29f125e854f0c137171e27316c178db1b4c06f", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "7768.373358 USDT", + "Share ticker", + "steakUSDT", + "Send shares to", + "0xbB12e9dee4c2B5811 c53198BF2134325bE4 44A3a", + "Max fees", + "0.00007462797833166 9 ETH" + ] + }, + { + "description": "Withdraw - chain 1", + "rawTx": "0x02f88e0182069d835f0c0884033b2dd083085c5894beef047a543e45807105e51a8bbefcc5950fcfba80b864b460af9400000000000000000000000000000000000000000000000000000082c2feeae800000000000000000000000068230e37b83fd2b586b51f3e58f6ed4a0689a4af00000000000000000000000068230e37b83fd2b586b51f3e58f6ed4a0689a4afc0", + "txHash": "0x7e53b7ac983d03d7a3e14c3c86f6ad1f1ea7d80088f576ece3c2b09d3de38507", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Withdraw exactly", + "561617.234664 USDT", + "To", + "0x68230E37B83Fd2b5 86B51F3e58f6Ed4A06 89A4Af", + "Owner", + "0x68230E37B83Fd2b5 86B51F3e58f6Ed4A06 89A4Af", + "Max fees", + "0.00002970317688 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d01188405f5e1008408c491608308d16294beef047a543e45807105e51a8bbefcc5950fcfba80b864ba0876520000000000000000000000000000000000000000000000056d46ff0eaacb92630000000000000000000000000dd5b2999c33ec54fe276ccded69965d4ca909ff0000000000000000000000000dd5b2999c33ec54fe276ccded69965d4ca909ffc0", + "txHash": "0xc6bb1f7d17f7d8cade6c590f56839eda1a04475ceaec59f3d98cb2fbb65d8c2a", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Shares to redeem", + "100.1079818055117 42051 steakUSDT", + "To", + "0x0dD5B2999C33Ec54 fE276cCDED69965D4c A909fF", + "Owner", + "0x0dD5B2999C33Ec54 fE276cCDED69965D4c A909fF", + "Max fees", + "0.000085007619 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDTlite.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDTlite.tests.json new file mode 100644 index 0000000..ac1a7f2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakUSDTlite.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86f018204ed8405f5e100840a3bef208307a91594097ffedb80d4b2ca6105a07a4d90eb739c45a66680b8446e553f6500000000000000000000000000000000000000000000000000000000000027100000000000000000000000005daf465a9ccf64deb146eeae9e7bd40d6761c986c0", + "txHash": "0x981314d50d9160b4d03ebabe484da2212b956b412bf190231b81f46dcb24a8e9", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "0.01 USDT", + "Share ticker", + "steakUSDTlite", + "Send shares to", + "0x5daF465a9cCf64DE B146eEaE9E7Bd40d67 61c986", + "Max fees", + "0.0000861997529 ETH" + ] + }, + { + "description": "Mint - chain 1", + "rawTx": "0xf86b820352841376a79a8316e36094097ffedb80d4b2ca6105a07a4d90eb739c45a66680b84494bf804d000000000000000000000000000000000000000000000000000000e8990a4600000000000000000000000000000000000000000000000000000000000000dead018080", + "txHash": "0x32943121ed822af11b61e234596603d1f7accea5546fda1dfdf2bd9faf73c054", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "USDT", + "Minted shares", + "999000000000 ???", + "Mint shares to", + "0x0000000000000000 000000000000000000 00dEaD", + "Max fees", + "0.000489814887 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakWBTC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakWBTC.tests.json new file mode 100644 index 0000000..16e62b0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/morpho/tests/calldata-steakhouse_financial-steakWBTC.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d011f841e65fb8084ff58a7008305a7a694beef094333aedd535c130958c204e84f681fd9fa80b8446e553f650000000000000000000000000000000000000000000000000000000000004a380000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0x46ce6f8edf167b996b41bfe3878d9f2427d1c3bd747f94db6358ac839d62157c", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Deposit asset", + "0.00019 WBTC", + "Share ticker", + "steakWBTC", + "Send shares to", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.001587641832 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88e0181a584081e3f40841034dd6083048bcc94beef094333aedd535c130958c204e84f681fd9fa80b864ba0876520000000000000000000000000000000000000000000000000000acc8f2ef6ee70000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f44060000000000000000000000004179b87f8fae24ed5a4bce952b794426d68f4406c0", + "txHash": "0x63f96c82713269482c52f5c7bba629a7b5ebd77e91bad507cb22a508c3930fb7", + "expectedTexts": [ + "Interaction with", + "Steakhouse Financial", + "Shares to redeem", + "0.000189979069214 439 steakWBTC", + "To", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Owner", + "0x4179b87f8faE24ED5 A4bCe952b794426D6 8f4406", + "Max fees", + "0.0000810077108 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json b/crates/clear-signing/src/assets/registry-snapshot/registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json new file mode 100644 index 0000000..75f4d3b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/okx/calldata-OkxDexRouterV1.0.7-multi-commission.json @@ -0,0 +1,315 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "metadata": { + "owner": "OKX Labs", + "info": { "url": "https://web3.okx.com/dex-swap", "deploymentDate": "2025-11-28T02:08:59Z" }, + "enums": { "swapDirection": { "0": "ETH --> WETH", "1": "WETH --> ETH", "128": "WETH --> ETH" } }, + "contractName": "OKX DEX Router v1.0.7-multi-commission" + }, + "context": { + "$id": "OKX DEX Router v1.0.7-multi-commission", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x5E1f62Dac767b0491e3CE72469C217365D5B48cC" }, + { "chainId": 10, "address": "0x6733Eb2E75B1625F1Fe5f18aD2cB2BaBDA510d19" }, + { "chainId": 25, "address": "0xcF76984119C7f6ae56fAfE680d39C08278b7eCF4" }, + { "chainId": 56, "address": "0x3156020dfF8D99af1dDC523ebDfb1ad2018554a0" }, + { "chainId": 130, "address": "0x23E2f2FA1967FAffde2e05fDecbb3fa787A5D3E5" }, + { "chainId": 137, "address": "0x057cfd839aa88994d1a8a8c6d336cf21550f05ef" }, + { "chainId": 143, "address": "0x6088d94C5a40CEcd3ae2D4e0710cA687b91c61d0" }, + { "chainId": 146, "address": "0x86F752f1F662f39BFbcBeF95EE56B6C20d178969" }, + { "chainId": 169, "address": "0x8feB9E84b7E9DC86adc6cD6Eb554C5B4355c8405" }, + { "chainId": 196, "address": "0xD1b8997AaC08c619d40Be2e4284c9C72cAB33954" }, + { "chainId": 250, "address": "0xcF76984119C7f6ae56fAfE680d39C08278b7eCF4" }, + { "chainId": 324, "address": "0x3163Ed233a3Cb5E6B7F10A6f02b01F15867a8779" }, + { "chainId": 1030, "address": "0x23e2f2fa1967faffde2e05fdecbb3fa787a5d3e5" }, + { "chainId": 1088, "address": "0xDd5E9B947c99Aa60bab00ca4631Dce63b49983E7" }, + { "chainId": 1101, "address": "0x79f7C6C6dc16Ed3154E85A8ef9c1Ef31CEFaEB19" }, + { "chainId": 4200, "address": "0xd3b3e6433d6a7f94c28ce907311fb21b0f0b659e" }, + { "chainId": 5000, "address": "0xF5402CCC5fC3181B45D7571512999D3Eea0257B6" }, + { "chainId": 7000, "address": "0x8feB9E84b7E9DC86adc6cD6Eb554C5B4355c8405" }, + { "chainId": 8453, "address": "0x4409921ae43a39a11d90f7b7f96cfd0b8093d9fc" }, + { "chainId": 9745, "address": "0x5c1c902e7e04de98b49acd3de68e12bee2d7908d" }, + { "chainId": 42161, "address": "0x368E01160C2244B0363a35B3fF0A971E44a89284" }, + { "chainId": 43114, "address": "0x8aDFb0D24cdb09c6eB6b001A41820eCe98831B91" }, + { "chainId": 59144, "address": "0x9EaBF1D34819D9eC9Fe5fd3Db4e9DCD12Fa05284" }, + { "chainId": 81457, "address": "0xc9da86c392101047188bae98ccc192271a136a13" }, + { "chainId": 534352, "address": "0x6733Eb2E75B1625F1Fe5f18aD2cB2BaBDA510d19" } + ] + } + }, + "display": { + "definitions": { + "sendAmount": { + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", "0x0000000000000000000000000000000000000000"] } + }, + "minReceiveAmount": { + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", "0x0000000000000000000000000000000000000000"] } + }, + "beneficiary": { "label": "Beneficiary", "format": "addressName", "params": { "types": ["eoa", "wallet"] } }, + "deadline": { "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } }, + "orderId": { "label": "Order ID", "format": "raw" }, + "tokenAddress": { "label": "Token", "format": "addressName", "params": { "types": ["token"] } } + }, + "formats": { + "dagSwapByOrderId(uint256 orderId, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[] paths)": { + "$id": "dagSwapByOrderId", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Paths", "path": "paths", "visible": "never" } + ] + }, + "dagSwapTo(uint256 orderId, address receiver, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[] paths)": { + "$id": "dagSwapTo", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Paths", "path": "paths", "visible": "never" } + ] + }, + "smartSwapByOrderId(uint256 orderId, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, uint256[] batchesAmount, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[][] batches, (uint256 pathIndex, address payer, address fromToken, address toToken, uint256 fromTokenAmountMax, uint256 toTokenAmountMax, uint256 salt, uint256 deadLine, bool isPushOrder, bytes extension)[] extraData)": { + "$id": "smartSwapByOrderId", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Batches", "path": "batches", "visible": "never" }, + { "label": "Batches Amount", "path": "batchesAmount", "visible": "never" } + ] + }, + "smartSwapTo(uint256 orderId, address receiver, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, uint256[] batchesAmount, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[][] batches, (uint256 pathIndex, address payer, address fromToken, address toToken, uint256 fromTokenAmountMax, uint256 toTokenAmountMax, uint256 salt, uint256 deadLine, bool isPushOrder, bytes extension)[] extraData)": { + "$id": "smartSwapTo", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Batches", "path": "batches", "visible": "never" }, + { "label": "Batches Amount", "path": "batchesAmount", "visible": "never" } + ] + }, + "swapWrap(uint256 orderId, uint256 rawdata)": { + "$id": "swapWrap", + "intent": "Wrap/Unwrap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "rawdata.[0:1]", "label": "Direction", "format": "enum", "params": { "$ref": "$.metadata.enums.swapDirection" } }, + { + "path": "rawdata.[-17:]", + "label": "Amount", + "format": "tokenAmount", + "params": { "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" } + } + ] + }, + "swapWrapToWithBaseRequest(uint256 orderId, address receiver, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest)": { + "$id": "Wrap/Unwrap", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "label": "Wrap/Unwrap Amount", + "format": "tokenAmount", + "params": { + "tokenPath": "baseRequest.fromToken.[-20:]", + "nativeCurrencyAddress": ["0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", "0x0000000000000000000000000000000000000000"] + }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" } + ] + }, + "uniswapV3SwapTo(uint256 receiver, uint256 amount, uint256 minReturn, uint256[] pools)": { + "$id": "uniswapV3SwapTo", + "intent": "Swap", + "fields": [ + { "path": "receiver.[-20:]", "$ref": "$.display.definitions.beneficiary" }, + { "label": "Pools", "path": "pools", "visible": "never" } + ] + }, + "uniswapV3SwapToWithBaseRequest(uint256 orderId, address receiver, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, uint256[] pools)": { + "$id": "uniswapV3SwapToWithBaseRequest", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Pools", "path": "pools", "visible": "never" } + ] + }, + "unxswapByOrderId(uint256 srcToken, uint256 amount, uint256 minReturn, bytes32[] pools)": { + "$id": "unxswapByOrderId", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "srcToken.[-20:]" }, + "visible": "always" + }, + { "path": "minReturn", "label": "Minimum to Receive", "format": "raw", "visible": "always" }, + { "label": "Pools", "path": "pools", "visible": "never" } + ] + }, + "unxswapTo(uint256 srcToken, uint256 amount, uint256 minReturn, address receiver, bytes32[] pools)": { + "$id": "unxswapTo", + "intent": "Swap", + "fields": [ + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "srcToken.[-20:]" }, + "visible": "always" + }, + { "path": "minReturn", "$ref": "$.display.definitions.minReceiveAmount", "visible": "always" }, + { "label": "Pools", "path": "pools", "visible": "never" } + ] + }, + "unxswapToWithBaseRequest(uint256 orderId, address receiver, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, bytes32[] pools)": { + "$id": "unxswapToWithBaseRequest", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Pools", "path": "pools", "visible": "never" } + ] + }, + "smartSwapByInvest((uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, uint256[] batchesAmount, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[][] batches, (uint256 pathIndex, address payer, address fromToken, address toToken, uint256 fromTokenAmountMax, uint256 toTokenAmountMax, uint256 salt, uint256 deadLine, bool isPushOrder, bytes extension)[] extraData, address to)": { + "$id": "smartSwapByInvest", + "intent": "Swap", + "fields": [ + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "path": "to", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "label": "Batches", "path": "batches", "visible": "never" }, + { "label": "Batches Amount", "path": "batchesAmount", "visible": "never" }, + { "label": "Extra Data", "path": "extraData", "visible": "never" } + ] + }, + "smartSwapByInvestWithRefund((uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, uint256[] batchesAmount, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[][] batches, (uint256 pathIndex, address payer, address fromToken, address toToken, uint256 fromTokenAmountMax, uint256 toTokenAmountMax, uint256 salt, uint256 deadLine, bool isPushOrder, bytes extension)[] extraData, address to, address refundTo)": { + "$id": "smartSwapByInvestWithRefund", + "intent": "Swap", + "fields": [ + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "path": "to", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "refundTo", + "label": "Refund To", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "visible": "always" + }, + { "label": "Batches", "path": "batches", "visible": "never" }, + { "label": "Batches Amount", "path": "batchesAmount", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/okx/calldata-OkxDexRouterV1.0.8-suffix-compat.json b/crates/clear-signing/src/assets/registry-snapshot/registry/okx/calldata-OkxDexRouterV1.0.8-suffix-compat.json new file mode 100644 index 0000000..f121859 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/okx/calldata-OkxDexRouterV1.0.8-suffix-compat.json @@ -0,0 +1,315 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "metadata": { + "owner": "OKX Labs", + "info": { "url": "https://web3.okx.com/dex-swap", "deploymentDate": "2026-03-20T03:24:35Z" }, + "enums": { "swapDirection": { "0": "ETH --> WETH", "1": "WETH --> ETH", "128": "WETH --> ETH" } }, + "contractName": "OKX DEX Router v1.0.8-suffix-compat" + }, + "context": { + "$id": "OKX DEX Router v1.0.8-suffix-compat", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x28b1Dc1a5E3699A428BC51d234DFab7C9CB2a183" }, + { "chainId": 10, "address": "0xDd5E9B947c99Aa60bab00ca4631Dce63b49983E7" }, + { "chainId": 25, "address": "0x25e7f77F33206d311A0130D4b5B881E5Db1181b1" }, + { "chainId": 56, "address": "0x62cceF0b4545166f721cAa9fEe13c1d3767E27dc" }, + { "chainId": 130, "address": "0x6733Eb2E75B1625F1Fe5f18aD2cB2BaBDA510d19" }, + { "chainId": 137, "address": "0xF6E1B4b201e220FC3741bd7a75675ffEA25c02AD" }, + { "chainId": 143, "address": "0x7A7AD9aa93cd0A2D0255326E5Fb145CEc14997FF" }, + { "chainId": 146, "address": "0x79f7C6C6dc16Ed3154E85A8ef9c1Ef31CEFaEB19" }, + { "chainId": 169, "address": "0x69C236E021F5775B0D0328ded5EaC708E3B869DF" }, + { "chainId": 196, "address": "0xbec6d0E341102732e4FD62EC50E2F0a9D1bd1D33" }, + { "chainId": 250, "address": "0x25e7f77F33206d311A0130D4b5B881E5Db1181b1" }, + { "chainId": 324, "address": "0x6f7c20464258c732577c87a9B467619e03e5C158" }, + { "chainId": 1030, "address": "0x95418635f012fFd10eAFcDaF4137e90371f06917" }, + { "chainId": 1088, "address": "0x25e7f77F33206d311A0130D4b5B881E5Db1181b1" }, + { "chainId": 1101, "address": "0x6f7c20464258c732577c87a9B467619e03e5C158" }, + { "chainId": 4200, "address": "0x6f7c20464258c732577c87a9B467619e03e5C158" }, + { "chainId": 5000, "address": "0xcF76984119C7f6ae56fAfE680d39C08278b7eCF4" }, + { "chainId": 7000, "address": "0xF5402CCC5fC3181B45D7571512999D3Eea0257B6" }, + { "chainId": 8453, "address": "0xC8F6b8Ba0DC0f175B568B99440B0867F69A29265" }, + { "chainId": 9745, "address": "0x19D345f95A80cc136d898f41b490E023cFF78658" }, + { "chainId": 42161, "address": "0x7CF6b330b437E9fb432B1400DE17B03357Cf049A" }, + { "chainId": 43114, "address": "0xa94Fcf9fc56a864f8DE51e6315aee5863AD63C91" }, + { "chainId": 59144, "address": "0x2E1Dee213BA8d7af0934C49a23187BabEACa8764" }, + { "chainId": 81457, "address": "0xcF76984119C7f6ae56fAfE680d39C08278b7eCF4" }, + { "chainId": 534352, "address": "0x5e2F47bD7D4B357fCfd0Bb224Eb665773B1B9801" } + ] + } + }, + "display": { + "definitions": { + "sendAmount": { + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", "0x0000000000000000000000000000000000000000"] } + }, + "minReceiveAmount": { + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", "0x0000000000000000000000000000000000000000"] } + }, + "beneficiary": { "label": "Beneficiary", "format": "addressName", "params": { "types": ["eoa", "wallet"] } }, + "deadline": { "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } }, + "orderId": { "label": "Order ID", "format": "raw" }, + "tokenAddress": { "label": "Token", "format": "addressName", "params": { "types": ["token"] } } + }, + "formats": { + "dagSwapByOrderId(uint256 orderId, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[] paths)": { + "$id": "dagSwapByOrderId", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Paths", "path": "paths", "visible": "never" } + ] + }, + "dagSwapTo(uint256 orderId, address receiver, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[] paths)": { + "$id": "dagSwapTo", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Paths", "path": "paths", "visible": "never" } + ] + }, + "smartSwapByOrderId(uint256 orderId, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, uint256[] batchesAmount, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[][] batches, (uint256 pathIndex, address payer, address fromToken, address toToken, uint256 fromTokenAmountMax, uint256 toTokenAmountMax, uint256 salt, uint256 deadLine, bool isPushOrder, bytes extension)[] extraData)": { + "$id": "smartSwapByOrderId", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Batches", "path": "batches", "visible": "never" }, + { "label": "Batches Amount", "path": "batchesAmount", "visible": "never" } + ] + }, + "smartSwapTo(uint256 orderId, address receiver, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, uint256[] batchesAmount, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[][] batches, (uint256 pathIndex, address payer, address fromToken, address toToken, uint256 fromTokenAmountMax, uint256 toTokenAmountMax, uint256 salt, uint256 deadLine, bool isPushOrder, bytes extension)[] extraData)": { + "$id": "smartSwapTo", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Batches", "path": "batches", "visible": "never" }, + { "label": "Batches Amount", "path": "batchesAmount", "visible": "never" } + ] + }, + "swapWrap(uint256 orderId, uint256 rawdata)": { + "$id": "swapWrap", + "intent": "Wrap/Unwrap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "rawdata.[0:1]", "label": "Direction", "format": "enum", "params": { "$ref": "$.metadata.enums.swapDirection" } }, + { + "path": "rawdata.[-17:]", + "label": "Amount", + "format": "tokenAmount", + "params": { "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" } + } + ] + }, + "swapWrapToWithBaseRequest(uint256 orderId, address receiver, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest)": { + "$id": "Wrap/Unwrap", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "label": "Wrap/Unwrap Amount", + "format": "tokenAmount", + "params": { + "tokenPath": "baseRequest.fromToken.[-20:]", + "nativeCurrencyAddress": ["0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", "0x0000000000000000000000000000000000000000"] + }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" } + ] + }, + "uniswapV3SwapTo(uint256 receiver, uint256 amount, uint256 minReturn, uint256[] pools)": { + "$id": "uniswapV3SwapTo", + "intent": "Swap", + "fields": [ + { "path": "receiver.[-20:]", "$ref": "$.display.definitions.beneficiary" }, + { "label": "Pools", "path": "pools", "visible": "never" } + ] + }, + "uniswapV3SwapToWithBaseRequest(uint256 orderId, address receiver, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, uint256[] pools)": { + "$id": "uniswapV3SwapToWithBaseRequest", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Pools", "path": "pools", "visible": "never" } + ] + }, + "unxswapByOrderId(uint256 srcToken, uint256 amount, uint256 minReturn, bytes32[] pools)": { + "$id": "unxswapByOrderId", + "intent": "Swap", + "fields": [ + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "srcToken.[-20:]" }, + "visible": "always" + }, + { "path": "minReturn", "label": "Minimum to Receive", "format": "raw", "visible": "always" }, + { "label": "Pools", "path": "pools", "visible": "never" } + ] + }, + "unxswapTo(uint256 srcToken, uint256 amount, uint256 minReturn, address receiver, bytes32[] pools)": { + "$id": "unxswapTo", + "intent": "Swap", + "fields": [ + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "amount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "srcToken.[-20:]" }, + "visible": "always" + }, + { "path": "minReturn", "$ref": "$.display.definitions.minReceiveAmount", "visible": "always" }, + { "label": "Pools", "path": "pools", "visible": "never" } + ] + }, + "unxswapToWithBaseRequest(uint256 orderId, address receiver, (uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, bytes32[] pools)": { + "$id": "unxswapToWithBaseRequest", + "intent": "Swap", + "fields": [ + { "path": "orderId", "$ref": "$.display.definitions.orderId", "visible": "always" }, + { "path": "receiver", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "label": "Pools", "path": "pools", "visible": "never" } + ] + }, + "smartSwapByInvest((uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, uint256[] batchesAmount, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[][] batches, (uint256 pathIndex, address payer, address fromToken, address toToken, uint256 fromTokenAmountMax, uint256 toTokenAmountMax, uint256 salt, uint256 deadLine, bool isPushOrder, bytes extension)[] extraData, address to)": { + "$id": "smartSwapByInvest", + "intent": "Swap", + "fields": [ + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "path": "to", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "label": "Batches", "path": "batches", "visible": "never" }, + { "label": "Batches Amount", "path": "batchesAmount", "visible": "never" }, + { "label": "Extra Data", "path": "extraData", "visible": "never" } + ] + }, + "smartSwapByInvestWithRefund((uint256 fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, uint256 deadLine) baseRequest, uint256[] batchesAmount, (address[] mixAdapters, address[] assetTo, uint256[] rawData, bytes[] extraData, uint256 fromToken)[][] batches, (uint256 pathIndex, address payer, address fromToken, address toToken, uint256 fromTokenAmountMax, uint256 toTokenAmountMax, uint256 salt, uint256 deadLine, bool isPushOrder, bytes extension)[] extraData, address to, address refundTo)": { + "$id": "smartSwapByInvestWithRefund", + "intent": "Swap", + "fields": [ + { + "path": "baseRequest.fromTokenAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "baseRequest.fromToken.[-20:]" }, + "visible": "always" + }, + { + "path": "baseRequest.minReturnAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "baseRequest.toToken" }, + "visible": "always" + }, + { "path": "baseRequest.deadLine", "$ref": "$.display.definitions.deadline" }, + { "path": "to", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { + "path": "refundTo", + "label": "Refund To", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "visible": "always" + }, + { "label": "Batches", "path": "batches", "visible": "never" }, + { "label": "Batches Amount", "path": "batchesAmount", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/okx/tests/calldata-OkxDexRouterV1.0.7-multi-commission.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/okx/tests/calldata-OkxDexRouterV1.0.7-multi-commission.tests.json new file mode 100644 index 0000000..eef3f64 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/okx/tests/calldata-OkxDexRouterV1.0.7-multi-commission.tests.json @@ -0,0 +1,86 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Swap - chain 1", + "rawTx": "0x02f90bcc01820e8f17840866b358830d6775945e1f62dac767b0491e3ce72469c217365d5b48cc80b90ba4f2c42696000000000000000000000000000000000000000000000000000000003bbb9bae000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000017205fab260a7a6383a81452ce6315a39370db97000000000000000000000000000000000000000000000000000000000fd37b34000000000000000000000000000000000000000000000035ed0df84296d382fa0000000000000000000000000000000000000000000000000000000069bbe7e700000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000076000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000ce937da1ffd21673aa1e063459873f30189a21930000000000000000000000000000000000000000000000000000000000000001000000000000000000000000ce937da1ffd21673aa1e063459873f30189a219300000000000000000000000000000000000000000000000000000000000000018000000000000000000127100bdf246b4aef9cfe4dd6eef153a1b645ac4bcbb60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000003c587dd6a10c04000000000000000000000000000000000000000000000000000000000069bbd9fb000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000cd81502214d405f40ff14884f2b3962a2f822d6700000000000000000000000000000000000000000000000001b218468460c310000000000000000000000000000000000000000000000000000000000fd37b340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041b49f6a75972795cdf532a446507d4a6fff0af96fe2430f04b12fb738c9b8a9a22994c7a382b4bfe2f89212d11b1caa42833d607d9e2fa7c9ddc55f10476ad3ed1b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000010000000000000000000000006747bcaf9bd5a5f0758cbe08903490e45ddfacb500000000000000000000000000000000000000000000000000000000000000010000000000000000000000006747bcaf9bd5a5f0758cbe08903490e45ddfacb50000000000000000000000000000000000000000000000000000000000000001000000000000000001022710de758db54c1b4a87b06b34b30ef0a710dc35388f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000163f3103de041d25464e2c8a4f8f3187ec1856e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000163f3103de041d25464e2c8a4f8f3187ec1856e000000000000000000000000000000000000000000000000000000000000000018000000000000000020327100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000017205fab260a7a6383a81452ce6315a39370db970000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000017205fab260a7a6383a81452ce6315a39370db973ca20afc2bbb00000000000149e1bf431e9bbbd8e57afcd21ccac3f30e7d98d3c0", + "txHash": "0xdceda830882a8a741e11ed8621ad5c48916255fac5b52e9373babd872ec32b26", + "expectedTexts": [ + "Interaction with", + "OKX Labs Order ID 1002150830 Amount to Send 265.517876 USDC Minimum to Receive 994759017833174369 018 ???", + "Max fees", + "0.00012381646752133 6 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f9068f01818e8405f5e10f840c4727d2830956a0945e1f62dac767b0491e3ce72469c217365d5b48cc80b906640c307f76000000000000000000000000000000000000000000000000000000003bab72ec0000000000000000000000007e2329dc03871eb81f04a3f48ad287464eeea079000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000008ad3c73f833d3f9a523ab01476625f269aeb7cf00000000000000000000000000000000000000000000000000000000000c3936b00000000000000000000000000000000000000000000000000719fb8c8d45a600000000000000000000000000000000000000000000000000000000069bbe797000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000bb2cd025c6f81142f2c5300960865344f9eab8310000000000000000000000000000000000000000000000000000000000000001000000000000000000000000bb2cd025c6f81142f2c5300960865344f9eab83100000000000000000000000000000000000000000000000000000000000000018000000000000000000127100000000000000000000000006dd161107ef07bb8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000010000000000000000000000006747bcaf9bd5a5f0758cbe08903490e45ddfacb500000000000000000000000000000000000000000000000000000000000000010000000000000000000000006747bcaf9bd5a5f0758cbe08903490e45ddfacb50000000000000000000000000000000000000000000000000000000000000001800000000000000001022710a7fd774e0ad54a6d2ceafb4103615f473e589cc60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000008ad3c73f833d3f9a523ab01476625f269aeb7cf022220afc2aaa000000249f00d64a453da8fcdd049697aa5c6dabfff09916c795800000000000000000000000dac17f958d2ee523a2206206994597c13d831ec722220afc2aaa0000000927c0fa00a9ed787f3793db668bff3e6e6e7db0f92a1bc0", + "txHash": "0x9d63cc6614609db86a665354cf5a60d1d557b88367d014f63fc6df68efa1dcea", + "expectedTexts": [ + "Interaction with", + "OKX Labs Order ID 1001091820 Beneficiary 0x7E2329Dc03871EB81 f04A3f48ad287464EeE a079", + "Max fees", + "0.000126065783304 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f9080e014984017bdcbf84072cb7cc830cafb4945e1f62dac767b0491e3ce72469c217365d5b48cc80b907e4b80c2f09000000000000000000000000000000000000000000000000003c5877882c3700000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000005e34577a70000000000000000000000000000000000000000000000009fcdbf702d6c55340000000000000000000000000000000000000000000000000000000069bbe64a0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000007c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000005e34577a7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000002000000000000000000000000ce937da1ffd21673aa1e063459873f30189a21930000000000000000000000006747bcaf9bd5a5f0758cbe08903490e45ddfacb50000000000000000000000000000000000000000000000000000000000000002000000000000000000000000ce937da1ffd21673aa1e063459873f30189a21930000000000000000000000006747bcaf9bd5a5f0758cbe08903490e45ddfacb500000000000000000000000000000000000000000000000000000000000000020000000000000000000025e40bdf246b4aef9cfe4dd6eef153a1b645ac4bcbb680000000000000000000012cde758db54c1b4a87b06b34b30ef0a710dc35388f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000003c587788360c02400000000000000000000000000000000000000000000000000000000069bbd85e000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000cd81502214d405f40ff14884f2b3962a2f822d670000000000000000000000000000000000000000000000009c32cc09d18ae00000000000000000000000000000000000000000000000000000000005b60d9f9500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413980e692a3292aa0eda5f4e7cd8456cab5f9dd7f48d4e7df34a31a4269f6446b32348e7bdaff6fe28fde6c5c72f525fbca89e5c41640eeb51128e0e6d81db1371b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x1b5dc9f893a8821b20e5ac7f47eec36b8fb451b5481dd4ee1ac1c6831be03985", + "expectedTexts": [ + "Interaction with", + "OKX Labs Order ID 16985769011590912 Amount to Send 25287.817127 USDT Minimum to Receive 11.51507031077554309 2 ETH", + "Max fees", + "0.00010007801690097 6 ETH" + ] + }, + { + "description": "Wrap/Unwrap - chain 1", + "rawTx": "0x02f86d01318401ea8be9840757aff683023d36945e1f62dac767b0491e3ce72469c217365d5b48cc80b84401617fab000000000000000000000000000000000000000000000000003c58764c89378080000000000000000000000000000000000000000000000000363a86f1da0000c0", + "txHash": "0x64edee29a2ae78b7a90ed7baecb88773b9462a2002af7f94da396f7d56455d3f", + "expectedTexts": [ + "Interaction with", + "OKX Labs Order ID 16985763716085632", + "Direction", + "WETH --> ETH", + "Amount", + "0.015264 WETH", + "Max fees", + "0.00001807673463498 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f90137018204218401a56e4284067112128303d1b9945e1f62dac767b0491e3ce72469c217365d5b48cc87038d7ea4c68000b901040d5f0e3b00000000003c587c3b8837806fddfa63c80e222f8237d03d80d8b44fe882f508000000000000000000000000000000000000000000000000000385c3954b7800000000000000000000000000000000000000000000000017040dad182b3fe07f0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000180000000000000000000000038fa0e36a9eb335ca00dbd6d0f203b0bd72ce3b6000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee3ca20afc2aaa00000081b3206ea08ca8f313d860808ef7431fc72c6fbcf4a72dc0", + "txHash": "0x1f637b58cab2487570d055c2b6eaea2f048ae657f872085a6310370084928ea5", + "expectedTexts": [ + "Interaction with", + "OKX Labs Beneficiary 0x6fDDfA63C80e222F 8237D03D80D8B44Fe 882f508", + "Max fees", + "0.0000270504703265 3 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f901350180840127e40084062a83b483048b16945e1f62dac767b0491e3ce72469c217365d5b48cc878e1bc9bf040000b901049871efa400000000003c587d80bc37000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008ce68f53cac000000000000000000000000000000000000000000000000000000a17e0f4f5d77a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001b0000000000000003b6d034060af6f46039ad6323c5d60102d58ff84706a8ff3000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee3ca20afc2aaa00000081b3206ea08ca8f313d860808ef7431fc72c6fbcf4a72dc0", + "txHash": "0x47de77c7b97593e9f0d732eb43a73e96127f4e90d48952663a9a1ef92ec5e677", + "expectedTexts": [ + "Interaction with", + "OKX Labs Amount to Send 0.03966 ETH Minimum to Receive 2841004716971898", + "Max fees", + "0.000030802095771 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f901af0181938401a0dbd784066e10e88306217c945e1f62dac767b0491e3ce72469c217365d5b48cc80b90184b8815477000000000000000000000000000000000000000000000000003c5873c96637000000000000000000000000001e975a823fc5e4a260331084822031f8d01f999c00000000003c5873c9663700e0a458bf4acf353cb45e211281a334bb1d83788500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011a545f4e212976ec329000000000000000000000000000000000000000000000000000312aabc08882d0000000000000000000000000000000000000000000000000000000069bbe55400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001f0000000000000003b6d03404ff4c7c8754127cc097910cf9d80400adef5b65d000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee3ca20afc2bbb00000081b3206ea08ca8f313d860808ef7431fc72c6fbcf4a72dc0", + "txHash": "0x2b41d2dbba4a3a908fa3a7ef29807240b22f93508e6f39af121ba04caeb7bd25", + "expectedTexts": [ + "Interaction with", + "OKX Labs Order ID 16985752926041856 Beneficiary 0x1e975A823fc5e4A26 0331084822031F8D01f 999c", + "Max fees", + "0.00004334351693219 2 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-GMTokenLimitOrder.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-GMTokenLimitOrder.json new file mode 100644 index 0000000..ddb2c33 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-GMTokenLimitOrder.json @@ -0,0 +1,172 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "GMTokenLimitOrder", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xf0Bc39Fc911F6437C84d16188dD8294F7110f451" }, + { "chainId": 56, "address": "0x96b525B1a93f31E65F4aAf18C53842eD28525D48" } + ] + } + }, + "metadata": { + "owner": "Ondo Finance", + "contractName": "GM Token Limit Order", + "info": { "url": "https://ondo.finance" } + }, + "display": { + "formats": { + "createBuyOrderExactIn(address gmToken, address quoteToken, uint256 quoteAmount, uint256 limitPrice, uint256 expiry)": { + "$id": "createBuyOrderExactIn", + "intent": "Limit Buy GM Token", + "interpolatedIntent": "Buy {gmToken} for up to {quoteAmount} at max {limitPrice}", + "fields": [ + { + "path": "gmToken", + "format": "addressName", + "label": "GM Token", + "params": { "types": ["token"] }, + "visible": "always" + }, + { + "path": "quoteAmount", + "format": "tokenAmount", + "label": "Spend Amount", + "params": { "tokenPath": "quoteToken" }, + "visible": "always" + }, + { + "path": "limitPrice", + "format": "unit", + "label": "Max Price", + "params": { "base": "USD", "decimals": 18 }, + "visible": "always" + }, + { + "path": "expiry", + "format": "date", + "label": "Order Expires", + "params": { "encoding": "timestamp" }, + "visible": "always" + }, + { "path": "quoteToken", "label": "Quote Token", "visible": "never" } + ] + }, + "createBuyOrderExactOut(address gmToken, address quoteToken, uint256 gmAmount, uint256 limitPrice, uint256 expiry)": { + "$id": "createBuyOrderExactOut", + "intent": "Limit Buy GM Token", + "interpolatedIntent": "Buy {gmAmount} with {quoteToken} at max {limitPrice}", + "fields": [ + { + "path": "gmAmount", + "format": "tokenAmount", + "label": "GM Amount to Buy", + "params": { "tokenPath": "gmToken" }, + "visible": "always" + }, + { + "path": "quoteToken", + "format": "addressName", + "label": "Quote Token", + "params": { "types": ["token"] }, + "visible": "always" + }, + { + "path": "limitPrice", + "format": "unit", + "label": "Max Price", + "params": { "base": "USD", "decimals": 18 }, + "visible": "always" + }, + { + "path": "expiry", + "format": "date", + "label": "Order Expires", + "params": { "encoding": "timestamp" }, + "visible": "always" + }, + { "path": "gmToken", "label": "GM Token", "visible": "never" } + ] + }, + "createSellOrderExactIn(address gmToken, address quoteToken, uint256 gmAmount, uint256 limitPrice, uint256 expiry)": { + "$id": "createSellOrderExactIn", + "intent": "Limit Sell GM Token", + "interpolatedIntent": "Sell {gmAmount} for {quoteToken} at min {limitPrice}", + "fields": [ + { + "path": "gmAmount", + "format": "tokenAmount", + "label": "GM Amount to Sell", + "params": { "tokenPath": "gmToken" }, + "visible": "always" + }, + { + "path": "quoteToken", + "format": "addressName", + "label": "Receive Token", + "params": { "types": ["token"] }, + "visible": "always" + }, + { + "path": "limitPrice", + "format": "unit", + "label": "Min Price", + "params": { "base": "USD", "decimals": 18 }, + "visible": "always" + }, + { + "path": "expiry", + "format": "date", + "label": "Order Expires", + "params": { "encoding": "timestamp" }, + "visible": "always" + }, + { "path": "gmToken", "label": "GM Token", "visible": "never" } + ] + }, + "createSellOrderExactOut(address gmToken, address quoteToken, uint256 quoteAmount, uint256 limitPrice, uint256 expiry)": { + "$id": "createSellOrderExactOut", + "intent": "Limit Sell GM Token", + "interpolatedIntent": "Sell {gmToken} to receive {quoteAmount} at min {limitPrice}", + "fields": [ + { + "path": "gmToken", + "format": "addressName", + "label": "GM Token", + "params": { "types": ["token"] }, + "visible": "always" + }, + { + "path": "quoteAmount", + "format": "tokenAmount", + "label": "Receive Amount", + "params": { "tokenPath": "quoteToken" }, + "visible": "always" + }, + { + "path": "limitPrice", + "format": "unit", + "label": "Min Price", + "params": { "base": "USD", "decimals": 18 }, + "visible": "always" + }, + { + "path": "expiry", + "format": "date", + "label": "Order Expires", + "params": { "encoding": "timestamp" }, + "visible": "always" + }, + { "path": "quoteToken", "label": "Quote Token", "visible": "never" } + ] + }, + "cancelOrder(uint256 orderId)": { + "$id": "cancelOrder", + "intent": "Cancel Limit Order", + "fields": [ + { "path": "orderId", "format": "raw", "label": "Order ID", "visible": "always" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-GMTokenManager.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-GMTokenManager.json new file mode 100644 index 0000000..352b8c0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-GMTokenManager.json @@ -0,0 +1,91 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "GMTokenManager", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x2c158BC456e027b2AfFCCadF1BDBD9f5fC4c5C8c" }, + { "chainId": 56, "address": "0x91f8Aff3738825e8eB16FC6f6b1A7A4647bDB299" } + ] + } + }, + "metadata": { "owner": "Ondo Finance", "contractName": "GM Token Manager", "info": { "url": "https://ondo.finance" } }, + "display": { + "formats": { + "mintWithAttestation((uint256 chainId, uint256 attestationId, bytes32 userId, address asset, uint256 price, uint256 quantity, uint256 expiration, uint8 side, bytes32 additionalData) quote, bytes signature, address depositToken, uint256 depositTokenAmount)": { + "$id": "mintWithAttestation", + "intent": "Mint GM Token", + "interpolatedIntent": "Mint {quote.quantity} using {depositTokenAmount}", + "fields": [ + { "path": "quote.asset", "format": "addressName", "label": "GM Token", "params": { "types": ["token"] }, "visible": "always" }, + { + "path": "quote.quantity", + "format": "tokenAmount", + "label": "GM Token Amount", + "params": { "tokenPath": "quote.asset" }, + "visible": "always" + }, + { + "path": "depositTokenAmount", + "format": "tokenAmount", + "label": "Deposit Amount", + "params": { "tokenPath": "depositToken" }, + "visible": "always" + }, + { "path": "quote.price", "label": "Quote Price", "visible": "never" }, + { + "path": "quote.expiration", + "format": "date", + "label": "Quote Expires", + "params": { "encoding": "timestamp" }, + "visible": "always" + }, + { "path": "quote.chainId", "label": "Chain ID", "visible": "never" }, + { "path": "quote.attestationId", "label": "Attestation ID", "visible": "never" }, + { "path": "quote.userId", "label": "User ID", "visible": "never" }, + { "path": "quote.side", "label": "Side", "visible": "never" }, + { "path": "quote.additionalData", "label": "Additional Data", "visible": "never" }, + { "path": "signature", "label": "Signature", "visible": "never" }, + { "path": "depositToken", "label": "Deposit Token", "visible": "never" } + ] + }, + "redeemWithAttestation((uint256 chainId, uint256 attestationId, bytes32 userId, address asset, uint256 price, uint256 quantity, uint256 expiration, uint8 side, bytes32 additionalData) quote, bytes signature, address receiveToken, uint256 minimumReceiveAmount)": { + "$id": "redeemWithAttestation", + "intent": "Redeem GM Token", + "interpolatedIntent": "Redeem {quote.quantity} for {minimumReceiveAmount}+", + "fields": [ + { "path": "quote.asset", "format": "addressName", "label": "GM Token", "params": { "types": ["token"] }, "visible": "always" }, + { + "path": "quote.quantity", + "format": "tokenAmount", + "label": "GM Token Amount", + "params": { "tokenPath": "quote.asset" }, + "visible": "always" + }, + { + "path": "minimumReceiveAmount", + "format": "tokenAmount", + "label": "Min Receive Amount", + "params": { "tokenPath": "receiveToken" }, + "visible": "always" + }, + { "path": "quote.price", "label": "Quote Price", "visible": "never" }, + { + "path": "quote.expiration", + "format": "date", + "label": "Quote Expires", + "params": { "encoding": "timestamp" }, + "visible": "always" + }, + { "path": "quote.chainId", "label": "Chain ID", "visible": "never" }, + { "path": "quote.attestationId", "label": "Attestation ID", "visible": "never" }, + { "path": "quote.userId", "label": "User ID", "visible": "never" }, + { "path": "quote.side", "label": "Side", "visible": "never" }, + { "path": "quote.additionalData", "label": "Additional Data", "visible": "never" }, + { "path": "signature", "label": "Signature", "visible": "never" }, + { "path": "receiveToken", "label": "Receive Token", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-OUSGInstantManager.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-OUSGInstantManager.json new file mode 100644 index 0000000..d157589 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-OUSGInstantManager.json @@ -0,0 +1,65 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "OUSGInstantManager", + "contract": { + "deployments": [{ "chainId": 1, "address": "0x93358db73B6cd4b98D89c8F5f230E81a95c2643a" }] + } + }, + "metadata": { + "owner": "Ondo Finance", + "contractName": "OUSG Instant Manager", + "info": { "url": "https://ondo.finance" }, + "constants": { + "OUSGaddress": "0x1B19C19393e2d034D8Ff31ff34c81252FcBbee92" + } + }, + "display": { + "formats": { + "subscribe(address depositToken, uint256 depositAmount, uint256 minimumRwaReceived)": { + "$id": "subscribe", + "intent": "Subscribe to OUSG", + "interpolatedIntent": "Subscribe with {depositAmount} for at least {minimumRwaReceived}+", + "fields": [ + { + "path": "depositAmount", + "format": "tokenAmount", + "label": "Deposit Amount", + "params": { "tokenPath": "depositToken" }, + "visible": "always" + }, + { + "path": "minimumRwaReceived", + "format": "tokenAmount", + "label": "Min OUSG Received", + "params": { "token": "$.metadata.constants.OUSGaddress" }, + "visible": "always" + }, + { "path": "depositToken", "label": "Deposit Token", "visible": "never" } + ] + }, + "redeem(uint256 rwaAmount, address receivingToken, uint256 minimumTokenReceived)": { + "$id": "redeem", + "intent": "Redeem OUSG", + "interpolatedIntent": "Redeem {rwaAmount} for at least {minimumTokenReceived}+", + "fields": [ + { + "path": "rwaAmount", + "format": "tokenAmount", + "label": "OUSG Amount", + "params": { "token": "$.metadata.constants.OUSGaddress" }, + "visible": "always" + }, + { + "path": "minimumTokenReceived", + "format": "tokenAmount", + "label": "Min Receive Amount", + "params": { "tokenPath": "receivingToken" }, + "visible": "always" + }, + { "path": "receivingToken", "label": "Receiving Token", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-USDYInstantManager.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-USDYInstantManager.json new file mode 100644 index 0000000..09272c2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/calldata-USDYInstantManager.json @@ -0,0 +1,110 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "USDYInstantManager", + "contract": { + "deployments": [{ "chainId": 1, "address": "0xa42613C243b67BF6194Ac327795b926B4b491f15" }] + } + }, + "metadata": { + "owner": "Ondo Finance", + "contractName": "USDY Instant Manager", + "info": { "url": "https://ondo.finance" }, + "constants": { + "USDYaddress": "0x96F6eF951840721AdBF46Ac996b59E0235CB985C", + "rUSDYaddress": "0xaf37c1167910ebC994e266949387d2c7C326b879" + } + }, + "display": { + "formats": { + "subscribe(address depositToken, uint256 depositAmount, uint256 minimumRwaReceived)": { + "$id": "subscribe", + "intent": "Subscribe to USDY", + "interpolatedIntent": "Subscribe with {depositAmount} for at least {minimumRwaReceived}+", + "fields": [ + { + "path": "depositAmount", + "format": "tokenAmount", + "label": "Deposit Amount", + "params": { "tokenPath": "depositToken" }, + "visible": "always" + }, + { + "path": "minimumRwaReceived", + "format": "tokenAmount", + "label": "Min USDY Received", + "params": { "token": "$.metadata.constants.USDYaddress" }, + "visible": "always" + }, + { "path": "depositToken", "label": "Deposit Token", "visible": "never" } + ] + }, + "redeem(uint256 rwaAmount, address receivingToken, uint256 minimumTokenReceived)": { + "$id": "redeem", + "intent": "Redeem USDY", + "interpolatedIntent": "Redeem {rwaAmount} for at least {minimumTokenReceived}+", + "fields": [ + { + "path": "rwaAmount", + "format": "tokenAmount", + "label": "USDY Amount", + "params": { "token": "$.metadata.constants.USDYaddress" }, + "visible": "always" + }, + { + "path": "minimumTokenReceived", + "format": "tokenAmount", + "label": "Min Receive Amount", + "params": { "tokenPath": "receivingToken" }, + "visible": "always" + }, + { "path": "receivingToken", "label": "Receiving Token", "visible": "never" } + ] + }, + "subscribeRebasingUSDY(address depositToken, uint256 depositAmount, uint256 minimumRusdyReceived)": { + "$id": "subscribeRebasingUSDY", + "intent": "Subscribe to rUSDY", + "interpolatedIntent": "Subscribe with {depositAmount} for at least {minimumRusdyReceived}+", + "fields": [ + { + "path": "depositAmount", + "format": "tokenAmount", + "label": "Deposit Amount", + "params": { "tokenPath": "depositToken" }, + "visible": "always" + }, + { + "path": "minimumRusdyReceived", + "format": "tokenAmount", + "label": "Min rUSDY Received", + "params": { "token": "$.metadata.constants.rUSDYaddress" }, + "visible": "always" + }, + { "path": "depositToken", "label": "Deposit Token", "visible": "never" } + ] + }, + "redeemRebasingUSDY(uint256 rusdyAmount, address receivingToken, uint256 minimumTokenReceived)": { + "$id": "redeemRebasingUSDY", + "intent": "Redeem rUSDY", + "interpolatedIntent": "Redeem {rusdyAmount} for at least {minimumTokenReceived}+", + "fields": [ + { + "path": "rusdyAmount", + "format": "tokenAmount", + "label": "rUSDY Amount", + "params": { "token": "$.metadata.constants.rUSDYaddress" }, + "visible": "always" + }, + { + "path": "minimumTokenReceived", + "format": "tokenAmount", + "label": "Min Receive Amount", + "params": { "tokenPath": "receivingToken" }, + "visible": "always" + }, + { "path": "receivingToken", "label": "Receiving Token", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-GMTokenLimitOrder.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-GMTokenLimitOrder.tests.json new file mode 100644 index 0000000..30e084f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-GMTokenLimitOrder.tests.json @@ -0,0 +1,111 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Limit buy (Exact In) AMDon for up to 898.247698 USDC at max 449.123849357071046643 USD on Ethereum", + "rawTx": "0x02f9011001098404b571c0849502f9008303b5f194f0bc39fc911f6437c84d16188dd8294f7110f45180b8a4cda491a10000000000000000000000000c1f3412a44ff99e40bf14e06e5ea321ae7b3938000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000358a2c1200000000000000000000000000000000000000000000001858d8716e1c4557f3000000000000000000000000000000000000000000000000000000006a049916c080a0655feff1c02c5659a9a7fa31bb922786e7bc7c9a3ce75b40bb0f541fcf8013dda010428d0e5d9d36f27c919a8eee8c0a81aee6b1814390bcdf7d9ccd40b23be5e9", + "txHash": "0x442fedae322b1ebabe46ddd92e63e418e0d21401576685f0b1736112f97a1074", + "expectedTexts": [ + "Limit Buy GM Token", + "GM Token", + "AMDon", + "Spend Amount", + "898.247698 USDC", + "Max Price", + "449.123849357071046643 USD", + "Order Expires", + "2026-05-13T15:30:30Z" + ] + }, + { + "description": "Limit sell (Exact In) 10.292398306774911618 ALBon at min 198.508790985784036875 USD on Ethereum", + "rawTx": "0x02f901120182060d847735940084bd65486283050fb694f0bc39fc911f6437c84d16188dd8294f7110f45180b8a4dab2b7780000000000000000000000001b468d5535ed7c19ce42f0073db7fdf441028131000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000008ed5f1ba82268a8200000000000000000000000000000000000000000000000ac2dce5a82bec0e0b000000000000000000000000000000000000000000000000000000006a04a03bc080a0a3b671aa17916f3325db4939ed3d1e4eb9f30576212640b7da4e0287150eee04a027a9a69a0d0d489a71ad2c41989de7ff53e5af7b62ad7545711f327bff6463ed", + "txHash": "0x273992df0a0118faf2996431cae18d1736caae02a5557c815bde952f2b3a7504", + "expectedTexts": [ + "Limit Sell GM Token", + "GM Amount to Sell", + "ALBon", + "Receive Token", + "USDC", + "Min Price", + "198.508790985784036875 USD", + "Order Expires", + "2026-05-13T16:00:59Z" + ] + }, + { + "description": "Limit buy ENLVon for up to 105 USDT at max 0.80250155914148666 USD on BSC", + "rawTx": "0x02f9011038188402faf0808402faf08083050f839496b525b1a93f31e65f4aaf18c53842ed28525d4880b8a4cda491a10000000000000000000000005a9d924fc336a5ec8cf3b1909aa660533b50b01500000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000000000000000000000000005b12aefafa80400000000000000000000000000000000000000000000000000000b230eea8c535044000000000000000000000000000000000000000000000000000000006a047e83c080a0f3dfe41907db280aa41f64e24e7d57de7e26beccac7d3ccbb0062b1ff192bd8ca002960d43b4596f2ceab8d72348fbf446b30788e8db4c6c3e5b8b2d0c4edd3408", + "txHash": "0xd9333962fc2baebb9445f687751c6544d4c72d0c8c4c4e0b2653cffdba9ef841", + "expectedTexts": [ + "Limit Buy GM Token", + "GM Token", + "ENLVon", + "Spend Amount", + "105 USDT", + "Max Price", + "0.80250155914148666 USD", + "Order Expires", + "2026-05-13T13:37:07Z" + ] + }, + { + "description": "Limit sell 10 SLVon at min 79.475236067605668018 USD on BSC", + "rawTx": "0xf9010c8203ed8402faf08083050f939496b525b1a93f31e65f4aaf18c53842ed28525d4880b8a4dab2b7780000000000000000000000008b872732b07be325a8803cdb480d9d20b6f8d11b00000000000000000000000055d398326f99059ff775485246999027b31979550000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000000000000000000000000000044ef0c22029f2e0b2000000000000000000000000000000000000000000000000000000006a048dd48194a0acebed9eefe308e2b8c6aa9eaf13dcc0ca815e290ac0b8f3b5d9f2c02feff20ea04ec27ca692874a535e7c2908d7897429a25dbfd7079cf6e67050417ac88ac6f8", + "txHash": "0xce0a3853ff6fb6f4e4694dd62032b91169dd574f51b8983669e8d4673a193e1a", + "expectedTexts": [ + "Limit Sell GM Token", + "GM Amount to Sell", + "SLVon", + "Receive Token", + "USDT", + "Min Price", + "79.475236067605668018 USD", + "Order Expires", + "2026-05-13T14:42:28Z" + ] + }, + { + "description": "Limit buy (Exact Out) 0.001 MSFTon at max 100 USD on Ethereum", + "rawTx": "0x02f9010f0101830f4240840f26c00683035fab94f0bc39fc911f6437c84d16188dd8294f7110f45180b8a451fc884c000000000000000000000000b812837b81a3a6b81d7cd74cfb19a7f2784555e5000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000056bc75e2d63100000000000000000000000000000000000000000000000000000000000006a04f1d6c001a0aa58f21d02996153194c9de4373d6aebdc1d746087d0cf275c04c20ab6eb41bba07acaa26e4e5262b22774492067ff1ded4c430f1a4a507a82533b47f88cd0d105", + "txHash": "0x27981cfbdb7232ac7890a31b0211ac562264a3c2d7b71e6a41d60749fdeedddd", + "expectedTexts": [ + "Limit Buy GM Token", + "GM Amount to Buy", + "MSFTon", + "Quote Token", + "USDC", + "Max Price", + "100 USD", + "Order Expires", + "2026-05-13T21:49:10Z" + ] + }, + { + "description": "Limit sell (Exact Out) MSFTon to receive 1 USDC at min 100 USD on Ethereum", + "rawTx": "0x02f9010f0105830f4240840fcc484483035f6694f0bc39fc911f6437c84d16188dd8294f7110f45180b8a46468f918000000000000000000000000b812837b81a3a6b81d7cd74cfb19a7f2784555e5000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000056bc75e2d63100000000000000000000000000000000000000000000000000000000000006a04f763c080a0e004ef19397f134610f09161c77110a313da187675395d2d8fc17924c93a9047a040768b02970518ba4d8d3f1cae9be6a653cfe323da3f3edd7df133b148a70658", + "txHash": "0x326b7a859659f08f809bea6cce74bf22df64402d25aeddbf2e5a70e74a41b558", + "expectedTexts": [ + "Limit Sell GM Token", + "GM Token", + "MSFTon", + "Receive Amount", + "1 USDC", + "Min Price", + "100 USD", + "Order Expires", + "2026-05-13T22:12:51Z" + ] + }, + { + "description": "Cancel limit order on Ethereum", + "rawTx": "0x02f88d0102832dc6c08410d333a282838e94f0bc39fc911f6437c84d16188dd8294f7110f45180a4514fcac70000000000000000000000000000000000000000000000000000000000000f3fc080a0c4cc5e26a27e57f686eb363f677dd54760c3b988277d32f8df6cbdca17ca5667a0687581c2921f6290f1ce43d6adcc0db267e41c7560b700dd35ceb7ae9958dc2c", + "txHash": "0xd001507c5bbc396c3c47d080f46642f5e5417b495e61742da29ad16a3168a926", + "expectedTexts": [ + "Cancel Limit Order", + "Order ID", + "3903" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-GMTokenManager.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-GMTokenManager.tests.json new file mode 100644 index 0000000..81d610b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-GMTokenManager.tests.json @@ -0,0 +1,69 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint 9.258010320826351 MSFTon with 3,778.299782 USDC on Ethereum", + "rawTx": "0xf9026c824ff2840911e87f830f4240942c158bc456e027b2affccadf1bdbd9f5fc4c5c8c80b90204445df08b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000512aa3e64dfa4427ad625f6732bfdf32474d0000000000000e88de2c9ee3cae100000000000000000000000000000000000000000000000000000000b812837b81a3a6b81d7cd74cfb19a7f2784555e50000000000000000000000000000000000000000000000161fa08abec2a6d44b000000000000000000000000000000000000000000000000807b0f55f3c13d98000000000000000000000000000000000000000000000000000000006a0447fb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000e134478600000000000000000000000000000000000000000000000000000000000000418d48372c8383d8ba4264b6897e2409f58abe2af40f96bf8efc5dd5c5c0235690266cf48a04df13dc80db4b93fc54ca7af903c75b385580f72b4a26e4024d1f991b0000000000000000000000000000000000000000000000000000000000000025a05f1e2c80de39e317e58e598b63567fb7dabb6d75cd0a1234f205565be3632423a06a27478c63841e24c124c72ee78feaf48e6b7a9d724f503512b90874d7a7ab68", + "txHash": "0xc2bfaba1c2a85e14e8aaa00184042700ab6645a72eb33bd0e1ae7d3fc1dca38d", + "expectedTexts": [ + "Mint GM Token", + "GM Token", + "MSFTon", + "GM Token Amount", + "9.258010320826351 MSFTon", + "Deposit Amount", + "3778.299782 USDC", + "Quote Expires", + "2026-05-13T01:24:27Z" + ] + }, + { + "description": "Redeem 11.074373021490512 COINon for at least 2,307.598294 USDC on Ethereum", + "rawTx": "0xf9026c824ffd840b3ca39d830f4240942c158bc456e027b2affccadf1bdbd9f5fc4c5c8c80b902046eefea49000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000b29f2d3c299940018a59c64f78782272474d0000000000000e88de2c9ee3cae100000000000000000000000000000000000000000000000000000000f042cfa86cf1d598a75bdb55c3507a1f39f9493b00000000000000000000000000000000000000000000000b4bc85b884f8b400000000000000000000000000000000000000000000000000099b01396a81c8080000000000000000000000000000000000000000000000000000000006a046d7a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000898b27d60000000000000000000000000000000000000000000000000000000000000041b0f96ee66e6098a280b82835566b964ae7baef90351939ee793c2d3f7372d5285bf60ddf120700aba18f0e1e598a45c84542ee4a08cf664f1bf6222391227e221c0000000000000000000000000000000000000000000000000000000000000026a0adf10f4f0926add3fbdcd8407cd37c50c6b7d9736bb1ac4650775ac301a9068fa03ddce05509ae6c95b20181eab8c5f7e3b94ca9a14db04a2b35064b77cdc38e0d", + "txHash": "0x4591c8123a7365e0e01a4f741b875c15a29ea4ac4a81f7b7eb24e91c77cf229f", + "expectedTexts": [ + "Redeem GM Token", + "GM Token", + "COINon", + "GM Token Amount", + "11.074373021490512 COINon", + "Min Receive Amount", + "2307.598294 USDC", + "Quote Expires", + "2026-05-13T04:04:26Z" + ] + }, + { + "description": "Mint 3.109258722681446 GOOGLon with 1,237.919603566199981690 USDT on BSC", + "rawTx": "0x02f902743883011ae28402faf0808402faf080830f42409491f8aff3738825e8eb16fc6f6b1a7a4647bdb29980b90204445df08b00000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000018ed8bfc22084513973abf8af98306dc474d000000000000170ef63b56890c8000000000000000000000000000000000000000000000000000000000091fc7778e6932d4009b087b191d1ee3bac5729a000000000000000000000000000000000000000000000015954caa40e74b83310000000000000000000000000000000000000000000000002b264e55b0365e70000000000000000000000000000000000000000000000000000000006a04933d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000055d398326f99059ff775485246999027b31979550000000000000000000000000000000000000000000000431b95e8aa0fbc467a0000000000000000000000000000000000000000000000000000000000000041918aa8d886cc47a7b013bcdc5f7a93fb6bff9a549c3b4fcc84fced1436769e2716aa0494384d34565a0db7916ff5d6dd1179b3a31372af4d6253ba734d9bf62c1b00000000000000000000000000000000000000000000000000000000000000c001a020ddccae17dfd560ec000d10c4218f2fb364323b5c6bdc7b6d3cce17ee0cf5fba01a223562d2653ef8293f044517249f1109b04ce0a553a608b8f3fba435db155a", + "txHash": "0x32fbae5d8bea406c4b6366f91046d9a5e945b6029bf281aec7783a3aadeeefd3", + "expectedTexts": [ + "Mint GM Token", + "GM Token", + "GOOGLon", + "GM Token Amount", + "3.109258722681446 GOOGLon", + "Deposit Amount", + "1237.91960356619998169 USDT", + "Quote Expires", + "2026-05-13T06:45:33Z" + ] + }, + { + "description": "Redeem 1.0208 SLVon for at least 81.751666303999999999 USDT on BSC", + "rawTx": "0x02f902743883011ae78402faf0808402faf080830f42409491f8aff3738825e8eb16fc6f6b1a7a4647bdb29980b902046eefea490000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000006f099da8b1ca450fa970fb12fdb7bd7c474d000000000000170ef63b56890c80000000000000000000000000000000000000000000000000000000008b872732b07be325a8803cdb480d9d20b6f8d11b000000000000000000000000000000000000000000000004576a338bfc8f80000000000000000000000000000000000000000000000000000e2a9c310ab80000000000000000000000000000000000000000000000000000000000006a04943800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000055d398326f99059ff775485246999027b31979550000000000000000000000000000000000000000000000046e88435d5630ffff000000000000000000000000000000000000000000000000000000000000004120db0722ac892bb602a5e84f09bde1c454fe9d9be496faf8dce9cd238cfadd3b5ca4e4a64736b75a817360f492aeedb3a04a630a04f6d432263f7b3cb6521dad1b00000000000000000000000000000000000000000000000000000000000000c080a09be34716d67f0f43dc7a4f008be4602435b2aa3d551e1773a5a9516e38545ad2a03f9ce3dd1b05daf180f74c06c8a531f7344e37cc681facc7558f26d363328df9", + "txHash": "0x022be204f205198d49e4cce208e43261c7223d4b2a447338f0290f1f4785dc17", + "expectedTexts": [ + "Redeem GM Token", + "GM Token", + "SLVon", + "GM Token Amount", + "1.0208 SLVon", + "Min Receive Amount", + "81.751666303999999999 USDT", + "Quote Expires", + "2026-05-13T06:49:44Z" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-OUSGInstantManager.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-OUSGInstantManager.tests.json new file mode 100644 index 0000000..68dce32 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-OUSGInstantManager.tests.json @@ -0,0 +1,29 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Subscribe with 70,001.493265 USDC for at least 583.5187459421566 OUSG", + "rawTx": "0x02f8d00158846259008084f536a8808309a4e79493358db73b6cd4b98d89c8f5f230e81a95c2643a80b86422d4a175000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000104c6a051100000000000000000000000000000000000000000000001fa1f307d1cfa762c0c080a0714c44243ca8c203fbd860fc744b5d505b2bfa89753d59838eb4e610e54459f3a002f07af541d3df5183f4ae2a4d81ca8871a88eb1c9267afd384a3dcc237700ae", + "txHash": "0x6d36d56dba94f14505f4e12c4709724ef8039e5edc8dbcf04b49f317da36a3d6", + "expectedTexts": [ + "Subscribe to OUSG", + "Deposit Amount", + "70001.493265 USDC", + "Min OUSG Received", + "583.5187459421566 OUSG" + ] + }, + { + "description": "Redeem 217 OUSG for at least 24,002.303129 USDC", + "rawTx": "0x02f8d201820146847735940084b43f002f83097c429493358db73b6cd4b98d89c8f5f230e81a95c2643a80b864d878016100000000000000000000000000000000000000000000000bc37ade48e3c40000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000596a61499c001a09ea93b32e327e25372208fa4fcc07e39a3d8fe37ed861473e43b328cbc1fd7d8a029b8f507c706ac7a91c066da52f278bf08681a9b8cb12a4d85f3e89bec3f16c3", + "txHash": "0xace3ba0d6178fc08deb59a0a9d774b00fb103da76bbb6b9dfa79825b39ab9afb", + "expectedTexts": [ + "Redeem OUSG", + "OUSG Amount", + "217 OUSG", + "Min Receive Amount", + "24002.303129 USDC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-USDYInstantManager.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-USDYInstantManager.tests.json new file mode 100644 index 0000000..518dbc4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/ondo-finance/tests/calldata-USDYInstantManager.tests.json @@ -0,0 +1,53 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Subscribe with 500 USDC for at least 423.7796050114516 USDY", + "rawTx": "0x02f8d0010184773594008480db268e830badda94a42613c243b67bf6194ac327795b926b4b491f1580b86422d4a175000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000016f91f997a32ebdc80c080a0f0b34786d5cde85c2c5553754029a125da2a23eaa0fbef18097658155eaf1657a00bc70e05ae9aa5d2893284a3961317874beb2e877f6af1f12ef2614814a3c4e0", + "txHash": "0x5c435aa00692be3e73e05bf2ef7b995684b1bfc771d3ec3d4d016ac22d79e6a5", + "expectedTexts": [ + "Subscribe to USDY", + "Deposit Amount", + "500 USDC", + "Min USDY Received", + "423.7796050114516 USDY" + ] + }, + { + "description": "Redeem 746.328660584049718838 USDY for at least 811.526186 USDC", + "rawTx": "0xf8cb82046e8413c80fc9830828da94a42613c243b67bf6194ac327795b926b4b491f1580b864d878016100000000000000000000000000000000000000000000002875640a951d5cb636000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000305ee82a25a026e7c89d7ce107d5e516796736ed739b2dc034b5f4dcf1aaeed99aadc2f3168ba0748104aaac79ff251950b50517b6ef7d56446d2375b5b3ee7458e642aaa40057", + "txHash": "0x10cdae00754c8f9e7cfaf1e92530a2542de28ad91cc69ce5534cf1fc90992568", + "expectedTexts": [ + "Redeem USDY", + "USDY Amount", + "746.328660584049718838 USDY", + "Min Receive Amount", + "811.526186 USDC" + ] + }, + { + "description": "Subscribe rebasing with 5,000 USDC for at least 4,800 rUSDY", + "rawTx": "0x02f8d201820613848f0d180084d9054040830f215794a42613c243b67bf6194ac327795b926b4b491f1580b8648133067e000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000012a05f2000000000000000000000000000000000000000000000001043561a88293000000c080a0838ff647a68517e6cc693e0e834588b5e1f04994731512ec17be030d7dcf2c88a020f1c8c26ed034d1257594f34e1d53982b2305167513977f99e8cc2fe2644114", + "txHash": "0x6d7bc1eb5e6250fe0dff3f179145092d980426106019a02124547e3c29fb45df", + "expectedTexts": [ + "Subscribe to rUSDY", + "Deposit Amount", + "5000 USDC", + "Min rUSDY Received", + "4800 rUSDY" + ] + }, + { + "description": "Redeem rebasing 1.12866587 rUSDY for at least 0.96 USDC", + "rawTx": "0x02f8d2018202ab8477359400847f90ed47830d3b4e94a42613c243b67bf6194ac327795b926b4b491f1580b86416762d7a0000000000000000000000000000000000000000000000000fa9d3a0fb750c00000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000ea600c001a0b51ca8b43b639f6455eb34fe2ece466718572ed9d82894786663664883bb594ba0027102789bb350004897b6660b873220f5c16a2adf35869bab12bccf46d2a576", + "txHash": "0x601ae27b389f53f574ca018b3b5b5188acac77b99eeb8f6297878160427c8298", + "expectedTexts": [ + "Redeem rUSDY", + "rUSDY Amount", + "1.12866587 rUSDY", + "Min Receive Amount", + "0.96 USDC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/opencover/calldata-Quote.json b/crates/clear-signing/src/assets/registry-snapshot/registry/opencover/calldata-Quote.json new file mode 100644 index 0000000..0acaa48 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/opencover/calldata-Quote.json @@ -0,0 +1,75 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Quote", + "contract": { + "deployments": [ + { "chainId": 8453, "address": "0xD68647555e5da198d50866334EEd647cbE3d1556" }, + { "chainId": 10, "address": "0x0AC34fe133BdE3A2eF589a18A4E10b6a7d253829" }, + { "chainId": 137, "address": "0x0AC34fe133BdE3A2eF589a18A4E10b6a7d253829" }, + { "chainId": 42161, "address": "0x0AC34fe133BdE3A2eF589a18A4E10b6a7d253829" } + ] + } + }, + "metadata": { + "owner": "OpenCover", + "info": { "url": "https://opencover.com" }, + "enums": { "assetSymbol": { "0": "ETH", "1": "DAI", "2": "USDC", "3": "USDT", "4": "POL", "5": "cbBTC" } }, + "contractName": "Quote" + }, + "display": { + "definitions": { + "coverAssetId": { "label": "Cover asset", "format": "enum", "params": { "$ref": "$.metadata.enums.assetSymbol" } }, + "coverAmount": { "label": "Cover amount", "format": "raw" }, + "coverExpiry": { "label": "Cover duration", "format": "unit", "params": { "base": "days" } }, + "paymentAssetId": { "label": "Payment asset", "format": "enum", "params": { "$ref": "$.metadata.enums.assetSymbol" } }, + "premiumAmount": { "label": "Premium amount", "format": "raw" } + }, + "formats": { + "submitQuote((uint32 providerId, uint32 productId, uint32 coverAssetId, uint256 coverAmount, uint32 paymentAssetId, uint256 premiumAmount, uint256 feeAmount, uint16 coverExpiry, uint256 validUntil) quote, uint8 v, bytes32 r, bytes32 s)": { + "$id": "submitQuote", + "intent": "Buy cover", + "fields": [ + { "path": "#.quote.coverAssetId", "$ref": "$.display.definitions.coverAssetId", "visible": "always" }, + { "path": "#.quote.coverAmount", "$ref": "$.display.definitions.coverAmount", "visible": "always" }, + { "path": "#.quote.coverExpiry", "$ref": "$.display.definitions.coverExpiry", "visible": "always" }, + { "path": "#.quote.paymentAssetId", "$ref": "$.display.definitions.paymentAssetId", "visible": "always" }, + { "path": "#.quote.premiumAmount", "$ref": "$.display.definitions.premiumAmount", "visible": "always" }, + { "path": "#.quote.feeAmount", "label": "Fee amount", "format": "raw" }, + { "label": "Quote Provider Id", "path": "#.quote.providerId", "visible": "never" }, + { "label": "Quote Product Id", "path": "#.quote.productId", "visible": "never" }, + { "label": "Quote Valid Until", "path": "#.quote.validUntil", "visible": "never" }, + { "label": "V", "path": "#.v", "visible": "never" }, + { "label": "R", "path": "#.r", "visible": "never" }, + { "label": "S", "path": "#.s", "visible": "never" } + ] + }, + "submitQuoteV15((uint32 providerId, uint32 productId, uint32 coverAssetId, uint256 coverAmount, uint32 paymentAssetId, uint256 premiumAmount, uint256 feeAmount, uint16 coverExpiry, uint256 validUntil) quote, address[] coveredAddresses, uint256 integratorId, address mintTo, uint8 v, bytes32 r, bytes32 s)": { + "$id": "submitQuoteV15", + "intent": "Buy cover", + "fields": [ + { "path": "#.quote.coverAssetId", "$ref": "$.display.definitions.coverAssetId", "visible": "always" }, + { "path": "#.quote.coverAmount", "$ref": "$.display.definitions.coverAmount", "visible": "always" }, + { "path": "#.quote.coverExpiry", "$ref": "$.display.definitions.coverExpiry", "visible": "always" }, + { "path": "#.quote.paymentAssetId", "$ref": "$.display.definitions.paymentAssetId", "visible": "always" }, + { "path": "#.quote.premiumAmount", "$ref": "$.display.definitions.premiumAmount", "visible": "always" }, + { "path": "#.quote.feeAmount", "label": "Fee amount", "format": "raw" }, + { + "path": "#.mintTo", + "label": "Recipient", + "format": "addressName", + "params": { "senderAddress": ["0x0000000000000000000000000000000000000000"] } + }, + { "label": "Quote Provider Id", "path": "#.quote.providerId", "visible": "never" }, + { "label": "Quote Product Id", "path": "#.quote.productId", "visible": "never" }, + { "label": "Quote Valid Until", "path": "#.quote.validUntil", "visible": "never" }, + { "label": "Covered Addresses", "path": "#.coveredAddresses", "visible": "never" }, + { "label": "Integrator Id", "path": "#.integratorId", "visible": "never" }, + { "label": "V", "path": "#.v", "visible": "never" }, + { "label": "R", "path": "#.r", "visible": "never" }, + { "label": "S", "path": "#.s", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/opensea/eip712-opensea.json b/crates/clear-signing/src/assets/registry-snapshot/registry/opensea/eip712-opensea.json new file mode 100644 index 0000000..4344210 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/opensea/eip712-opensea.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0x7f268357a8c2552623316e2562d90e642bb538e5" }], + "domain": { "name": "Wyvern Exchange Contract", "version": "2.3" } + } + }, + "metadata": { "owner": "Wyvern Exchange Contract" }, + "display": { + "formats": { + "Order(address exchange,address maker,address taker,uint256 makerRelayerFee,uint256 takerRelayerFee,uint256 makerProtocolFee,uint256 takerProtocolFee,address feeRecipient,uint8 feeMethod,uint8 side,uint8 saleKind,address target,uint8 howToCall,bytes calldata,bytes replacementPattern,address staticTarget,bytes staticExtradata,address paymentToken,uint256 basePrice,uint256 extra,uint256 listingTime,uint256 expirationTime,uint256 salt,uint256 nonce)": { + "intent": "OpenSea Listing", + "fields": [ + { "path": "exchange", "label": "Contract address", "format": "raw" }, + { "path": "basePrice", "label": "Price", "format": "raw" }, + { "path": "expirationTime", "label": "Offer expiration", "format": "raw" }, + { "label": "Side", "path": "side", "visible": "never" }, + { "label": "Extra", "path": "extra", "visible": "never" }, + { "label": "Sale Kind", "path": "saleKind", "visible": "never" }, + { "label": "Static Target", "path": "staticTarget", "visible": "never" }, + { "label": "Target", "path": "target", "visible": "never" }, + { "label": "How To Call", "path": "howToCall", "visible": "never" }, + { "label": "Maker Relayer Fee", "path": "makerRelayerFee", "visible": "never" }, + { "label": "Fee Method", "path": "feeMethod", "visible": "never" }, + { "label": "Replacement Pattern", "path": "replacementPattern", "visible": "never" }, + { "label": "Taker Relayer Fee", "path": "takerRelayerFee", "visible": "never" }, + { "label": "Taker", "path": "taker", "visible": "never" }, + { "label": "Listing Time", "path": "listingTime", "visible": "never" }, + { "label": "Static Extradata", "path": "staticExtradata", "visible": "never" }, + { "label": "Maker Protocol Fee", "path": "makerProtocolFee", "visible": "never" }, + { "label": "Taker Protocol Fee", "path": "takerProtocolFee", "visible": "never" }, + { "label": "Payment Token", "path": "paymentToken", "visible": "never" }, + { "label": "Calldata", "path": "calldata", "visible": "never" }, + { "label": "Salt", "path": "salt", "visible": "never" }, + { "label": "Fee Recipient", "path": "feeRecipient", "visible": "never" }, + { "label": "Maker", "path": "maker", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/opensea/tests/eip712-opensea.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/opensea/tests/eip712-opensea.tests.json new file mode 100644 index 0000000..e9155eb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/opensea/tests/eip712-opensea.tests.json @@ -0,0 +1,85 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "OpenSea Listing", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Order": [ + { "name": "exchange", "type": "address" }, + { "name": "maker", "type": "address" }, + { "name": "taker", "type": "address" }, + { "name": "makerRelayerFee", "type": "uint256" }, + { "name": "takerRelayerFee", "type": "uint256" }, + { "name": "makerProtocolFee", "type": "uint256" }, + { "name": "takerProtocolFee", "type": "uint256" }, + { "name": "feeRecipient", "type": "address" }, + { "name": "feeMethod", "type": "uint8" }, + { "name": "side", "type": "uint8" }, + { "name": "saleKind", "type": "uint8" }, + { "name": "target", "type": "address" }, + { "name": "howToCall", "type": "uint8" }, + { "name": "calldata", "type": "bytes" }, + { "name": "replacementPattern", "type": "bytes" }, + { "name": "staticTarget", "type": "address" }, + { "name": "staticExtradata", "type": "bytes" }, + { "name": "paymentToken", "type": "address" }, + { "name": "basePrice", "type": "uint256" }, + { "name": "extra", "type": "uint256" }, + { "name": "listingTime", "type": "uint256" }, + { "name": "expirationTime", "type": "uint256" }, + { "name": "salt", "type": "uint256" }, + { "name": "nonce", "type": "uint256" } + ] + }, + "primaryType": "Order", + "domain": { + "name": "Wyvern Exchange Contract", + "version": "2.3", + "chainId": 1, + "verifyingContract": "0x7f268357A8c2552623316e2562D90e642bB538E5" + }, + "message": { + "exchange": "0x7f268357A8c2552623316e2562D90e642bB538E5", + "maker": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "taker": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "makerRelayerFee": "250", + "takerRelayerFee": "0", + "makerProtocolFee": "0", + "takerProtocolFee": "0", + "feeRecipient": "0x5b3256965E7C3CF26E11FcAF296dFfC8807C0107", + "feeMethod": 1, + "side": 1, + "saleKind": 0, + "target": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D", + "howToCall": 0, + "calldata": "0x23b872dd000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000742d35cc6634c0532925a3b844bc454e4438f44e00000000000000000000000000000000000000000000000000000000000004d2", + "replacementPattern": "0x", + "staticTarget": "0x7f268357A8c2552623316e2562D90e642bB538E5", + "staticExtradata": "0x", + "paymentToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "basePrice": "7500000000000000000", + "extra": "0", + "listingTime": "1773964800", + "expirationTime": "1775174400", + "salt": "8374923847239482734923847239482734", + "nonce": "7" + } + }, + "expectedTexts": [ + "Contract address", + "0x7f268357A8c255262 3316e2562D90e642bB 538E5", + "Price", + "750000000000000000 0", + "Offer expiration", + "1775174400" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-EigenPodManager.json b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-EigenPodManager.json new file mode 100644 index 0000000..d2ff65e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-EigenPodManager.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "EigenPodManager", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x91E677b07F7AF907ec9a428aafA9fc14a0d3A338" }, + { "chainId": 560048, "address": "0xcd1442415Fc5C29Aa848A49d2e232720BE07976c" } + ] + } + }, + "metadata": { "owner": "Eigen Labs, Inc.", "info": { "url": "https://www.eigencloud.xyz/" }, "contractName": "EigenPodManager" }, + "display": { "formats": { "createPod()": { "intent": "Create EigenLayerPod", "fields": [] } } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-NativeTokenVault.json b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-NativeTokenVault.json new file mode 100644 index 0000000..522b2da --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-NativeTokenVault.json @@ -0,0 +1,95 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "NativeTokenVault", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xb72668d6ff7a0e318f83097a754c6aed0f8af034" }, + { "chainId": 560048, "address": "0x8f73c1ce7fe0e17f45b317b33620924a94256fbb" } + ] + } + }, + "metadata": { "owner": "P2P Staking", "info": { "url": "https://www.p2p.org/" }, "contractName": "NativeTokenVault" }, + "display": { + "formats": { + "deposit(address receiver, address referrer)": { + "intent": "Stake ETH with p2p", + "fields": [ + { + "label": "Client address", + "format": "addressName", + "params": { "types": ["eoa", "wallet", "contract"] }, + "path": "#.receiver", + "visible": "always" + }, + { + "label": "Referrer address", + "format": "addressName", + "params": { "types": ["contract", "eoa", "wallet"] }, + "path": "#.referrer", + "visible": "always" + }, + { "label": "Amount to deposit", "format": "amount", "path": "@.value", "visible": "always" } + ] + }, + "updateStateAndDeposit(address receiver, address referrer, (bytes32 rewardsRoot, int160 reward, uint160 unlockedMevReward, bytes32[] proof) harvestParams)": { + "intent": "Stake ETH with p2p", + "fields": [ + { + "label": "Client address", + "format": "addressName", + "params": { "types": ["eoa", "wallet", "contract"] }, + "path": "#.receiver", + "visible": "always" + }, + { + "label": "Referrer address", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract"] }, + "path": "#.referrer", + "visible": "always" + }, + { "label": "Amount to deposit", "format": "amount", "path": "@.value", "visible": "always" }, + { "label": "Harvest Params", "path": "#.harvestParams", "visible": "never" }, + { "label": "Harvest Params Rewards Root", "path": "#.harvestParams.rewardsRoot", "visible": "never" }, + { "label": "Harvest Params Reward", "path": "#.harvestParams.reward", "visible": "never" }, + { "label": "Harvest Params Unlocked Mev Reward", "path": "#.harvestParams.unlockedMevReward", "visible": "never" }, + { "label": "Harvest Params Proof", "path": "#.harvestParams.proof.[]", "visible": "never" } + ] + }, + "claimExitedAssets(uint256 positionTicket, uint256 timestamp, uint256 exitQueueIndex)": { + "intent": "Claim exited assets", + "fields": [ + { + "label": "Exit initiated at", + "format": "date", + "params": { "encoding": "timestamp" }, + "path": "#.timestamp", + "visible": "always" + }, + { "label": "Position Ticket", "path": "#.positionTicket", "visible": "never" }, + { "label": "Exit Queue Index", "path": "#.exitQueueIndex", "visible": "never" } + ] + }, + "enterExitQueue(uint256 shares, address receiver)": { + "intent": "Exit funds", + "fields": [ + { + "label": "Shares to exit", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "path": "#.shares", + "visible": "always" + }, + { + "label": "Client address", + "format": "addressName", + "params": { "types": ["eoa", "wallet", "contract"] }, + "path": "#.receiver", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pMessageSender.json b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pMessageSender.json new file mode 100644 index 0000000..c300099 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pMessageSender.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "P2pMessageSender", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x4E1224f513048e18e7a1883985B45dc0Fe1D917e" }, + { "chainId": 560048, "address": "0x917105CC314C12890D9C8224Aee5aF9574F871cf" }, + { "chainId": 560048, "address": "0x158f2bbEf21CF9F92Cf4A294999BA422948c8242" } + ] + } + }, + "metadata": { "owner": "P2P Staking", "info": { "url": "https://www.p2p.org/" }, "contractName": "P2pMessageSender" }, + "display": { + "formats": { + "send(string text)": { + "intent": "Withdrawal message", + "fields": [{ "label": "Public keys", "format": "raw", "path": "#.text", "visible": "always" }] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pOrgUnlimitedEthDepositor.json b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pOrgUnlimitedEthDepositor.json new file mode 100644 index 0000000..e19fb4c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pOrgUnlimitedEthDepositor.json @@ -0,0 +1,40 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "P2pOrgUnlimitedEthDepositor", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x23be839a14cec3d6d716d904f09368bbf9c750eb" }, + { "chainId": 560048, "address": "0x933AcC6f337489D78188CBef2141cD9D6466d07D" }, + { "chainId": 560048, "address": "0xF8Dc5F11Dc81c4f57286Fa4849a15345d51A838b" } + ] + } + }, + "metadata": { "owner": "P2P Staking", "info": { "url": "https://www.p2p.org/" }, "contractName": "P2pOrgUnlimitedEthDepositor" }, + "display": { + "formats": { + "addEth(bytes32 _eth2WithdrawalCredentials, uint96 _ethAmountPerValidatorInWei, address _referenceFeeDistributor, (uint96 basisPoints, address recipient) _clientConfig, (uint96 basisPoints, address recipient) _referrerConfig, bytes _extraData)": { + "intent": "Stake ETH", + "fields": [ + { "label": "Withdraw credentials", "format": "raw", "path": "#._eth2WithdrawalCredentials", "visible": "always" }, + { "label": "ETH per validator", "format": "amount", "path": "#._ethAmountPerValidatorInWei", "visible": "always" }, + { "label": "Amount to deposit", "format": "amount", "path": "@.value", "visible": "always" }, + { + "label": "Fee Distributor", + "format": "addressName", + "params": { "types": ["contract"] }, + "path": "#._referenceFeeDistributor", + "visible": "always" + }, + { "label": "Client Config", "path": "#._clientConfig", "visible": "never" }, + { "label": "Client Config Basis Points", "path": "#._clientConfig.basisPoints", "visible": "never" }, + { "label": "Client Config Recipient", "path": "#._clientConfig.recipient", "visible": "never" }, + { "label": "Referrer Config", "path": "#._referrerConfig", "visible": "never" }, + { "label": "Referrer Config Basis Points", "path": "#._referrerConfig.basisPoints", "visible": "never" }, + { "label": "Referrer Config Recipient", "path": "#._referrerConfig.recipient", "visible": "never" }, + { "label": "Extra Data", "path": "#._extraData", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pSsvProxyFactory.json b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pSsvProxyFactory.json new file mode 100644 index 0000000..0a728bc --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/calldata-P2pSsvProxyFactory.json @@ -0,0 +1,45 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "P2pSsvProxyFactory", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x5ed861aec31cCB496689FD2E0A1a3F8e8D7B8824" }, + { "chainId": 560048, "address": "0x2444fae9394deBF503775940AF2a3e9364A31e34" }, + { "chainId": 560048, "address": "0x91234ffd7D65Aa5E4fDA60a2e7B9513175df3272" } + ] + } + }, + "metadata": { "owner": "P2P Staking", "info": { "url": "https://www.p2p.org/" }, "contractName": "P2pSsvProxyFactory" }, + "display": { + "formats": { + "addEth(bytes32 _eth2WithdrawalCredentials, uint96 _ethAmountPerValidatorInWei, (uint96 basisPoints, address recipient) _clientConfig, (uint96 basisPoints, address recipient) _referrerConfig, bytes _extraData)": { + "intent": "Stake ETH with SSV", + "fields": [ + { "label": "Withdraw credentials", "format": "raw", "path": "#._eth2WithdrawalCredentials", "visible": "always" }, + { "label": "ETH per validator", "format": "amount", "path": "#._ethAmountPerValidatorInWei", "visible": "always" }, + { "label": "Amount to deposit", "format": "amount", "path": "@.value", "visible": "always" }, + { + "path": "#._clientConfig.recipient", + "label": "Client recipient", + "format": "addressName", + "params": { "senderAddress": ["0x0000000000000000000000000000000000000000"] }, + "visible": "always" + }, + { + "path": "#._clientConfig.basisPoints", + "label": "Client fee (bps)", + "format": "unit", + "params": { "base": "bps", "decimals": 0 }, + "visible": "always" + }, + { "label": "Client Config", "path": "#._clientConfig", "visible": "never" }, + { "label": "Referrer Config", "path": "#._referrerConfig", "visible": "never" }, + { "label": "Referrer Config Basis Points", "path": "#._referrerConfig.basisPoints", "visible": "never" }, + { "label": "Referrer Config Recipient", "path": "#._referrerConfig.recipient", "visible": "never" }, + { "label": "Extra Data", "path": "#._extraData", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-EigenPodManager.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-EigenPodManager.tests.json new file mode 100644 index 0000000..d0e95e7 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-EigenPodManager.tests.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Create EigenLayerPod - chain 1", + "rawTx": "0x02ec01298477359400848141c16e83082ace9491e677b07f7af907ec9a428aafa9fc14a0d3a338808484d81062c0", + "txHash": "0xd0c9f8395628b1fe96cb520cd87a807e54252d2aa866e92b200cbdb2a2c358f6", + "expectedTexts": ["Interaction with", "EigenLayer", "Max fees", "0.00116071853704461 2 ETH"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pMessageSender.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pMessageSender.tests.json new file mode 100644 index 0000000..9c7b84e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pMessageSender.tests.json @@ -0,0 +1,18 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Withdrawal message - chain 1", + "rawTx": "0x02f9022e013484374524e0843da1f64a83013752944e1224f513048e18e7a1883985b45dc0fe1d917e80b9020466792ba1000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001b57b22616374696f6e223a227769746864726177222c227075626b657973223a5b223078613961363461323764636630633839663631313564323535343262363139303066376465336633323938623139643132663137393763353130353936616564383534646631383236646339656338633639343131393937316331343731383038222c223078393237316663343963663033356632636161623030333962376232653030663963363635353564663062306361363266663130373734393933623630353634393864653633366337393263653861323430643663613965316362643138636632222c223078613337383562333430383363633563613437633438616234363064663562616231613032396136376437363030336537623762633263613331386232313262633137663432656139323130303762393232336566393938626165333237333931222c223078393563346435356361323833636435633932643761643230353935343737636430663461646366343339373331623061356132333863346330653037633064666639306361356561643130653239383234656261373637356236643263343435225d7d0000000000000000000000c0", + "txHash": "0xdc4098539c03dd194a3f0c4e7ce40a78a5619906def3b1a6535f6855bf8c310a", + "expectedTexts": [ + "Interaction with", + "p2p", + "Public keys", + "{\"action\":\"withdraw\",\"pu bkeys\":[\"0xa9a64a27d cf0c89f6115d25542b61 900f7de3f3298b19d12f 1797c510596aed854df 1826dc9ec8c69411... More", + "Max fees", + "0.0000824096863543 56 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pOrgUnlimitedEthDepositor.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pOrgUnlimitedEthDepositor.tests.json new file mode 100644 index 0000000..c058b3b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pOrgUnlimitedEthDepositor.tests.json @@ -0,0 +1,24 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Stake ETH - chain 1", + "rawTx": "0x02f901f601018477359400847d1e779882fcc09423be839a14cec3d6d716d904f09368bbf9c750eb8908ac7230489e800000b901c4a49b131b010000000000000000000000b7f6e11aff1c4948a3a940fa71d3a18a4abcb5ff000000000000000000000000000000000000000000000001bc16d674ec8000000000000000000000000000003fcd8d9acac042095dfba53f4c40c74d19e2e9d9000000000000000000000000000000000000000000000000000000000000251c000000000000000000000000b7f6e11aff1c4948a3a940fa71d3a18a4abcb5ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000008a2ddb4ecc9b4e5b6c36ecdf33ba23dcc5e8f57df537343a7a69ae8e1a57485aec3fd4ee100bf9e91500fd4938df97e726ee1f525c90f8f44d20e2e1f5d0a159c0931405c89a04ab76429336829113f52fbf4b4994d64a0cbdc7863040e4ad170ca59f43d2b329b0da3754cb0d072065787ebd1e8f62b3deb8fc31ea6be2349a9ff59d94b2cb857340722700000000000000000000000000000000000000000000c0", + "txHash": "0x1962d6e8a8cb53c189934ddeab3e9ecb3b7f7851f284683aec8f2c9a6c2a4d71", + "expectedTexts": [ + "Interaction with", + "p2p", + "Withdraw credentials", + "0x0100000000000000 00000000b7f6e11aff1c 4948a3a940fa71d3a18 a4abcb5ff", + "ETH per validator", + "32 ETH", + "Amount to deposit", + "160 ETH", + "Fee Distributor", + "0x3Fcd8D9aCAc04209 5dFbA53f4C40C74d19 E2e9D9", + "Max fees", + "0.00013582331722598 4 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pSsvProxyFactory.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pSsvProxyFactory.tests.json new file mode 100644 index 0000000..b2d805e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/p2p/tests/calldata-P2pSsvProxyFactory.tests.json @@ -0,0 +1,26 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Stake ETH with SSV - chain 1", + "rawTx": "0x02f901d7012484056f7082841723af748306d16e945ed861aec31ccb496689fd2e0a1a3f8e8d7b88248903d952abd36cbc0000b901a4746bd1000200000000000000000000006717f57a7e18c4758f0e83e786e08ce538e0436c000000000000000000000000000000000000000000000003d952abd36cbc000000000000000000000000000000000000000000000000000000000000000024540000000000000000000000006717f57a7e18c4758f0e83e786e08ce538e0436c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000008fb9ee4eecbe69b5b8617eb0197cde82b48735cceccc1b30aa30e1c27a53493ff5c975af50d5a453bb1e66668500cc5fd42271d2d42e3461a0b9a63f121c1f55ddd2dbd358e9701a8a464e94e3f88351072710127cda7f7442d0360d02d9d1a715f751a0f4f6370bbb1159bc8cb93a18fed4b47002d9fb8991ece35f4444e8cc68c3ebf767977b529e783fff6c5d19010000000000000000000000000000000000c0", + "txHash": "0x61789a38518f9a309ecb1c147596698bfbef69b2fa195dff64a5fb487b87d01b", + "expectedTexts": [ + "Interaction with", + "p2p", + "Withdraw credentials", + "0x0200000000000000 000000006717f57a7e1 8c4758f0e83e786e08c e538e0436c", + "ETH per validator", + "71 ETH", + "Amount to deposit", + "71 ETH", + "Client recipient", + "0x6717F57a7E18c4758f 0E83E786E08cE538e0 436C", + "Client fee (bps)", + "9300 bps", + "Max fees", + "0.00017346594937852 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/calldata-AugustusSwapper-v5.json b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/calldata-AugustusSwapper-v5.json new file mode 100644 index 0000000..39cb16d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/calldata-AugustusSwapper-v5.json @@ -0,0 +1,306 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "AugustusSwapperV5", + "contract": { + "deployments": [ + { "chainId": 56, "address": "0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57" }, + { "chainId": 1, "address": "0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57" }, + { "chainId": 137, "address": "0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57" } + ] + } + }, + "metadata": { + "owner": "Velora", + "info": { "url": "https://www.paraswap.io/", "deploymentDate": "2021-08-18T12:42:05Z" }, + "constants": { "addressAsEth": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" }, + "contractName": "AugustusSwapperV5" + }, + "display": { + "definitions": { + "sendAmount": { + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": "$.metadata.constants.addressAsEth" } + }, + "minReceiveAmount": { + "label": "Receive before fees", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": "$.metadata.constants.addressAsEth" } + }, + "maxSendAmount": { + "label": "Maximum to Send", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": "$.metadata.constants.addressAsEth" } + }, + "receiveAmount": { + "label": "Amount to Receive", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": "$.metadata.constants.addressAsEth" } + }, + "lastPool": { "label": "Last pool", "format": "addressName", "params": { "types": ["contract"] } }, + "beneficiary": { "label": "Beneficiary", "format": "addressName", "params": { "types": ["eoa"], "sources": ["local", "ens"] } }, + "exchange": { "label": "Exchange", "format": "addressName", "params": { "types": ["contract"], "sources": ["local", "ens"] } }, + "factory": { "label": "Uniswap Factory", "format": "addressName", "params": { "types": ["contract"], "sources": ["local", "ens"] } } + }, + "formats": { + "simpleBuy((address fromToken, address toToken, uint256 fromAmount, uint256 toAmount, uint256 expectedAmount, address[] callees, bytes exchangeData, uint256[] startIndexes, uint256[] values, address beneficiary, address partner, uint256 feePercent, bytes permit, uint256 deadline, bytes16 uuid) data)": { + "$id": "simpleBuy", + "intent": "Swap", + "fields": [ + { + "path": "data.fromAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "data.fromToken" }, + "visible": "always" + }, + { + "path": "data.toAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "data.toToken" }, + "visible": "always" + }, + { "path": "data.beneficiary", "$ref": "$.display.definitions.beneficiary", "visible": "always" } + ] + }, + "megaSwap((address fromToken, uint256 fromAmount, uint256 toAmount, uint256 expectedAmount, address beneficiary, (uint256 fromAmountPercent, (address to, uint256 totalNetworkFee, (address adapter, uint256 percent, uint256 networkFee, (uint256 index, address targetExchange, uint256 percent, bytes payload, uint256 networkFee)[] route)[] adapters)[] path)[] path, address partner, uint256 feePercent, bytes permit, uint256 deadline, bytes16 uuid) data)": { + "$id": "megaSwap", + "intent": "Swap", + "fields": [ + { + "path": "data.fromAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "data.fromToken" }, + "visible": "always" + }, + { + "path": "data.toAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "data.path.[0].path.[-1].to" }, + "visible": "always" + }, + { "path": "data.beneficiary", "$ref": "$.display.definitions.beneficiary", "visible": "always" } + ] + }, + "directUniV3Swap((address fromToken, address toToken, address exchange, uint256 fromAmount, uint256 toAmount, uint256 expectedAmount, uint256 feePercent, uint256 deadline, address partner, bool isApproved, address beneficiary, bytes path, bytes permit, bytes16 uuid) data)": { + "$id": "directUniV3Swap", + "intent": "Swap", + "fields": [ + { + "path": "data.fromAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "data.fromToken" }, + "visible": "always" + }, + { + "path": "data.toAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "data.toToken" }, + "visible": "always" + }, + { "path": "data.beneficiary", "$ref": "$.display.definitions.beneficiary", "visible": "always" } + ] + }, + "swapOnUniswap(uint256 amountIn, uint256 amountOutMin, address[] path)": { + "$id": "swapOnUniswap", + "intent": "Swap", + "fields": [ + { "path": "amountIn", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "path.[0]" }, "visible": "always" }, + { + "path": "amountOutMin", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "path.[-1]" }, + "visible": "always" + } + ] + }, + "swapOnUniswapFork(address factory, bytes32 initCode, uint256 amountIn, uint256 amountOutMin, address[] path)": { + "$id": "swapOnUniswapFork", + "intent": "Swap", + "fields": [ + { "path": "amountIn", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "path.[0]" }, "visible": "always" }, + { + "path": "amountOutMin", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "path.[-1]" }, + "visible": "always" + }, + { "path": "factory", "$ref": "$.display.definitions.factory" } + ] + }, + "swapOnUniswapV2Fork(address tokenIn, uint256 amountIn, uint256 amountOutMin, address weth, uint256[] pools)": { + "$id": "swapOnUniswapV2Fork", + "intent": "Swap", + "fields": [ + { "path": "amountIn", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "tokenIn" }, "visible": "always" }, + { "path": "amountOutMin", "label": "Minimum to Receive", "format": "raw", "visible": "always" }, + { "path": "pools.[-1]", "$ref": "$.display.definitions.lastPool" } + ] + }, + "simpleSwap((address fromToken, address toToken, uint256 fromAmount, uint256 toAmount, uint256 expectedAmount, address[] callees, bytes exchangeData, uint256[] startIndexes, uint256[] values, address beneficiary, address partner, uint256 feePercent, bytes permit, uint256 deadline, bytes16 uuid) data)": { + "$id": "simpleSwap", + "intent": "Swap", + "fields": [ + { + "path": "data.fromAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "data.fromToken" }, + "visible": "always" + }, + { + "path": "data.toAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "data.toToken" }, + "visible": "always" + }, + { "path": "data.beneficiary", "$ref": "$.display.definitions.beneficiary", "visible": "always" } + ] + }, + "swapOnZeroXv4(address fromToken, address toToken, uint256 fromAmount, uint256 amountOutMin, address exchange, bytes payload)": { + "$id": "swapOnZeroXv4", + "intent": "Swap", + "fields": [ + { + "path": "fromAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "fromToken" }, + "visible": "always" + }, + { + "path": "amountOutMin", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "toToken" }, + "visible": "always" + }, + { "path": "exchange", "$ref": "$.display.definitions.exchange" } + ] + }, + "swapOnZeroXv2(address fromToken, address toToken, uint256 fromAmount, uint256 amountOutMin, address exchange, bytes payload)": { + "$id": "swapOnZeroXv2", + "intent": "Swap", + "fields": [ + { + "path": "fromAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "fromToken" }, + "visible": "always" + }, + { + "path": "amountOutMin", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "toToken" }, + "visible": "always" + }, + { "path": "exchange", "$ref": "$.display.definitions.exchange" } + ] + }, + "buyOnUniswap(uint256 amountInMax, uint256 amountOut, address[] path)": { + "$id": "buyOnUniswap", + "intent": "Buy", + "fields": [ + { + "path": "amountInMax", + "$ref": "$.display.definitions.maxSendAmount", + "params": { "tokenPath": "path.[0]" }, + "visible": "always" + }, + { + "path": "amountOut", + "$ref": "$.display.definitions.receiveAmount", + "params": { "tokenPath": "path.[-1]" }, + "visible": "always" + } + ] + }, + "buyOnUniswapFork(address factory, bytes32 initCode, uint256 amountInMax, uint256 amountOut, address[] path)": { + "$id": "buyOnUniswapFork", + "intent": "Buy", + "fields": [ + { + "path": "amountInMax", + "$ref": "$.display.definitions.maxSendAmount", + "params": { "tokenPath": "path.[0]" }, + "visible": "always" + }, + { + "path": "amountOut", + "$ref": "$.display.definitions.receiveAmount", + "params": { "tokenPath": "path.[-1]" }, + "visible": "always" + }, + { "path": "factory", "$ref": "$.display.definitions.factory" } + ] + }, + "buyOnUniswapV2Fork(address tokenIn, uint256 amountInMax, uint256 amountOut, address weth, uint256[] pools)": { + "$id": "buyOnUniswapV2Fork", + "intent": "Buy", + "fields": [ + { + "path": "amountInMax", + "$ref": "$.display.definitions.maxSendAmount", + "params": { "tokenPath": "tokenIn" }, + "visible": "always" + }, + { "path": "amountOut", "label": "Amount to Receive", "format": "raw", "visible": "always" }, + { "path": "pools.[-1]", "$ref": "$.display.definitions.lastPool", "visible": "always" } + ] + }, + "buyOnUniswapV2ForkWithPermit(address tokenIn, uint256 amountInMax, uint256 amountOut, address weth, uint256[] pools, bytes permit)": { + "$id": "buyOnUniswapV2ForkWithPermit", + "intent": "Buy", + "fields": [ + { "path": "amountInMax", "$ref": "$.display.definitions.maxSendAmount", "params": { "tokenPath": "tokenIn" } }, + { "path": "amountOut", "label": "Amount to Receive", "format": "raw" }, + { "path": "pools.[-1]", "$ref": "$.display.definitions.lastPool" } + ] + }, + "multiSwap((address fromToken, uint256 fromAmount, uint256 toAmount, uint256 expectedAmount, address beneficiary, (address to, uint256 totalNetworkFee, (address adapter, uint256 percent, uint256 networkFee, (uint256 index, address targetExchange, uint256 percent, bytes payload, uint256 networkFee)[] route)[] adapters)[] path, address partner, uint256 feePercent, bytes permit, uint256 deadline, bytes16 uuid) data)": { + "$id": "multiSwap", + "intent": "Swap", + "fields": [ + { + "path": "data.fromAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "data.fromToken" }, + "visible": "always" + }, + { + "path": "data.toAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "data.path.[-1].to" }, + "visible": "always" + }, + { "path": "data.beneficiary", "$ref": "$.display.definitions.beneficiary", "visible": "always" } + ] + }, + "swapOnZeroXv4WithPermit(address fromToken, address toToken, uint256 fromAmount, uint256 amountOutMin, address exchange, bytes payload, bytes permit)": { + "$id": "swapOnZeroXv4WithPermit", + "intent": "Swap", + "fields": [ + { + "path": "fromAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "fromToken" }, + "visible": "always" + }, + { + "path": "amountOutMin", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "toToken" }, + "visible": "always" + }, + { "path": "exchange", "$ref": "$.display.definitions.exchange", "visible": "always" } + ] + }, + "swapOnUniswapV2ForkWithPermit(address tokenIn, uint256 amountIn, uint256 amountOutMin, address weth, uint256[] pools, bytes permit)": { + "$id": "swapOnUniswapV2ForkWithPermit", + "intent": "Swap", + "fields": [ + { "path": "amountIn", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "tokenIn" } }, + { "path": "amountOutMin", "label": "Minimum to Receive", "format": "raw" }, + { "path": "pools.[-1]", "$ref": "$.display.definitions.lastPool" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/calldata-AugustusSwapper-v6.2.json b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/calldata-AugustusSwapper-v6.2.json new file mode 100644 index 0000000..1d6d6f0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/calldata-AugustusSwapper-v6.2.json @@ -0,0 +1,314 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "AugustusSwapperV6.2", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x6a000f20005980200259b80c5102003040001068" }, + { "chainId": 10, "address": "0x6a000f20005980200259b80c5102003040001068" }, + { "chainId": 56, "address": "0x6a000f20005980200259b80c5102003040001068" }, + { "chainId": 137, "address": "0x6a000f20005980200259b80c5102003040001068" }, + { "chainId": 8453, "address": "0x6a000f20005980200259b80c5102003040001068" }, + { "chainId": 42161, "address": "0x6a000f20005980200259b80c5102003040001068" }, + { "chainId": 43114, "address": "0x6a000f20005980200259b80c5102003040001068" } + ] + } + }, + "metadata": { + "owner": "Velora", + "info": { "url": "https://www.velora.xyz/" }, + "enums": { "balancerSwapType": { "82": "Single swap" } }, + "constants": { + "addressAsEth": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", + "addressAsNull": "0x0000000000000000000000000000000000000000" + }, + "contractName": "AugustusSwapperV6.2" + }, + "display": { + "definitions": { + "sendAmount": { + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["$.metadata.constants.addressAsEth", "$.metadata.constants.addressAsNull"] } + }, + "minReceiveAmount": { + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["$.metadata.constants.addressAsEth", "$.metadata.constants.addressAsNull"] } + }, + "maxSendAmount": { + "label": "Maximum to Send", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["$.metadata.constants.addressAsEth", "$.metadata.constants.addressAsNull"] } + }, + "receiveAmount": { + "label": "Amount to Receive", + "format": "tokenAmount", + "params": { "nativeCurrencyAddress": ["$.metadata.constants.addressAsEth", "$.metadata.constants.addressAsNull"] } + }, + "beneficiary": { "label": "Beneficiary", "format": "addressName", "params": { "senderAddress": "$.metadata.constants.addressAsNull" } }, + "balancerSelector": { "format": "enum", "label": "Swap type", "params": { "$ref": "$.metadata.enums.balancerSwapType" } } + }, + "formats": { + "swapExactAmountIn(address executor, (address srcToken, address destToken, uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, address beneficiary) swapData, uint256 partnerAndFee, bytes permit, bytes executorData)": { + "intent": "Swap", + "fields": [ + { + "path": "#.swapData", + "fields": [ + { "path": "fromAmount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" } }, + { "path": "toAmount", "$ref": "$.display.definitions.minReceiveAmount", "params": { "tokenPath": "destToken" } }, + { "path": "beneficiary", "$ref": "$.display.definitions.beneficiary" } + ] + }, + { "label": "Executor", "path": "#.executor", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Executor Data", "path": "#.executorData", "visible": "never" }, + { "label": "Swap Data Quoted Amount", "path": "#.swapData.quotedAmount", "visible": "never" }, + { "label": "Swap Data Metadata", "path": "#.swapData.metadata", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapExactAmountOut(address executor, (address srcToken, address destToken, uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, address beneficiary) swapData, uint256 partnerAndFee, bytes permit, bytes executorData)": { + "intent": "Swap", + "fields": [ + { + "path": "#.swapData", + "fields": [ + { "path": "fromAmount", "$ref": "$.display.definitions.maxSendAmount", "params": { "tokenPath": "srcToken" } }, + { "path": "toAmount", "$ref": "$.display.definitions.receiveAmount", "params": { "tokenPath": "destToken" } }, + { "path": "beneficiary", "$ref": "$.display.definitions.beneficiary" } + ] + }, + { "label": "Executor", "path": "#.executor", "visible": "never" }, + { "label": "Swap Data Metadata", "path": "#.swapData.metadata", "visible": "never" }, + { "label": "Swap Data Quoted Amount", "path": "#.swapData.quotedAmount", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Executor Data", "path": "#.executorData", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapExactAmountInPro(address executor, (address srcToken, address destToken, uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, address beneficiary) swapData, uint256 partnerAndFee, bytes permit, bytes executorData)": { + "intent": "Swap", + "fields": [ + { + "path": "#.swapData", + "fields": [ + { "path": "fromAmount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" } }, + { "path": "toAmount", "$ref": "$.display.definitions.minReceiveAmount", "params": { "tokenPath": "destToken" } }, + { "path": "beneficiary", "$ref": "$.display.definitions.beneficiary" } + ] + }, + { "label": "Executor", "path": "#.executor", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Executor Data", "path": "#.executorData", "visible": "never" }, + { "label": "Swap Data Quoted Amount", "path": "#.swapData.quotedAmount", "visible": "never" }, + { "label": "Swap Data Metadata", "path": "#.swapData.metadata", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapExactAmountOutPro(address executor, (address srcToken, address destToken, uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, address beneficiary) swapData, uint256 partnerAndFee, bytes permit, bytes executorData)": { + "intent": "Swap", + "fields": [ + { + "path": "#.swapData", + "fields": [ + { "path": "fromAmount", "$ref": "$.display.definitions.maxSendAmount", "params": { "tokenPath": "srcToken" } }, + { "path": "toAmount", "$ref": "$.display.definitions.receiveAmount", "params": { "tokenPath": "destToken" } }, + { "path": "beneficiary", "$ref": "$.display.definitions.beneficiary" } + ] + }, + { "label": "Executor", "path": "#.executor", "visible": "never" }, + { "label": "Swap Data Metadata", "path": "#.swapData.metadata", "visible": "never" }, + { "label": "Swap Data Quoted Amount", "path": "#.swapData.quotedAmount", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Executor Data", "path": "#.executorData", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapExactAmountInOnUniswapV2((address srcToken, address destToken, uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, address beneficiary, bytes pools) uniData, uint256 partnerAndFee, bytes permit)": { + "intent": "Swap", + "fields": [ + { + "path": "#.uniData", + "fields": [ + { "path": "fromAmount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" } }, + { "path": "toAmount", "$ref": "$.display.definitions.minReceiveAmount", "params": { "tokenPath": "destToken" } }, + { "path": "beneficiary", "$ref": "$.display.definitions.beneficiary" } + ] + }, + { "label": "Uni Data Metadata", "path": "#.uniData.metadata", "visible": "never" }, + { "label": "Uni Data Pools", "path": "#.uniData.pools", "visible": "never" }, + { "label": "Uni Data Quoted Amount", "path": "#.uniData.quotedAmount", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapExactAmountInOnUniswapV3((address srcToken, address destToken, uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, address beneficiary, bytes pools) uniData, uint256 partnerAndFee, bytes permit)": { + "intent": "Swap", + "fields": [ + { + "path": "#.uniData", + "fields": [ + { "path": "fromAmount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" } }, + { "path": "toAmount", "$ref": "$.display.definitions.minReceiveAmount", "params": { "tokenPath": "destToken" } }, + { "path": "beneficiary", "$ref": "$.display.definitions.beneficiary" } + ] + }, + { "label": "Uni Data Metadata", "path": "#.uniData.metadata", "visible": "never" }, + { "label": "Uni Data Pools", "path": "#.uniData.pools", "visible": "never" }, + { "label": "Uni Data Quoted Amount", "path": "#.uniData.quotedAmount", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapExactAmountOutOnUniswapV2((address srcToken, address destToken, uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, address beneficiary, bytes pools) uniData, uint256 partnerAndFee, bytes permit)": { + "intent": "Swap", + "fields": [ + { + "path": "#.uniData", + "fields": [ + { "path": "fromAmount", "$ref": "$.display.definitions.maxSendAmount", "params": { "tokenPath": "srcToken" } }, + { "path": "toAmount", "$ref": "$.display.definitions.receiveAmount", "params": { "tokenPath": "destToken" } }, + { "path": "beneficiary", "$ref": "$.display.definitions.beneficiary" } + ] + }, + { "label": "Uni Data Metadata", "path": "#.uniData.metadata", "visible": "never" }, + { "label": "Uni Data Pools", "path": "#.uniData.pools", "visible": "never" }, + { "label": "Uni Data Quoted Amount", "path": "#.uniData.quotedAmount", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapExactAmountOutOnUniswapV3((address srcToken, address destToken, uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, address beneficiary, bytes pools) uniData, uint256 partnerAndFee, bytes permit)": { + "intent": "Swap", + "fields": [ + { + "path": "#.uniData", + "fields": [ + { "path": "fromAmount", "$ref": "$.display.definitions.maxSendAmount", "params": { "tokenPath": "srcToken" } }, + { "path": "toAmount", "$ref": "$.display.definitions.receiveAmount", "params": { "tokenPath": "destToken" } }, + { "path": "beneficiary", "$ref": "$.display.definitions.beneficiary" } + ] + }, + { "label": "Uni Data Metadata", "path": "#.uniData.metadata", "visible": "never" }, + { "label": "Uni Data Pools", "path": "#.uniData.pools", "visible": "never" }, + { "label": "Uni Data Quoted Amount", "path": "#.uniData.quotedAmount", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapExactAmountInOnCurveV1((uint256 curveData, uint256 curveAssets, address srcToken, address destToken, uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, address beneficiary) curveV1Data, uint256 partnerAndFee, bytes permit)": { + "intent": "Swap", + "fields": [ + { + "path": "#.curveV1Data", + "fields": [ + { "path": "fromAmount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" } }, + { "path": "toAmount", "$ref": "$.display.definitions.minReceiveAmount", "params": { "tokenPath": "destToken" } }, + { "path": "beneficiary", "$ref": "$.display.definitions.beneficiary" } + ] + }, + { "label": "Curve V1 Data Curve Assets", "path": "#.curveV1Data.curveAssets", "visible": "never" }, + { "label": "Curve V1 Data Curve Data", "path": "#.curveV1Data.curveData", "visible": "never" }, + { "label": "Curve V1 Data Metadata", "path": "#.curveV1Data.metadata", "visible": "never" }, + { "label": "Curve V1 Data Quoted Amount", "path": "#.curveV1Data.quotedAmount", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapExactAmountInOnCurveV2((uint256 curveData, uint256 i, uint256 j, address poolAddress, address srcToken, address destToken, uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, address beneficiary) curveV2Data, uint256 partnerAndFee, bytes permit)": { + "intent": "Swap", + "fields": [ + { + "path": "#.curveV2Data", + "fields": [ + { "path": "fromAmount", "$ref": "$.display.definitions.sendAmount", "params": { "tokenPath": "srcToken" } }, + { "path": "toAmount", "$ref": "$.display.definitions.minReceiveAmount", "params": { "tokenPath": "destToken" } }, + { "path": "beneficiary", "$ref": "$.display.definitions.beneficiary" } + ] + }, + { "label": "Curve V2 Data Curve Data", "path": "#.curveV2Data.curveData", "visible": "never" }, + { "label": "Curve V2 Data I", "path": "#.curveV2Data.i", "visible": "never" }, + { "label": "Curve V2 Data J", "path": "#.curveV2Data.j", "visible": "never" }, + { "label": "Curve V2 Data Metadata", "path": "#.curveV2Data.metadata", "visible": "never" }, + { "label": "Curve V2 Data Pool Address", "path": "#.curveV2Data.poolAddress", "visible": "never" }, + { "label": "Curve V2 Data Quoted Amount", "path": "#.curveV2Data.quotedAmount", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapExactAmountInOnBalancerV2((uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, uint256 beneficiaryAndApproveFlag) balancerData, uint256 partnerAndFee, bytes permit, bytes data)": { + "intent": "Swap", + "fields": [ + { "path": "#.data.[:1]", "$ref": "$.display.definitions.balancerSelector" }, + { + "path": "#.balancerData.fromAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "#.data.[292:324]" }, + "visible": "always" + }, + { + "path": "#.balancerData.toAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "#.data.[324:356]" }, + "visible": "always" + }, + { "path": "#.balancerData.beneficiaryAndApproveFlag.[-20:]", "$ref": "$.display.definitions.beneficiary" }, + { "label": "Balancer Data Metadata", "path": "#.balancerData.metadata", "visible": "never" }, + { "label": "Balancer Data Quoted Amount", "path": "#.balancerData.quotedAmount", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapExactAmountOutOnBalancerV2((uint256 fromAmount, uint256 toAmount, uint256 quotedAmount, bytes32 metadata, uint256 beneficiaryAndApproveFlag) balancerData, uint256 partnerAndFee, bytes permit, bytes data)": { + "intent": "Swap", + "fields": [ + { "path": "#.data.[:1]", "$ref": "$.display.definitions.balancerSelector" }, + { + "path": "#.balancerData.fromAmount", + "$ref": "$.display.definitions.maxSendAmount", + "params": { "tokenPath": "#.data.[292:324]" }, + "visible": "always" + }, + { + "path": "#.balancerData.toAmount", + "$ref": "$.display.definitions.receiveAmount", + "params": { "tokenPath": "#.data.[324:356]" }, + "visible": "always" + }, + { "path": "#.balancerData.beneficiaryAndApproveFlag.[-20:]", "$ref": "$.display.definitions.beneficiary" }, + { "label": "Balancer Data Metadata", "path": "#.balancerData.metadata", "visible": "never" }, + { "label": "Balancer Data Quoted Amount", "path": "#.balancerData.quotedAmount", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" }, + { "label": "Partner And Fee", "path": "#.partnerAndFee", "visible": "never" } + ] + }, + "swapOnAugustusRFQTryBatchFill((uint256 fromAmount, uint256 toAmount, uint8 wrapApproveDirection, bytes32 metadata, address beneficiary) data, ((uint256 nonceAndMeta, uint128 expiry, address makerAsset, address takerAsset, address maker, address taker, uint256 makerAmount, uint256 takerAmount) order, bytes signature, uint256 takerTokenFillAmount, bytes permitTakerAsset, bytes permitMakerAsset)[] orders, bytes permit)": { + "intent": "Swap", + "fields": [ + { + "path": "#.data.fromAmount", + "$ref": "$.display.definitions.sendAmount", + "params": { "tokenPath": "#.orders.[0].order.takerAsset" }, + "visible": "always" + }, + { + "path": "#.data.toAmount", + "$ref": "$.display.definitions.minReceiveAmount", + "params": { "tokenPath": "#.orders.[0].order.makerAsset" }, + "visible": "always" + }, + { "path": "#.data.beneficiary", "$ref": "$.display.definitions.beneficiary", "visible": "always" }, + { "label": "Orders Order Expiry", "path": "#.orders.[].order.expiry", "visible": "never" }, + { "label": "Orders Order Maker", "path": "#.orders.[].order.maker", "visible": "never" }, + { "label": "Orders Order Taker", "path": "#.orders.[].order.taker", "visible": "never" }, + { "label": "Orders Order Maker Amount", "path": "#.orders.[].order.makerAmount", "visible": "never" }, + { "label": "Orders Order Taker Amount", "path": "#.orders.[].order.takerAmount", "visible": "never" }, + { "label": "Orders Taker Token Fill Amount", "path": "#.orders.[].takerTokenFillAmount", "visible": "never" }, + { "label": "Permit", "path": "#.permit", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/eip712-Velora-DeltaV2.json b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/eip712-Velora-DeltaV2.json new file mode 100644 index 0000000..21032ea --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/eip712-Velora-DeltaV2.json @@ -0,0 +1,29 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0x0000000000bbf5c5fd284e657f01bd000933c96d" }, + { "chainId": 10, "address": "0x0000000000bbf5c5fd284e657f01bd000933c96d" }, + { "chainId": 56, "address": "0x0000000000bbf5c5fd284e657f01bd000933c96d" }, + { "chainId": 8453, "address": "0x0000000000bbf5c5fd284e657f01bd000933c96d" } + ], + "domain": { "name": "Velora", "version": "1" } + } + }, + "metadata": { "owner": "Velora" }, + "display": { + "formats": { + "Order(address owner,address beneficiary,address srcToken,address destToken,uint256 srcAmount,uint256 destAmount,uint256 expectedAmount,uint256 deadline,uint8 kind,uint256 nonce,uint256 partnerAndFee,bytes permit,bytes metadata,Bridge bridge)Bridge(bytes4 protocolSelector,uint256 destinationChainId,address outputToken,int8 scalingFactor,bytes protocolData)": { + "intent": "Swap order", + "fields": [ + { "path": "srcAmount", "label": "Amount to send", "format": "tokenAmount", "params": { "tokenPath": "srcToken" } }, + { "path": "destAmount", "label": "Minimum to receive", "format": "tokenAmount", "params": { "tokenPath": "destToken" } }, + { "path": "bridge.destinationChainId", "label": "Destination chain ID", "format": "raw" }, + { "path": "beneficiary", "label": "Beneficiary", "format": "raw" }, + { "path": "deadline", "label": "Expiration time", "format": "date", "params": { "encoding": "timestamp" } } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/eip712-paraswap.json b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/eip712-paraswap.json new file mode 100644 index 0000000..f7ff96e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/eip712-paraswap.json @@ -0,0 +1,48 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0xe92b586627cca7a83dc919cc7127196d70f55a06" }, + { "chainId": 10, "address": "0x0927fd43a7a87e3e8b81df2c44b03c4756849f6d" }, + { "chainId": 56, "address": "0x8dcdfe88ef0351f27437284d0710cd65b20288bb" }, + { "chainId": 137, "address": "0xf3cd476c3c4d3ac5ca2724767f269070ca09a043" }, + { "chainId": 42161, "address": "0x0927fd43a7a87e3e8b81df2c44b03c4756849f6d" } + ], + "domain": { "name": "AUGUSTUS RFQ", "version": "1" } + } + }, + "metadata": { "owner": "AugustusRFQ" }, + "display": { + "formats": { + "Order(uint256 nonceAndMeta,uint128 expiry,address makerAsset,address takerAsset,address maker,address taker,uint256 makerAmount,uint256 takerAmount)": { + "intent": "AugustusRFQ ERC20 order", + "fields": [ + { "path": "nonceAndMeta", "label": "Nonce and metadata", "format": "raw" }, + { "path": "expiry", "label": "Expiration time", "format": "raw" }, + { "path": "makerAsset", "label": "Maker asset address", "format": "raw" }, + { "path": "takerAsset", "label": "Taker asset address", "format": "raw" }, + { "path": "maker", "label": "Maker address", "format": "raw" }, + { "path": "taker", "label": "Taker address", "format": "raw" }, + { "path": "makerAmount", "label": "Maker amount", "format": "raw" }, + { "path": "takerAmount", "label": "Taker amount", "format": "raw" } + ] + }, + "OrderNFT(uint256 nonceAndMeta,uint128 expiry,uint256 makerAsset,uint256 makerAssetId,uint256 takerAsset,uint256 takerAssetId,address maker,address taker,uint256 makerAmount,uint256 takerAmount)": { + "intent": "AugustusRFQ NFT order", + "fields": [ + { "path": "nonceAndMeta", "label": "Nonce and metadata", "format": "raw" }, + { "path": "expiry", "label": "Expiration time", "format": "raw" }, + { "path": "makerAsset", "label": "Maker asset encoded", "format": "raw" }, + { "path": "makerAssetId", "label": "Maker asset NFT ID", "format": "raw" }, + { "path": "takerAsset", "label": "Taker asset encoded", "format": "raw" }, + { "path": "takerAssetId", "label": "Taker asset NFT ID", "format": "raw" }, + { "path": "maker", "label": "Maker address", "format": "raw" }, + { "path": "taker", "label": "Taker address", "format": "raw" }, + { "path": "makerAmount", "label": "Maker amount", "format": "raw" }, + { "path": "takerAmount", "label": "Taker amount", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/calldata-AugustusSwapper-v6.2.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/calldata-AugustusSwapper-v6.2.tests.json new file mode 100644 index 0000000..2e25275 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/calldata-AugustusSwapper-v6.2.tests.json @@ -0,0 +1,99 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Swap - chain 1", + "rawTx": "0x02f903cd0106834c4b40840fea18c08303b45a946a000f20005980200259b80c510200304000106880b903a4e3ead59e000000000000000000000000000010036c0190e009a000d0fc3541100a07380a000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000002f747000000000000000000000000000000000000000000000000000000000002f4fb600000000000000000000000000000000000000000000000000000000002f7428628494839e92450ba5ffff0dd650218d0000000000000000000000000178c83c000000000000000000000000000000000000000000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437900000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000200bbcb91440523216e2b87052a99f69c604a7b6e00000001a00084000000000003000000000000000000000000000000000000000000000000000000007fc9d4ad000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000002f747000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006a000f20005980200259b80c510200304000106800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x50fb51449c9e5da0841d358615adadb65fdd692e2a8a7de6eb7620b1336f2026", + "expectedTexts": ["Interaction with", "Velora Amount to Send 3.11 USDC Minimum to Receive 3.100598 USDT", "Max fees", "0.000064821726 ETH"] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f905cf018201598318cba884101f80a083095205946a000f20005980200259b80c510200304000106880b905a47f4576750000000000000000000000000e5891850bb3f03090f03010000806f080040100000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000009464273e000000000000000000000000000000000000000000000000106033bf82f600000000000000000000000000000000000000000000000000000000000094512b30dbde46e45ac54818b8c61d514edffd150000000000000000000000000178c7d1000000000000000000000000000000000000000000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4379000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004200000018000000000000000000000016c00000000000001370000000000001388e592427a0aece92de3edee1f18e0157c058615640160008400a400d80000000b00000000000000000000000000000000000000000000000000000000f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000e5891850bb3f03090f03010000806f0800401000000000000000000000000000000000000000000000000000000000069c55cc6000000000000000000000000000000000000000000000000083019dfc17b0000000000000000000000000000000000000000000000000000000000004a277fa7000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000064a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000020000000000000000000000018c000000000000014e0000000000001388e592427a0aece92de3edee1f18e0157c058615640180008400a400d80000000b00000000000000000000000000000000000000000000000000000000f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000e5891850bb3f03090f03010000806f0800401000000000000000000000000000000000000000000000000000000000069c55cc6000000000000000000000000000000000000000000000000083019dfc17b0000000000000000000000000000000000000000000000000000000000004a29ab890000000000000000000000000000000000000000000000000000000000000042c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000064dac17f958d2ee523a2206206994597c13d831ec7000064a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeec02aaa39b223fe8d0a0e5c4f27ead9083c756cc2004000240004000000000007000000000000000000000000000000000000000000000000000000002e1a7d4d000000000000000000000000000000000000000000000000106033bf82f60000c0", + "txHash": "0xc78fe415148955349496c1d325469eeaa4aedd66be685f1f76bbc050470fe166", + "expectedTexts": [ + "Interaction with", + "Velora Maximum to Send 2489.591614 USDC Amount to Receive 1.18 ETH", + "Max fees", + "0.0001652270805 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f902100182106a840e4e1c00842b9f80f2831e8480946a000f20005980200259b80c510200304000106880b901e4e8bb3b6c0000000000000000000000000000000000000000000000000000000000000060c85f5d432b7fa25287c7e0cb88139a1a4c37f56510000000000000000000000f00000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000038b0e3a59183814957d83df2a97492aed1f003e2000000000000000000000000000000000000000000000000006a94d74f43000000000000000000000000000000000000000000000009498591987438b4cafd3d000000000000000000000000000000000000000000095d8a8d877fbeebd4b6d516ce0d616fa4497dbaa4aa4291a483fc0000000000000000000000000178c7e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000004038b0e3a59183814957d83df2a97492aed1f003e2c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x6ddfb3f11e9c98506c44dbc07a58e5799570d712388d28d62e4c771b938e875d", + "expectedTexts": [ + "Interaction with", + "Velora Amount to Send 0.03 WETH Minimum to Receive 11227529.03800606 8903083325 ANML", + "Max fees", + "0.001463747044 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f9023001820176842faf080084423883c083030f96946a000f20005980200259b80c510200304000106880b90204876a02f6000000000000000000000000000000000000000000000000000000000000006008a3c2a819e3de7aca384c798269b3ce1cd0e43790000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000004ba01f22827018b4772cd326c7627fb4956a7c00000000000000000000000000890a5122aa1da30fec4286de7904ff808f0bd74a0000000000000000000000000000000000000000000000018493fba64ef0000000000000000000000000000000000000000000000000000177f69745802d7f5f0000000000000000000000000000000000000000000000017809d8152c109fc30c8c89637b93407fb703cfb6b52fa2940000000000000000000000000178c81c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000608000000000000000000000004ba01f22827018b4772cd326c7627fb4956a7c00000000000000000000000000890a5122aa1da30fec4286de7904ff808f0bd74a00000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x921ddffe7ea18848d96c5c444771cb9c69c5bdf22ec25108efb31f235bc27b30", + "expectedTexts": [ + "Interaction with", + "Velora Amount to Send 280000000000000000 00 ??? Minimum to Receive 27.0910069332528 00351 msY", + "Max fees", + "0.000222864378 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f9023601088477359400848a17509683049d3a946a000f20005980200259b80c51020030400010688801f9e64707cf1449b902045e94e28d000000000000000000000000000000000000000000000000000000000000006008a3c2a819e3de7aca384c798269b3ce1cd0e43790000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000001f9e64707cf14490000000000000000000000000000000000000000000000000000000011e1a30000000000000000000000000000000000000000000000000001f862e8a2f7cecc3ea54657ea5b40dcb515a2cc510340630000000000000000000000000178c707000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x9bfa47389b2bce3688203dab8fc86eb500b544c60afcf4076dc61cdb08f7707b", + "expectedTexts": [ + "Interaction with", + "Velora Maximum to Send 0.14239805598695943 3 ETH Amount to Receive 300 USDC", + "Max fees", + "0.00070058151013580 4 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f901ae0181d583bfa68084121eac008303ccbf946a000f20005980200259b80c510200304000106880b901841a01c53200000000000000000000000026f3f26f46cbee59d1f8860865e13aa39e36a8c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000808507121b80c02388fad14726482e061b8da8270000000000000000000000005ea630e00d6ee438d3dea1556a110359acdc10a9000000000000000000000000000000000000000000000000de0164b97aeb27bc000000000000000000000000000000000000000000000000e8ce8b99a0bed913000000000000000000000000000000000000000000000000e981e102da3b7139c13b3dff0cd14a7bbbb7e0fcbfded0bb0000000000000000000000000178c75e000000000000000000000000000000000000000000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43790000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xaba4bb3fdaada6751405f3a58cb7cbdd7c55cf8097721b18c64764d99fb658c6", + "expectedTexts": [ + "Interaction with", + "Velora Amount to Send 15.99717809919067 1292 PENDLE Minimum to Receive 16.77549915394479 5411 sdPENDLE", + "Max fees", + "0.000075702992 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f903ae010184773594008484f9452883047e50946a000f20005980200259b80c510200304000106880b90384da35bb0d000000000000000000000000000000000000000000000000000000011338bbbd0000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000083c132f647e1c415cacbf8d4a9484f3540000000000000000000000000178c7a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000204af2e386c642be3bb5965a6b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069bc209800000000000000000000000045804880de22913dafe09f4980848ece6ecbaf78000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000009ba0cf1588e1dfa905ec948f7fe5104dd40eda310000000000000000000000006a000f20005980200259b80c51020030400010680000000000000000000000000000000000000000000000000de111a6b7de40000000000000000000000000000000000000000000000000000000000112f962b900000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000112f962b90000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000411c38f548e52f46071cb5766310552912d16db57f75f60d6f9d5709c7b0dcf82586121358f0ddd500c730126abde20c905f67d20cf13fbd0884be0ccac2b475712100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xec872311d7dd0572c08e4aed9452c22a6bb957282c0e1a4c5a246d9e7a6d78d8", + "expectedTexts": [ + "Interaction with", + "Velora Amount to Send 4617.452477 USDC Minimum to Receive 1 PAXG", + "Max fees", + "0.0006569638776864 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f90338014d840501bd00842c1b81008303c7dd946a000f20005980200259b80c510200304000106887038d7ea4c68000b902c40d893d62000000000000000000000000000010036c0190e009a000d0fc3541100a07380a000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000002074bb0000000000000000000000000000000000000000000000000000000000209e7c2b010b0f931240098cd14b70751ff81c0000000000000000000000000178208b0000000000000000000000000000000000000000000000000000000000000000eff718a201ccf1ceb5602d807f5acbb722a97c1410000000000000000000005a000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000120d26f20001a72a18c002b00e6710000d68700ce00000000c000a50000ff00001200000000000000000000000000000000000000000000000000000000ce0802440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000020c49ba5e353f88000137c000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000006a000f20005980200259b80c5102003040001068c001a0fb2db0d42422e7c4ee2665623ad3e9f7d60093317def5133332e7def7514aac3a01728e4e5a9fa236abe9fb5edd86de4807cab455a59f7b06e59e9426ae6a13de6", + "txHash": "0xecd12564b81949fe4ca52a577ca1b804f5573cc885fcb2849e0ae59c91e3918f", + "expectedTexts": [ + "Interaction with", + "Velora Amount to Send 0.001 ETH Minimum to Receive 2.127035 USDC", + "Max fees", + "0.00018335202 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f90378014e840501bd008430479e808303baa3946a000f20005980200259b80c51020030400010688701ae8df7fd8b96b9030444224add0000000000000000000000000e5891850bb3f03090f03010000806f080040100000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000001ae8df7fd8b9600000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000001ac6999c810a0726cc6402037431b9232011c7cc770200000000000000000000000000178208f0000000000000000000000000000000000000000000000000000000000000000eff718a201ccf1ceb5602d807f5acbb722a97c1410000000000000000000005a0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001800000010000000000000000000000006c00000000000000ec0000000000002710d26f20001a72a18c002b00e6710000d68700ce0000e000c500c500000000001200000000000000000000000000000000000000000000000000000000ce0802440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000020c49ba5e353f88000137c000000000000000000000000fffffffffffffffffffffffffff0bdc0800000000000000000000000000000000e5891850bb3f03090f03010000806f080040100000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeec001a0552824af7b7823ef841fd54eed8173f948bbc2572d27d54a732333869f425cd6a0272d94bd034cf09f206cefe6fdf922b2c95fa52ba2f34646e212ea4ca0577a0c", + "txHash": "0x7c0016b2b5b74ea37d5165a727359adeb910a51ffc24bcc8de0bc1e276d702b4", + "expectedTexts": [ + "Interaction with", + "Velora Maximum to Send 0.00047339975092111 ETH Amount to Receive 1 USDC", + "Max fees", + "0.00019795347 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/eip712-Velora-DeltaV2.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/eip712-Velora-DeltaV2.tests.json new file mode 100644 index 0000000..2e77573 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/eip712-Velora-DeltaV2.tests.json @@ -0,0 +1,77 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Swap order", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Bridge": [ + { "name": "protocolSelector", "type": "bytes4" }, + { "name": "destinationChainId", "type": "uint256" }, + { "name": "outputToken", "type": "address" }, + { "name": "scalingFactor", "type": "int8" }, + { "name": "protocolData", "type": "bytes" } + ], + "Order": [ + { "name": "owner", "type": "address" }, + { "name": "beneficiary", "type": "address" }, + { "name": "srcToken", "type": "address" }, + { "name": "destToken", "type": "address" }, + { "name": "srcAmount", "type": "uint256" }, + { "name": "destAmount", "type": "uint256" }, + { "name": "expectedAmount", "type": "uint256" }, + { "name": "deadline", "type": "uint256" }, + { "name": "kind", "type": "uint8" }, + { "name": "nonce", "type": "uint256" }, + { "name": "partnerAndFee", "type": "uint256" }, + { "name": "permit", "type": "bytes" }, + { "name": "metadata", "type": "bytes" }, + { "name": "bridge", "type": "Bridge" } + ] + }, + "primaryType": "Order", + "domain": { "name": "Velora", "version": "1", "chainId": 1, "verifyingContract": "0x0000000000bbf5c5fd284e657f01bd000933c96d" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "beneficiary": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "srcToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "destToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "srcAmount": "2500000000", + "destAmount": "780000000000000000", + "expectedAmount": "790000000000000000", + "deadline": "1776729600", + "kind": "0", + "nonce": "874523901245", + "partnerAndFee": "0", + "permit": "0x", + "metadata": "0x", + "bridge": { + "protocolSelector": "0x00000000", + "destinationChainId": "1", + "outputToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "scalingFactor": "0", + "protocolData": "0x" + } + } + }, + "expectedTexts": [ + "Beneficiary", + "0x742d35Cc6634C053 2925a3b844Bc454e44 38f44e", + "Amount to send", + "2500 USDC", + "Minimum to receive", + "0.78 WETH", + "Expiration time", + "2026-04-21 12:00:00 AM UTC", + "Destination chain ID", + "1" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/eip712-paraswap.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/eip712-paraswap.tests.json new file mode 100644 index 0000000..2ffc22d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/paraswap/tests/eip712-paraswap.tests.json @@ -0,0 +1,119 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "AugustusRFQ ERC20 order", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Order": [ + { "name": "nonceAndMeta", "type": "uint256" }, + { "name": "expiry", "type": "uint128" }, + { "name": "makerAsset", "type": "address" }, + { "name": "takerAsset", "type": "address" }, + { "name": "maker", "type": "address" }, + { "name": "taker", "type": "address" }, + { "name": "makerAmount", "type": "uint256" }, + { "name": "takerAmount", "type": "uint256" } + ] + }, + "primaryType": "Order", + "domain": { "name": "AUGUSTUS RFQ", "version": "1", "chainId": 1, "verifyingContract": "0xe92b586627ccA7a83dC919cc7127196d70f55a06" }, + "message": { + "nonceAndMeta": "123456789", + "expiry": "1774540800", + "makerAsset": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "takerAsset": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "maker": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "taker": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "makerAmount": "3000000000", + "takerAmount": "1000000000000000000" + } + }, + "expectedTexts": [ + "Nonce and metadata", + "123456789", + "Expiration time", + "1774540800", + "Maker asset address", + "0xA0b86991c6218b36 c1d19D4a2e9Eb0cE360 6eB48", + "Taker asset address", + "0xC02aaA39b223FE8D 0A0e5C4F27eAD9083 C756Cc2", + "Maker address", + "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", + "Taker address", + "0x742d35Cc6634C053 2925a3b844Bc454e44 38f44e", + "Maker amount", + "3000000000", + "Taker amount", + "100000000000000000 0" + ] + }, + { + "description": "AugustusRFQ NFT order", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "OrderNFT": [ + { "name": "nonceAndMeta", "type": "uint256" }, + { "name": "expiry", "type": "uint128" }, + { "name": "makerAsset", "type": "uint256" }, + { "name": "makerAssetId", "type": "uint256" }, + { "name": "takerAsset", "type": "uint256" }, + { "name": "takerAssetId", "type": "uint256" }, + { "name": "maker", "type": "address" }, + { "name": "taker", "type": "address" }, + { "name": "makerAmount", "type": "uint256" }, + { "name": "takerAmount", "type": "uint256" } + ] + }, + "primaryType": "OrderNFT", + "domain": { "name": "AUGUSTUS RFQ", "version": "1", "chainId": 1, "verifyingContract": "0xe92b586627cca7a83dc919cc7127196d70f55a06" }, + "message": { + "nonceAndMeta": "281474976776193", + "expiry": "1776530030", + "makerAsset": "0x1BC4CA0eda7647A8aB7C2061c2E118A18a936f13D", + "makerAssetId": "8817", + "takerAsset": "0xC02aaA39b223FE8D0A0E5C4F27eAD9083C756Cc2", + "takerAssetId": "0", + "maker": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "taker": "0xF977814e90dA44bFA03b6295A0616a897441aceC", + "makerAmount": "1", + "takerAmount": "15000000000000000000" + } + }, + "expectedTexts": [ + "Nonce and metadata", + "281474976776193", + "Expiration time", + "1776530030", + "Maker asset encoded", + "253650077771604590 844641472024512484 5575819686205", + "Maker asset NFT ID", + "8817", + "Taker asset encoded", + "109707768801800826 510621666553694066 8749033598146", + "Taker asset NFT ID", + "0", + "Maker address", + "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", + "Taker address", + "0xF977814e90dA44bF A03b6295A0616a8974 41aceC", + "Maker amount", + "1", + "Taker amount", + "150000000000000000 00" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-arb.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-arb.json new file mode 100644 index 0000000..af45fd5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-arb.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0x912ce59144191c1204e64559fe8253a0e49e6548" }], + "domain": { "name": "Arbitrum", "version": "1" } + } + }, + "metadata": { "owner": "Arbitrum" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-bridged-usdc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-bridged-usdc.json new file mode 100644 index 0000000..9569181 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-bridged-usdc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8" }], + "domain": { "name": "USD Coin", "version": "2" } + } + }, + "metadata": { "owner": "USDC (bridged)" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-dai.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-dai.json new file mode 100644 index 0000000..7efbd6d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-dai.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1" }], + "domain": { "name": "Dai Stablecoin", "version": "1" } + } + }, + "metadata": { "owner": "Dai Stablecoin" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-gmx.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-gmx.json new file mode 100644 index 0000000..cf94a59 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-gmx.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a" }], + "domain": { "name": "GMX", "version": "1" } + } + }, + "metadata": { "owner": "GMX" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-link.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-link.json new file mode 100644 index 0000000..cc88e5d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-link.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0xf97f4df75117a78c1A5a0DBb814Af92458539FB4" }], + "domain": { "name": "ChainLink Token", "version": "1" } + } + }, + "metadata": { "owner": "LINK" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-rdnt.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-rdnt.json new file mode 100644 index 0000000..eb471b6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-rdnt.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0x3082CC23568eA640225c2467653dB90e9250AaA0" }], + "domain": { "name": "Radiant", "version": "1" } + } + }, + "metadata": { "owner": "Radiant" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usdc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usdc.json new file mode 100644 index 0000000..f6906bc --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usdc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" }], + "domain": { "name": "USD Coin", "version": "2" } + } + }, + "metadata": { "owner": "USDC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usds.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usds.json new file mode 100644 index 0000000..dbea560 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usds.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0x6491c05A82219b8D1479057361ff1654749b876b" }], + "domain": { "name": "Gains Network", "version": "1" } + } + }, + "metadata": { "owner": "USDS" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usdt.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usdt.json new file mode 100644 index 0000000..c97e30e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-usdt.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" }], + "domain": { "name": "Tether USD", "version": "1" } + } + }, + "metadata": { "owner": "USDT" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-wbtc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-wbtc.json new file mode 100644 index 0000000..6140801 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-wbtc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f" }], + "domain": { "name": "Wrapped BTC", "version": "1" } + } + }, + "metadata": { "owner": "Wrapped BTC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-weth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-weth.json new file mode 100644 index 0000000..7db50a8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-weth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1" }], + "domain": { "name": "Wrapped Ether", "version": "1" } + } + }, + "metadata": { "owner": "WETH" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-wsteth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-wsteth.json new file mode 100644 index 0000000..0de5916 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-arbitrum-wsteth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0x9cfB13E6c11054ac9fcB92BA89644F30775436e4" }], + "domain": { "name": "Wrapped stETH", "version": "1" } + } + }, + "metadata": { "owner": "Wrapped liquid staked Ether 2.0" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-joe.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-joe.json new file mode 100644 index 0000000..ba93497 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-joe.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 43114, "address": "0x6e84a6216eA6dACC71eE8E6b0a5B7322EEbC0fDd" }], + "domain": { "name": "JoeToken" } + } + }, + "metadata": { "owner": "JoeToken" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-link.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-link.json new file mode 100644 index 0000000..cae5d58 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-link.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 43114, "address": "0x5947BB275c521040051D82396192181b413227A3" }], + "domain": { "name": "ChainLink Token", "version": "1" } + } + }, + "metadata": { "owner": "Chainlink Token (bridged)" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-pangolin.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-pangolin.json new file mode 100644 index 0000000..b8933cd --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-pangolin.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 43114, "address": "0x60781c2586d68229fde47564546784ab3faca982" }], + "domain": { "name": "Pangolin", "version": "1" } + } + }, + "metadata": { "owner": "Pangolin" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-savax.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-savax.json new file mode 100644 index 0000000..0b29a2f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-savax.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 43114, "address": "0x2b2C81e08f1Af8835a78Bb2A90AE924ACE0eA4bE" }], + "domain": { "name": "Staked AVAX", "version": "1" } + } + }, + "metadata": { "owner": "Staked AVAX" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-usdc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-usdc.json new file mode 100644 index 0000000..77cb111 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-usdc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 43114, "address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" }], + "domain": { "name": "USD Coin", "version": "2" } + } + }, + "metadata": { "owner": "USDC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-usdt.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-usdt.json new file mode 100644 index 0000000..9c17a5b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-usdt.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 43114, "address": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7" }], + "domain": { "name": "Tether USD", "version": "1" } + } + }, + "metadata": { "owner": "USDT" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-wbtc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-wbtc.json new file mode 100644 index 0000000..f1a229d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-wbtc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 43114, "address": "0x152b9d0FdC40C096757F570A51E494bd4b943E50" }], + "domain": { "name": "Bitcoin", "version": "1" } + } + }, + "metadata": { "owner": "BTC.b" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-weth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-weth.json new file mode 100644 index 0000000..68472cc --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-weth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 43114, "address": "0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB" }], + "domain": { "name": "Wrapped Ether", "version": "1" } + } + }, + "metadata": { "owner": "WETH.e" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-yetiswap.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-yetiswap.json new file mode 100644 index 0000000..a8eda58 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-avalanche_c_chain-yetiswap.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 43114, "address": "0x488f73cddda1de3664775ffd91623637383d6404" }], + "domain": { "name": "YetiSwap" } + } + }, + "metadata": { "owner": "YetiSwap" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-aero.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-aero.json new file mode 100644 index 0000000..d961125 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-aero.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 8453, "address": "0x940181a94A35A4569E4529A3CDfB74e38FD98631" }], + "domain": { "name": "Aero", "version": "1" } + } + }, + "metadata": { "owner": "AERO" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-brett.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-brett.json new file mode 100644 index 0000000..561addb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-brett.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 8453, "address": "0x532f27101965dd16442E59d40670FaF5eBB142E4" }], + "domain": { "name": "Brett", "version": "1" } + } + }, + "metadata": { "owner": "BRETT" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-cbeth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-cbeth.json new file mode 100644 index 0000000..fc5ac37 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-cbeth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 8453, "address": "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22" }], + "domain": { "name": "Coinbase Wrapped Staked ETH", "version": "1" } + } + }, + "metadata": { "owner": "Coinbase Wrapped Staked ETH" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-dai.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-dai.json new file mode 100644 index 0000000..4f9e563 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-dai.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 8453, "address": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb" }], + "domain": { "name": "Dai Stablecoin", "version": "1" } + } + }, + "metadata": { "owner": "Dai Stablecoin" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-degen.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-degen.json new file mode 100644 index 0000000..eeb79ad --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-degen.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 8453, "address": "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed" }], + "domain": { "name": "Degen", "version": "1" } + } + }, + "metadata": { "owner": "DEGEN" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-toshi.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-toshi.json new file mode 100644 index 0000000..188112c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-toshi.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 8453, "address": "0xAC1Bd2486aAf3B5C0fc3Fd868558b082a531B2B4" }], + "domain": { "name": "Toshi", "version": "1" } + } + }, + "metadata": { "owner": "Toshi" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usdc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usdc.json new file mode 100644 index 0000000..3193a94 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usdc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 8453, "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" }], + "domain": { "name": "USD Coin", "version": "2" } + } + }, + "metadata": { "owner": "USDC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usds.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usds.json new file mode 100644 index 0000000..f2364d5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usds.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 8453, "address": "0x820C137fa70C8691f0e44Dc420a5e53c168921Dc" }], + "domain": { "name": "USDS Stablecoin", "version": "1" } + } + }, + "metadata": { "owner": "USDS" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usdt.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usdt.json new file mode 100644 index 0000000..663559c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-usdt.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 8453, "address": "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2" }], + "domain": { "name": "Tether USD", "version": "1" } + } + }, + "metadata": { "owner": "Tether USD" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-wsteth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-wsteth.json new file mode 100644 index 0000000..021bdfe --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-base-wsteth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 8453, "address": "0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452" }], + "domain": { "name": "Wrapped liquid staked Ether 2.0", "version": "1" } + } + }, + "metadata": { "owner": "Wrapped liquid staked Ether 2.0" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-1inch-token.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-1inch-token.json new file mode 100644 index 0000000..7c2de6b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-1inch-token.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 56, "address": "0x111111111117dc0aa78b770fa6a738034120c302" }], + "domain": { "name": "1INCH Token", "version": "1" } + } + }, + "metadata": { "owner": "1INCH Token" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-cake.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-cake.json new file mode 100644 index 0000000..130a15e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-cake.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 56, "address": "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82" }], + "domain": { "name": "PancakeSwap Token", "version": "1" } + } + }, + "metadata": { "owner": "Cake" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-eth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-eth.json new file mode 100644 index 0000000..e26f34f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-eth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 56, "address": "0x2170Ed0880ac9A755fd29B2688956BD959F933F8" }], + "domain": { "name": "Ethereum Token", "version": "1" } + } + }, + "metadata": { "owner": "ETH" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-polkastarter-token.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-polkastarter-token.json new file mode 100644 index 0000000..65717f7 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-polkastarter-token.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 56, "address": "0x7e624fa0e1c4abfd309cc15719b7e2580887f570" }], + "domain": { "name": "PolkastarterToken", "version": "1" } + } + }, + "metadata": { "owner": "PolkastarterToken" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-usdc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-usdc.json new file mode 100644 index 0000000..a6316a5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-bsc-usdc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 56, "address": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d" }], + "domain": { "name": "USD Coin", "version": "2" } + } + }, + "metadata": { "owner": "USDC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-aave.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-aave.json new file mode 100644 index 0000000..1e3e16a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-aave.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9" }], + "domain": { "name": "Aave Token", "version": "1" } + } + }, + "metadata": { "owner": "Aave" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-dai.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-dai.json new file mode 100644 index 0000000..7a1a9fb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-dai.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0x6b175474e89094c44da98b954eedeac495271d0f" }], + "domain": { "name": "Dai Stablecoin", "version": "1" } + } + }, + "metadata": { "owner": "Dai Stablecoin v2.0" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-lido-steth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-lido-steth.json new file mode 100644 index 0000000..1d0700d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-lido-steth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84" }], + "domain": { "name": "Liquid staked Ether 2.0", "version": "2" } + } + }, + "metadata": { "owner": "Lido DAO" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-lido-wsteth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-lido-wsteth.json new file mode 100644 index 0000000..986d565 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-lido-wsteth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0" }], + "domain": { "name": "Wrapped stETH", "version": "1" } + } + }, + "metadata": { "owner": "Lido DAO" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-link.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-link.json new file mode 100644 index 0000000..1d5640e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-link.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0x514910771AF9Ca656af840dff83E8264EcF986CA" }], + "domain": { "name": "ChainLink Token", "version": "1" } + } + }, + "metadata": { "owner": "LINK" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-usdc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-usdc.json new file mode 100644 index 0000000..d2cc124 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-usdc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" }], + "domain": { "name": "USD Coin", "version": "2" } + } + }, + "metadata": { "owner": "USDC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-usds.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-usds.json new file mode 100644 index 0000000..89b0094 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-ethereum-usds.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0xdC035D45d973E3EC169d2276DDab16f1e407384F" }], + "domain": { "name": "USDe", "version": "1" } + } + }, + "metadata": { "owner": "USDS" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-fantom-mimatic.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-fantom-mimatic.json new file mode 100644 index 0000000..6e916dd --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-fantom-mimatic.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 250, "address": "0xfb98b335551a418cd0737375a2ea0ded62ea213b" }], + "domain": { "name": "Beefy", "version": "1" } + } + }, + "metadata": { "owner": "miMATIC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-fantom-wootrade.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-fantom-wootrade.json new file mode 100644 index 0000000..d96f694 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-fantom-wootrade.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 250, "address": "0x6626c47c00f1d87902fc13eecfac3ed06d5e8d8a" }], + "domain": { "name": "Geist Finance", "version": "1" } + } + }, + "metadata": { "owner": "Wootrade Network" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-dai.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-dai.json new file mode 100644 index 0000000..53b9894 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-dai.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 59144, "address": "0x4AF15ec2A0BD43Db75dd04E62FAA3B8EF36b00d5" }], + "domain": { "name": "Dai Stablecoin", "version": "1" } + } + }, + "metadata": { "owner": "Dai Stablecoin" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-frax.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-frax.json new file mode 100644 index 0000000..fbca6ad --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-frax.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 59144, "address": "0xc7346783f5e645aa998b106ef9e7f499528673d8" }], + "domain": { "name": "Frax USD", "version": "1.1.0" } + } + }, + "metadata": { "owner": "Frax USD" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-lusd.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-lusd.json new file mode 100644 index 0000000..385e986 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-lusd.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 59144, "address": "0xEB466342C4d449BC9f53A865D5Cb90586f405215" }], + "domain": { "name": "Axelar Wrapped USDC", "version": "1" } + } + }, + "metadata": { "owner": "Axelar Wrapped USDC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-usdc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-usdc.json new file mode 100644 index 0000000..c704fef --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-usdc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 59144, "address": "0x176211869cA2b568f2A7D4EE941E073a821EE1ff" }], + "domain": { "name": "USD Coin", "version": "1" } + } + }, + "metadata": { "owner": "USD Coin" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-usdt.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-usdt.json new file mode 100644 index 0000000..4080dea --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-usdt.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 59144, "address": "0xA219439258ca9da29E9Cc4cE5596924745e12B93" }], + "domain": { "name": "Tether USD", "version": "2" } + } + }, + "metadata": { "owner": "Tether USD" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-wbtc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-wbtc.json new file mode 100644 index 0000000..7177474 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-wbtc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 59144, "address": "0x3aAB2285ddcDdaD8edf438C1bAB47e1a9D05a9b4" }], + "domain": { "name": "Wrapped BTC", "version": "1" } + } + }, + "metadata": { "owner": "Wrapped BTC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-weth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-weth.json new file mode 100644 index 0000000..57b4766 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-weth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 59144, "address": "0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f" }], + "domain": { "name": "Wrapped Ether", "version": "1" } + } + }, + "metadata": { "owner": "Wrapped Ether" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-wsteth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-wsteth.json new file mode 100644 index 0000000..b1fa01e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-linea-wsteth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 59144, "address": "0xB5beDd42000b71FddE22D3eE8a79Bd49A568fC8F" }], + "domain": { "name": "Wrapped liquid staked Ether 2.0", "version": "1" } + } + }, + "metadata": { "owner": "Wrapped liquid staked Ether 2.0" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-bob.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-bob.json new file mode 100644 index 0000000..899e004 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-bob.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 10, "address": "0xb0b195aefa3650a6908f15cdac7d92f8a5791b0b" }], + "domain": { "name": "BOB", "version": "1" } + } + }, + "metadata": { "owner": "BOB" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-dai.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-dai.json new file mode 100644 index 0000000..faf42ca --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-dai.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 10, "address": "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1" }], + "domain": { "name": "Dai Stablecoin", "version": "1" } + } + }, + "metadata": { "owner": "Dai Stablecoin" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-lusd.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-lusd.json new file mode 100644 index 0000000..ffabdaa --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-lusd.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 10, "address": "0xc40F949F8a4e094D1b49a23ea9241D289B7b2819" }], + "domain": { "name": "LUSD Stablecoin", "version": "1" } + } + }, + "metadata": { "owner": "LUSD Stablecoin" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-op.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-op.json new file mode 100644 index 0000000..66589b0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-op.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 10, "address": "0x4200000000000000000000000000000000000042" }], + "domain": { "name": "Optimism", "version": "1" } + } + }, + "metadata": { "owner": "Optimism" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-snx.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-snx.json new file mode 100644 index 0000000..a21d9eb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-snx.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 10, "address": "0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4" }], + "domain": { "name": "Synthetix Network Token", "version": "1" } + } + }, + "metadata": { "owner": "Synthetix Network Token" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-usdc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-usdc.json new file mode 100644 index 0000000..a5b6259 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-usdc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 10, "address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" }], + "domain": { "name": "USD Coin", "version": "2" } + } + }, + "metadata": { "owner": "USD Coin" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-usdt.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-usdt.json new file mode 100644 index 0000000..43239bc --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-usdt.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 10, "address": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58" }], + "domain": { "name": "Tether USD", "version": "1" } + } + }, + "metadata": { "owner": "Tether USD" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-velo.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-velo.json new file mode 100644 index 0000000..d808114 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-velo.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 10, "address": "0x9560e827aF36c94D2Ac33a39bCE1Fe78631088Db" }], + "domain": { "name": "VelodromeV2", "version": "1" } + } + }, + "metadata": { "owner": "VelodromeV2" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-wbtc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-wbtc.json new file mode 100644 index 0000000..a4c6d30 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-wbtc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 10, "address": "0x68f180fcCe6836688e9084f035309E29Bf0A2095" }], + "domain": { "name": "Wrapped BTC", "version": "1" } + } + }, + "metadata": { "owner": "Wrapped BTC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-wsteth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-wsteth.json new file mode 100644 index 0000000..f092fe4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-optimism-wsteth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 10, "address": "0x9cfB13E6c11054ac9fcB92BA89644F30775436e4" }], + "domain": { "name": "Wrapped stETH", "version": "1" } + } + }, + "metadata": { "owner": "Wrapped liquid staked Ether 2.0" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-aave-dai.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-aave-dai.json new file mode 100644 index 0000000..e589445 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-aave-dai.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0x27f8d03b3a2196956ed754badc28d73be8830a6e" }], + "domain": { "name": "Aave Matic Market DAI", "version": "1" } + } + }, + "metadata": { "owner": "Aave Matic Market DAI" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-aave-weth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-aave-weth.json new file mode 100644 index 0000000..77a5a79 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-aave-weth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0x28424507fefb6f7f8e9d3860f56504e4e5f5f390" }], + "domain": { "name": "Aave Matic Market WETH", "version": "1" } + } + }, + "metadata": { "owner": "Aave Matic Market WETH" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-bridged-usdc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-bridged-usdc.json new file mode 100644 index 0000000..2483176 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-bridged-usdc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174" }], + "domain": { "name": "USD Coin", "version": "2" } + } + }, + "metadata": { "owner": "USD Coin (PoS)" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-dai.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-dai.json new file mode 100644 index 0000000..c522023 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-dai.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063" }], + "domain": { "name": "Dai Stablecoin", "version": "1" } + } + }, + "metadata": { "owner": "(PoS) Dai Stablecoin" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-link.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-link.json new file mode 100644 index 0000000..ff8f422 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-link.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39" }], + "domain": { "name": "ChainLink Token", "version": "1" } + } + }, + "metadata": { "owner": "ChainLink Token" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-quick.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-quick.json new file mode 100644 index 0000000..163de6f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-quick.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0xB5C064F955D8e7F38fE0460C556a72987494eE17" }], + "domain": { "name": "Quickswap", "version": "1" } + } + }, + "metadata": { "owner": "QuickSwap" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-stmatic.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-stmatic.json new file mode 100644 index 0000000..594e53e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-stmatic.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4" }], + "domain": { "name": "stMATIC", "version": "1" } + } + }, + "metadata": { "owner": "Staked MATIC (PoS)" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-usdc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-usdc.json new file mode 100644 index 0000000..549e0e4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-usdc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" }], + "domain": { "name": "USD Coin", "version": "2" } + } + }, + "metadata": { "owner": "USDC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-usdt.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-usdt.json new file mode 100644 index 0000000..7158030 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-usdt.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" }], + "domain": { "name": "Tether USD", "version": "1" } + } + }, + "metadata": { "owner": "USDT" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-wbtc.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-wbtc.json new file mode 100644 index 0000000..ef8cf3d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-wbtc.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6" }], + "domain": { "name": "Wrapped BTC", "version": "1" } + } + }, + "metadata": { "owner": "WBTC" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-weth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-weth.json new file mode 100644 index 0000000..d88c15a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/eip712-permit-polygon-weth.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "../../ercs/eip712-erc2612-permit.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 137, "address": "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619" }], + "domain": { "name": "Wrapped Ether", "version": "1" } + } + }, + "metadata": { "owner": "WETH" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-arb.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-arb.tests.json new file mode 100644 index 0000000..a6ec4c4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-arb.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Arbitrum", "version": "1", "chainId": 42161, "verifyingContract": "0x912CE59144191C1204E64559FE8253A0E49E6548" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "2500000000000000000000", + "nonce": "7", + "deadline": "1776739200" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "2500 ARB", + "Valid until", + "2026-04-21 02:40:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-bridged-usdc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-bridged-usdc.tests.json new file mode 100644 index 0000000..28c80f1 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-bridged-usdc.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "USD Coin (Arb1)", + "version": "1", + "chainId": 42161, + "verifyingContract": "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "250000000", + "nonce": "12", + "deadline": "1785000000" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "250 USDC.e", + "Valid until", + "2026-07-25 05:20:00 PM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-dai.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-dai.tests.json new file mode 100644 index 0000000..1c8b940 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-dai.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Dai Stablecoin", + "version": "1", + "chainId": 42161, + "verifyingContract": "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "1500000000000000000000", + "nonce": "3", + "deadline": "1793472000" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "1500 DAI", + "Valid until", + "2026-10-31 06:40:00 PM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-gmx.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-gmx.tests.json new file mode 100644 index 0000000..f28e19b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-gmx.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "GMX", "version": "1", "chainId": 42161, "verifyingContract": "0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "150000000000000000000", + "nonce": "12", + "deadline": "1776739200" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "150 GMX", + "Valid until", + "2026-04-21 02:40:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-link.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-link.tests.json new file mode 100644 index 0000000..a20ba82 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-link.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "ChainLink Token", + "version": "1", + "chainId": 42161, + "verifyingContract": "0xf97f4df75117a78c1A5a0DBb814Af92458539FB4" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "25000000000000000000", + "nonce": "12", + "deadline": "1782777600" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "25 LINK", + "Valid until", + "2026-06-30 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-rdnt.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-rdnt.tests.json new file mode 100644 index 0000000..43ac3d8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-rdnt.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Radiant", "version": "1", "chainId": 42161, "verifyingContract": "0x3082CC23568eA640225c2467653dB90e9250AaA0" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x794a61358D6845594F94dc1DB02A252b5b4814aD", + "value": "2500000000000000000000", + "nonce": "7", + "deadline": "1776729600" + } + }, + "expectedTexts": [ + "Spender", + "0x794a61358D684559 4F94dc1DB02A252b5b 4814aD", + "Max spending amount", + "2500 RDNT", + "Valid until", + "2026-04-21 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usdc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usdc.tests.json new file mode 100644 index 0000000..20baa6c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usdc.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "USD Coin", "version": "2", "chainId": 42161, "verifyingContract": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "250000000", + "nonce": "7", + "deadline": "1780000000" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "250 USDC", + "Valid until", + "2026-05-28 08:26:40 PM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usds.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usds.tests.json new file mode 100644 index 0000000..bef436f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usds.tests.json @@ -0,0 +1,40 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Gains Network", + "version": "1", + "chainId": 42161, + "verifyingContract": "0x6491c05A82219b8D1479057361ff1654749b876b" + }, + "message": { + "owner": "0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826", + "spender": "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4", + "value": "2500000000000000000000", + "nonce": 12, + "deadline": 1781913600 + } + }, + "expectedTexts": ["Spender", "Max spending amount"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usdt.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usdt.tests.json new file mode 100644 index 0000000..d3f48ab --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-usdt.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Tether USD", + "version": "1", + "chainId": 42161, + "verifyingContract": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": 250000000, + "nonce": 12, + "deadline": 1798761600 + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "250 USDT", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-wbtc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-wbtc.tests.json new file mode 100644 index 0000000..f96ad9f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-wbtc.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Wrapped BTC", + "version": "1", + "chainId": 42161, + "verifyingContract": "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "25000000", + "nonce": "3", + "deadline": "1779475200" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "0.25 WBTC", + "Valid until", + "2026-05-22 06:40:00 PM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-weth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-weth.tests.json new file mode 100644 index 0000000..d186bc4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-weth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Wrapped Ether", + "version": "1", + "chainId": 42161, + "verifyingContract": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1" + }, + "message": { + "owner": "0xF977814e90dA44bFA03b6295A0616a897441aceC", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "250000000000000000", + "nonce": "7", + "deadline": "1798761600" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "0.25 WETH", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-wsteth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-wsteth.tests.json new file mode 100644 index 0000000..386fec8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-arbitrum-wsteth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Wrapped stETH", + "version": "1", + "chainId": 42161, + "verifyingContract": "0x9cfB13E6c11054ac9fcB92BA89644F30775436e4" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "value": "500000000000000000", + "nonce": "12", + "deadline": "1779494400" + } + }, + "expectedTexts": [ + "Spender", + "0x000000000022D473 030F116dDEE9F6B43a C78BA3", + "Max spending amount", + "0.5 axl-wstETH", + "Valid until", + "2026-05-23 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-joe.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-joe.tests.json new file mode 100644 index 0000000..5c53bba --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-joe.tests.json @@ -0,0 +1,35 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "JoeToken", "version": "1", "chainId": 43114, "verifyingContract": "0x6e84a6216eA6dACC71eE8E6b0a5B7322EEbC0fDd" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x60aE616a2155Ee3d9A68541Ba4544862310933d4", + "value": "2500000000000000000000", + "nonce": "7", + "deadline": "1789689600" + } + }, + "expectedTexts": ["Spender", "Max spending amount"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-link.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-link.tests.json new file mode 100644 index 0000000..13dbdc5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-link.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "ChainLink Token", + "version": "1", + "chainId": 43114, + "verifyingContract": "0x5947BB275c521040051D82396192181b413227A3" + }, + "message": { + "owner": "0xF977814e90dA44bFA03b6295A0616a897441aceC", + "spender": "0x60aE616a2155Ee3d9A68541Ba4544862310933d4", + "value": "150000000000000000000", + "nonce": "12", + "deadline": 1776816000 + } + }, + "expectedTexts": [ + "Spender", + "0x60aE616a2155Ee3d9 A68541Ba4544862310 933d4", + "Max spending amount", + "150 LINK_e", + "Valid until", + "2026-04-22 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-pangolin.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-pangolin.tests.json new file mode 100644 index 0000000..e78023a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-pangolin.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Pangolin", "version": "1", "chainId": 43114, "verifyingContract": "0x60781c2586d68229fde47564546784ab3faca982" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "500000000000000000000", + "nonce": "12", + "deadline": "1777689600" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "500 PNG", + "Valid until", + "2026-05-02 02:40:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-savax.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-savax.tests.json new file mode 100644 index 0000000..bea4de2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-savax.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "ERC20 Permit Token", + "version": "1", + "chainId": 43114, + "verifyingContract": "0x2b2C81e08f1Af8835a78Bb2A90AE924ACE0eA4bE" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "250000000000000000000", + "nonce": 7, + "deadline": 1777680000 + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "250 sAVAX", + "Valid until", + "2026-05-02 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-usdc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-usdc.tests.json new file mode 100644 index 0000000..8e33653 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-usdc.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "USD Coin", "version": "2", "chainId": 43114, "verifyingContract": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x60aE616a2155Ee3d9A68541Ba4544862310933d4", + "value": "2500000000", + "nonce": "7", + "deadline": "1776729600" + } + }, + "expectedTexts": [ + "Spender", + "0x60aE616a2155Ee3d9 A68541Ba4544862310 933d4", + "Max spending amount", + "2500 USDC", + "Valid until", + "2026-04-21 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-usdt.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-usdt.tests.json new file mode 100644 index 0000000..1903148 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-usdt.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Tether USD", + "version": "1", + "chainId": 43114, + "verifyingContract": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "2500000000", + "nonce": "3", + "deadline": "1798761600" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "2500 USDT", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-wbtc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-wbtc.tests.json new file mode 100644 index 0000000..9439ff4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-wbtc.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Bitcoin", "version": "1", "chainId": 43114, "verifyingContract": "0x152b9d0FdC40C096757F570A51E494bd4b943E50" }, + "message": { + "owner": "0x52908400098527886E0F7030069857D2E4169EE7", + "spender": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7", + "value": 2500000, + "nonce": 7, + "deadline": 1777000000 + } + }, + "expectedTexts": [ + "Spender", + "0x9702230A8Ea53601f 5cD2dc00fDBc13d4dF 4A8c7", + "Max spending amount", + "0.025 BTC_b", + "Valid until", + "2026-04-24 03:06:40 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-weth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-weth.tests.json new file mode 100644 index 0000000..e74088a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-weth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Wrapped Ether", + "version": "1", + "chainId": 43114, + "verifyingContract": "0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x111111125421cA6dC452d289314280a0f8842A65", + "value": "2500000000000000000", + "nonce": "7", + "deadline": "1776816000" + } + }, + "expectedTexts": [ + "Spender", + "0x111111125421cA6dc4 52d289314280a0f8842 A65", + "Max spending amount", + "2.5 WETH_e", + "Valid until", + "2026-04-22 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-yetiswap.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-yetiswap.tests.json new file mode 100644 index 0000000..a87d7af --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-avalanche_c_chain-yetiswap.tests.json @@ -0,0 +1,35 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Example", "version": "1", "chainId": 43114, "verifyingContract": "0x488f73cddda1de3664775ffd91623637383d6404" }, + "message": { + "owner": "0x1111111111111111111111111111111111111111", + "spender": "0x1111111111111111111111111111111111111111", + "value": "1000000000000000000", + "nonce": "1000000000000000000", + "deadline": "1000000000000000000" + } + }, + "expectedTexts": ["Spender", "Max spending amount"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-aero.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-aero.tests.json new file mode 100644 index 0000000..ae131ab --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-aero.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Aerodrome", "version": "1", "chainId": 8453, "verifyingContract": "0x940181a94A35A4569E4529A3CDfB74e38FD98631" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "value": "2500000000000000000000", + "nonce": "7", + "deadline": 1798761600 + } + }, + "expectedTexts": [ + "Spender", + "0x000000000022D473 030F116dDEE9F6B43a C78BA3", + "Max spending amount", + "2500 AERO", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-brett.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-brett.tests.json new file mode 100644 index 0000000..1989e26 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-brett.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Brett", "version": "1", "chainId": 8453, "verifyingContract": "0x532f27101965dd16442E59d40670FaF5eBB142E4" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "value": "250000000000000000000000", + "nonce": "12", + "deadline": "1782000000" + } + }, + "expectedTexts": [ + "Spender", + "0x000000000022D473 030F116dDEE9F6B43a C78BA3", + "Max spending amount", + "250000 BRETT", + "Valid until", + "2026-06-21 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-cbeth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-cbeth.tests.json new file mode 100644 index 0000000..089581e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-cbeth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Coinbase Wrapped Staked ETH", + "version": "1", + "chainId": 8453, + "verifyingContract": "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "value": "250000000000000000", + "nonce": "7", + "deadline": "1798761600" + } + }, + "expectedTexts": [ + "Spender", + "0x000000000022D473 030F116dDEE9F6B43a C78BA3", + "Max spending amount", + "0.25 cbETH", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-dai.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-dai.tests.json new file mode 100644 index 0000000..dd3f231 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-dai.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Dai Stablecoin", + "version": "1", + "chainId": 8453, + "verifyingContract": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "2500000000000000000000", + "nonce": "12", + "deadline": "1776810000" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "2500 DAI", + "Valid until", + "2026-04-21 10:20:00 PM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-degen.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-degen.tests.json new file mode 100644 index 0000000..02cfd3a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-degen.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Degen", "version": "1", "chainId": 8453, "verifyingContract": "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "value": "125000000000000000000000", + "nonce": "7", + "deadline": "1776816000" + } + }, + "expectedTexts": [ + "Spender", + "0x000000000022D473 030F116dDEE9F6B43a C78BA3", + "Max spending amount", + "125000 DEGEN", + "Valid until", + "2026-04-22 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-toshi.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-toshi.tests.json new file mode 100644 index 0000000..654e8c4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-toshi.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Toshi", "version": "1", "chainId": 8453, "verifyingContract": "0xAC1Bd2486aAf3B5C0fc3Fd868558b082a531B2B4" }, + "message": { + "owner": "0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826", + "spender": "0x52908400098527886E0F7030069857D2E4169EE7", + "value": "1500000000000000000000", + "nonce": 12, + "deadline": 1798761600 + } + }, + "expectedTexts": [ + "Spender", + "0x5290840009852788 6E0F7030069857D2E4 169EE7", + "Max spending amount", + "1500 TOSHI", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usdc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usdc.tests.json new file mode 100644 index 0000000..f9bb3f4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usdc.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "USD Coin", "version": "2", "chainId": 8453, "verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "250000000", + "nonce": "7", + "deadline": "1798761600" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "250 USDC", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usds.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usds.tests.json new file mode 100644 index 0000000..15b8df8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usds.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "USDS Stablecoin", + "version": "1", + "chainId": 8453, + "verifyingContract": "0x820C137fa70C8691f0e44Dc420a5e53c168921Dc" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "1500000000000000000000", + "nonce": "7", + "deadline": "1798761600" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "1500 USDS", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usdt.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usdt.tests.json new file mode 100644 index 0000000..030987e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-usdt.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "ERC20 Permit Token", + "version": "1", + "chainId": 8453, + "verifyingContract": "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "2500000000000000000", + "nonce": 7, + "deadline": 1798761600 + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "2500000000000 USDT", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-wsteth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-wsteth.tests.json new file mode 100644 index 0000000..9acdf42 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-base-wsteth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Wrapped liquid staked Ether 2.0", + "version": "1", + "chainId": 8453, + "verifyingContract": "0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x2626664c2603336E57B271c5C0b26F421741e481", + "value": "250000000000000000", + "nonce": "7", + "deadline": "1782000000" + } + }, + "expectedTexts": [ + "Spender", + "0x2626664c2603336E 57B271c5C0b26F42174 1e481", + "Max spending amount", + "0.25 wstETH", + "Valid until", + "2026-06-21 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-1inch-token.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-1inch-token.tests.json new file mode 100644 index 0000000..da1f2e4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-1inch-token.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "1INCH Token", "version": "1", "chainId": 56, "verifyingContract": "0x111111111117dC0aa78b770fA6A738034120C302" }, + "message": { + "owner": "0xF977814e90dA44bFA03b6295A0616a897441aceC", + "spender": "0x10ED43C718714eb63d5aA57B78B54704E256024E", + "value": "250000000000000000000", + "nonce": 7, + "deadline": 1776729600 + } + }, + "expectedTexts": [ + "Spender", + "0x10ED43C718714eb6 3d5aA57B78B54704E2 56024E", + "Max spending amount", + "250 1INCH", + "Valid until", + "2026-04-21 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-cake.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-cake.tests.json new file mode 100644 index 0000000..520254f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-cake.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "PancakeSwap Token", + "version": "1", + "chainId": 56, + "verifyingContract": "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x10ED43C718714eb63d5aA57B78B54704E256024E", + "value": "25000000000000000000", + "nonce": "12", + "deadline": "1782864000" + } + }, + "expectedTexts": [ + "Spender", + "0x10ED43C718714eb6 3d5aA57B78B54704E2 56024E", + "Max spending amount", + "25 Cake", + "Valid until", + "2026-07-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-eth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-eth.tests.json new file mode 100644 index 0000000..4260bec --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-eth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Ethereum Token", + "version": "1", + "chainId": 56, + "verifyingContract": "0x2170Ed0880ac9A755fd29B2688956BD959F933F8" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x10ED43C718714eb63d5aA57B78B54704E256024E", + "value": "500000000000000000", + "nonce": "7", + "deadline": "1776811425" + } + }, + "expectedTexts": [ + "Spender", + "0x10ED43C718714eb6 3d5aA57B78B54704E2 56024E", + "Max spending amount", + "0.5 ETH", + "Valid until", + "2026-04-21 10:43:45 PM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-polkastarter-token.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-polkastarter-token.tests.json new file mode 100644 index 0000000..472d645 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-polkastarter-token.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "PolkastarterToken", + "version": "1", + "chainId": 56, + "verifyingContract": "0x7e624FA0E1c4AbFD309cC15719b7E2580887f570" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x10ED43C718714eb63d5aA57B78B54704E256024E", + "value": "2500000000000000000000", + "nonce": 12, + "deadline": 1799999999 + } + }, + "expectedTexts": [ + "Spender", + "0x10ED43C718714eb6 3d5aA57B78B54704E2 56024E", + "Max spending amount", + "2500 POLS", + "Valid until", + "2027-01-15 07:59:59 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-usdc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-usdc.tests.json new file mode 100644 index 0000000..d00b811 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-bsc-usdc.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "USD Coin", "version": "2", "chainId": 56, "verifyingContract": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x10ED43C718714eb63d5aA57B78B54704E256024E", + "value": "25000000000000000000", + "nonce": "7", + "deadline": "1782864000" + } + }, + "expectedTexts": [ + "Spender", + "0x10ED43C718714eb6 3d5aA57B78B54704E2 56024E", + "Max spending amount", + "25 USDC", + "Valid until", + "2026-07-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-aave.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-aave.tests.json new file mode 100644 index 0000000..573358c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-aave.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Aave Token", "version": "1", "chainId": 1, "verifyingContract": "0x7Fc66500c84A76Ad7e9C93437bFc5Ac33E2DdAe9" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "25000000000000000000", + "nonce": "3", + "deadline": "1798761600" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "25 AAVE", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-dai.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-dai.tests.json new file mode 100644 index 0000000..6860c57 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-dai.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Dai Stablecoin", + "version": "1", + "chainId": 1, + "verifyingContract": "0x6B175474E89094C44Da98b954EedeAC495271d0F" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D", + "value": "2500000000000000000000", + "nonce": "12", + "deadline": "1798761600" + } + }, + "expectedTexts": [ + "Spender", + "0x7a250d5630B4cF53 9739dF2C5dAcb4c659 F2488D", + "Max spending amount", + "2500 DAI", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-lido-steth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-lido-steth.tests.json new file mode 100644 index 0000000..c27891f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-lido-steth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Liquid staked Ether 2.0", + "version": "2", + "chainId": 1, + "verifyingContract": "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "2000000000000000000", + "nonce": "7", + "deadline": "1780000000" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "2 stETH", + "Valid until", + "2026-05-28 08:26:40 PM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-lido-wsteth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-lido-wsteth.tests.json new file mode 100644 index 0000000..715844c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-lido-wsteth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Wrapped liquid staked Ether 2.0", + "version": "1", + "chainId": 1, + "verifyingContract": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x111111125421cA6dc452d289314280a0f8842A65", + "value": "500000000000000000", + "nonce": "7", + "deadline": "1798761600" + } + }, + "expectedTexts": [ + "Spender", + "0x111111125421cA6dc4 52d289314280a0f8842 A65", + "Max spending amount", + "0.5 wstETH", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-link.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-link.tests.json new file mode 100644 index 0000000..9de1791 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-link.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "ChainLink Token", + "version": "1", + "chainId": 1, + "verifyingContract": "0x514910771AF9Ca656af840dff83E8264EcF986CA" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "250000000000000000000", + "nonce": "7", + "deadline": "1774216522" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "250 LINK", + "Valid until", + "2026-03-22 09:55:22 PM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-usdc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-usdc.tests.json new file mode 100644 index 0000000..a4a616b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-usdc.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "USD Coin", "version": "2", "chainId": 1, "verifyingContract": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": 2500000000, + "nonce": 12, + "deadline": 1782864000 + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "2500 USDC", + "Valid until", + "2026-07-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-usds.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-usds.tests.json new file mode 100644 index 0000000..ae4e0ce --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-ethereum-usds.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Clear Signing Token", + "version": "1", + "chainId": 1, + "verifyingContract": "0xdC035D45d973E3EC169d2276DDab16f1e407384F" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "value": "100000000000000000000", + "nonce": "12", + "deadline": "1779321600" + } + }, + "expectedTexts": [ + "Spender", + "0x000000000022D473 030F116dDEE9F6B43a C78BA3", + "Max spending amount", + "100 USDS", + "Valid until", + "2026-05-21 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-fantom-mimatic.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-fantom-mimatic.tests.json new file mode 100644 index 0000000..ddc2fb5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-fantom-mimatic.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Beefy", "version": "1", "chainId": 250, "verifyingContract": "0xfb98b335551a418cd0737375a2ea0ded62ea213b" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "2500000000000000000000", + "nonce": "7", + "deadline": "1793472000" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "2500 miMATIC", + "Valid until", + "2026-10-31 06:40:00 PM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-fantom-wootrade.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-fantom-wootrade.tests.json new file mode 100644 index 0000000..a7b65f8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-fantom-wootrade.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Geist Finance", + "version": "1", + "chainId": 250, + "verifyingContract": "0x6626c47c00f1d87902fc13eecfac3ed06d5e8d8a" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xF491e7B69E4244ad4002BC14e878a34207E38c29", + "value": "250000000000000000000", + "nonce": 7, + "deadline": 1781913600 + } + }, + "expectedTexts": [ + "Spender", + "0xF491e7B69E4244ad 4002BC14e878a34207 E38c29", + "Max spending amount", + "250 WOO", + "Valid until", + "2026-06-20 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-dai.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-dai.tests.json new file mode 100644 index 0000000..8141ae0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-dai.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Dai Stablecoin", + "version": "1", + "chainId": 59144, + "verifyingContract": "0x4AF15ec2A0BD43Db75dd04E62FAA3B8EF36b00d5" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "250000000000000000000", + "nonce": 12, + "deadline": 1776729600 + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "250 DAI", + "Valid until", + "2026-04-21 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-frax.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-frax.tests.json new file mode 100644 index 0000000..826c6da --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-frax.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Frax USD", + "version": "1.1.0", + "chainId": 59144, + "verifyingContract": "0xc7346783f5e645aa998b106ef9e7f499528673d8" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "2500000000000000000000", + "nonce": 7, + "deadline": 1798761600 + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "2500 frxUSD", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-lusd.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-lusd.tests.json new file mode 100644 index 0000000..1e24cb4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-lusd.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Axelar Wrapped USDC", + "version": "1", + "chainId": 59144, + "verifyingContract": "0xEB466342C4d449BC9f53A865D5Cb90586f405215" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x111111125421cA6dc452d289314280a0f8842A65", + "value": 250000000, + "nonce": 7, + "deadline": 1779494400 + } + }, + "expectedTexts": [ + "Spender", + "0x111111125421cA6dc4 52d289314280a0f8842 A65", + "Max spending amount", + "250 axlUSDC", + "Valid until", + "2026-05-23 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-usdc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-usdc.tests.json new file mode 100644 index 0000000..57536c5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-usdc.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "USD Coin", "version": "1", "chainId": 59144, "verifyingContract": "0x176211869cA2b568f2A7D4EE941E073a821EE1ff" }, + "message": { + "owner": "0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826", + "spender": "0x8617E340B3D01FA5F11F306F4090FD50E238070D", + "value": "250000000", + "nonce": "12", + "deadline": "1776729600" + } + }, + "expectedTexts": [ + "Spender", + "0x8617E340B3D01FA5 F11F306F4090FD50E2 38070D", + "Max spending amount", + "250 USDC", + "Valid until", + "2026-04-21 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-usdt.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-usdt.tests.json new file mode 100644 index 0000000..704f696 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-usdt.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Tether USD", + "version": "2", + "chainId": 59144, + "verifyingContract": "0xA219439258ca9da29E9Cc4cE5596924745e12B93" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": 250000000, + "nonce": 12, + "deadline": 1776816000 + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "250 USDT", + "Valid until", + "2026-04-22 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-wbtc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-wbtc.tests.json new file mode 100644 index 0000000..5a0386a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-wbtc.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Wrapped BTC", + "version": "1", + "chainId": 59144, + "verifyingContract": "0x3aAB2285ddcDdaD8edf438C1bAB47e1a9D05a9b4" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": 12500000, + "nonce": 12, + "deadline": 1776816000 + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "0.125 WBTC", + "Valid until", + "2026-04-22 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-weth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-weth.tests.json new file mode 100644 index 0000000..b2ce784 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-weth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Wrapped Ether", + "version": "1", + "chainId": 59144, + "verifyingContract": "0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f" + }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": 5000000000000000, + "nonce": 9, + "deadline": 1776816000 + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "0.005 WETH", + "Valid until", + "2026-04-22 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-wsteth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-wsteth.tests.json new file mode 100644 index 0000000..2a9492c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-linea-wsteth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Wrapped liquid staked Ether 2.0", + "version": "1", + "chainId": 59144, + "verifyingContract": "0xB5beDd42000b71FddE22D3eE8a79Bd49A568fC8F" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "750000000000000000", + "nonce": "12", + "deadline": "1782691200" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "0.75 wstETH", + "Valid until", + "2026-06-29 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-bob.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-bob.tests.json new file mode 100644 index 0000000..734e098 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-bob.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Sonne", "version": "1", "chainId": 10, "verifyingContract": "0xb0b195aefa3650a6908f15cdac7d92f8a5791b0b" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "50000000000000000000", + "nonce": 3, + "deadline": 1775000000 + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "50 BOB", + "Valid until", + "2026-03-31 11:33:20 PM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-dai.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-dai.tests.json new file mode 100644 index 0000000..6dbb02e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-dai.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Dai Stablecoin", + "version": "1", + "chainId": 10, + "verifyingContract": "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "2500000000000000000000", + "nonce": "7", + "deadline": "1776748800" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "2500 DAI", + "Valid until", + "2026-04-21 05:20:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-lusd.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-lusd.tests.json new file mode 100644 index 0000000..c4fd6fe --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-lusd.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "LUSD Stablecoin", + "version": "1", + "chainId": 10, + "verifyingContract": "0xc40F949F8a4e094D1b49a23ea9241D289B7b2819" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "1000000000000000000000", + "nonce": "7", + "deadline": "1777000000" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "1000 LUSD", + "Valid until", + "2026-04-24 03:06:40 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-op.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-op.tests.json new file mode 100644 index 0000000..af064ef --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-op.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Optimism", "version": "1", "chainId": 10, "verifyingContract": "0x4200000000000000000000000000000000000042" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "250000000000000000000", + "nonce": "7", + "deadline": "1775001600" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "250 OP", + "Valid until", + "2026-04-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-snx.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-snx.tests.json new file mode 100644 index 0000000..34403f3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-snx.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Synthetix Network Token", + "version": "1", + "chainId": 10, + "verifyingContract": "0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "value": "250000000000000000000", + "nonce": "7", + "deadline": "1776816000" + } + }, + "expectedTexts": [ + "Spender", + "0x68b3465833fb72A7 0ecDF485E0e4C7bD86 65Fc45", + "Max spending amount", + "250 SNX", + "Valid until", + "2026-04-22 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-usdc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-usdc.tests.json new file mode 100644 index 0000000..ea32c00 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-usdc.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "USD Coin", "version": "2", "chainId": 10, "verifyingContract": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "250000000", + "nonce": "12", + "deadline": "1776748800" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "250 USDC", + "Valid until", + "2026-04-21 05:20:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-usdt.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-usdt.tests.json new file mode 100644 index 0000000..535d7c3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-usdt.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Tether USD", "version": "1", "chainId": 10, "verifyingContract": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "250000000", + "nonce": "12", + "deadline": "1780000000" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "250 USDT", + "Valid until", + "2026-05-28 08:26:40 PM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-velo.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-velo.tests.json new file mode 100644 index 0000000..825c457 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-velo.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "VelodromeV2", "version": "1", "chainId": 10, "verifyingContract": "0x9560e827aF36c94D2Ac33a39bCE1Fe78631088Db" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "2500000000000000000000", + "nonce": "7", + "deadline": "1776816000" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "2500 VELO", + "Valid until", + "2026-04-22 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-wbtc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-wbtc.tests.json new file mode 100644 index 0000000..1ea38ee --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-wbtc.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Wrapped BTC", "version": "1", "chainId": 10, "verifyingContract": "0x68f180fcCe6836688e9084f035309E29Bf0A2095" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": 15000000, + "nonce": 2, + "deadline": 1798761600 + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "0.15 WBTC", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-wsteth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-wsteth.tests.json new file mode 100644 index 0000000..da7e2c2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-optimism-wsteth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Wrapped stETH", + "version": "1", + "chainId": 10, + "verifyingContract": "0x9cfB13E6c11054ac9fcB92BA89644F30775436e4" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "value": "500000000000000000", + "nonce": "12", + "deadline": "1779494400" + } + }, + "expectedTexts": [ + "Spender", + "0x000000000022D473 030F116dDEE9F6B43a C78BA3", + "Max spending amount", + "0.5 axl-wstETH", + "Valid until", + "2026-05-23 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-aave-dai.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-aave-dai.tests.json new file mode 100644 index 0000000..f7245ed --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-aave-dai.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Aave Matic Market DAI", + "version": "1", + "chainId": 137, + "verifyingContract": "0x27f8d03b3a2196956ed754badc28d73be8830a6e" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "2500000000000000000000", + "nonce": "7", + "deadline": "1782864000" + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "2500 amDAI", + "Valid until", + "2026-07-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-aave-weth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-aave-weth.tests.json new file mode 100644 index 0000000..836c41b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-aave-weth.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Example", "version": "1", "chainId": 137, "verifyingContract": "0x28424507fefb6f7f8e9d3860f56504e4e5f5f390" }, + "message": { + "owner": "0x1111111111111111111111111111111111111111", + "spender": "0x1111111111111111111111111111111111111111", + "value": "1000000000000000000", + "nonce": "1000000000000000000", + "deadline": "1000000000000000000" + } + }, + "expectedTexts": [ + "Spender", + "0x111111111111111111111 1111111111111111111", + "Max spending amount", + "1 amWETH", + "Valid until", + "-2360266-12-03 01:46:40 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-bridged-usdc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-bridged-usdc.tests.json new file mode 100644 index 0000000..66afdc1 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-bridged-usdc.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "USD Coin (PoS)", + "version": "1", + "chainId": 137, + "verifyingContract": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174" + }, + "message": { + "owner": "0x52908400098527886E0F7030069857D2E4169EE7", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "250000000", + "nonce": 12, + "deadline": 1779331200 + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "250 USDC", + "Valid until", + "2026-05-21 02:40:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-dai.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-dai.tests.json new file mode 100644 index 0000000..bcb70a4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-dai.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Dai Stablecoin", + "version": "1", + "chainId": 137, + "verifyingContract": "0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "2500000000000000000000", + "nonce": "12", + "deadline": "1789699200" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "2500 DAI", + "Valid until", + "2026-09-18 02:40:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-link.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-link.tests.json new file mode 100644 index 0000000..56169fb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-link.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "ChainLink Token", + "version": "1", + "chainId": 137, + "verifyingContract": "0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "value": "250000000000000000000", + "nonce": 7, + "deadline": 1782864000 + } + }, + "expectedTexts": [ + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Max spending amount", + "250 LINK", + "Valid until", + "2026-07-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-quick.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-quick.tests.json new file mode 100644 index 0000000..0990563 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-quick.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Clear Signing ERC20", + "version": "1", + "chainId": 137, + "verifyingContract": "0xB5C064F955D8e7F38fE0460C556a72987494eE17" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "2500000000000000000000", + "nonce": 7, + "deadline": 1776729600 + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "2500 QUICK", + "Valid until", + "2026-04-21 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-stmatic.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-stmatic.tests.json new file mode 100644 index 0000000..6063a6d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-stmatic.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "stMATIC", "version": "1", "chainId": 137, "verifyingContract": "0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "5000000000000000000", + "nonce": 3, + "deadline": 1782864000 + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "5 stMATIC", + "Valid until", + "2026-07-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-usdc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-usdc.tests.json new file mode 100644 index 0000000..f79b638 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-usdc.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "USD Coin", "version": "2", "chainId": 137, "verifyingContract": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "value": "250000000", + "nonce": "7", + "deadline": "1779321600" + } + }, + "expectedTexts": [ + "Spender", + "0x68b3465833fb72A7 0ecDF485E0e4C7bD86 65Fc45", + "Max spending amount", + "250 USDC", + "Valid until", + "2026-05-21 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-usdt.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-usdt.tests.json new file mode 100644 index 0000000..09ad74c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-usdt.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "(PoS) Tether USD", + "version": "1", + "chainId": 137, + "verifyingContract": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "250000000", + "nonce": "12", + "deadline": "1785369600" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "250 USDT", + "Valid until", + "2026-07-30 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-wbtc.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-wbtc.tests.json new file mode 100644 index 0000000..0a5f210 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-wbtc.tests.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { "name": "Wrapped BTC", "version": "1", "chainId": 137, "verifyingContract": "0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6" }, + "message": { + "owner": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "25000000", + "nonce": "7", + "deadline": "1798761600" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "0.25 WBTC", + "Valid until", + "2027-01-01 12:00:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-weth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-weth.tests.json new file mode 100644 index 0000000..cc38112 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/permit/tests/eip712-permit-polygon-weth.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Permit": [ + { "name": "owner", "type": "address" }, + { "name": "spender", "type": "address" }, + { "name": "value", "type": "uint256" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" } + ] + }, + "primaryType": "Permit", + "domain": { + "name": "Wrapped Ether", + "version": "1", + "chainId": 137, + "verifyingContract": "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619" + }, + "message": { + "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "spender": "0x1111111254EEB25477B68fb85Ed929f73A960582", + "value": "500000000000000000", + "nonce": "7", + "deadline": "1772448000" + } + }, + "expectedTexts": [ + "Spender", + "0x1111111254EEB25477 B68fb85Ed929f73A960 582", + "Max spending amount", + "0.5 WETH", + "Valid until", + "2026-03-02 10:40:00 AM UTC" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/poap/calldata-PoapBridge.json b/crates/clear-signing/src/assets/registry-snapshot/registry/poap/calldata-PoapBridge.json new file mode 100644 index 0000000..98bff04 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/poap/calldata-PoapBridge.json @@ -0,0 +1,27 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x0bb4D3e88243F4A057Db77341e6916B0e449b158" }] } }, + "metadata": { "owner": "Proof of Attendance Protocol", "info": { "url": "https://poap.xyz/" } }, + "display": { + "formats": { + "mintToken(uint256 eventId, uint256 tokenId, address receiver, uint256 expirationTime, bytes signature)": { + "$id": "mintToken", + "intent": "Mint POAP", + "fields": [ + { "label": "Token Id", "format": "raw", "path": "#.tokenId", "visible": "always" }, + { + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"] }, + "path": "#.receiver", + "visible": "always" + }, + { "label": "Expiration Time", "format": "date", "params": { "encoding": "timestamp" }, "path": "#.expirationTime" }, + { "path": "@.value", "label": "Migration Fee", "format": "amount" }, + { "label": "Event Id", "path": "#.eventId", "visible": "never" }, + { "label": "Signature", "path": "#.signature", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/poap/tests/calldata-PoapBridge.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/poap/tests/calldata-PoapBridge.tests.json new file mode 100644 index 0000000..5713476 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/poap/tests/calldata-PoapBridge.tests.json @@ -0,0 +1,23 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Mint POAP token", + "rawTx": "0x02f9019101698477359400847d33886e830493e0940bb4d3e88243f4a057db77341e6916b0e449b15880b90124af68b302000000000000000000000000000000000000000000000000000000000000022900000000000000000000000000000000000000000000000000000000000089b900000000000000000000000078d54d36e108b361a0f1a7010e8b29ccfa33dec7000000000000000000000000000000000000000000000000000000006961104300000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000041d97de230c0e8ac3bd72f346729d672b10e7a6d8df616fdeae938b02cd2c98fae066fd70be75e3e6adaf9bf5586bf5c8d2a90e0c649f345a1ca789bd67dd701de1b00000000000000000000000000000000000000000000000000000000000000c080a0b8058a1414cbef641249de486b10c7a11c99a3c0684c817793152895fbc5d666a0596e898b6d3d8ec798b3561bae4badeb21675b9533963320ba1984838bb6ee5e", + "expectedTexts": [ + "Interaction with", + "POAP", + "Token Id", + "35257", + "Receiver", + "0x78D54D36E108B361 A0f1A7010e8B29CCfA3 3dEc7", + "Expiration Time", + "2026-01-09 02:27:15 PM UTC", + "Migration Fee", + "0 ETH", + "Max fees", + "0.0006301587786 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/quickswap/calldata-QuickSwap.json b/crates/clear-signing/src/assets/registry-snapshot/registry/quickswap/calldata-QuickSwap.json new file mode 100644 index 0000000..478ebfa --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/quickswap/calldata-QuickSwap.json @@ -0,0 +1,403 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "QuickSwap", + "contract": { "deployments": [{ "chainId": 137, "address": "0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff" }] } + }, + "metadata": { + "owner": "QuickSwap", + "info": { "deploymentDate": "2020-09-25T10:52:01Z", "url": "https://quickswap.exchange" }, + "contractName": "QuickSwap" + }, + "display": { + "formats": { + "swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline)": { + "$id": "swapExactTokensForTokens", + "intent": "Swap", + "fields": [ + { + "path": "amountIn", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "path.[0]" }, + "visible": "always" + }, + { + "path": "amountOutMin", + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "path.[-1]" }, + "visible": "always" + }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "swapExactTokensForETH(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline)": { + "$id": "swapExactTokensForETH", + "intent": "Swap", + "fields": [ + { + "path": "amountIn", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "path.[0]" }, + "visible": "always" + }, + { "path": "amountOutMin", "label": "Minimum to Receive", "format": "amount", "visible": "always" }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "swapExactETHForTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline)": { + "$id": "swapExactETHForTokens", + "intent": "Swap", + "fields": [ + { "path": "@.value", "label": "Amount to Send", "format": "amount" }, + { + "path": "amountOutMin", + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "path.[-1]" }, + "visible": "always" + }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline)": { + "$id": "swapTokensForExactTokens", + "intent": "Swap", + "fields": [ + { + "path": "amountOut", + "label": "Amount to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "path.[-1]" }, + "visible": "always" + }, + { + "path": "amountInMax", + "label": "Maximum to Send", + "format": "tokenAmount", + "params": { "tokenPath": "path.[0]" }, + "visible": "always" + }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline)": { + "$id": "swapExactTokensForTokensSupportingFeeOnTransferTokens", + "intent": "Swap", + "fields": [ + { + "path": "amountIn", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "path.[0]" }, + "visible": "always" + }, + { + "path": "amountOutMin", + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "path.[-1]" }, + "visible": "always" + }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "swapTokensForExactETH(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline)": { + "$id": "swapTokensForExactETH", + "intent": "Swap", + "fields": [ + { "path": "amountOut", "label": "Amount to Receive", "format": "amount", "visible": "always" }, + { + "path": "amountInMax", + "label": "Maximum to Send", + "format": "tokenAmount", + "params": { "tokenPath": "path.[0]" }, + "visible": "always" + }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline)": { + "$id": "swapExactETHForTokensSupportingFeeOnTransferTokens", + "intent": "Swap", + "fields": [ + { "path": "@.value", "label": "Amount to Send", "format": "amount" }, + { + "path": "amountOutMin", + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "path.[-1]" }, + "visible": "always" + }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline)": { + "$id": "addLiquidity", + "intent": "Add Liquidity", + "fields": [ + { + "path": "amountADesired", + "label": "Desired amount", + "format": "tokenAmount", + "params": { "tokenPath": "tokenA" }, + "visible": "always" + }, + { + "path": "amountAMin", + "label": "Minimum amount", + "format": "tokenAmount", + "params": { "tokenPath": "tokenA" }, + "visible": "always" + }, + { + "path": "amountBDesired", + "label": "Desired amount", + "format": "tokenAmount", + "params": { "tokenPath": "tokenB" }, + "visible": "always" + }, + { + "path": "amountBMin", + "label": "Minimum amount", + "format": "tokenAmount", + "params": { "tokenPath": "tokenB" }, + "visible": "always" + }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline)": { + "$id": "addLiquidityETH", + "intent": "Add Liquidity", + "fields": [ + { + "path": "amountTokenDesired", + "label": "Desired amount", + "format": "tokenAmount", + "params": { "tokenPath": "token" }, + "visible": "always" + }, + { + "path": "amountTokenMin", + "label": "Minimum amount", + "format": "tokenAmount", + "params": { "tokenPath": "token" }, + "visible": "always" + }, + { "path": "amountETHMin", "label": "Minimum amount", "format": "amount", "visible": "always" }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "removeLiquidity(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline)": { + "$id": "removeLiquidity", + "intent": "Remove Liquidity", + "fields": [ + { + "path": "amountAMin", + "label": "Minimum amount", + "format": "tokenAmount", + "params": { "tokenPath": "tokenA" }, + "visible": "always" + }, + { + "path": "amountBMin", + "label": "Minimum amount", + "format": "tokenAmount", + "params": { "tokenPath": "tokenB" }, + "visible": "always" + }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "removeLiquidityETH(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline)": { + "$id": "removeLiquidityETH", + "intent": "Remove Liquidity", + "fields": [ + { + "path": "amountTokenMin", + "label": "Minimum amount", + "format": "tokenAmount", + "params": { "tokenPath": "token" }, + "visible": "always" + }, + { "path": "amountETHMin", "label": "Minimum amount", "format": "amount", "visible": "always" }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "removeLiquidityWithPermit(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s)": { + "$id": "removeLiquidityWithPermit", + "intent": "Remove Liquidity", + "fields": [ + { + "path": "amountAMin", + "label": "Minimum amount", + "format": "tokenAmount", + "params": { "tokenPath": "tokenA" }, + "visible": "always" + }, + { + "path": "amountBMin", + "label": "Minimum amount", + "format": "tokenAmount", + "params": { "tokenPath": "tokenB" }, + "visible": "always" + }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "removeLiquidityETHWithPermit(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s)": { + "$id": "removeLiquidityETHWithPermit", + "intent": "Remove Liquidity", + "fields": [ + { + "path": "amountTokenMin", + "label": "Minimum amount", + "format": "tokenAmount", + "params": { "tokenPath": "token" }, + "visible": "always" + }, + { "path": "amountETHMin", "label": "Minimum amount", "format": "amount", "visible": "always" }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "removeLiquidityETHSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline)": { + "$id": "removeLiquidityETHSupportingFeeOnTransferTokens", + "intent": "Remove Liquidity", + "fields": [ + { + "path": "amountTokenMin", + "label": "Minimum amount", + "format": "tokenAmount", + "params": { "tokenPath": "token" }, + "visible": "always" + }, + { "path": "amountETHMin", "label": "Minimum amount", "format": "amount", "visible": "always" }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + }, + "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s)": { + "$id": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", + "intent": "Remove Liquidity", + "fields": [ + { + "path": "amountTokenMin", + "label": "Minimum amount", + "format": "tokenAmount", + "params": { "tokenPath": "token" }, + "visible": "always" + }, + { "path": "amountETHMin", "label": "Minimum amount", "format": "amount", "visible": "always" }, + { + "path": "to", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { "path": "deadline", "label": "Deadline", "format": "date", "params": { "encoding": "timestamp" } } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-erc-1155.json b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-erc-1155.json new file mode 100644 index 0000000..b135f52 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-erc-1155.json @@ -0,0 +1,26 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0xb66a603f4cfe17e3d27b87a8bfcad319856518b8" }], + "domain": { "name": "Rarible", "version": "2" } + } + }, + "metadata": { "owner": "Rarible ERC-1155 Collection" }, + "display": { + "formats": { + "Mint1155(uint256 tokenId,uint256 supply,string tokenURI,Part[] creators,Part[] royalties)Part(address account,uint96 value)": { + "intent": "Lazy Mint ERC-1155", + "fields": [ + { "path": "tokenId", "label": "Token ID", "format": "raw" }, + { "path": "tokenURI", "label": "Token URI", "format": "raw" }, + { "path": "supply", "label": "Token Supply", "format": "raw" }, + { "path": "creators.[].account", "label": "Creator account address", "format": "raw" }, + { "path": "creators.[].value", "label": "Creator value (10000 = 100%)", "format": "raw" }, + { "path": "royalties.[].account", "label": "Royalties account address", "format": "raw" }, + { "path": "royalties.[].value", "label": "Royalties value (10000 = 100%)", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-erc-721.json b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-erc-721.json new file mode 100644 index 0000000..2426309 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-erc-721.json @@ -0,0 +1,25 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0xc9154424b823b10579895ccbe442d41b9abd96ed" }], + "domain": { "name": "Rarible", "version": "2" } + } + }, + "metadata": { "owner": "Rarible ERC-721 Collection" }, + "display": { + "formats": { + "Mint721(uint256 tokenId,string tokenURI,Part[] creators,Part[] royalties)Part(address account,uint96 value)": { + "intent": "Lazy Mint ERC-721", + "fields": [ + { "path": "tokenId", "label": "Token ID", "format": "raw" }, + { "path": "tokenURI", "label": "Token URI", "format": "raw" }, + { "path": "creators.[].account", "label": "Creator account address", "format": "raw" }, + { "path": "creators.[].value", "label": "Creator value (10000 = 100%)", "format": "raw" }, + { "path": "royalties.[].account", "label": "Royalties account address", "format": "raw" }, + { "path": "royalties.[].value", "label": "Royalties value (10000 = 100%)", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-v2-meta-tx.json b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-v2-meta-tx.json new file mode 100644 index 0000000..357845a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-v2-meta-tx.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [ + { "chainId": 137, "address": "0x7f19564c35c681099c0c857a7141836cf7edaa53" } + ], + "domain": { "name": "Rarible" }, + "schemas": [ + { + "primaryType": "MetaTransaction", + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "verifyingContract", "type": "address" }, + { "name": "salt", "type": "bytes32" } + ], + "MetaTransaction": [ + { "name": "nonce", "type": "uint256" }, + { "name": "from", "type": "address" }, + { "name": "functionSignature", "type": "bytes" } + ] + } + } + ] + } + }, + "metadata": { "owner": "Rarible ExchangeV2" }, + "display": { + "formats": { + "MetaTransaction(uint256 nonce,address from,bytes functionSignature)": { + "intent": "Meta Transaction", + "fields": [ + { "path": "from", "label": "User Address", "format": "raw" }, + { "path": "nonce", "label": "Meta Transaction Nonce", "format": "raw" }, + { "label": "Function Signature", "path": "functionSignature", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-v2.json b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-v2.json new file mode 100644 index 0000000..4e2a6a3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-v2.json @@ -0,0 +1,35 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0x9757f2d2b135150bbeb65308d4a91804107cd8d6" }, + { "chainId": 137, "address": "0x7f19564c35c681099c0c857a7141836cf7edaa53" } + ], + "domain": { "name": "Rarible", "version": "2" } + } + }, + "metadata": { "owner": "Rarible ExchangeV2" }, + "display": { + "formats": { + "Order(address maker,Asset makeAsset,address taker,Asset takeAsset,uint256 salt,uint256 start,uint256 end,bytes4 dataType,bytes data)Asset(AssetType assetType,uint256 value)AssetType(bytes4 assetClass,bytes data)": { + "intent": "List Order", + "fields": [ + { "path": "maker", "label": "Order maker address", "format": "raw" }, + { "path": "makeAsset.value", "label": "Order make asset value", "format": "raw" }, + { "path": "taker", "label": "Order taker address", "format": "raw" }, + { "path": "takeAsset.value", "label": "Order take asset value", "format": "raw" }, + { "path": "start", "label": "Order start time", "format": "raw" }, + { "path": "end", "label": "Order end time", "format": "raw" }, + { "label": "Make Asset Asset Type Asset Class", "path": "makeAsset.assetType.assetClass", "visible": "never" }, + { "label": "Data Type", "path": "dataType", "visible": "never" }, + { "label": "Make Asset Asset Type Data", "path": "makeAsset.assetType.data", "visible": "never" }, + { "label": "Take Asset Asset Type Data", "path": "takeAsset.assetType.data", "visible": "never" }, + { "label": "Take Asset Asset Type Asset Class", "path": "takeAsset.assetType.assetClass", "visible": "never" }, + { "label": "Data", "path": "data", "visible": "never" }, + { "label": "Salt", "path": "salt", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-wrapper.json b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-wrapper.json new file mode 100644 index 0000000..09a7669 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/eip712-rarible-exchange-wrapper.json @@ -0,0 +1,32 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0x7f19564c35c681099c0c857a7141836cf7edaa53" }], + "domain": { "name": "Rarible", "version": "2" } + } + }, + "metadata": { "owner": "RaribleExchangeWrapper" }, + "display": { + "formats": { + "Order(address maker,Asset makeAsset,address taker,Asset takeAsset,uint256 salt,uint256 start,uint256 end,bytes4 dataType,bytes data)Asset(AssetType assetType,uint256 value)AssetType(bytes4 assetClass,bytes data)": { + "intent": "List Order", + "fields": [ + { "path": "maker", "label": "Order maker address", "format": "raw" }, + { "path": "makeAsset.value", "label": "Order make asset value", "format": "raw" }, + { "path": "taker", "label": "Order taker address", "format": "raw" }, + { "path": "takeAsset.value", "label": "Order take asset value", "format": "raw" }, + { "path": "start", "label": "Order start time", "format": "raw" }, + { "path": "end", "label": "Order end time", "format": "raw" }, + { "label": "Make Asset Asset Type Asset Class", "path": "makeAsset.assetType.assetClass", "visible": "never" }, + { "label": "Data Type", "path": "dataType", "visible": "never" }, + { "label": "Make Asset Asset Type Data", "path": "makeAsset.assetType.data", "visible": "never" }, + { "label": "Take Asset Asset Type Data", "path": "takeAsset.assetType.data", "visible": "never" }, + { "label": "Take Asset Asset Type Asset Class", "path": "takeAsset.assetType.assetClass", "visible": "never" }, + { "label": "Data", "path": "data", "visible": "never" }, + { "label": "Salt", "path": "salt", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-erc-1155.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-erc-1155.tests.json new file mode 100644 index 0000000..8495237 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-erc-1155.tests.json @@ -0,0 +1,63 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Lazy Mint ERC-1155", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Part": [{ "name": "account", "type": "address" }, { "name": "value", "type": "uint96" }], + "Mint1155": [ + { "name": "tokenId", "type": "uint256" }, + { "name": "supply", "type": "uint256" }, + { "name": "tokenURI", "type": "string" }, + { "name": "creators", "type": "Part[]" }, + { "name": "royalties", "type": "Part[]" } + ] + }, + "primaryType": "Mint1155", + "domain": { "name": "Rarible", "version": "2", "chainId": 1, "verifyingContract": "0xb66a603f4cfe17e3d27b87a8bfcad319856518b8" }, + "message": { + "tokenId": "100120000000000000000001", + "supply": "250", + "tokenURI": "ipfs://bafybeifx2x5h2x6r3wz4q5f6n7m8p9t0v1w2x3y4z5a6b7c8d9e0f1g2h/1155/100120000000000000000001.json", + "creators": [ + { "account": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", "value": 8500 }, + { "account": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "value": 1500 } + ], + "royalties": [ + { "account": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", "value": 500 }, + { "account": "0xA0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "value": 250 } + ] + } + }, + "expectedTexts": [ + "Token ID", + "100120000000000000 000001", + "Token Supply", + "250", + "Token URI", + "ipfs://bafybeifx2x5h2x6 r3wz4q5f6n7m8p9t0v1 w2x3y4z5a6b7c8d9e0f 1g2h/1155/1001200000 00000000000001.json", + "Creator account address", + "0x742d35Cc6634C053 2925a3b844Bc454e44 38f44e", + "Creator value (10000 = 100%)", + "8500", + "Creator account address", + "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045 Creator value (10000 = 100%) 1500", + "Royalties account address", + "0x742d35Cc6634C053 2925a3b844Bc454e44 38f44e", + "Royalties value (10000 = 100%)", + "500", + "Royalties account address", + "0xA0b86991c6218b36 c1d19D4a2e9Eb0cE360 6eB48", + "Royalties value (10000 = 100%)", + "250" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-erc-721.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-erc-721.tests.json new file mode 100644 index 0000000..0c62b55 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-erc-721.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Lazy Mint ERC-721", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Part": [{ "name": "account", "type": "address" }, { "name": "value", "type": "uint96" }], + "Mint721": [ + { "name": "tokenId", "type": "uint256" }, + { "name": "tokenURI", "type": "string" }, + { "name": "creators", "type": "Part[]" }, + { "name": "royalties", "type": "Part[]" } + ] + }, + "primaryType": "Mint721", + "domain": { "name": "Rarible", "version": "2", "chainId": 1, "verifyingContract": "0xc9154424b823b10579895ccbe442d41b9abd96ed" }, + "message": { + "tokenId": "145230987654321", + "tokenURI": "ipfs://bafybeigdyrzt5xq6x6n4m4n37r2v6q6t6v6m3k2y5xq7u5h3n2j4wq5x7e/145230987654321.json", + "creators": [{ "account": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "value": 10000 }], + "royalties": [{ "account": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", "value": 750 }] + } + }, + "expectedTexts": [ + "Token ID", + "145230987654321", + "Token URI", + "ipfs://bafybeigdyrzt5xq 6x6n4m4n37r2v6q6t6v 6m3k2y5xq7u5h3n2j4 wq5x7e/145230987654 321.json", + "Creator account address", + "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", + "Creator value (10000 = 100%)", + "10000", + "Royalties account address", + "0x742d35Cc6634C053 2925a3b844Bc454e44 38f44e", + "Royalties value (10000 = 100%)", + "750" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-v2-meta-tx.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-v2-meta-tx.tests.json new file mode 100644 index 0000000..d72feee --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-v2-meta-tx.tests.json @@ -0,0 +1,36 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Meta Transaction", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "verifyingContract", "type": "address" }, + { "name": "salt", "type": "bytes32" } + ], + "MetaTransaction": [ + { "name": "nonce", "type": "uint256" }, + { "name": "from", "type": "address" }, + { "name": "functionSignature", "type": "bytes" } + ] + }, + "primaryType": "MetaTransaction", + "domain": { + "name": "Rarible", + "version": "1", + "verifyingContract": "0x7f19564c35c681099c0c857a7141836cf7edaa53", + "salt": "0x0000000000000000000000000000000000000000000000000000000000000089" + }, + "message": { + "nonce": 42, + "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "functionSignature": "0xa9059cbb0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582000000000000000000000000000000000000000000000000000000000ee6b280" + } + }, + "expectedTexts": [] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-v2.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-v2.tests.json new file mode 100644 index 0000000..8f4a229 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-v2.tests.json @@ -0,0 +1,67 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "List Order", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "AssetType": [{ "name": "assetClass", "type": "bytes4" }, { "name": "data", "type": "bytes" }], + "Asset": [{ "name": "assetType", "type": "AssetType" }, { "name": "value", "type": "uint256" }], + "Order": [ + { "name": "maker", "type": "address" }, + { "name": "makeAsset", "type": "Asset" }, + { "name": "taker", "type": "address" }, + { "name": "takeAsset", "type": "Asset" }, + { "name": "salt", "type": "uint256" }, + { "name": "start", "type": "uint256" }, + { "name": "end", "type": "uint256" }, + { "name": "dataType", "type": "bytes4" }, + { "name": "data", "type": "bytes" } + ] + }, + "primaryType": "Order", + "domain": { "name": "Rarible", "version": "2", "chainId": 1, "verifyingContract": "0x9757f2d2b135150bbeb65308d4a91804107cd8d6" }, + "message": { + "maker": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "makeAsset": { + "assetType": { + "assetClass": "0x73ad2146", + "data": "0x000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d00000000000000000000000000000000000000000000000000000000000004d2" + }, + "value": "1" + }, + "taker": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "takeAsset": { + "assetType": { "assetClass": "0x8ae85d84", "data": "0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" }, + "value": "2500000000" + }, + "salt": "98452730198273409182374019283740192837401928374019283", + "start": 1774041600, + "end": 1776643200, + "dataType": "0xffffffff", + "data": "0x" + } + }, + "expectedTexts": [ + "Order maker address", + "0x742d35Cc6634C053 2925a3b844Bc454e44 38f44e", + "Order make asset value", + "1", + "Order taker address", + "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", + "Order take asset value", + "2500000000", + "Order start time", + "1774041600", + "Order end time", + "1776643200" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-wrapper.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-wrapper.tests.json new file mode 100644 index 0000000..824e596 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/rarible/tests/eip712-rarible-exchange-wrapper.tests.json @@ -0,0 +1,67 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "List Order", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "AssetType": [{ "name": "assetClass", "type": "bytes4" }, { "name": "data", "type": "bytes" }], + "Asset": [{ "name": "assetType", "type": "AssetType" }, { "name": "value", "type": "uint256" }], + "Order": [ + { "name": "maker", "type": "address" }, + { "name": "makeAsset", "type": "Asset" }, + { "name": "taker", "type": "address" }, + { "name": "takeAsset", "type": "Asset" }, + { "name": "salt", "type": "uint256" }, + { "name": "start", "type": "uint256" }, + { "name": "end", "type": "uint256" }, + { "name": "dataType", "type": "bytes4" }, + { "name": "data", "type": "bytes" } + ] + }, + "primaryType": "Order", + "domain": { "name": "Rarible", "version": "2", "chainId": 1, "verifyingContract": "0x7f19564c35c681099c0c857a7141836cf7edaa53" }, + "message": { + "maker": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "makeAsset": { + "assetType": { + "assetClass": "0x73ad2146", + "data": "0x000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d00000000000000000000000000000000000000000000000000000000000004d2" + }, + "value": "1" + }, + "taker": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "takeAsset": { + "assetType": { "assetClass": "0x8ae85d84", "data": "0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" }, + "value": "2500000000" + }, + "salt": "98452730198273409182374019283740192837401928374019283", + "start": 1775001600, + "end": 1777680000, + "dataType": "0xffffffff", + "data": "0x" + } + }, + "expectedTexts": [ + "Order maker address", + "0x742d35Cc6634C053 2925a3b844Bc454e44 38f44e", + "Order make asset value", + "1", + "Order taker address", + "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", + "Order take asset value", + "2500000000", + "Order start time", + "1775001600", + "Order end time", + "1777680000" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-BatchExecutor.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-BatchExecutor.json new file mode 100644 index 0000000..69f73f9 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-BatchExecutor.json @@ -0,0 +1,33 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "BatchExecutor", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x2cc8475177918e8C4d840150b68815A4b6f0f5f3" }, + { "chainId": 10, "address": "0xD0eFB07126e865AC95B60381b468081Ef648ec5f" }, + { "chainId": 137, "address": "0x2cc8475177918e8C4d840150b68815A4b6f0f5f3" }, + { "chainId": 8453, "address": "0xD0eFB07126e865AC95B60381b468081Ef648ec5f" }, + { "chainId": 42161, "address": "0xD0eFB07126e865AC95B60381b468081Ef648ec5f" }, + { "chainId": 11155111, "address": "0x2cc8475177918e8C4d840150b68815A4b6f0f5f3" } + ] + } + }, + "metadata": { "owner": "Ledger Multisig", "info": { "url": "https://www.ledger.com" }, "contractName": "BatchExecutor" }, + "display": { + "formats": { + "batchExecute((address to, uint256 value, bytes data)[] calls)": { + "$id": "batchExecute", + "intent": "Batch transactions", + "fields": [ + { + "path": "calls.[].data", + "label": "Transaction", + "format": "calldata", + "params": { "calleePath": "calls.[].to", "amountPath": "calls.[].value" } + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.3.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.3.0.json new file mode 100644 index 0000000..6224af6 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.3.0.json @@ -0,0 +1,26 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-Safe.json", + "context": { + "$id": "Safe", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 10, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 56, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 137, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 8453, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 42161, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 11155111, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 1, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 10, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 56, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 137, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 8453, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 42161, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 11155111, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" } + ] + } + }, + "metadata": { "contractName": "Safe" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.4.1.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.4.1.json new file mode 100644 index 0000000..82d4d44 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.4.1.json @@ -0,0 +1,19 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-Safe.json", + "context": { + "$id": "Safe", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 10, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 56, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 137, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 8453, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 42161, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 11155111, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" } + ] + } + }, + "metadata": { "contractName": "Safe" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.5.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.5.0.json new file mode 100644 index 0000000..dbced96 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-Safe-1.5.0.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-Safe.json", + "context": { + "$id": "Safe", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xFf51A5898e281Db6DfC7855790607438dF2ca44b" }, + { "chainId": 11155111, "address": "0xFf51A5898e281Db6DfC7855790607438dF2ca44b" } + ] + } + }, + "metadata": { "contractName": "Safe" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.3.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.3.0.json new file mode 100644 index 0000000..7bcb541 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.3.0.json @@ -0,0 +1,26 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-Safe.json", + "context": { + "$id": "SafeL2", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 10, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 56, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 137, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 8453, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 42161, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 11155111, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 1, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 10, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 56, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 137, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 8453, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 42161, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 11155111, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" } + ] + } + }, + "metadata": { "contractName": "SafeL2" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.4.1.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.4.1.json new file mode 100644 index 0000000..6eddcc0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.4.1.json @@ -0,0 +1,19 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-Safe.json", + "context": { + "$id": "SafeL2", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 10, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 56, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 137, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 8453, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 42161, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 11155111, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" } + ] + } + }, + "metadata": { "contractName": "SafeL2" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.5.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.5.0.json new file mode 100644 index 0000000..ec3ed5d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeL2-1.5.0.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-Safe.json", + "context": { + "$id": "SafeL2", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xEdd160fEBBD92E350D4D398fb636302fccd67C7e" }, + { "chainId": 11155111, "address": "0xEdd160fEBBD92E350D4D398fb636302fccd67C7e" } + ] + } + }, + "metadata": { "contractName": "SafeL2" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeMigration-1.4.1.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeMigration-1.4.1.json new file mode 100644 index 0000000..896f126 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeMigration-1.4.1.json @@ -0,0 +1,19 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-SafeMigration.json", + "context": { + "$id": "SafeMigration", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x526643F69b81B008F46d95CD5ced5eC0edFFDaC6" }, + { "chainId": 10, "address": "0x526643F69b81B008F46d95CD5ced5eC0edFFDaC6" }, + { "chainId": 56, "address": "0x526643F69b81B008F46d95CD5ced5eC0edFFDaC6" }, + { "chainId": 137, "address": "0x526643F69b81B008F46d95CD5ced5eC0edFFDaC6" }, + { "chainId": 8453, "address": "0x526643F69b81B008F46d95CD5ced5eC0edFFDaC6" }, + { "chainId": 42161, "address": "0x526643F69b81B008F46d95CD5ced5eC0edFFDaC6" }, + { "chainId": 11155111, "address": "0x526643F69b81B008F46d95CD5ced5eC0edFFDaC6" } + ] + } + }, + "metadata": { "contractName": "SafeMigration" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeMigration-1.5.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeMigration-1.5.0.json new file mode 100644 index 0000000..66f7d2b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeMigration-1.5.0.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-SafeMigration.json", + "context": { + "$id": "SafeMigration", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x6439e7ABD8Bb915A5263094784C5CF561c4172AC" }, + { "chainId": 11155111, "address": "0x6439e7ABD8Bb915A5263094784C5CF561c4172AC" } + ] + } + }, + "metadata": { "contractName": "SafeMigration" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.3.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.3.0.json new file mode 100644 index 0000000..de2fdbf --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.3.0.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-SafeProxyFactory.json", + "context": { + "$id": "SafeProxyFactory", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xa6b71e26c5e0845f74c812102ca7114b6a896ab2" }, + { "chainId": 10, "address": "0xa6b71e26c5e0845f74c812102ca7114b6a896ab2" }, + { "chainId": 56, "address": "0xa6b71e26c5e0845f74c812102ca7114b6a896ab2" }, + { "chainId": 137, "address": "0xa6b71e26c5e0845f74c812102ca7114b6a896ab2" }, + { "chainId": 8453, "address": "0xa6b71e26c5e0845f74c812102ca7114b6a896ab2" }, + { "chainId": 42161, "address": "0xa6b71e26c5e0845f74c812102ca7114b6a896ab2" }, + { "chainId": 11155111, "address": "0xa6b71e26c5e0845f74c812102ca7114b6a896ab2" }, + { "chainId": 1, "address": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC" }, + { "chainId": 10, "address": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC" }, + { "chainId": 56, "address": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC" }, + { "chainId": 137, "address": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC" }, + { "chainId": 8453, "address": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC" }, + { "chainId": 42161, "address": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC" }, + { "chainId": 11155111, "address": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC" } + ] + } + }, + "display": { + "formats": { + "createProxyWithCallback(address _singleton, bytes initializer, uint256 saltNonce, address callback)": { + "$id": "createProxyWithCallback", + "intent": "Create Safe", + "fields": [ + { "path": "initializer", "format": "calldata", "label": "Account setup", "params": { "calleePath": "_singleton" } }, + { "label": "Salt Nonce", "path": "saltNonce", "visible": "never" }, + { "label": "Callback", "path": "callback", "visible": "never" } + ] + } + } + }, + "metadata": { "contractName": "SafeProxyFactory" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.4.1.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.4.1.json new file mode 100644 index 0000000..36dbd16 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.4.1.json @@ -0,0 +1,32 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-SafeProxyFactory.json", + "context": { + "$id": "SafeProxyFactory", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67" }, + { "chainId": 10, "address": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67" }, + { "chainId": 56, "address": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67" }, + { "chainId": 137, "address": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67" }, + { "chainId": 8453, "address": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67" }, + { "chainId": 42161, "address": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67" }, + { "chainId": 11155111, "address": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67" } + ] + } + }, + "display": { + "formats": { + "createProxyWithCallback(address _singleton, bytes initializer, uint256 saltNonce, address callback)": { + "$id": "createProxyWithCallback", + "intent": "Create Safe", + "fields": [ + { "path": "initializer", "format": "calldata", "label": "Account setup", "params": { "calleePath": "_singleton" } }, + { "label": "Salt Nonce", "path": "saltNonce", "visible": "never" }, + { "label": "Callback", "path": "callback", "visible": "never" } + ] + } + } + }, + "metadata": { "contractName": "SafeProxyFactory" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.5.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.5.0.json new file mode 100644 index 0000000..960bc3b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeProxyFactory-1.5.0.json @@ -0,0 +1,26 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-SafeProxyFactory.json", + "context": { + "$id": "SafeProxyFactory", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x14F2982D601c9458F93bd70B218933A6f8165e7b" }, + { "chainId": 11155111, "address": "0x14F2982D601c9458F93bd70B218933A6f8165e7b" } + ] + } + }, + "display": { + "formats": { + "createProxyWithNonceL2(address _singleton, bytes initializer, uint256 saltNonce)": { + "$id": "createProxyWithNonceL2", + "intent": "Create Safe", + "fields": [ + { "path": "initializer", "format": "calldata", "label": "Account setup", "params": { "calleePath": "_singleton" } }, + { "label": "Salt Nonce", "path": "saltNonce", "visible": "never" } + ] + } + } + }, + "metadata": { "contractName": "SafeProxyFactory" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeToL2Setup-1.4.1.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeToL2Setup-1.4.1.json new file mode 100644 index 0000000..17c47de --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeToL2Setup-1.4.1.json @@ -0,0 +1,19 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-SafeToL2Setup.json", + "context": { + "$id": "SafeToL2Setup", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xBD89A1CE4DDe368FFAB0eC35506eEcE0b1fFdc54" }, + { "chainId": 10, "address": "0xBD89A1CE4DDe368FFAB0eC35506eEcE0b1fFdc54" }, + { "chainId": 56, "address": "0xBD89A1CE4DDe368FFAB0eC35506eEcE0b1fFdc54" }, + { "chainId": 137, "address": "0xBD89A1CE4DDe368FFAB0eC35506eEcE0b1fFdc54" }, + { "chainId": 8453, "address": "0xBD89A1CE4DDe368FFAB0eC35506eEcE0b1fFdc54" }, + { "chainId": 42161, "address": "0xBD89A1CE4DDe368FFAB0eC35506eEcE0b1fFdc54" }, + { "chainId": 11155111, "address": "0xBD89A1CE4DDe368FFAB0eC35506eEcE0b1fFdc54" } + ] + } + }, + "metadata": { "contractName": "SafeToL2Setup" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeToL2Setup-1.5.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeToL2Setup-1.5.0.json new file mode 100644 index 0000000..f00fbbe --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/calldata-SafeToL2Setup-1.5.0.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-SafeToL2Setup.json", + "context": { + "$id": "SafeToL2Setup", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0x900C7589200010D6C6eCaaE5B06EBe653bc2D82a" }, + { "chainId": 11155111, "address": "0x900C7589200010D6C6eCaaE5B06EBe653bc2D82a" } + ] + } + }, + "metadata": { "contractName": "SafeToL2Setup" } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-Safe.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-Safe.json new file mode 100644 index 0000000..80f4abf --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-Safe.json @@ -0,0 +1,281 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "metadata": { + "owner": "Safe{Wallet}", + "info": { + "url": "https://app.safe.global/welcome" + }, + "enums": { + "operation": { + "0": "Call", + "1": "Delegate Call" + } + }, + "constants": { + "addressAsNull": "0x0000000000000000000000000000000000000000" + } + }, + "display": { + "formats": { + "setup(address[] _owners, uint256 _threshold, address to, bytes data, address fallbackHandler, address paymentToken, uint256 payment, address paymentReceiver)": { + "$id": "setup", + "intent": "Setup Safe", + "fields": [ + { + "path": "_owners.[]", + "label": "Signer", + "format": "addressName", + "params": { + "types": [ + "eoa", + "wallet" + ] + } + }, + { + "path": "_threshold", + "label": "Threshold", + "format": "raw", + "visible": "always" + }, + { + "path": "fallbackHandler", + "label": "Fallback handler", + "format": "addressName", + "params": { + "types": [ + "contract" + ] + }, + "visible": "always" + }, + { + "path": "payment", + "label": "Payment", + "format": "tokenAmount", + "params": { + "tokenPath": "paymentToken", + "nativeCurrencyAddress": "$.metadata.constants.addressAsNull" + }, + "visible": "always" + }, + { + "path": "paymentReceiver", + "label": "Payment receiver", + "format": "addressName", + "params": { + "types": [ + "eoa", + "wallet", + "contract" + ] + }, + "visible": "always" + }, + { + "path": "data", + "label": "Module", + "format": "calldata", + "params": { + "calleePath": "to" + }, + "visible": "always" + } + ] + }, + "execTransaction(address to, uint256 value, bytes data, uint8 operation, uint256 safeTxGas, uint256 baseGas, uint256 gasPrice, address gasToken, address refundReceiver, bytes signatures)": { + "$id": "execTransaction", + "intent": "sign multisig operation", + "fields": [ + { + "path": "operation", + "label": "Operation type", + "format": "enum", + "params": { + "$ref": "$.metadata.enums.operation" + }, + "visible": "always" + }, + { + "path": "@.to", + "label": "From Safe", + "format": "addressName", + "params": { + "types": [ + "contract" + ] + } + }, + { + "path": "@.from", + "label": "Execution signer", + "format": "addressName", + "params": { + "types": [ + "eoa" + ] + } + }, + { + "path": "data", + "label": "Transaction", + "format": "calldata", + "params": { + "calleePath": "to", + "amountPath": "value", + "spenderPath": "@.to" + }, + "visible": "always" + }, + { + "path": "baseGas", + "label": "Gas amount", + "format": "raw", + "visible": "always" + }, + { + "path": "gasPrice", + "label": "Gas price", + "format": "tokenAmount", + "params": { + "tokenPath": "gasToken", + "nativeCurrencyAddress": "$.metadata.constants.addressAsNull" + }, + "visible": "always" + }, + { + "path": "refundReceiver", + "label": "Gas receiver", + "format": "addressName", + "params": { + "types": [ + "eoa", + "wallet", + "contract" + ] + }, + "visible": "always" + }, + { + "label": "Safe Tx Gas", + "path": "safeTxGas", + "visible": "never" + }, + { + "label": "Signatures", + "path": "signatures", + "visible": "never" + } + ] + }, + "addOwnerWithThreshold(address owner, uint256 _threshold)": { + "$id": "addOwnerWithThreshold", + "intent": "Add signer", + "fields": [ + { + "path": "owner", + "label": "Signer", + "format": "addressName", + "params": { + "types": [ + "eoa" + ] + }, + "visible": "always" + }, + { + "path": "_threshold", + "label": "New threshold", + "format": "raw", + "visible": "always" + } + ] + }, + "removeOwner(address prevOwner, address owner, uint256 _threshold)": { + "$id": "removeOwner", + "intent": "Remove signer", + "fields": [ + { + "path": "owner", + "label": "Signer", + "format": "addressName", + "params": { + "types": [ + "eoa" + ] + }, + "visible": "always" + }, + { + "path": "_threshold", + "label": "New threshold", + "format": "raw", + "visible": "always" + }, + { + "label": "Prev Owner", + "path": "prevOwner", + "visible": "never" + } + ] + }, + "swapOwner(address prevOwner, address oldOwner, address newOwner)": { + "$id": "swapOwner", + "intent": "Swap signer", + "fields": [ + { + "path": "oldOwner", + "label": "Old signer", + "format": "addressName", + "params": { + "types": [ + "eoa" + ] + }, + "visible": "always" + }, + { + "path": "newOwner", + "label": "New signer", + "format": "addressName", + "params": { + "types": [ + "eoa" + ] + }, + "visible": "always" + }, + { + "label": "Prev Owner", + "path": "prevOwner", + "visible": "never" + } + ] + }, + "changeThreshold(uint256 _threshold)": { + "$id": "changeThreshold", + "intent": "Modify threshold", + "fields": [ + { + "path": "_threshold", + "label": "New threshold", + "format": "raw", + "visible": "always" + } + ] + }, + "approveHash(bytes32 hashToApprove)": { + "$id": "approveHash", + "intent": "Approve Safe hash", + "fields": [ + { + "path": "hashToApprove", + "label": "Hash to approve", + "format": "raw", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeMigration.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeMigration.json new file mode 100644 index 0000000..61a015e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeMigration.json @@ -0,0 +1,77 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "metadata": { + "owner": "Safe{Wallet}", + "info": { + "url": "https://app.safe.global/welcome" + } + }, + "display": { + "formats": { + "migrateSingleton()": { + "$id": "migrateSingleton", + "intent": "Migrate Safe", + "fields": [ + { + "path": "@.to", + "label": "Migration contract", + "format": "addressName", + "params": { + "types": [ + "contract" + ] + } + } + ] + }, + "migrateWithFallbackHandler()": { + "$id": "migrateWithFallbackHandler", + "intent": "Migrate Safe", + "fields": [ + { + "path": "@.to", + "label": "Migration contract", + "format": "addressName", + "params": { + "types": [ + "contract" + ] + } + } + ] + }, + "migrateL2Singleton()": { + "$id": "migrateL2Singleton", + "intent": "Migrate Safe L2", + "fields": [ + { + "path": "@.to", + "label": "Migration contract", + "format": "addressName", + "params": { + "types": [ + "contract" + ] + } + } + ] + }, + "migrateL2WithFallbackHandler()": { + "$id": "migrateL2WithFallbackHandler", + "intent": "Migrate Safe L2", + "fields": [ + { + "path": "@.to", + "label": "Migration contract", + "format": "addressName", + "params": { + "types": [ + "contract" + ] + } + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeProxyFactory.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeProxyFactory.json new file mode 100644 index 0000000..e86f20f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeProxyFactory.json @@ -0,0 +1,32 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "metadata": { + "owner": "Safe{Wallet}", + "info": { + "url": "https://app.safe.global/welcome" + } + }, + "display": { + "formats": { + "createProxyWithNonce(address _singleton, bytes initializer, uint256 saltNonce)": { + "$id": "createProxyWithNonce", + "intent": "Create Safe", + "fields": [ + { + "path": "initializer", + "format": "calldata", + "label": "Account setup", + "params": { + "calleePath": "_singleton" + } + }, + { + "label": "Salt Nonce", + "path": "saltNonce", + "visible": "never" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeToL2Setup.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeToL2Setup.json new file mode 100644 index 0000000..7b95d5f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-SafeToL2Setup.json @@ -0,0 +1,30 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "metadata": { + "owner": "Safe{Wallet}", + "info": { + "url": "https://app.safe.global/welcome" + } + }, + "display": { + "formats": { + "setupToL2(address l2Singleton)": { + "$id": "setupToL2", + "intent": "Setup Safe L2", + "fields": [ + { + "path": "l2Singleton", + "label": "Module", + "format": "addressName", + "params": { + "types": [ + "contract" + ] + }, + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-eip712-Safe.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-eip712-Safe.json new file mode 100644 index 0000000..6dc1267 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/common-eip712-Safe.json @@ -0,0 +1,62 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "display": { + "formats": { + "SafeTx(address to,uint256 value,bytes data,uint8 operation,uint256 safeTxGas,uint256 baseGas,uint256 gasPrice,address gasToken,address refundReceiver,uint256 nonce)": { + "intent": "Safe", + "fields": [ + { + "path": "operation", + "label": "Operation type", + "format": "raw", + "visible": "always" + }, + { + "path": "data", + "label": "Transaction", + "format": "calldata", + "params": { + "calleePath": "to", + "amountPath": "value", + "spenderPath": "@.to" + }, + "visible": "always" + }, + { + "path": "baseGas", + "label": "Gas amount", + "format": "raw", + "visible": "always" + }, + { + "path": "gasPrice", + "label": "Gas price", + "format": "raw", + "visible": "always" + }, + { + "path": "gasToken", + "label": "Gas token", + "format": "raw" + }, + { + "path": "refundReceiver", + "label": "Gas receiver", + "format": "raw", + "visible": "always" + }, + { + "label": "Safe Tx Gas", + "path": "safeTxGas", + "visible": "never" + }, + { + "label": "Nonce", + "path": "nonce", + "visible": "never" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.3.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.3.0.json new file mode 100644 index 0000000..ff2db01 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.3.0.json @@ -0,0 +1,25 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-eip712-Safe.json", + "metadata": { "owner": "Safe 1.3.0" }, + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 10, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 56, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 137, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 8453, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 42161, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 11155111, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 1, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 10, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 56, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 137, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 8453, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 42161, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 11155111, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" } + ] + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.4.1.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.4.1.json new file mode 100644 index 0000000..7d01585 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.4.1.json @@ -0,0 +1,18 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-eip712-Safe.json", + "metadata": { "owner": "Safe 1.4.1" }, + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 10, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 56, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 137, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 8453, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 42161, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 11155111, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" } + ] + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.5.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.5.0.json new file mode 100644 index 0000000..b1f04a0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-1.5.0.json @@ -0,0 +1,13 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-eip712-Safe.json", + "metadata": { "owner": "Safe 1.5.0" }, + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0xFf51A5898e281Db6DfC7855790607438dF2ca44b" }, + { "chainId": 11155111, "address": "0xFf51A5898e281Db6DfC7855790607438dF2ca44b" } + ] + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-Multisig.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-Multisig.json new file mode 100644 index 0000000..9d185b2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-Safe-Multisig.json @@ -0,0 +1,152 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "metadata": { "owner": "Ledger Multisig" }, + "context": { + "eip712": { + "domain": { "name": "Ledger Multisig", "version": "1.0.0" }, + "deployments": [ + { "chainId": 1, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 10, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 56, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 137, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 8453, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 42161, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 11155111, "address": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552" }, + { "chainId": 1, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 10, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 56, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 137, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 8453, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 42161, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 11155111, "address": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" }, + { "chainId": 1, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 10, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 56, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 137, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 8453, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 42161, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 11155111, "address": "0x41675C099F32341bf84BFc5382aF534df5C7461a" }, + { "chainId": 1, "address": "0xFf51A5898e281Db6DfC7855790607438dF2ca44b" }, + { "chainId": 11155111, "address": "0xFf51A5898e281Db6DfC7855790607438dF2ca44b" }, + { "chainId": 1, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 10, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 56, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 137, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 8453, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 42161, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 11155111, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 1, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 10, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 56, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 137, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 8453, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 42161, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 11155111, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 1, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 10, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 56, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 137, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 8453, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 42161, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 11155111, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 1, "address": "0xEdd160fEBBD92E350D4D398fb636302fccd67C7e" }, + { "chainId": 11155111, "address": "0xEdd160fEBBD92E350D4D398fb636302fccd67C7e" } + ] + } + }, + "display": { + "formats": { + "DeleteRequest(bytes32 safeTxHash,uint256 totp)": { + "intent": "Reject transaction", + "fields": [ + { + "path": "safeTxHash", + "label": "Safe TX hash", + "format": "raw", + "visible": "always" + }, + { + "label": "Totp", + "path": "totp", + "visible": "never" + } + ] + }, + "Delegate(address delegateAddress,uint256 totp)": { + "intent": "Add or remove proposer", + "fields": [ + { + "path": "delegateAddress", + "label": "Proposer address", + "format": "raw" + }, + { + "label": "Totp", + "path": "totp", + "visible": "never" + } + ] + }, + "AddProposer(address delegateAddress,uint256 totp)": { + "intent": "Add proposer", + "fields": [ + { + "path": "delegateAddress", + "label": "Proposer address", + "format": "raw" + }, + { + "label": "Totp", + "path": "totp", + "visible": "never" + } + ] + }, + "RemoveProposer(address delegateAddress,uint256 totp)": { + "intent": "Remove proposer", + "fields": [ + { + "path": "delegateAddress", + "label": "Proposer address", + "format": "raw" + }, + { + "label": "Totp", + "path": "totp", + "visible": "never" + } + ] + }, + "AuthentAddressBook(uint256 totp)": { + "intent": "Authenticate address book", + "fields": [ + { + "label": "Totp", + "path": "totp", + "visible": "never" + } + ] + }, + "AddAddressBookEntry(AddressBookEntry[] entries,uint256 totp)AddressBookEntry(string alias,address address)": { + "intent": "Add address book entry", + "fields": [ + { + "path": "entries.[].alias", + "label": "Address book alias", + "format": "raw" + }, + { + "path": "entries.[].address", + "label": "Address book address", + "format": "raw" + }, + { + "label": "Totp", + "path": "totp", + "visible": "never" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.3.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.3.0.json new file mode 100644 index 0000000..ad7b0ec --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.3.0.json @@ -0,0 +1,25 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-eip712-Safe.json", + "metadata": { "owner": "Safe L2 1.3.0" }, + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 10, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 56, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 137, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 8453, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 42161, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 11155111, "address": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E" }, + { "chainId": 1, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 10, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 56, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 137, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 8453, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 42161, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" }, + { "chainId": 11155111, "address": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" } + ] + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.4.1.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.4.1.json new file mode 100644 index 0000000..b791f74 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.4.1.json @@ -0,0 +1,18 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-eip712-Safe.json", + "metadata": { "owner": "Safe L2 1.4.1" }, + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 10, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 56, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 137, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 8453, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 42161, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" }, + { "chainId": 11155111, "address": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762" } + ] + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.5.0.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.5.0.json new file mode 100644 index 0000000..53aa563 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/eip712-SafeL2-1.5.0.json @@ -0,0 +1,13 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "common-eip712-Safe.json", + "metadata": { "owner": "Safe L2 1.5.0" }, + "context": { + "eip712": { + "deployments": [ + { "chainId": 1, "address": "0xEdd160fEBBD92E350D4D398fb636302fccd67C7e" }, + { "chainId": 11155111, "address": "0xEdd160fEBBD92E350D4D398fb636302fccd67C7e" } + ] + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-Safe-1.3.0.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-Safe-1.3.0.tests.json new file mode 100644 index 0000000..5d533be --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-Safe-1.3.0.tests.json @@ -0,0 +1,50 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Add signer - chain 1", + "rawTx": "0x02f86f01820292843b9aca00843f0f9ebe83015f9094d9db270c1b5e3bd161e8c8503c55ceabee70955280b8440d582f130000000000000000000000002e0ece61d3f2353a851b268f34dca0bc3904df2a0000000000000000000000000000000000000000000000000000000000000001c0", + "txHash": "0x93620871fc37c91971bcbc3342cca1b1d5603ecc58c00e57227bc4ef6e0496ed", + "expectedTexts": [ + "Interaction with", + "Safe{Wallet}", + "Signer", + "0x2e0Ece61D3f2353A8 51b268f34DCa0bC390 4DF2A", + "New threshold", + "1", + "Max fees", + "0.00009521894574 ETH" + ] + }, + { + "description": "Remove signer - chain 1", + "rawTx": "0x02f88d0102843b9aca008451595220830dbba094d9db270c1b5e3bd161e8c8503c55ceabee70955280b864f8dc5dd9000000000000000000000000546034ddf449affc36ec17ba6d8f9d301b224ec400000000000000000000000077e2c5f3f2625abff5f217dc4d0004b404c3d6250000000000000000000000000000000000000000000000000000000000000001c0", + "txHash": "0xe1aa5afd8d8aa3f1e35dc6e6a5fc01bcdbcaa3a8fe69ed8318729a6fac83b16b", + "expectedTexts": [ + "Interaction with", + "Safe{Wallet}", + "Signer", + "0x77E2c5f3f2625aBff5 F217DC4d0004B404C 3d625", + "New threshold", + "1", + "Max fees", + "0.0012283274016 ETH" + ] + }, + { + "description": "Swap signer - chain 1", + "rawTx": "0x02f88f01820291843b9aca00843f3597f783015f9094d9db270c1b5e3bd161e8c8503c55ceabee70955280b864e318b52b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005be9a4959308a0d0c7bc0870e319314d8d957dbb0000000000000000000000002e0ece61d3f2353a851b268f34dca0bc3904df2ac0", + "txHash": "0x9655bedfa746b3a5c19cfb97269dd6c8ed9a1e41c1000a1405d7e82da01bf8e7", + "expectedTexts": [ + "Interaction with", + "Safe{Wallet}", + "Old signer", + "0x5be9a4959308A0D0 c7bC0870E319314d8D 957dBB", + "New signer", + "0x2e0Ece61D3f2353A8 51b268f34DCa0bC390 4DF2A", + "Max fees", + "0.00009544292271 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-Safe-1.4.1.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-Safe-1.4.1.tests.json new file mode 100644 index 0000000..38aa66f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-Safe-1.4.1.tests.json @@ -0,0 +1,28 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Setup Safe - chain 1", + "rawTx": "0x02f901cd0117830186a084101cd7828303d0909441675c099f32341bf84bfc5382af534df5c7461a80b901a4b63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000bd89a1ce4dde368ffab0ec35506eece0b1ffdc540000000000000000000000000000000000000000000000000000000000000140000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005afe7a11e70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000926fca433d7316e8b2a340baceaec0b4e2f454f80000000000000000000000000000000000000000000000000000000000000024fe51f64300000000000000000000000029fcb43b46531bca003ddc8fcb67ffe91900c76200000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x1b47aa3ab769701d473af3a77755919b196c8cea851bd6c78b6999d9ab9d2ff1", + "expectedTexts": [ + "Interaction with", + "Safe{Wallet}", + "Signer", + "0x926fCA433D7316e8 B2a340BAceaEC0B4e2 f454f8", + "Threshold", + "1", + "Fallback handler", + "0xfd0732Dc9E303f09f CEf3a7388Ad10A8345 9Ec99", + "Payment", + "0 ETH", + "Payment receiver", + "0x5afe7A11E70000000 000000000000000000 00000", + "Module", + "Safe L2 1.4.1", + "Max fees", + "0.0000675814085 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-SafeL2-1.3.0.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-SafeL2-1.3.0.tests.json new file mode 100644 index 0000000..6e0b513 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-SafeL2-1.3.0.tests.json @@ -0,0 +1,72 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Setup Safe - chain 1", + "rawTx": "0x02f9018f0104841dcd6500850610794c64830186a0943e5c63644e683549055b9be8653de26e0b4cd36e80b90164b63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000001ac114c2099afaf5261731655dc6c306bfcd4dbd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dc5a59a8d2aa93359dcd99f839d2d6cbd386e2ac0000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x636e41d7416fc15b18237d95d7c4821329db286d9ebcadc4f4d2cf81fc9402b7", + "expectedTexts": [ + "Interaction with", + "Safe{Wallet}", + "Signer", + "0xDC5a59A8D2aA9335 9DcD99f839D2d6cbD3 86e2AC", + "Threshold", + "1", + "Fallback handler", + "0x1AC114C2099aFAf52 61731655Dc6c306bFcd 4Dbd", + "Payment", + "0 ETH", + "Payment receiver", + "0x0000000000000000 000000000000000000 000000", + "Max fees", + "0.0026046188644 ETH" + ] + }, + { + "description": "sign multisig operation - chain 1", + "rawTx": "0x02f9026d011c83069b44842953effa8307a120943e5c63644e683549055b9be8653de26e0b4cd36e80b902446a761202000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007a120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000014c30d9139cbbca09e8232938fe265fbf120eaaa00000000000000000000000000000000000000000000000000000006fc23ac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x56871793006ace9d91b0bc39ee7036ad106ed7b5e7d7cdf790fe2cf0f469beec", + "expectedTexts": [ + "Interaction with", + "Safe{Wallet}", + "Operation type", + "Call", + "From Safe", + "Safe L2 1.3.0", + "Execution signer", + "0xDad77910DbDFdE76 4fC21FCD4E74D71bBA CA6D8D", + "Transaction", + "type Send Amount 30000 USDC", + "Gas amount", + "0", + "Gas price", + "0 ETH", + "Gas receiver", + "0x0000000000000000 000000000000000000 000000", + "Max fees", + "0.000346683389 ETH", + "Transaction", + "signed", + "Transaction", + "signed", + "Transaction", + "signed" + ] + }, + { + "description": "Add signer - chain 1", + "rawTx": "0x02f86c010c83092e008427922478830493e0943e5c63644e683549055b9be8653de26e0b4cd36e80b8440d582f1300000000000000000000000014c30d9139cbbca09e8232938fe265fbf120eaaa0000000000000000000000000000000000000000000000000000000000000001c0", + "txHash": "0x536330d772ee90614244821c33b9a28f7e4b3965128514eb62091c947948df1c", + "expectedTexts": [ + "Interaction with", + "Safe{Wallet}", + "Signer", + "0x14c30D9139CBbCA0 9e8232938Fe265FBF1 20eaAA", + "New threshold", + "1", + "Max fees", + "0.0001991667048 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-SafeProxyFactory-1.3.0.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-SafeProxyFactory-1.3.0.tests.json new file mode 100644 index 0000000..6bf468a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/safe/tests/calldata-SafeProxyFactory-1.3.0.tests.json @@ -0,0 +1,16 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Create Safe - chain 1", + "rawTx": "0x02f9028e0103840f2f16ee8411807b358304972694a6b71e26c5e0845f74c812102ca7114b6a896ab280b90264d18af54d0000000000000000000000003e5c63644e683549055b9be8653de26e0b4cd36e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000069c2572d0000000000000000000000008a95ce6ff5bc8a13629577a886f7b00b1c0b7c0500000000000000000000000000000000000000000000000000000000000001a4b63e800d000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000abc436132ba2b7b9836ab8fda8f38110e9fbfd17000000000000000000000000433e3c4ebb9b3fede2313121c40261c83dce582100000000000000000000000059b85e8d306f2255aaa079aa759e6381483b76fb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x1a78c3ff7a875ca81ee09f1ac360ab3197ccc2ad23573c530f6fb1e5088ac62b", + "expectedTexts": [ + "Interaction with", + "Safe{Wallet} Transaction type Setup Safe Signer 0xaBC436132ba2b7b9 836ab8fda8F38110e9F Bfd17", + "Max fees", + "0.0000883359106039 98 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/sei/calldata-sei-distribution.json b/crates/clear-signing/src/assets/registry-snapshot/registry/sei/calldata-sei-distribution.json new file mode 100644 index 0000000..2f41136 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/sei/calldata-sei-distribution.json @@ -0,0 +1,58 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "SeiDistributionPrecompile", + "contract": { + "deployments": [ + { "chainId": 1329, "address": "0x0000000000000000000000000000000000001007" } + ] + } + }, + "metadata": { + "owner": "Sei", + "contractName": "SeiDistributionPrecompile", + "info": { "url": "https://www.sei.io/" } + }, + "display": { + "formats": { + "setWithdrawAddress(address withdrawAddr)": { + "intent": "Set withdraw address", + "fields": [ + { + "path": "#.withdrawAddr", + "label": "Withdraw address", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local"] }, + "visible": "always" + } + ] + }, + "withdrawDelegationRewards(string validator)": { + "intent": "Claim rewards", + "fields": [ + { + "path": "#.validator", + "label": "Validator", + "format": "raw", + "visible": "always" + } + ] + }, + "withdrawMultipleDelegationRewards(string[] validators)": { + "intent": "Claim multiple rewards", + "fields": [ + { + "path": "#.validators.[]", + "label": "Validators", + "format": "raw", + "visible": "always" + } + ] + }, + "withdrawValidatorCommission()": { + "intent": "Claim validator commission", + "fields": [] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/sei/calldata-sei-staking.json b/crates/clear-signing/src/assets/registry-snapshot/registry/sei/calldata-sei-staking.json new file mode 100644 index 0000000..c0cdc37 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/sei/calldata-sei-staking.json @@ -0,0 +1,155 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "SeiStakingPrecompile", + "contract": { + "deployments": [ + { "chainId": 1329, "address": "0x0000000000000000000000000000000000001005" } + ] + } + }, + "metadata": { + "owner": "Sei", + "contractName": "SeiStakingPrecompile", + "info": { "url": "https://www.sei.io/" }, + "constants": { + "nativeTokenTicker": "SEI", + "nativeDecimals": 18 + } + }, + "display": { + "formats": { + "createValidator(string pubKeyHex, string moniker, string commissionRate, string commissionMaxRate, string commissionMaxChangeRate, uint256 minSelfDelegation)": { + "intent": "Create validator", + "fields": [ + { + "path": "#.pubKeyHex", + "label": "Public key (hex)", + "format": "raw", + "visible": "always" + }, + { + "path": "#.moniker", + "label": "Moniker", + "format": "raw", + "visible": "always" + }, + { + "path": "#.commissionRate", + "label": "Commission rate", + "format": "raw", + "visible": "always" + }, + { + "path": "#.commissionMaxRate", + "label": "Max commission rate", + "format": "raw", + "visible": "always" + }, + { + "path": "#.commissionMaxChangeRate", + "label": "Max commission rate", + "format": "raw", + "visible": "always" + }, + { + "path": "#.minSelfDelegation", + "label": "Min self delegation", + "format": "unit", + "params": { "base": "SEI", "decimals": 6 }, + "visible": "always" + }, + { + "path": "@.value", + "label": "Self stake amount", + "format": "amount", + "visible": "always" + } + ] + }, + "delegate(string valAddress)": { + "intent": "Delegate", + "fields": [ + { + "path": "#.valAddress", + "label": "Validator", + "format": "raw", + "visible": "always" + }, + { + "path": "@.value", + "label": "Amount", + "format": "amount", + "visible": "always" + } + ] + }, + "editValidator(string moniker, string commissionRate, uint256 minSelfDelegation)": { + "intent": "Edit validator", + "fields": [ + { + "path": "#.moniker", + "label": "Moniker", + "format": "raw", + "visible": "always" + }, + { + "path": "#.commissionRate", + "label": "Commission rate", + "format": "raw", + "visible": "always" + }, + { + "path": "#.minSelfDelegation", + "label": "Min self delegation", + "format": "unit", + "params": { "base": "SEI", "decimals": 6 }, + "visible": "always" + } + ] + }, + "redelegate(string srcAddress, string dstAddress, uint256 amount)": { + "intent": "Redelegate", + "fields": [ + { + "path": "#.srcAddress", + "label": "Source validator", + "format": "raw", + "visible": "always" + }, + { + "path": "#.dstAddress", + "label": "Target validator", + "format": "raw", + "visible": "always" + }, + { + "path": "#.amount", + "label": "Amount", + "format": "unit", + "params": { "base": "SEI", "decimals": 6 }, + "visible": "always" + } + ] + }, + "undelegate(string valAddress, uint256 amount)": { + "intent": "Undelegate", + "fields": [ + { + "path": "#.valAddress", + "label": "Validator", + "format": "raw", + "visible": "always" + }, + { + "path": "#.amount", + "label": "Amount", + "format": "unit", + "params": { "base": "SEI", "decimals": 6 }, + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/serenita/calldata-EthVault.json b/crates/clear-signing/src/assets/registry-snapshot/registry/serenita/calldata-EthVault.json new file mode 100644 index 0000000..5ff85ce --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/serenita/calldata-EthVault.json @@ -0,0 +1,78 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "ETH Staking Vault", + "contract": { "deployments": [{ "chainId": 1, "address": "0xb36fc5e542cb4fc562a624912f55da2758998113" }] } + }, + "metadata": { "owner": "Serenita B.V.", "info": { "url": "https://serenita.io/" }, "contractName": "ETH Staking Vault" }, + "display": { + "formats": { + "claimExitedAssets(uint256 positionTicket, uint256 timestamp, uint256 exitQueueIndex)": { + "intent": "claim exited assets", + "fields": [ + { "label": "Position Ticket", "path": "#.positionTicket", "visible": "never" }, + { "label": "Timestamp", "path": "#.timestamp", "visible": "never" }, + { "label": "Exit Queue Index", "path": "#.exitQueueIndex", "visible": "never" } + ] + }, + "deposit(address receiver, address referrer)": { + "intent": "Stake ETH", + "fields": [ + { + "label": "Rewards receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#.receiver", + "visible": "always" + }, + { "label": "Amount to stake", "format": "amount", "path": "@.value" }, + { "label": "Referrer", "path": "#.referrer", "visible": "never" } + ] + }, + "enterExitQueue(uint256 shares, address receiver)": { + "intent": "enter exit queue", + "fields": [ + { "label": "Shares to lock", "format": "raw", "path": "#.shares", "visible": "always" }, + { + "label": "Receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#.receiver", + "visible": "always" + } + ] + }, + "multicall(bytes[] data)": { + "intent": "Multicall", + "fields": [{ "label": "Call", "path": "#.data.[]", "format": "calldata", "params": { "calleePath": "@.to" }, "visible": "always" }] + }, + "updateState((bytes32 rewardsRoot, int160 reward, uint160 unlockedMevReward, bytes32[] proof) harvestParams)": { + "intent": "Update Vault State", + "fields": [ + { "label": "Harvest Params Rewards Root", "path": "#.harvestParams.rewardsRoot", "visible": "never" }, + { "label": "Harvest Params Reward", "path": "#.harvestParams.reward", "visible": "never" }, + { "label": "Harvest Params Unlocked Mev Reward", "path": "#.harvestParams.unlockedMevReward", "visible": "never" }, + { "label": "Harvest Params Proof", "path": "#.harvestParams.proof.[]", "visible": "never" } + ] + }, + "updateStateAndDeposit(address receiver, address referrer, (bytes32 rewardsRoot, int160 reward, uint160 unlockedMevReward, bytes32[] proof) harvestParams)": { + "intent": "Update & Deposit", + "fields": [ + { + "label": "Rewards receiver", + "format": "addressName", + "params": { "types": ["eoa", "wallet"], "sources": ["local", "ens"] }, + "path": "#.receiver", + "visible": "always" + }, + { "label": "Amount to stake", "format": "amount", "path": "@.value" }, + { "label": "Referrer", "path": "#.referrer", "visible": "never" }, + { "label": "Harvest Params Rewards Root", "path": "#.harvestParams.rewardsRoot", "visible": "never" }, + { "label": "Harvest Params Reward", "path": "#.harvestParams.reward", "visible": "never" }, + { "label": "Harvest Params Unlocked Mev Reward", "path": "#.harvestParams.unlockedMevReward", "visible": "never" }, + { "label": "Harvest Params Proof", "path": "#.harvestParams.proof.[]", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/serenita/tests/calldata-EthVault.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/serenita/tests/calldata-EthVault.tests.json new file mode 100644 index 0000000..712bb99 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/serenita/tests/calldata-EthVault.tests.json @@ -0,0 +1,29 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "claim exited assets - chain 1", + "rawTx": "0x02f88d010b8477359400849ae6640b830117ff94b36fc5e542cb4fc562a624912f55da275899811380b8648697d2c200000000000000000000000000000000000000000000012438bbbd73dccbbe020000000000000000000000000000000000000000000000000000000069a21277000000000000000000000000000000000000000000000000000000000000007bc0", + "txHash": "0x730c60ec0b7b5b780f648dc8c32e7ee3c089bee8cd56cf43f9f5821934358494", + "expectedTexts": [] + }, + { + "description": "Stake ETH - chain 1", + "rawTx": "0x02f8740137831312d0846286b16082cbb394b36fc5e542cb4fc562a624912f55da2758998113890813ca56906d340000b844f9609f08000000000000000000000000bd860737f32b7a43e197370606f7eb32c5cad3470000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xfe75de132fb8e024580e8f42c9181f887f21be151ac5f0d466e1e9a3219f3b65", + "expectedTexts": ["Rewards receiver"] + }, + { + "description": "enter exit queue - chain 1", + "rawTx": "0x02f86c011f830186a084025a56528301d75794b36fc5e542cb4fc562a624912f55da275899811380b8448ceab9aa00000000000000000000000000000000000000000000000010b15037e1f67838000000000000000000000000f0bee57fb9b653281a1f9dcd8215481a49f69e30c0", + "txHash": "0x03f4eed7f9ea2c396357dc001dab7b4a28d038220aa24d1acf6e3aa6916d4635", + "expectedTexts": ["Shares to lock", "Receiver"] + }, + { + "description": "Update & Deposit - chain 1", + "rawTx": "0x02f901f601098477359400848101126b83021f3d94b36fc5e542cb4fc562a624912f55da275899811388a5254af37b260000b901c418f7295000000000000000000000000064ebcb80cec751aca0d717ba9bdc0ccce00ffe6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000601f93b29f6d451289a9893b126cc6fe3ed794bbb855f88cf7d50721b27a1a77c500000000000000000000000000000000000000000000000a2b9647c3b5cc2ba70000000000000000000000000000000000000000000000012b63346af520ab2200000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000006a97889d65383e526f54e9aa0c45b232c5f3f9de2855b82c3937e96d73cc90191b20f52d2ea34f4737876593d0e01864c9aebf613c8e1d43bfbe047881ead1b25f9e5df5e24d94edde8df078cfded838e92f2be0f259e797c6d25bab7cfd222f1e83174e8f212087c48e8cc26a25895e51015b87182700a4568f5292cd2030e9798e89e477dc8f0e0bdd2f7e356dcc8d427a377546bce3932932eebb8c3d5e079ca683b7df05fbae908faa5f3f9348067e2419fc2466c04f800f0caabba0cd8b4c0", + "txHash": "0x17ce2c4fdf7aee614fef11291a1ffd024e427a73d517bc287bf9a0283d35267d", + "expectedTexts": ["Rewards receiver"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/smartcredit/eip712-smartcredit.json b/crates/clear-signing/src/assets/registry-snapshot/registry/smartcredit/eip712-smartcredit.json new file mode 100644 index 0000000..15810fb --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/smartcredit/eip712-smartcredit.json @@ -0,0 +1,26 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0x72e9d9038ce484ee986fea183f8d8df93f9ada13" }], + "domain": { "name": "Credit Line", "version": "1.0.0" } + } + }, + "metadata": { "owner": "SMARTCREDIT" }, + "display": { + "formats": { + "LoanRequest(address collateralAddress,uint256 initialCollateralAmount,uint256 loanAmount,bytes32 loanId,uint64 loanInterestRate,uint64 loanTerm,address underlyingAddress)": { + "intent": "SmartCredit.io", + "fields": [ + { "path": "collateralAddress", "label": "Collateral address", "format": "raw" }, + { "path": "initialCollateralAmount", "label": "Initial Collateral Amount", "format": "raw" }, + { "path": "loanAmount", "label": "Loan Amount", "format": "raw" }, + { "path": "loanId", "label": "Loan ID", "format": "raw" }, + { "path": "loanInterestRate", "label": "Loan interest rate", "format": "raw" }, + { "path": "loanTerm", "label": "Load Term", "format": "raw" }, + { "path": "underlyingAddress", "label": "Underlying Address", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/smartcredit/tests/eip712-smartcredit.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/smartcredit/tests/eip712-smartcredit.tests.json new file mode 100644 index 0000000..8d4c472 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/smartcredit/tests/eip712-smartcredit.tests.json @@ -0,0 +1,59 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "SmartCredit.io", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "LoanRequest": [ + { "name": "collateralAddress", "type": "address" }, + { "name": "initialCollateralAmount", "type": "uint256" }, + { "name": "loanAmount", "type": "uint256" }, + { "name": "loanId", "type": "bytes32" }, + { "name": "loanInterestRate", "type": "uint64" }, + { "name": "loanTerm", "type": "uint64" }, + { "name": "underlyingAddress", "type": "address" } + ] + }, + "primaryType": "LoanRequest", + "domain": { + "name": "Credit Line", + "version": "1.0.0", + "chainId": 1, + "verifyingContract": "0x72e9d9038ce484ee986fea183f8d8df93f9ada13" + }, + "message": { + "collateralAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "initialCollateralAmount": "2500000000000000000", + "loanAmount": "4000000000", + "loanId": "0x5b3e7d9a11c4f2a8e6d94f7b2c1a8d3e4f6b7c8d9e0a1b2c3d4e5f60718293ab", + "loanInterestRate": "850", + "loanTerm": "1777680000", + "underlyingAddress": "0xA0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" + } + }, + "expectedTexts": [ + "Collateral address", + "0xC02aaA39b223FE8D 0A0e5C4F27eAD9083 C756Cc2", + "Initial Collateral Amount", + "250000000000000000 0", + "Loan Amount", + "4000000000", + "Loan ID", + "0x5B3E7D9A11C4F2A8 E6D94F7B2C1A8D3E4F 6B7C8D9E0A1B2C3D4 E5F60718293AB", + "Loan interest rate", + "850", + "Load Term", + "1777680000", + "Underlying Address", + "0xA0b86991c6218b36 c1d19D4a2e9Eb0cE360 6eB48" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/starkgate/calldata-StarkGate-STRK.json b/crates/clear-signing/src/assets/registry-snapshot/registry/starkgate/calldata-StarkGate-STRK.json new file mode 100644 index 0000000..25185b1 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/starkgate/calldata-StarkGate-STRK.json @@ -0,0 +1,31 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "L1StarkGateSTRKbridge", + "contract": { "deployments": [{ "chainId": 1, "address": "0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4" }] } + }, + "metadata": { + "owner": "StarkWare", + "info": { "url": "https://starkgate.starknet.io/", "deploymentDate": "2024-10-01T00:00:00Z" }, + "contractName": "L1StarkGateSTRKbridge" + }, + "display": { + "formats": { + "deposit(address token, uint256 amount, uint256 l2Recipient)": { + "$id": "deposit", + "intent": "Bridge", + "fields": [ + { + "path": "amount", + "label": "Amount to deposit", + "format": "tokenAmount", + "params": { "tokenPath": "token" }, + "visible": "always" + }, + { "path": "l2Recipient", "label": "Recipient", "format": "raw", "visible": "always" }, + { "path": "@.value", "label": "Deposit fee", "format": "amount" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/starkgate/tests/calldata-StarkGate-STRK.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/starkgate/tests/calldata-StarkGate-STRK.tests.json new file mode 100644 index 0000000..3df08db --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/starkgate/tests/calldata-StarkGate-STRK.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Bridge - chain 1", + "rawTx": "0x02f8940181fd847735940084817274488302e5a994ce5485cfb26914c5dce00b9baf0580364dafc7a4861424e1145dc5b8640efe6a8b000000000000000000000000ca14007eff0db1f8135f4c25b34de49ab0d4276600000000000000000000000000000000000000000000cf85e80d39783c80000005c8d9a7d34afb96d69422539f8dbf1aa85a5ac7276b9e46f6897bf0f210dd01c0", + "txHash": "0x7814c1365a9ea8d7754c2b988b3b09b761eebc8ea8b94d8c88ce6048114cfc2a", + "expectedTexts": [ + "Interaction with", + "StarkWare", + "Amount to deposit", + "980000 STRK", + "Recipient", + "261643585939209543 893383053091859016 396599831833279956 622170968851335983 0273", + "Deposit fee", + "0.00002214862758650 1 ETH", + "Max fees", + "0.00041234154200564 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/swell/calldata-swell.json b/crates/clear-signing/src/assets/registry-snapshot/registry/swell/calldata-swell.json new file mode 100644 index 0000000..509c1f4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/swell/calldata-swell.json @@ -0,0 +1,111 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0xFAe103DC9cf190eD75350761e95403b7b8aFa6c0" }] } }, + "metadata": { + "owner": "Swell", + "info": { "url": "https://www.swellnetwork.io/" }, + "constants": { "swellToken": "0xFAe103DC9cf190eD75350761e95403b7b8aFa6c0" } + }, + "display": { + "formats": { + "addToWhitelist(address _address)": { + "intent": "Add to whitelist", + "fields": [{ "label": "Address", "format": "addressName", "params": { "types": ["wallet", "eoa", "contract"] }, "path": "#._address" }] + }, + "allowance(address owner, address spender)": { + "intent": "Check Allowance", + "fields": [ + { "label": "Owner", "format": "addressName", "params": { "types": ["wallet", "eoa", "contract"] }, "path": "#.owner" }, + { "label": "Spender", "format": "addressName", "params": { "types": ["contract"] }, "path": "#.spender" } + ] + }, + "approve(address spender, uint256 amount)": { + "intent": "Approve spender", + "fields": [ + { "label": "Spender", "format": "addressName", "params": { "types": ["wallet", "eoa", "contract"] }, "path": "#.spender" }, + { "label": "Amount", "format": "tokenAmount", "path": "amount", "params": { "token": "$.metadata.constants.swellToken" } } + ] + }, + "batchAddToWhitelist(address[] _addresses)": { + "intent": "Add to whitelist", + "fields": [ + { + "label": "Addresses", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract"] }, + "path": "#._addresses.[]" + } + ] + }, + "batchRemoveFromWhitelist(address[] _addresses)": { + "intent": "Remove addresses", + "fields": [ + { + "label": "Addresses", + "format": "addressName", + "params": { "types": ["wallet", "eoa", "contract"] }, + "path": "#._addresses.[]" + } + ] + }, + "burn(uint256 amount)": { "fields": [{ "label": "Amount", "format": "tokenAmount", "path": "#.amount", "params": { "tokenPath": "@.to" } }] }, + "decreaseAllowance(address spender, uint256 subtractedValue)": { + "intent": "Decrease allowance", + "fields": [ + { "label": "Spender", "format": "addressName", "params": { "types": ["wallet", "eoa", "contract"] }, "path": "#.spender" }, + { "label": "Subtracted Value", "format": "tokenAmount", "path": "#.subtractedValue", "params": { "tokenPath": "@.to" } } + ] + }, + "depositViaDepositManager(uint256 _amount, address _to, uint256 _minRswETH)": { + "intent": "Deposit via Manager", + "fields": [ + { "label": "Amount", "format": "amount", "path": "#._amount" }, + { "label": "To", "format": "addressName", "params": { "types": ["wallet", "eoa", "contract"] }, "path": "#._to" }, + { "label": "Min Rsw ETH", "format": "raw", "path": "#._minRswETH" } + ] + }, + "depositWithReferral(address referral)": { + "intent": "Deposit", + "fields": [ + { "label": "Referral", "format": "addressName", "params": { "types": ["wallet", "eoa", "contract"] }, "path": "#.referral" }, + { "label": "Amount", "format": "amount", "path": "@.value" } + ] + }, + "increaseAllowance(address spender, uint256 addedValue)": { + "intent": "Increase allowance", + "fields": [ + { "label": "Spender", "format": "addressName", "params": { "types": ["wallet", "eoa", "contract"] }, "path": "#.spender" }, + { "label": "Added Value", "format": "tokenAmount", "path": "#.addedValue", "params": { "tokenPath": "@.to" } } + ] + }, + "removeFromWhitelist(address _address)": { + "intent": "Unwhitelist", + "fields": [{ "label": "Address", "format": "addressName", "params": { "types": ["wallet", "eoa", "contract"] }, "path": "#._address" }] + }, + "reprice(uint256 _preRewardETHReserves, uint256 _newETHRewards, uint256 _rswETHTotalSupply)": { + "intent": "Reprice", + "fields": [ + { "label": "Pre Reward Reserves", "format": "raw", "path": "#._preRewardETHReserves" }, + { "label": "New ETH Rewards", "format": "raw", "path": "#._newETHRewards" }, + { "label": "Rsw ETH Total Supply", "format": "raw", "path": "#._rswETHTotalSupply" } + ] + }, + "transfer(address to, uint256 amount)": { + "intent": "Transfer Tokens", + "fields": [ + { "label": "To", "format": "addressName", "params": { "types": ["wallet", "eoa", "contract"] }, "path": "#.to" }, + { "label": "Amount", "format": "tokenAmount", "path": "amount", "params": { "tokenPath": "@.to" } } + ] + }, + "transferFrom(address from, address to, uint256 amount)": { + "intent": "Transfer From", + "fields": [ + { "label": "From", "format": "addressName", "params": { "types": ["wallet", "eoa", "contract"] }, "path": "#.from" }, + { "label": "To", "format": "addressName", "params": { "types": ["wallet", "eoa", "contract"] }, "path": "#.to" }, + { "label": "Amount", "format": "tokenAmount", "path": "amount", "params": { "tokenPath": "@.to" } } + ] + }, + "withdrawERC20(address _token)": { "fields": [{ "label": "Token", "format": "addressName", "params": { "types": ["token"] }, "path": "#._token" }] } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/swell/tests/calldata-swell.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/swell/tests/calldata-swell.tests.json new file mode 100644 index 0000000..34fa253 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/swell/tests/calldata-swell.tests.json @@ -0,0 +1,41 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Approve spender - chain 1", + "rawTx": "0x02f86d0181ba830493e08403c7dd7083013ec694fae103dc9cf190ed75350761e95403b7b8afa6c080b844095ea7b30000000000000000000000006a000f20005980200259b80c510200304000106800000000000000000000000000000000000000000000000003782dace9d90000c0", + "txHash": "0x1f6f7f487bc0f802a2667414ff0818c18671269ff06127a4f49b7bb25428b197", + "expectedTexts": [ + "Interaction with", + "Swell", + "Spender", + "0x6A000F2000598020 0259B80c5102003040 001068", + "Amount", + "0.25 rswETH", + "Max fees", + "0.00000517626858 ETH" + ] + }, + { + "description": "Transfer Tokens - chain 1", + "rawTx": "0x02f86e0181b68405991bd8840f79953b83015d1494fae103dc9cf190ed75350761e95403b7b8afa6c080b844a9059cbb0000000000000000000000007e702f7a8299b51d3eb0a3e8107ce64f7d7269660000000000000000000000000000000000000000000000000c4a488205160000c0", + "txHash": "0x67a7415dcf9a779b0725f6f46c74b8463f0074d597dc87df19c1744c5a6f5762", + "expectedTexts": [ + "To", + "kens Swipe to review", + "To", + "kens Swipe to review", + "Interaction with", + "Swell", + "To", + "0x7e702F7A8299b51D 3Eb0A3E8107Ce64f7D 726966", + "Amount", + "0.8856 rswETH", + "Max fees", + "0.00002320124458383 6 ETH", + "To", + "kens?" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-ChsbToBorgMigrator.json b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-ChsbToBorgMigrator.json new file mode 100644 index 0000000..91ce406 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-ChsbToBorgMigrator.json @@ -0,0 +1,31 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "CHSB to BORG Migrator", + "contract": { "deployments": [{ "chainId": 1, "address": "0xaA854688caAB725fe17b7D21b46fDA5AF365985a" }] } + }, + "metadata": { + "owner": "SwissBorg", + "info": { "url": "https://migration.swissborg.com" }, + "constants": { "chsbAddress": "0xba9d4199faB4f26eFE3551D490E3821486f135Ba" }, + "contractName": "CHSB to BORG Migrator" + }, + "display": { + "formats": { + "migrate(uint256 _amount)": { + "$id": "migrate", + "intent": "Migrate CHSB to BORG", + "interpolatedIntent": "Migrate {#._amount} to BORG", + "fields": [ + { + "$id": "migrate", + "label": "CHSB Amount", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.chsbAddress" }, + "path": "#._amount" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-NttManager.json b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-NttManager.json new file mode 100644 index 0000000..afadbbe --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-NttManager.json @@ -0,0 +1,79 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "BORG Bridge (Outbound)", + "contract": { "deployments": [{ "chainId": 1, "address": "0x66a28B080918184851774a89aB94850a41f6a1e5" }] } + }, + "metadata": { + "owner": "SwissBorg", + "info": { "url": "https://swissborg.com/bridge" }, + "constants": { "borgAddress": "0x64d0f55Cd8C7133a9D7102b13987235F486F2224" }, + "contractName": "BORG Bridge (Outbound)" + }, + "display": { + "formats": { + "transfer(uint256 amount, uint16 recipientChain, bytes32 recipient)": { + "$id": "transfer", + "intent": "Bridge BORG", + "interpolatedIntent": "Bridge {#.amount} BORG", + "fields": [ + { + "$id": "amount", + "label": "Amount", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.borgAddress" }, + "path": "#.amount", + "visible": "always" + }, + { + "$id": "destinationChain", + "label": "Destination Chain", + "format": "raw", + "path": "#.recipientChain", + "visible": "always" + }, + { + "$id": "encodedDestinationAddress", + "label": "Destination Address", + "format": "raw", + "path": "#.recipient", + "visible": "always" + } + ] + }, + "transfer(uint256 amount, uint16 recipientChain, bytes32 recipient, bytes32 refundAddress, bool shouldQueue, bytes transceiverInstructions)": { + "$id": "transfer2", + "intent": "Bridge BORG", + "interpolatedIntent": "Bridge {#.amount} BORG", + "fields": [ + { + "$id": "amount", + "label": "Amount", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.borgAddress" }, + "path": "#.amount", + "visible": "always" + }, + { + "$id": "destinationChain", + "label": "Destination Chain", + "format": "raw", + "path": "#.recipientChain", + "visible": "always" + }, + { + "$id": "encodedDestinationAddress", + "label": "Destination Address", + "format": "raw", + "path": "#.recipient", + "visible": "always" + }, + { "$id": "refundAddress", "label": "Refund Address", "format": "raw", "path": "#.refundAddress" }, + { "$id": "shouldQueue", "label": "Should Queue", "format": "raw", "path": "#.shouldQueue" }, + { "$id": "transceiverInstructions", "label": "Instructions", "format": "raw", "path": "#.transceiverInstructions" }, + { "$id": "relayingFee", "label": "Relaying Fee", "path": "@.value", "format": "amount", "visible": "optional" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-WormholeTransceiver.json b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-WormholeTransceiver.json new file mode 100644 index 0000000..790253d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/calldata-WormholeTransceiver.json @@ -0,0 +1,18 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "BORG Bridge (Inbound)", + "contract": { "deployments": [{ "chainId": 1, "address": "0x45E581d6841F0a99Fc34F70871ef56b353813ddb" }] } + }, + "metadata": { "owner": "SwissBorg", "info": { "url": "https://swissborg.com/bridge" }, "contractName": "BORG Bridge (Inbound)" }, + "display": { + "formats": { + "receiveMessage(bytes encodedMessage)": { + "$id": "receiveMessage", + "intent": "Receive Bridged BORG", + "interpolatedIntent": "Receive Bridged BORG", + "fields": [{ "$id": "encodedMessage", "label": "Encoded Message", "format": "raw", "path": "#.encodedMessage", "visible": "always" }] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-ChsbToBorgMigrator.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-ChsbToBorgMigrator.tests.json new file mode 100644 index 0000000..3e8f8de --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-ChsbToBorgMigrator.tests.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Migrate CHSB to BORG - chain 1", + "rawTx": "0x02f84c01748402be8423840cc98e82830328ed94aa854688caab725fe17b7d21b46fda5af365985a80a4454b0608000000000000000000000000000000000000000000000000000000438558d400c0", + "txHash": "0x6d1d42a01cd3b3c58e0e69f9172461c035a336801c199a31014cc1748c00b4f8", + "expectedTexts": ["Interaction with", "SwissBorg", "CHSB Amount", "2900 CHSB", "Max fees", "0.00004442714821385 ETH"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-NttManager.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-NttManager.tests.json new file mode 100644 index 0000000..0f23025 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-NttManager.tests.json @@ -0,0 +1,28 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Bridge BORG - chain 1", + "rawTx": "0x02f9012d01830179f00f84060761578307a1209466a28b080918184851774a89ab94850a41f6a1e580b90104b293f97f0000000000000000000000000000000000000000000000354b199b8777b7780000000000000000000000000000000000000000000000000000000000000000018bae41978caf0bd117cd27c0e6b7600ed28053b282204769185ea34729d20a558bae41978caf0bd117cd27c0e6b7600ed28053b282204769185ea34729d20a55000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000040100010100000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x6913ad8346c101b0dcaff8f4395596872e0345d9a66cdb9ed519720d05ea52a4", + "expectedTexts": [ + "Interaction with", + "SwissBorg", + "Amount", + "983.08896334 BORG", + "Destination Chain", + "1", + "Destination Address", + "0x8bae41978caf0bd11 7cd27c0e6b7600ed28 053b282204769185ea 34729d20a55", + "Refund Address", + "0x8bae41978caf0bd11 7cd27c0e6b7600ed28 053b282204769185ea 34729d20a55", + "Should Queue", + "false", + "Instructions", + "0x01000101", + "Max fees", + "0.0000505734835 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-WormholeTransceiver.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-WormholeTransceiver.tests.json new file mode 100644 index 0000000..f7df956 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/swissborg/tests/calldata-WormholeTransceiver.tests.json @@ -0,0 +1,18 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Receive Bridged BORG - chain 1", + "rawTx": "0x02f904ed01830176e50a84054101a68307a1209445e581d6841f0a99fc34f70871ef56b353813ddb80b904c4f953cec70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000046c01000000050d01dc707c73a3a85c3f3f6697a7bbc7393df92a82dcfee5f0f2fe0fe4dfc7e9c73a7989f0432d82bf02b429b3ce28efb02ba90a22fd8882bd1bfc604cbb9396823501021402ab3c5d48a8cb3b2471e0b7be0dbcf9b19034c665c01376ad32d592450afd6954670cc48a51ba061b41fe583b104613fa270528f76d106f651b7fb708c233000675cf960c8f5f9dd4f4173a39b160ce1d12003be05e45e4b68f22d8e60f3d3f3f07be6b9df45a70b6afaa2611065d2e470ee66274caa94d0d63b76706468bb1e50007f1bc4b8a6a0420071536beabdda142b2eeb3f8e6876a3d1ba554ea4464851d063df674038fabfe65c7462a4db3318cc8479912116f62f48b27356c26518fe9db0008a831b599849b7224ca0ff073650e22c93ce3f1164a7e642faa9ede52b0165e49453b627ee8b3caeabceb9818ffaf65bba4ee6452bc0d34ad2e171aef2467329501098ce51bae034e05b26a7e913a3794932f59904636a3ab147c06dcfaa2271ef6f504d95662d169868206d9c2b52a3f53ee42bb9d1b9235b5f939d881137c5a398e010a8c6d22931824094e4a7f4b0882e98b33a7c49d0d3a83bda1bbfa6b0a6f99c3f771ff2f43ff3efe1ce92c20cb5670b207a4e08bde4917832cac6bf8ad35f2a829010b3df5fb4257677d0a2018f8a1f82a14e03d5075e367996051626097a2d15288d543418fd1d1a87ef49b7537189fa326c278fd43ae1e3d62bec5ede85fe80cb325000c080365356d3a27216ca9e6a470cfedf71a344af323c4bebb5ed72802b053033a0761dcd5d035ffd2eb3d9e553e7909a3e3e43dcfac475988e9be823821205910000d57064e41865b184c09be73f832e3203f4381c66e33ce45b5d68317bee4102d8a4a0c175dae476a3522bab821d72df00c878e0369bd0b072c74452f27b821c00e010e852b2d1f257a82c5e8c50fe35273e12ffeb2c3945e448b582cadfad49842745103422f6f1313f98bf51f4e73e015d5f0249a9a381938611c4489de9e5218135b010f22c7fd682f3644ecd2c26768478234f8e61cfea97736ece7d3c270f2ac6930662986e333c6fb65e6b821afca827dfe25dbf2fccd8c3cbe0e3db0f0a6753a84a200126850b1b32dabd934cfcaf81d3441c1de135851889f58be17ae076d134d937f11712462073723cf8b574e1c2ad054ba4af2057e28dc0f63635a1c96d088e90dda0169ba2b520000000000011fee66965099e8849e37bf847c72c6a42cee556fc4ca2769ff2795f8041b5cb100000000000005e8209945ff10059bdc58d07182786b833874a379a6d5fccc99045bc9157613d5992ce2b7a32800000000000000000000000066a28b080918184851774a89ab94850a41f6a1e5009140123fbb43e22e0d42eca7423585db7995a58d13960a910d9992dacf3ec3bc1f8bae41978caf0bd117cd27c0e6b7600ed28053b282204769185ea34729d20a55004f994e545408000000159fab9581270ad0028e970df757d5f14f8cbb6a6810e48139125608ea958b718eb294492000000000000000000000000049719d256a5ea16bfa579ea16e95bea9fa41a452000200000000000000000000000000000000000000000000c0", + "txHash": "0x9e28f4745574365a33cfae94b13e365523905ff22b789e65c397ddf46001ab29", + "expectedTexts": [ + "Interaction with", + "SwissBorg", + "Encoded Message", + "0x01000000050d01dc7 07c73a3a85c3f3f6697 a7bbc7393df92a82dcf ee5f0f2fe0fe4dfc7e9c7 3a7989f0432d82bf02b 429b3ce28efb02ba... More", + "Max fees", + "0.000044073171 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-arb-token.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-arb-token.json new file mode 100644 index 0000000..9abbb2d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-arb-token.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0x912ce59144191c1204e64559fe8253a0e49e6548" }], + "domain": { "name": "Arbitrum", "version": "1" } + } + }, + "metadata": { "owner": "Arbitrum" }, + "display": { + "formats": { + "Delegation(address delegatee,uint256 nonce,uint256 expiry)": { + "intent": "ARB token", + "fields": [ + { "path": "delegatee", "label": "Delegatee", "format": "raw" }, + { "path": "nonce", "label": "Nonce", "format": "raw" }, + { "path": "expiry", "label": "Expiry", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-core-governor.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-core-governor.json new file mode 100644 index 0000000..8b8584d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-core-governor.json @@ -0,0 +1,21 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0xf07ded9dc292157749b6fd268e37df6ea38395b9" }], + "domain": { "name": "L2ArbitrumGovernor", "version": "1" } + } + }, + "metadata": { "owner": "L2ArbitrumGovernor" }, + "display": { + "formats": { + "Ballot(uint256 proposalId,uint8 support)": { + "intent": "Arbitrum Foundation: Core Governor", + "fields": [ + { "path": "proposalId", "label": "Proposal id", "format": "raw" }, + { "path": "support", "label": "Support", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-treasury-governor.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-treasury-governor.json new file mode 100644 index 0000000..1a3edb2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-arbitrum-treasury-governor.json @@ -0,0 +1,21 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 42161, "address": "0x789fc99093b09ad01c34dc7251d0c89ce743e5a4" }], + "domain": { "name": "L2ArbitrumGovernor", "version": "1" } + } + }, + "metadata": { "owner": "L2ArbitrumGovernor" }, + "display": { + "formats": { + "Ballot(uint256 proposalId,uint8 support)": { + "intent": "Arbitrum Foundation: Treasury Governor", + "fields": [ + { "path": "proposalId", "label": "Proposal id", "format": "raw" }, + { "path": "support", "label": "Support", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-bitcoin-governor.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-bitcoin-governor.json new file mode 100644 index 0000000..6c67c4e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-bitcoin-governor.json @@ -0,0 +1,21 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0xdbd27635a534a3d3169ef0498beb56fb9c937489" }], + "domain": { "name": "GTC Governor Alpha" } + } + }, + "metadata": { "owner": "GTC Governor Alpha" }, + "display": { + "formats": { + "Ballot(uint256 proposalId,bool support)": { + "intent": "Gitcoin Governor", + "fields": [ + { "path": "proposalId", "label": "Proposal id", "format": "raw" }, + { "path": "support", "label": "Support", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-bravo-governor.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-bravo-governor.json new file mode 100644 index 0000000..bffc167 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-bravo-governor.json @@ -0,0 +1,21 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3" }], + "domain": { "name": "Uniswap Governor Bravo" } + } + }, + "metadata": { "owner": "Uniswap Governor Bravo" }, + "display": { + "formats": { + "Ballot(uint256 proposalId,uint8 support)": { + "intent": "Uniswap Governor", + "fields": [ + { "path": "proposalId", "label": "Proposal id", "format": "raw" }, + { "path": "support", "label": "Support", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-ens-governor.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-ens-governor.json new file mode 100644 index 0000000..7a4beef --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-ens-governor.json @@ -0,0 +1,21 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0x323a76393544d5ecca80cd6ef2a560c6a395b7e3" }], + "domain": { "name": "ENS Governor", "version": "1" } + } + }, + "metadata": { "owner": "ENS Governor" }, + "display": { + "formats": { + "Ballot(uint256 proposalId,uint8 support)": { + "intent": "ENS Governor", + "fields": [ + { "path": "proposalId", "label": "Proposal id", "format": "raw" }, + { "path": "support", "label": "Support", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-ens-token.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-ens-token.json new file mode 100644 index 0000000..cb32c03 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-ens-token.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0xc18360217d8f7ab5e7c516566761ea12ce7f9d72" }], + "domain": { "name": "Ethereum Name Service", "version": "1" } + } + }, + "metadata": { "owner": "Ethereum Name Service" }, + "display": { + "formats": { + "Delegation(address delegatee,uint256 nonce,uint256 expiry)": { + "intent": "ENS token", + "fields": [ + { "path": "delegatee", "label": "Delegatee", "format": "raw" }, + { "path": "nonce", "label": "Nonce", "format": "raw" }, + { "path": "expiry", "label": "Expiry", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-gtk-token.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-gtk-token.json new file mode 100644 index 0000000..d2fa116 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-gtk-token.json @@ -0,0 +1,19 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { "deployments": [{ "chainId": 1, "address": "0xde30da39c46104798bb5aa3fe8b9e0e1f348163f" }], "domain": { "name": "Gitcoin" } } + }, + "metadata": { "owner": "Gitcoin" }, + "display": { + "formats": { + "Delegation(address delegatee,uint256 nonce,uint256 expiry)": { + "intent": "GTK token", + "fields": [ + { "path": "delegatee", "label": "Delegatee", "format": "raw" }, + { "path": "nonce", "label": "Nonce", "format": "raw" }, + { "path": "expiry", "label": "Expiry", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-hop-governor.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-hop-governor.json new file mode 100644 index 0000000..7466f9e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-hop-governor.json @@ -0,0 +1,21 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0xed8bdb5895b8b7f9fdb3c087628fd8410e853d48" }], + "domain": { "name": "HOP Governor", "version": "1" } + } + }, + "metadata": { "owner": "HOP Governor" }, + "display": { + "formats": { + "Ballot(uint256 proposalId,uint8 support)": { + "intent": "Hop Governor", + "fields": [ + { "path": "proposalId", "label": "Proposal id", "format": "raw" }, + { "path": "support", "label": "Support", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-hop-token.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-hop-token.json new file mode 100644 index 0000000..74206af --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-hop-token.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0xc5102fe9359fd9a28f877a67e36b0f050d81a3cc" }], + "domain": { "name": "Hop", "version": "1" } + } + }, + "metadata": { "owner": "Hop" }, + "display": { + "formats": { + "Delegation(address delegatee,uint256 nonce,uint256 expiry)": { + "intent": "HOP token", + "fields": [ + { "path": "delegatee", "label": "Delegatee", "format": "raw" }, + { "path": "nonce", "label": "Nonce", "format": "raw" }, + { "path": "expiry", "label": "Expiry", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-pool-token.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-pool-token.json new file mode 100644 index 0000000..28e3e17 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-pool-token.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0x0cec1a9154ff802e7934fc916ed7ca50bde6844e" }], + "domain": { "name": "PoolTogether" } + } + }, + "metadata": { "owner": "PoolTogether" }, + "display": { + "formats": { + "Delegation(address delegatee,uint256 nonce,uint256 expiry)": { + "intent": "POOL token", + "fields": [ + { "path": "delegatee", "label": "Delegatee", "format": "raw" }, + { "path": "nonce", "label": "Nonce", "format": "raw" }, + { "path": "expiry", "label": "Expiry", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-pooltogether-governor.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-pooltogether-governor.json new file mode 100644 index 0000000..05e6927 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-pooltogether-governor.json @@ -0,0 +1,21 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "deployments": [{ "chainId": 1, "address": "0xb3a87172f555ae2a2ab79be60b336d2f7d0187f0" }], + "domain": { "name": "PoolTogether Governor Alpha" } + } + }, + "metadata": { "owner": "PoolTogether Governor Alpha" }, + "display": { + "formats": { + "Ballot(uint256 proposalId,bool support)": { + "intent": "PoolTogether Governor Alpha", + "fields": [ + { "path": "proposalId", "label": "Proposal id", "format": "raw" }, + { "path": "support", "label": "Support", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-uni-token.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-uni-token.json new file mode 100644 index 0000000..43f085b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/eip712-tally-ethereum-uni-token.json @@ -0,0 +1,19 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { "deployments": [{ "chainId": 1, "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984" }], "domain": { "name": "Uniswap" } } + }, + "metadata": { "owner": "Uniswap" }, + "display": { + "formats": { + "Delegation(address delegatee,uint256 nonce,uint256 expiry)": { + "intent": "UNI token", + "fields": [ + { "path": "delegatee", "label": "Delegatee", "format": "raw" }, + { "path": "nonce", "label": "Nonce", "format": "raw" }, + { "path": "expiry", "label": "Expiry", "format": "raw" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-arb-token.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-arb-token.tests.json new file mode 100644 index 0000000..098032c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-arb-token.tests.json @@ -0,0 +1,23 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "ARB token", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Delegation": [{ "name": "delegatee", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "expiry", "type": "uint256" }] + }, + "primaryType": "Delegation", + "domain": { "name": "Arbitrum", "version": "1", "chainId": 42161, "verifyingContract": "0x912CE59144191C1204E64559FE8253A0E49E6548" }, + "message": { "delegatee": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "nonce": 7, "expiry": 1790000000 } + }, + "expectedTexts": ["Delegatee", "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", "Nonce", "7", "Expiry", "1790000000"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-core-governor.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-core-governor.tests.json new file mode 100644 index 0000000..de649ff --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-core-governor.tests.json @@ -0,0 +1,28 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Arbitrum Foundation: Core Governor", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Ballot": [{ "name": "proposalId", "type": "uint256" }, { "name": "support", "type": "uint8" }] + }, + "primaryType": "Ballot", + "domain": { + "name": "L2ArbitrumGovernor", + "version": "1", + "chainId": 42161, + "verifyingContract": "0xf07ded9dc292157749b6fd268e37df6ea38395b9" + }, + "message": { "proposalId": "65188298694973145982045139804621336162807822964285913299589753047294933677132", "support": 1 } + }, + "expectedTexts": ["Proposal id", "651882986949731459 820451398046213361 628078229642859132 995897530472949336 77132", "Support", "1"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-treasury-governor.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-treasury-governor.tests.json new file mode 100644 index 0000000..d02d534 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-arbitrum-treasury-governor.tests.json @@ -0,0 +1,28 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Arbitrum Foundation: Treasury Governor", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Ballot": [{ "name": "proposalId", "type": "uint256" }, { "name": "support", "type": "uint8" }] + }, + "primaryType": "Ballot", + "domain": { + "name": "L2ArbitrumGovernor", + "version": "1", + "chainId": 42161, + "verifyingContract": "0x789fc99093b09ad01c34dc7251d0c89ce743e5a4" + }, + "message": { "proposalId": "87060200128729345015202003502732272248659485483823317618429660977840962607811", "support": 1 } + }, + "expectedTexts": ["Proposal id", "870602001287293450 152020035027322722 486594854838233176 184296609778409626 07811", "Support", "1"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-bitcoin-governor.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-bitcoin-governor.tests.json new file mode 100644 index 0000000..96ae402 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-bitcoin-governor.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Gitcoin Governor", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Ballot": [{ "name": "proposalId", "type": "uint256" }, { "name": "support", "type": "bool" }] + }, + "primaryType": "Ballot", + "domain": { "name": "GTC Governor Alpha", "chainId": 1, "verifyingContract": "0xdbd27635a534a3d3169ef0498beb56fb9c937489" }, + "message": { "proposalId": "47", "support": true } + }, + "expectedTexts": ["Proposal id", "47", "Support", "true"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-bravo-governor.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-bravo-governor.tests.json new file mode 100644 index 0000000..8e1c27e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-bravo-governor.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Uniswap Governor", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Ballot": [{ "name": "proposalId", "type": "uint256" }, { "name": "support", "type": "uint8" }] + }, + "primaryType": "Ballot", + "domain": { "name": "Uniswap Governor Bravo", "chainId": 1, "verifyingContract": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3" }, + "message": { "proposalId": 178, "support": 1 } + }, + "expectedTexts": ["Proposal id", "178", "Support", "1"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-ens-governor.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-ens-governor.tests.json new file mode 100644 index 0000000..1d1be2e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-ens-governor.tests.json @@ -0,0 +1,23 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "ENS Governor", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Ballot": [{ "name": "proposalId", "type": "uint256" }, { "name": "support", "type": "uint8" }] + }, + "primaryType": "Ballot", + "domain": { "name": "ENS Governor", "version": "1", "chainId": 1, "verifyingContract": "0x323a76393544d5ecca80cd6ef2a560c6a395b7e3" }, + "message": { "proposalId": "65124996456969240058970412761127463646733711243818620698023168930879474320148", "support": 1 } + }, + "expectedTexts": ["Proposal id", "651249964569692400 5897041276112746364 6733711243818620698 023168930879474320 148", "Support", "1"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-ens-token.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-ens-token.tests.json new file mode 100644 index 0000000..c532b3f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-ens-token.tests.json @@ -0,0 +1,28 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "ENS token", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Delegation": [{ "name": "delegatee", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "expiry", "type": "uint256" }] + }, + "primaryType": "Delegation", + "domain": { + "name": "Ethereum Name Service", + "version": "1", + "chainId": 1, + "verifyingContract": "0xC18360217D8F7Ab5e7c516566761Ea12Ce7f9D72" + }, + "message": { "delegatee": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "nonce": 42, "expiry": 1798761600 } + }, + "expectedTexts": ["Delegatee", "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", "Nonce", "42", "Expiry", "1798761600"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-gtk-token.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-gtk-token.tests.json new file mode 100644 index 0000000..eee6c48 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-gtk-token.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "GTK token", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Delegation": [{ "name": "delegatee", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "expiry", "type": "uint256" }] + }, + "primaryType": "Delegation", + "domain": { "name": "Gitcoin", "chainId": 1, "verifyingContract": "0xDe30Da39c46104798Bb5Aa3fE8B9e0E1f348163F" }, + "message": { "delegatee": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "nonce": 42, "expiry": 1798761600 } + }, + "expectedTexts": ["Delegatee", "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", "Nonce", "42", "Expiry", "1798761600"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-hop-governor.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-hop-governor.tests.json new file mode 100644 index 0000000..5da2489 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-hop-governor.tests.json @@ -0,0 +1,23 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Hop Governor", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Ballot": [{ "name": "proposalId", "type": "uint256" }, { "name": "support", "type": "uint8" }] + }, + "primaryType": "Ballot", + "domain": { "name": "HOP Governor", "version": "1", "chainId": 1, "verifyingContract": "0xed8bdb5895b8b7f9fdb3c087628fd8410e853d48" }, + "message": { "proposalId": 128, "support": 1 } + }, + "expectedTexts": ["Proposal id", "128", "Support", "1"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-hop-token.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-hop-token.tests.json new file mode 100644 index 0000000..7bd3052 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-hop-token.tests.json @@ -0,0 +1,23 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "HOP token", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "version", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Delegation": [{ "name": "delegatee", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "expiry", "type": "uint256" }] + }, + "primaryType": "Delegation", + "domain": { "name": "Hop", "version": "1", "chainId": 1, "verifyingContract": "0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC" }, + "message": { "delegatee": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "nonce": 12, "expiry": 1776816000 } + }, + "expectedTexts": ["Delegatee", "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", "Nonce", "12", "Expiry", "1776816000"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-pool-token.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-pool-token.tests.json new file mode 100644 index 0000000..424ae3d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-pool-token.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "POOL token", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Delegation": [{ "name": "delegatee", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "expiry", "type": "uint256" }] + }, + "primaryType": "Delegation", + "domain": { "name": "PoolTogether", "chainId": 1, "verifyingContract": "0x0cec1a9154ff802e7934fc916ed7ca50bde6844e" }, + "message": { "delegatee": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "nonce": 18, "expiry": 1784678400 } + }, + "expectedTexts": ["Delegatee", "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", "Nonce", "18", "Expiry", "1784678400"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-pooltogether-governor.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-pooltogether-governor.tests.json new file mode 100644 index 0000000..8e01c5c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-pooltogether-governor.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "PoolTogether Governor Alpha", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Ballot": [{ "name": "proposalId", "type": "uint256" }, { "name": "support", "type": "bool" }] + }, + "primaryType": "Ballot", + "domain": { "name": "PoolTogether Governor Alpha", "chainId": 1, "verifyingContract": "0xb3a87172f555ae2a2ab79be60b336d2f7d0187f0" }, + "message": { "proposalId": 3, "support": true } + }, + "expectedTexts": ["Proposal id", "3", "Support", "true"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-uni-token.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-uni-token.tests.json new file mode 100644 index 0000000..829f412 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tally/tests/eip712-tally-ethereum-uni-token.tests.json @@ -0,0 +1,22 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "UNI token", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "Delegation": [{ "name": "delegatee", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "expiry", "type": "uint256" }] + }, + "primaryType": "Delegation", + "domain": { "name": "Uniswap", "chainId": 1, "verifyingContract": "0x1f9840A85d5aF5bf1D1762F925BDADdC4201F984" }, + "message": { "delegatee": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "nonce": 12, "expiry": 1798761600 } + }, + "expectedTexts": ["Delegatee", "0xd8dA6BF26964aF9D 7eEd9e03E53415D37a A96045", "Nonce", "12", "Expiry", "1798761600"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/tether/calldata-usdt.json b/crates/clear-signing/src/assets/registry-snapshot/registry/tether/calldata-usdt.json new file mode 100644 index 0000000..9bf579e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/tether/calldata-usdt.json @@ -0,0 +1,41 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Tether USD", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7" }, + { "chainId": 137, "address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" } + ] + } + }, + "metadata": { + "owner": "Tether Limited", + "info": { "url": "https://tether.to/", "deploymentDate": "2017-11-28T12:41:21Z" }, + "token": { "ticker": "USDT", "name": "Tether USD", "decimals": 6 }, + "contractName": "Tether USD" + }, + "display": { + "formats": { + "transfer(address _to, uint256 _value)": { + "intent": "Send", + "fields": [ + { "path": "#._value", "label": "Amount", "format": "tokenAmount", "params": { "tokenPath": "@.to" } }, + { "path": "#._to", "label": "To", "format": "addressName", "params": { "types": ["eoa"], "sources": ["local", "ens"] } } + ] + }, + "approve(address _spender, uint256 _value)": { + "intent": "Approve", + "fields": [ + { "path": "#._spender", "label": "Spender", "format": "addressName", "params": { "types": ["eoa", "contract"] } }, + { + "path": "#._value", + "label": "Amount", + "format": "tokenAmount", + "params": { "tokenPath": "@.to", "threshold": "0x8000000000000000000000000000000000000000000000000000000000000000" } + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-Bridge.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-Bridge.json new file mode 100644 index 0000000..627235e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-Bridge.json @@ -0,0 +1,199 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Threshold tBTC Bridge", + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0x5e4861a80B55f035D899f66772117F00FA0E8e7B" + }, + { + "chainId": 11155111, + "address": "0x9b1a7fE5a16A15F2f9475C5B231750598b113403" + } + ] + } + }, + "metadata": { + "owner": "Threshold Network", + "info": { "url": "https://threshold.network/" }, + "contractName": "tBTC Bridge" + }, + "display": { + "formats": { + "revealDeposit((bytes4 version, bytes inputVector, bytes outputVector, bytes4 locktime) fundingTx, (uint32 fundingOutputIndex, bytes8 blindingFactor, bytes20 walletPubKeyHash, bytes20 refundPubKeyHash, bytes4 refundLocktime, address vault) reveal)": { + "$id": "revealDeposit", + "intent": "Reveal tBTC deposit", + "fields": [ + { + "path": "reveal.fundingOutputIndex", + "label": "Funding output", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.walletPubKeyHash", + "label": "Wallet pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.refundPubKeyHash", + "label": "Refund pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.refundLocktime", + "label": "Refund locktime", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.vault", + "label": "Vault", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "fundingTx.version", + "label": "Bitcoin tx version", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.inputVector", + "label": "Bitcoin inputs", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.outputVector", + "label": "Bitcoin outputs", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.locktime", + "label": "Bitcoin locktime", + "format": "raw", + "visible": "optional" + } + ] + }, + "revealDepositWithExtraData((bytes4 version, bytes inputVector, bytes outputVector, bytes4 locktime) fundingTx, (uint32 fundingOutputIndex, bytes8 blindingFactor, bytes20 walletPubKeyHash, bytes20 refundPubKeyHash, bytes4 refundLocktime, address vault) reveal, bytes32 extraData)": { + "$id": "revealDepositWithExtraData", + "intent": "Reveal cross-chain deposit", + "fields": [ + { + "path": "reveal.fundingOutputIndex", + "label": "Funding output", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.walletPubKeyHash", + "label": "Wallet pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.refundPubKeyHash", + "label": "Refund pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.refundLocktime", + "label": "Refund locktime", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.vault", + "label": "Vault", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "extraData", + "label": "Deposit owner data", + "format": "raw", + "visible": "always" + }, + { + "path": "fundingTx.version", + "label": "Bitcoin tx version", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.inputVector", + "label": "Bitcoin inputs", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.outputVector", + "label": "Bitcoin outputs", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.locktime", + "label": "Bitcoin locktime", + "format": "raw", + "visible": "optional" + } + ] + }, + "requestRedemption(bytes20 walletPubKeyHash, (bytes32 txHash, uint32 txOutputIndex, uint64 txOutputValue) mainUtxo, bytes redeemerOutputScript, uint64 amount)": { + "$id": "requestRedemption", + "intent": "Request tBTC redemption", + "fields": [ + { + "path": "amount", + "label": "Amount", + "format": "unit", + "params": { "base": "BTC", "decimals": 8, "prefix": false }, + "visible": "always" + }, + { + "path": "walletPubKeyHash", + "label": "Wallet pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "redeemerOutputScript", + "label": "BTC output script", + "format": "raw", + "visible": "always" + }, + { + "path": "mainUtxo.txHash", + "label": "Main UTXO tx", + "format": "raw", + "visible": "optional" + }, + { + "path": "mainUtxo.txOutputIndex", + "label": "Main UTXO index", + "format": "raw", + "visible": "optional" + }, + { + "path": "mainUtxo.txOutputValue", + "label": "Main UTXO value", + "format": "unit", + "params": { "base": "BTC", "decimals": 8, "prefix": false }, + "visible": "optional" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinDepositor-address.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinDepositor-address.json new file mode 100644 index 0000000..aae5686 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinDepositor-address.json @@ -0,0 +1,98 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Threshold L1 Bitcoin Dep (evm)", + "contract": { + "deployments": [ + { + "chainId": 11155111, + "address": "0x59FAE614867b66421b44D1Ed3461e6B6a4B50106" + }, + { + "chainId": 11155111, + "address": "0xD9B523fb879C63b00ef14e48C98f4e3398d3BA2D" + } + ] + } + }, + "metadata": { + "owner": "Threshold Network", + "info": { "url": "https://threshold.network/" }, + "contractName": "CrossChainBitcoinDepositor" + }, + "display": { + "formats": { + "initializeDeposit((bytes4 version, bytes inputVector, bytes outputVector, bytes4 locktime) fundingTx, (uint32 fundingOutputIndex, bytes8 blindingFactor, bytes20 walletPubKeyHash, bytes20 refundPubKeyHash, bytes4 refundLocktime, address vault) reveal, address l2DepositOwner)": { + "$id": "initializeDepositEvmOwner", + "intent": "Initialize tBTC deposit", + "fields": [ + { + "path": "l2DepositOwner", + "label": "L2 deposit owner", + "format": "addressName", + "params": { + "types": ["wallet", "eoa", "contract"], + "sources": ["local", "ens"] + }, + "visible": "always" + }, + { + "path": "reveal.fundingOutputIndex", + "label": "Funding output", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.walletPubKeyHash", + "label": "Wallet pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.refundPubKeyHash", + "label": "Refund pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.refundLocktime", + "label": "Refund locktime", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.vault", + "label": "Vault", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "fundingTx.version", + "label": "Bitcoin tx version", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.inputVector", + "label": "Bitcoin inputs", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.outputVector", + "label": "Bitcoin outputs", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.locktime", + "label": "Bitcoin locktime", + "format": "raw", + "visible": "optional" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinDepositor-bytes32.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinDepositor-bytes32.json new file mode 100644 index 0000000..915488f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinDepositor-bytes32.json @@ -0,0 +1,114 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Threshold L1 Bitcoin Dep (b32)", + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0x186D048097c7406C64EfB0537886E3CaE100a1fe" + }, + { + "chainId": 1, + "address": "0x75A6e4A7C8fAa162192FAD6C1F7A6d48992c619A" + }, + { + "chainId": 1, + "address": "0xC9031f76006da0BD4bFa9E02aDf0d448dB3BC155" + }, + { + "chainId": 1, + "address": "0xb810AbD43d8FCFD812d6FEB14fefc236E92a341A" + }, + { + "chainId": 1, + "address": "0x35D6701640fca561BaCfE4151063C8e55aF66dB7" + }, + { + "chainId": 11155111, + "address": "0x40c74a5f0b0e6CC3Ae4E8dD2Db46d372504445DA" + }, + { + "chainId": 11155111, + "address": "0x25b614064293A6B9012E82Bb31BC2B1Be34e36Cb" + } + ] + } + }, + "metadata": { + "owner": "Threshold Network", + "info": { "url": "https://threshold.network/" }, + "contractName": "CrossChainBitcoinDepositor" + }, + "display": { + "formats": { + "initializeDeposit((bytes4 version, bytes inputVector, bytes outputVector, bytes4 locktime) fundingTx, (uint32 fundingOutputIndex, bytes8 blindingFactor, bytes20 walletPubKeyHash, bytes20 refundPubKeyHash, bytes4 refundLocktime, address vault) reveal, bytes32 destinationChainDepositOwner)": { + "$id": "initializeDeposit", + "intent": "Initialize tBTC deposit", + "fields": [ + { + "path": "reveal.fundingOutputIndex", + "label": "Funding output", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.walletPubKeyHash", + "label": "Wallet pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.refundPubKeyHash", + "label": "Refund pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.refundLocktime", + "label": "Refund locktime", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.vault", + "label": "Vault", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "destinationChainDepositOwner", + "label": "Destination owner", + "format": "raw", + "visible": "always" + }, + { + "path": "fundingTx.version", + "label": "Bitcoin tx version", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.inputVector", + "label": "Bitcoin inputs", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.outputVector", + "label": "Bitcoin outputs", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.locktime", + "label": "Bitcoin locktime", + "format": "raw", + "visible": "optional" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinRedeemer.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinRedeemer.json new file mode 100644 index 0000000..e54c82e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L1BitcoinRedeemer.json @@ -0,0 +1,64 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Threshold L1 Bitcoin Redeemer", + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0x5D4d83aaB53B7E7cA915AEB2d4d3f4e03823DbDe" + }, + { + "chainId": 11155111, + "address": "0xe8312BD306512c5CAD4D650df373D5597B1C697A" + } + ] + } + }, + "metadata": { + "owner": "Threshold Network", + "info": { "url": "https://threshold.network/" }, + "contractName": "L1BitcoinRedeemer" + }, + "display": { + "formats": { + "requestRedemption(bytes20 walletPubKeyHash, (bytes32 txHash, uint32 txOutputIndex, uint64 txOutputValue) mainUtxo, bytes encodedVm)": { + "$id": "requestRedemption", + "intent": "Request cross-chain redemption", + "fields": [ + { + "path": "walletPubKeyHash", + "label": "Wallet pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "encodedVm", + "label": "Wormhole message", + "format": "raw", + "visible": "always" + }, + { + "path": "mainUtxo.txHash", + "label": "Main UTXO tx", + "format": "raw", + "visible": "optional" + }, + { + "path": "mainUtxo.txOutputIndex", + "label": "Main UTXO index", + "format": "raw", + "visible": "optional" + }, + { + "path": "mainUtxo.txOutputValue", + "label": "Main UTXO value", + "format": "unit", + "params": { "base": "BTC", "decimals": 8, "prefix": false }, + "visible": "optional" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2BitcoinDepositor.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2BitcoinDepositor.json new file mode 100644 index 0000000..824678f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2BitcoinDepositor.json @@ -0,0 +1,106 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Threshold L2 Bitcoin Depositor", + "contract": { + "deployments": [ + { + "chainId": 8453, + "address": "0xa2A81d9445b4F898b028c96D164bcd6c8C8C512E" + }, + { + "chainId": 42161, + "address": "0x1C8d7b744b474c080faADd5BF9AD965Be4258F9e" + }, + { + "chainId": 84532, + "address": "0xDEbD9aA9BC4845c7Cd2d9a997F82A2Daea540bD5" + }, + { + "chainId": 421614, + "address": "0xB2fEC598a9374078Bb639f3d70555fc4389b7a78" + } + ] + } + }, + "metadata": { + "owner": "Threshold Network", + "info": { "url": "https://threshold.network/" }, + "contractName": "L2BitcoinDepositor" + }, + "display": { + "formats": { + "initializeDeposit((bytes4 version, bytes inputVector, bytes outputVector, bytes4 locktime) fundingTx, (uint32 fundingOutputIndex, bytes8 blindingFactor, bytes20 walletPubKeyHash, bytes20 refundPubKeyHash, bytes4 refundLocktime, address vault) reveal, address l2DepositOwner)": { + "$id": "initializeDeposit", + "intent": "Initialize L2 tBTC deposit", + "fields": [ + { + "path": "l2DepositOwner", + "label": "L2 deposit owner", + "format": "addressName", + "params": { + "types": ["wallet", "eoa", "contract"], + "sources": ["local", "ens"] + }, + "visible": "always" + }, + { + "path": "reveal.fundingOutputIndex", + "label": "Funding output", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.walletPubKeyHash", + "label": "Wallet pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.refundPubKeyHash", + "label": "Refund pubkey hash", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.refundLocktime", + "label": "Refund locktime", + "format": "raw", + "visible": "always" + }, + { + "path": "reveal.vault", + "label": "Vault", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "fundingTx.inputVector", + "label": "Bitcoin inputs", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.version", + "label": "Bitcoin tx version", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.outputVector", + "label": "Bitcoin outputs", + "format": "raw", + "visible": "optional" + }, + { + "path": "fundingTx.locktime", + "label": "Bitcoin locktime", + "format": "raw", + "visible": "optional" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2BitcoinRedeemer.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2BitcoinRedeemer.json new file mode 100644 index 0000000..2a46e0d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2BitcoinRedeemer.json @@ -0,0 +1,70 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Threshold L2 Bitcoin Redeemer", + "contract": { + "deployments": [ + { + "chainId": 8453, + "address": "0xe931F1Ac6B00400E1dAD153E184afeE164d2D88B" + }, + { + "chainId": 42161, + "address": "0xd7Cd996a47b3293d4FEc2dBcF49692370334d9b7" + } + ] + } + }, + "metadata": { + "owner": "Threshold Network", + "info": { "url": "https://threshold.network/" }, + "contractName": "L2BitcoinRedeemer", + "enums": { + "wormholeChain": { + "2": "Ethereum" + } + } + }, + "display": { + "formats": { + "requestRedemption(uint256 amount, uint16 recipientChain, bytes redeemerOutputScript, uint32 nonce)": { + "$id": "requestRedemption", + "intent": "Redeem L2 tBTC to Bitcoin", + "fields": [ + { + "path": "amount", + "label": "Amount", + "format": "unit", + "params": { "base": "tBTC", "decimals": 18, "prefix": false }, + "visible": "always" + }, + { + "path": "recipientChain", + "label": "Recipient chain", + "format": "enum", + "params": { "$ref": "$.metadata.enums.wormholeChain" }, + "visible": "always" + }, + { + "path": "redeemerOutputScript", + "label": "BTC output script", + "format": "raw", + "visible": "always" + }, + { + "path": "nonce", + "label": "Nonce", + "format": "raw", + "visible": "always" + }, + { + "path": "@.value", + "label": "Wormhole message fee", + "format": "amount", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2WormholeGateway.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2WormholeGateway.json new file mode 100644 index 0000000..cd9e200 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-L2WormholeGateway.json @@ -0,0 +1,114 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Threshold L2 Wormhole Gateway", + "contract": { + "deployments": [ + { + "chainId": 8453, + "address": "0x09959798B95d00a3183d20FaC298E4594E599eab" + }, + { + "chainId": 42161, + "address": "0x1293a54e160D1cd7075487898d65266081A15458" + }, + { + "chainId": 10, + "address": "0x1293a54e160D1cd7075487898d65266081A15458" + }, + { + "chainId": 137, + "address": "0x09959798B95d00a3183d20FaC298E4594E599eab" + }, + { + "chainId": 84532, + "address": "0xc3D46e0266d95215589DE639cC4E93b79f88fc6C" + }, + { + "chainId": 421614, + "address": "0xc3D46e0266d95215589DE639cC4E93b79f88fc6C" + }, + { + "chainId": 11155420, + "address": "0x5FB63D9e076a314023F2D1aB5dBFd7045C281EbA" + } + ] + } + }, + "metadata": { + "owner": "Threshold Network", + "info": { "url": "https://threshold.network/" }, + "contractName": "L2WormholeGateway", + "enums": { + "wormholeChain": { + "2": "Ethereum", + "5": "Polygon", + "21": "Sui", + "23": "Arbitrum", + "24": "Optimism", + "30": "Base" + } + } + }, + "display": { + "formats": { + "sendTbtc(uint256 amount, uint16 recipientChain, bytes32 recipient, uint256 arbiterFee, uint32 nonce)": { + "$id": "sendTbtc", + "intent": "Bridge tBTC", + "fields": [ + { + "path": "amount", + "label": "Amount", + "format": "unit", + "params": { "base": "tBTC", "decimals": 18, "prefix": false }, + "visible": "always" + }, + { + "path": "recipientChain", + "label": "Destination chain", + "format": "enum", + "params": { "$ref": "$.metadata.enums.wormholeChain" }, + "visible": "always" + }, + { + "path": "recipient", + "label": "Recipient", + "format": "raw", + "visible": "always" + }, + { + "path": "arbiterFee", + "label": "Arbiter fee", + "format": "unit", + "params": { "base": "tBTC", "decimals": 18, "prefix": false }, + "visible": "always" + }, + { + "path": "nonce", + "label": "Nonce", + "format": "raw", + "visible": "always" + }, + { + "path": "@.value", + "label": "Wormhole message fee", + "format": "amount", + "visible": "always" + } + ] + }, + "receiveTbtc(bytes encodedVm)": { + "$id": "receiveTbtc", + "intent": "Claim bridged tBTC", + "fields": [ + { + "path": "encodedVm", + "label": "Wormhole message", + "format": "raw", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-RebateStaking.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-RebateStaking.json new file mode 100644 index 0000000..3c25a06 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-RebateStaking.json @@ -0,0 +1,101 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Threshold Rebate Staking", + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0x0184739C32edc3471D3e4860c8E39a5f3Ff85A45" + } + ] + } + }, + "metadata": { + "owner": "Threshold Network", + "info": { "url": "https://threshold.network/" }, + "contractName": "RebateStaking", + "enums": { + "rebateTreasuryFeeMode": { + "0": "Mint and redeem", + "1": "Deposits only", + "2": "Redemptions only" + } + } + }, + "display": { + "formats": { + "stake(uint96 amount)": { + "$id": "stake", + "intent": "Stake T", + "fields": [ + { + "path": "amount", + "label": "Amount", + "format": "unit", + "params": { "base": "T", "decimals": 18, "prefix": false }, + "visible": "always" + } + ] + }, + "startUnstaking(uint96 amount)": { + "$id": "startUnstaking", + "intent": "Start unstaking T", + "fields": [ + { + "path": "amount", + "label": "Amount", + "format": "unit", + "params": { "base": "T", "decimals": 18, "prefix": false }, + "visible": "always" + } + ] + }, + "finalizeUnstaking(address receiver)": { + "$id": "finalizeUnstaking", + "intent": "Finalize T unstaking", + "fields": [ + { + "path": "receiver", + "label": "Receiver", + "format": "addressName", + "params": { + "types": ["wallet", "eoa", "contract"], + "sources": ["local", "ens"] + }, + "visible": "always" + } + ] + }, + "setDelegatee(address _delegatee)": { + "$id": "setDelegatee", + "intent": "Set rebate delegatee", + "fields": [ + { + "path": "_delegatee", + "label": "Delegatee", + "format": "addressName", + "params": { + "types": ["wallet", "eoa", "contract"], + "sources": ["local", "ens"] + }, + "visible": "always" + } + ] + }, + "setRebateTreasuryFeeMode(uint8 _rebateTreasuryFeeMode)": { + "$id": "setRebateTreasuryFeeMode", + "intent": "Set fee waiver mode", + "fields": [ + { + "path": "_rebateTreasuryFeeMode", + "label": "Fee waiver mode", + "format": "enum", + "params": { "$ref": "$.metadata.enums.rebateTreasuryFeeMode" }, + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-TBTC.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-TBTC.json new file mode 100644 index 0000000..d9f9cd7 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-TBTC.json @@ -0,0 +1,53 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Threshold TBTC", + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0x18084fbA666a33d37592fA2633fD49a74DD93a88" + }, + { + "chainId": 11155111, + "address": "0x517f2982701695D4E52f1ECFBEf3ba31Df470161" + } + ] + } + }, + "metadata": { + "owner": "Threshold Network", + "info": { "url": "https://threshold.network/" }, + "contractName": "TBTC" + }, + "display": { + "formats": { + "approveAndCall(address spender, uint256 amount, bytes extraData)": { + "$id": "approveAndCall", + "intent": "Approve and call tBTC", + "fields": [ + { + "path": "spender", + "label": "Spender", + "format": "addressName", + "params": { "types": ["contract"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "amount", + "label": "Amount", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { + "path": "extraData", + "label": "Redemption data", + "format": "raw", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-TBTCVault.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-TBTCVault.json new file mode 100644 index 0000000..fcb8edf --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/calldata-TBTCVault.json @@ -0,0 +1,63 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Threshold TBTCVault", + "contract": { + "deployments": [ + { + "chainId": 1, + "address": "0x9C070027cdC9dc8F82416B2e5314E11DFb4FE3CD" + }, + { + "chainId": 11155111, + "address": "0xB5679dE944A79732A75CE556191DF11F489448d5" + } + ] + } + }, + "metadata": { + "owner": "Threshold Network", + "info": { "url": "https://threshold.network/" }, + "contractName": "TBTCVault" + }, + "display": { + "formats": { + "requestOptimisticMint(bytes32 fundingTxHash, uint32 fundingOutputIndex)": { + "$id": "requestOptimisticMint", + "intent": "Request optimistic mint", + "fields": [ + { + "path": "fundingTxHash", + "label": "Funding tx hash", + "format": "raw", + "visible": "always" + }, + { + "path": "fundingOutputIndex", + "label": "Funding output", + "format": "raw", + "visible": "always" + } + ] + }, + "finalizeOptimisticMint(bytes32 fundingTxHash, uint32 fundingOutputIndex)": { + "$id": "finalizeOptimisticMint", + "intent": "Finalize optimistic mint", + "fields": [ + { + "path": "fundingTxHash", + "label": "Funding tx hash", + "format": "raw", + "visible": "always" + }, + { + "path": "fundingOutputIndex", + "label": "Funding output", + "format": "raw", + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-Bridge.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-Bridge.tests.json new file mode 100644 index 0000000..a26b0b4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-Bridge.tests.json @@ -0,0 +1,44 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Reveal a canonical L1 tBTC deposit", + "rawTx": "0x02f90291010a8405f5e10084773594008303d090945e4861a80b55f035d899f66772117f00fa0e8e7b80b90224fca4ba4c00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000011223344556677880000000000000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000222222222222222222222222222222222222222200000000000000000000000065f1d480000000000000000000000000000000000000000000000000000000000000000000000000000000009c070027cdc9dc8f82416b2e5314e11dfb4fe3cd0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a01f1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f800000000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c01a0860100000000002200200123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0000000000000000000000000000000000000000c080a0781422400c3c9545c90258cc443a74b750655737bdd36031a0c291d3af7263dda02d4b2de1519d6131d5306bef6bbc3f87a20766fc782d7681d6cb1e24d2deb29c", + "txHash": "0x9c1fc42116ef45e77b7251ec58cd6b15580e32ed25738c631576f80fdf407041", + "expectedTexts": [ + "Reveal tBTC deposit", + "Funding output", + "Wallet pubkey hash", + "Refund pubkey hash", + "Refund locktime", + "Vault" + ] + }, + { + "description": "Reveal a cross-chain tBTC deposit with destination owner data", + "rawTx": "0x02f902b1010b8405f5e10084773594008303d090945e4861a80b55f035d899f66772117f00fa0e8e7b80b9024486f014390000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000011223344556677880000000000000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000222222222222222222222222222222222222222200000000000000000000000065f1d480000000000000000000000000000000000000000000000000000000000000000000000000000000009c070027cdc9dc8f82416b2e5314e11dfb4fe3cd0000000000000000000000005c72f3cbff4a6d323b405fef09c1a0a73e61f4bc0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a01f1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f800000000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c01a0860100000000002200200123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0000000000000000000000000000000000000000c080a06d2a1b125ca608d8fd10a61becb2a3ef5f376f568eff98628bbdc5609d297e52a061d687749b53ce45937a1c6d05625540eb4d320aa52de771b19a155a5111182b", + "txHash": "0x0c9749ea4d32762a79f9cd4e7593908841dda5a096b152fff8ebb2a2c48b6b7e", + "expectedTexts": [ + "Reveal cross-chain deposit", + "Funding output", + "Wallet pubkey hash", + "Refund pubkey hash", + "Refund locktime", + "Deposit owner data", + "Vault" + ] + }, + { + "description": "Request a direct bridge redemption", + "rawTx": "0x02f90171010c8405f5e10084773594008303d090945e4861a80b55f035d899f66772117f00fa0e8e7b80b90104d6eccdf01111111111111111111111111111111111111111000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000002faf08000000000000000000000000000000000000000000000000000000000000000171600143bde42dcca7a1b985b7d2272ddce5b66d113feab000000000000000000c001a0fbde055bb3d9d4a75048b017b6ea971f75871d2655c0590ca4676803cdb4bbdfa007abb0bcc737d83ae34b30f7d0f03eaccfece84af309e2b22c4d0eccac377850", + "txHash": "0x4b2a6820e128e9b29aab0d5e07598ca8e656cad9749f5ae647ea47f9db7baf6d", + "expectedTexts": [ + "Request tBTC redemption", + "Amount", + "0.5 BTC", + "Wallet pubkey hash", + "BTC output script" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinDepositor-address.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinDepositor-address.tests.json new file mode 100644 index 0000000..a1932e3 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinDepositor-address.tests.json @@ -0,0 +1,19 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Initialize a Sepolia Base-bound L1 Bitcoin deposit with an EVM owner", + "rawTx": "0x02f902b483aa36a71f8405f5e10084773594008303d0909459fae614867b66421b44d1ed3461e6b6a4b5010680b90244642dc0330000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000111223344556677880000000000000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000222222222222222222222222222222222222222200000000000000000000000065f1d48000000000000000000000000000000000000000000000000000000000000000000000000000000000b5679de944a79732a75ce556191df11f489448d500000000000000000000000079e21e5e86a61a6702814a2359f2fb333ff8f91c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000291f1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f80000000000ffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c01a0860100000000002200200123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0000000000000000000000000000000000000000c080a0a1881184d121b50743428e288109589807fd379aa9f65efdf437bee297494de4a057ecd64ed1fc9c8c50de4db19e06db096c94c341bf52ed16a4731ded5f4b6816", + "txHash": "0x0c4d2c840d15ab5c1e5a3d47a6a451c6db9eb8822bc8286705fbe1aaf1501fb2", + "expectedTexts": [ + "Initialize tBTC deposit", + "L2 deposit owner", + "Funding output", + "Wallet pubkey hash", + "Refund pubkey hash", + "Refund locktime", + "Vault" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinDepositor-bytes32.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinDepositor-bytes32.tests.json new file mode 100644 index 0000000..133c781 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinDepositor-bytes32.tests.json @@ -0,0 +1,19 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Initialize a Base-bound L1 Bitcoin deposit", + "rawTx": "0x02f902b1011e8405f5e10084773594008303d09094186d048097c7406c64efb0537886e3cae100a1fe80b902446da5658a0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000011223344556677880000000000000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000222222222222222222222222222222222222222200000000000000000000000065f1d480000000000000000000000000000000000000000000000000000000000000000000000000000000009c070027cdc9dc8f82416b2e5314e11dfb4fe3cd0000000000000000000000005c72f3cbff4a6d323b405fef09c1a0a73e61f4bc0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a01f1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f800000000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c01a0860100000000002200200123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0000000000000000000000000000000000000000c001a08e8bce2f1b1ce295d6c8fbe21c7f5f12af502a9c96ebd3ddb1fdde9d043a4a4aa0264c54cbb95698cba9c5a35c2dad24b249566c9e7958af9d8fb2ee72e33d4d17", + "txHash": "0x0cdbfe9a7f69c5328618df88659b7609ce74ea67a0ac7d2d3b8f8159bde7be6a", + "expectedTexts": [ + "Initialize tBTC deposit", + "Funding output", + "Wallet pubkey hash", + "Refund pubkey hash", + "Refund locktime", + "Destination owner", + "Vault" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinRedeemer.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinRedeemer.tests.json new file mode 100644 index 0000000..2d9c18d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L1BitcoinRedeemer.tests.json @@ -0,0 +1,16 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "L1 Bitcoin redeemer request for a cross-chain redemption", + "rawTx": "0x02f9019101328405f5e10084773594008303d090945d4d83aab53b7e7ca915aeb2d4d3f4e03823dbde80b90124b6e920151111111111111111111111111111111111111111000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004901000000000100abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab0000000000000000000000000000000000000000000000c080a0996942ab06bf968aac11bc26924339010e573ac2d5978be3124b7bd39d10831aa05591c175f324172fd8de8dff67cc94213eddcc002fc29ce331cad4fe6dada146", + "txHash": "0x4791b476ab7580ce02c9cfe9853d068cf214a0400074b32ed2700058f78de27e", + "expectedTexts": [ + "Request cross-chain redemption", + "Wallet pubkey hash", + "Wormhole message", + "Main UTXO value" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2BitcoinDepositor.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2BitcoinDepositor.tests.json new file mode 100644 index 0000000..45eb4c1 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2BitcoinDepositor.tests.json @@ -0,0 +1,19 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Initialize a Base L2 Bitcoin deposit", + "rawTx": "0x02f902b3822105288405f5e10084773594008303d09094a2a81d9445b4f898b028c96d164bcd6c8c8c512e80b90244642dc0330000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000011223344556677880000000000000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000222222222222222222222222222222222222222200000000000000000000000065f1d480000000000000000000000000000000000000000000000000000000000000000000000000000000009c070027cdc9dc8f82416b2e5314e11dfb4fe3cd00000000000000000000000079e21e5e86a61a6702814a2359f2fb333ff8f91c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a01f1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f800000000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c01a0860100000000002200200123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0000000000000000000000000000000000000000c001a0609921f77820333fd04b9b3b18d368444f2d90966d528a35ca047fc2920f71d5a014a934d3a3b64d6622c086ee6a8b662eb11b88bb1bcb954523218185cdf73f69", + "txHash": "0x577b77f89ebc6e12ad319739f15a86f24a465f70a1dad6a96cc6c2e132f2fd51", + "expectedTexts": [ + "Initialize L2 tBTC deposit", + "L2 deposit owner", + "Funding output", + "Wallet pubkey hash", + "Refund pubkey hash", + "Refund locktime", + "Vault" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2BitcoinRedeemer.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2BitcoinRedeemer.tests.json new file mode 100644 index 0000000..1d06b6f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2BitcoinRedeemer.tests.json @@ -0,0 +1,20 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Base L2 tBTC redemption request to Bitcoin", + "rawTx": "0x02f901388221053c8405f5e10084773594008303d09094e931f1ac6b00400e1dad153e184afee164d2d88b865af3107a4000b8c4380faf5300000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000303900000000000000000000000000000000000000000000000000000000000000171600143bde42dcca7a1b985b7d2272ddce5b66d113feab000000000000000000c001a00d52be02904cff891c1c83bdae533edaf949a25b841bc58c73c3982e54e95092a041c8aa922b8c2baf4cf4d8d39224db166d3b97ea964a006cf7a0a89382bd9b41", + "txHash": "0x0fff53834a4b0e526da05c11dd4d102be5f8ba423aabf6c8daf3413cd38d0646", + "expectedTexts": [ + "Redeem L2 tBTC to Bitcoin", + "Amount", + "0.5 tBTC", + "Recipient chain", + "Ethereum", + "BTC output script", + "Nonce", + "Wormhole message fee" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2WormholeGateway.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2WormholeGateway.tests.json new file mode 100644 index 0000000..8c1a6bf --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-L2WormholeGateway.tests.json @@ -0,0 +1,25 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Bridge native tBTC from Base to Ethereum", + "rawTx": "0x02f90118822105468405f5e10084773594008303d0909409959798b95d00a3183d20fac298e4594e599eab865af3107a4000b8a4f69785f300000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000742d35cc6634c0532925a3b844bc454e4438f44e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000309c080a0b19ed58e6ae03a8e108bff376b604c3857b3c8e700132d2377f71b5679e60f86a054cc1f861309557d03c8a79ee58e260812dc7e4fde7eadda4444e95dcb02bfc6", + "txHash": "0x1614cee6d1a64deae8481693d4c52f1cb0487662bffc71b12227659cf97f63d8", + "expectedTexts": [ + "Bridge tBTC", + "Amount", + "0.25 tBTC", + "Destination chain", + "Ethereum", + "Recipient", + "Wormhole message fee" + ] + }, + { + "description": "Claim bridged tBTC through the L2 Wormhole Gateway", + "rawTx": "0x02f90112822105478405f5e10084773594008303d0909409959798b95d00a3183d20fac298e4594e599eab80b8a45d21a5960000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004901000000000100abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab0000000000000000000000000000000000000000000000c001a0cf129880942356bf391737edd39088e4812427826e3e5ac68c543cc07d004584a05a985b7a527def7102380970cd786459027e422aa3168549b1231ca0cf6bc3dd", + "txHash": "0x98b51fab0423a8f1dde0cae81bb4795e41d6c79497c387604839fbe4ebc768d1", + "expectedTexts": ["Claim bridged tBTC", "Wormhole message"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-RebateStaking.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-RebateStaking.tests.json new file mode 100644 index 0000000..eeff6a1 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-RebateStaking.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Stake T for tBTC fee waivers", + "rawTx": "0x02f88f01508405f5e10084773594008303d090940184739c32edc3471d3e4860c8e39a5f3ff85a4580a461f129ad00000000000000000000000000000000000000000000003635c9adc5dea00000c080a0858d24e864de9d83b798a670fca2dcf270ed171f0ff5f65fe04cfe1c689f4314a0397000844f7b18781e1dac01b49da41738e57138ff22e2f1a3d37e08a1d4583e", + "txHash": "0x1b551a266fe2b9ed5a3c9f69c7e2cfaa56ef5c0194782592e8c65dd62773439d", + "expectedTexts": ["Stake T", "Amount", "1000 T"] + }, + { + "description": "Start unstaking T", + "rawTx": "0x02f88f01518405f5e10084773594008303d090940184739c32edc3471d3e4860c8e39a5f3ff85a4580a4aabd792a00000000000000000000000000000000000000000000001b1ae4d6e2ef500000c080a0e19eb72ce80adbeaae660c66cedef3e21a8c732ea44c3ee24c460ad6c72820dca02fe3863f277082d89a6a410e5cd8a2442f9831becce0599128d81046abdd9525", + "txHash": "0xe7de389f84812e30d227d09258b2586214bfbb2164fdf3e4b86f88e3b3723c0a", + "expectedTexts": ["Start unstaking T", "Amount", "500 T"] + }, + { + "description": "Finalize unstaking T to the connected wallet", + "rawTx": "0x02f88f01528405f5e10084773594008303d090940184739c32edc3471d3e4860c8e39a5f3ff85a4580a4d5874a0200000000000000000000000079e21e5e86a61a6702814a2359f2fb333ff8f91cc080a0575d0cef988ea4798f06214851818732d5b06b6425a018ace3fde9af31c1e75ea036b05b6186934948b3e05c175317732a2461b300642b0d0cffee45e16e4074b4", + "txHash": "0xe9b9bd8dde9bacec8beefe3e95241bd8c521058f727d4afd5d95671809ebd30f", + "expectedTexts": ["Finalize T unstaking", "Receiver"] + }, + { + "description": "Set a delegatee for fee waiver accounting", + "rawTx": "0x02f88f01538405f5e10084773594008303d090940184739c32edc3471d3e4860c8e39a5f3ff85a4580a4e842a64b000000000000000000000000742d35cc6634c0532925a3b844bc454e4438f44ec001a0ea71e24870a3b0ffdcfe36bff1e5e8c7ab6d48eb51c77e4be0106187e65f4ca1a005450a4058ea14fd69272a9fb7c94249748f4c0a0af0f39f90f28d71414b1990", + "txHash": "0xca0017535e0a6f2e710aaf5dbc6c1604ea4d317c46efcfa6ce922b528bd5846c", + "expectedTexts": ["Set rebate delegatee", "Delegatee"] + }, + { + "description": "Restrict fee waivers to redemptions", + "rawTx": "0x02f88f01548405f5e10084773594008303d090940184739c32edc3471d3e4860c8e39a5f3ff85a4580a420bb2e810000000000000000000000000000000000000000000000000000000000000002c001a0c5397026430de60aa08f48e8701bbf0d928e6fdd0eb7398e12951a60688d6ee8a0015da01bd2afb41ff53c64a25607cac7285c919afc03bcdbf55ef5cb4c359454", + "txHash": "0xf26e72c0d6155f1f3d8535fd1bca48d8ada6e7f142673a2a707ad52d7d9ad0f1", + "expectedTexts": [ + "Set fee waiver mode", + "Fee waiver mode", + "Redemptions only" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-TBTC.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-TBTC.tests.json new file mode 100644 index 0000000..df73ea0 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-TBTC.tests.json @@ -0,0 +1,17 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "L1 tBTC redemption through TBTC.approveAndCall", + "rawTx": "0x02f901f101018405f5e10084773594008303d0909418084fba666a33d37592fa2633fd49a74dd93a8880b90184cae9ca510000000000000000000000009c070027cdc9dc8f82416b2e5314e11dfb4fe3cd0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000010000000000000000000000000079e21e5e86a61a6702814a2359f2fb333ff8f91c1111111111111111111111111111111111111111000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000171600143bde42dcca7a1b985b7d2272ddce5b66d113feab000000000000000000c080a09a89e15df164e4cd5140b983c06ee16f6b23c5b83850a8f62ae61b6436e716dca07899c504ef9941990b57b5d0e4316ba80cce7898711132ffd889932e102f3eea", + "txHash": "0xa654757563db8eaa50e6fc351b832841f6a65978bcd349794479c101d4482dc3", + "expectedTexts": [ + "Approve and call tBTC", + "Spender", + "Amount", + "1 tBTC", + "Redemption data" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-TBTCVault.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-TBTCVault.tests.json new file mode 100644 index 0000000..07f9195 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/threshold/tests/calldata-TBTCVault.tests.json @@ -0,0 +1,25 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Request optimistic mint finalization for a deposit", + "rawTx": "0x02f8b001148405f5e10084773594008303d090949c070027cdc9dc8f82416b2e5314e11dfb4fe3cd80b844820b5513bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0000000000000000000000000000000000000000000000000000000000000000c080a043cb145e500090c999d83ee6dc77dbbda2d0237e37359438674183c4328af270a04c7c53c15b7c9fa0e0c96d6deb0f9411e249a8c3bb77ae047e4677f2b4036c7d", + "txHash": "0xf3142a7fdaa5ec766b94b98dd0fb77f25812131321f5a15e299925d715c44458", + "expectedTexts": [ + "Request optimistic mint", + "Funding tx hash", + "Funding output" + ] + }, + { + "description": "Finalize optimistic mint for a deposit", + "rawTx": "0x02f8b001158405f5e10084773594008303d090949c070027cdc9dc8f82416b2e5314e11dfb4fe3cd80b8446abe3a6cbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0000000000000000000000000000000000000000000000000000000000000000c080a07f02fdfc75d405dee78e90635070647998a78fd4b3db5173dc26d0071d1dec39a0464cd77bf1c85d52b57e6a4e5c8fd27d39a7345e780ab0aa544a04d3351d0355", + "txHash": "0x0e4881437c3576598cee1c9449279609eb3a9272f533537df3b5d9ea9cadb9de", + "expectedTexts": [ + "Finalize optimistic mint", + "Funding tx hash", + "Funding output" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/calldata-UniswapV3Router02.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/calldata-UniswapV3Router02.json new file mode 100644 index 0000000..e4fb27d --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/calldata-UniswapV3Router02.json @@ -0,0 +1,161 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "Uniswap v3 Router 2", + "contract": { "deployments": [{ "chainId": 1, "address": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" }] } + }, + "metadata": { + "owner": "Uniswap Labs", + "info": { "deploymentDate": "2021-12-14T00:00:00Z", "url": "https://uniswap.org/" }, + "contractName": "Uniswap v3 Router 2" + }, + "display": { + "formats": { + "exactInput((bytes path, address recipient, uint256 amountIn, uint256 amountOutMinimum) params)": { + "$id": "exactInput", + "intent": "Swap", + "fields": [ + { + "path": "params.amountIn", + "label": "Amount to Send", + "format": "tokenAmount", + "params": { "tokenPath": "params.path.[0:20]" }, + "visible": "always" + }, + { + "path": "params.amountOutMinimum", + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "params.path.[-20:]" }, + "visible": "always" + }, + { + "path": "params.recipient", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "exactInputSingle((address tokenIn, address tokenOut, uint24 fee, address recipient, uint256 amountIn, uint256 amountOutMinimum, uint160 sqrtPriceLimitX96) params)": { + "$id": "exactInputSingle", + "intent": "swap", + "fields": [ + { + "path": "params.amountIn", + "label": "Send", + "format": "tokenAmount", + "params": { "tokenPath": "params.tokenIn" }, + "visible": "always" + }, + { + "path": "params.amountOutMinimum", + "label": "Minimum to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "params.tokenOut" }, + "visible": "always" + }, + { + "path": "params.fee", + "label": "Uniswap fee", + "format": "unit", + "params": { "decimals": 4, "base": "%", "prefix": false }, + "visible": "always" + }, + { + "path": "params.recipient", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "exactOutput((bytes path, address recipient, uint256 amountOut, uint256 amountInMaximum) params)": { + "$id": "exactOutput", + "intent": "Swap", + "fields": [ + { + "path": "params.amountInMaximum", + "label": "Maximum Amount In", + "format": "tokenAmount", + "params": { "tokenPath": "params.path.[-20:]" }, + "visible": "always" + }, + { + "path": "params.amountOut", + "label": "Amount to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "params.path.[0:20]" }, + "visible": "always" + }, + { + "path": "params.recipient", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "exactOutputSingle((address tokenIn, address tokenOut, uint24 fee, address recipient, uint256 amountOut, uint256 amountInMaximum, uint160 sqrtPriceLimitX96) params)": { + "$id": "exactOutputSingle", + "intent": "Swap", + "fields": [ + { + "path": "params.amountInMaximum", + "label": "Maximum Amount In", + "format": "tokenAmount", + "params": { "tokenPath": "params.tokenIn" } + }, + { + "path": "params.amountOut", + "label": "Amount to Receive", + "format": "tokenAmount", + "params": { "tokenPath": "params.tokenOut" } + }, + { "path": "params.fee", "label": "Uniswap fee", "format": "unit", "params": { "decimals": 4, "base": "%", "prefix": false } }, + { + "path": "params.recipient", + "label": "Beneficiary", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] } + } + ] + }, + "swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to)": { + "$id": "swapExactTokensForTokens", + "intent": "Swap", + "fields": [ + { "path": "amountIn", "label": "Amount to Send", "format": "tokenAmount", "params": { "tokenPath": "path.[0]" } }, + { "path": "amountOutMin", "label": "Minimum to Receive", "format": "tokenAmount", "params": { "tokenPath": "path.[-1]" } }, + { + "path": "to", + "label": "Recipient", + "format": "addressName", + "params": { "types": ["eoa", "contract"], "sources": ["local", "ens"] } + } + ] + }, + "swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to)": { + "$id": "swapTokensForExactTokens", + "intent": "Swap", + "fields": [ + { "path": "amountOut", "label": "Amount to Receive", "format": "tokenAmount", "params": { "tokenPath": "path.[-1]" } }, + { "path": "amountInMax", "label": "Maximum to Send", "format": "tokenAmount", "params": { "tokenPath": "path.[0]" } }, + { + "path": "to", + "label": "Recipient", + "format": "addressName", + "params": { + "types": ["eoa", "contract"], + "sources": ["local", "ens"], + "senderAddress": ["0x0000000000000000000000000000000000000001"] + } + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-DutchOrder.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-DutchOrder.json new file mode 100644 index 0000000..f4c2ae4 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-DutchOrder.json @@ -0,0 +1,40 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "uniswap-common-eip712.json", + "display": { + "formats": { + "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,DutchOrder witness)DutchOrder(OrderInfo info,uint256 decayStartTime,uint256 decayEndTime,address inputToken,uint256 inputStartAmount,uint256 inputEndAmount,DutchOutput[] outputs)DutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)TokenPermissions(address token,uint256 amount)": { + "intent": "UniswapX Dutch Order", + "fields": [ + { "path": "spender", "label": "Approve to spender", "format": "raw" }, + { + "path": "permitted.amount", + "label": "Approve amount", + "format": "tokenAmount", + "params": { "tokenPath": "permitted.token" } + }, + { + "path": "witness.inputStartAmount", + "label": "Spend max", + "format": "tokenAmount", + "params": { "tokenPath": "witness.inputToken" } + }, + { + "path": "witness.outputs.[]", + "fields": [ + { "path": "endAmount", "label": "Minimum amounts to receive", "format": "tokenAmount", "params": { "tokenPath": "token" } }, + { "path": "recipient", "label": "On Addresses", "format": "raw" } + ] + }, + { "path": "deadline", "label": "Approval expire", "format": "date", "params": { "encoding": "timestamp" } }, + { "label": "Nonce", "path": "nonce", "visible": "never" }, + { "label": "Witness Info", "path": "witness.info", "visible": "never" }, + { "label": "Witness Decay Start Time", "path": "witness.decayStartTime", "visible": "never" }, + { "label": "Witness Decay End Time", "path": "witness.decayEndTime", "visible": "never" }, + { "label": "Witness Input End Amount", "path": "witness.inputEndAmount", "visible": "never" }, + { "label": "Witness Outputs Start Amount", "path": "witness.outputs.[].startAmount", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json new file mode 100644 index 0000000..5b1af3b --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-ExclusiveDutchOrder.json @@ -0,0 +1,42 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "uniswap-common-eip712.json", + "display": { + "formats": { + "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,ExclusiveDutchOrder witness)DutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)ExclusiveDutchOrder(OrderInfo info,uint256 decayStartTime,uint256 decayEndTime,address exclusiveFiller,uint256 exclusivityOverrideBps,address inputToken,uint256 inputStartAmount,uint256 inputEndAmount,DutchOutput[] outputs)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)TokenPermissions(address token,uint256 amount)": { + "intent": "UniswapX Exclusive Dutch Order", + "fields": [ + { "path": "spender", "label": "Approve to spender", "format": "raw" }, + { + "path": "permitted.amount", + "label": "Approve amount", + "format": "tokenAmount", + "params": { "tokenPath": "permitted.token" } + }, + { + "path": "witness.inputStartAmount", + "label": "Spend max", + "format": "tokenAmount", + "params": { "tokenPath": "witness.inputToken" } + }, + { + "path": "witness.outputs.[]", + "fields": [ + { "path": "endAmount", "label": "Minimum amounts to receive", "format": "tokenAmount", "params": { "tokenPath": "token" } }, + { "path": "recipient", "label": "On Addresses", "format": "raw" } + ] + }, + { "path": "deadline", "label": "Approval expire", "format": "date", "params": { "encoding": "timestamp" } }, + { "label": "Nonce", "path": "nonce", "visible": "never" }, + { "label": "Witness Info", "path": "witness.info", "visible": "never" }, + { "label": "Witness Decay Start Time", "path": "witness.decayStartTime", "visible": "never" }, + { "label": "Witness Decay End Time", "path": "witness.decayEndTime", "visible": "never" }, + { "label": "Witness Exclusive Filler", "path": "witness.exclusiveFiller", "visible": "never" }, + { "label": "Witness Exclusivity Override Bps", "path": "witness.exclusivityOverrideBps", "visible": "never" }, + { "label": "Witness Input End Amount", "path": "witness.inputEndAmount", "visible": "never" }, + { "label": "Witness Outputs Start Amount", "path": "witness.outputs.[].startAmount", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-LimitOrder.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-LimitOrder.json new file mode 100644 index 0000000..643f485 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-UniswapX-LimitOrder.json @@ -0,0 +1,31 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "uniswap-common-eip712.json", + "display": { + "formats": { + "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,LimitOrder witness)LimitOrder(OrderInfo info,address inputToken,uint256 inputAmount,OutputToken[] outputs)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)OutputToken(address token,uint256 amount,address recipient)TokenPermissions(address token,uint256 amount)": { + "intent": "UniswapX Limit Order", + "fields": [ + { "path": "spender", "label": "Approve to spender", "format": "raw" }, + { + "path": "permitted.amount", + "label": "Amount allowance", + "format": "tokenAmount", + "params": { "tokenPath": "permitted.token" } + }, + { "path": "witness.inputAmount", "label": "Send", "format": "tokenAmount", "params": { "tokenPath": "witness.inputToken" } }, + { + "path": "witness.outputs.[]", + "fields": [ + { "path": "amount", "label": "Min amount to receive", "format": "tokenAmount", "params": { "tokenPath": "token" } }, + { "path": "recipient", "label": "On Address", "format": "raw" } + ] + }, + { "path": "deadline", "label": "Approval expire", "format": "date", "params": { "encoding": "timestamp" } }, + { "label": "Nonce", "path": "nonce", "visible": "never" }, + { "label": "Witness Info", "path": "witness.info", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-uniswap-V2DutchOrder.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-uniswap-V2DutchOrder.json new file mode 100644 index 0000000..e13f5aa --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-uniswap-V2DutchOrder.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "uniswap-common-eip712.json", + "display": { + "formats": { + "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,V2DutchOrder witness)DutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)TokenPermissions(address token,uint256 amount)V2DutchOrder(OrderInfo info,address cosigner,address baseInputToken,uint256 baseInputStartAmount,uint256 baseInputEndAmount,DutchOutput[] baseOutputs)": { + "intent": "UniswapX V2 Dutch Order", + "fields": [ + { "path": "spender", "label": "Approve to spender", "format": "raw" }, + { + "path": "permitted.amount", + "label": "Approve amount", + "format": "tokenAmount", + "params": { "tokenPath": "permitted.token" } + }, + { + "path": "witness.baseInputStartAmount", + "label": "Spend max", + "format": "tokenAmount", + "params": { "tokenPath": "witness.baseInputToken" } + }, + { + "path": "witness.baseOutputs.[]", + "fields": [ + { "path": "endAmount", "label": "Min amount to receive", "format": "tokenAmount", "params": { "tokenPath": "token" } }, + { "path": "recipient", "label": "On Address", "format": "raw" } + ] + }, + { "path": "deadline", "label": "Approval expire", "format": "date", "params": { "encoding": "timestamp" } }, + { "label": "Nonce", "path": "nonce", "visible": "never" }, + { "label": "Witness Info", "path": "witness.info", "visible": "never" }, + { "label": "Witness Cosigner", "path": "witness.cosigner", "visible": "never" }, + { "label": "Witness Base Input End Amount", "path": "witness.baseInputEndAmount", "visible": "never" }, + { "label": "Witness Base Outputs Start Amount", "path": "witness.baseOutputs.[].startAmount", "visible": "never" } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-uniswap-permit2.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-uniswap-permit2.json new file mode 100644 index 0000000..25515fd --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/eip712-uniswap-permit2.json @@ -0,0 +1,115 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "includes": "uniswap-common-eip712.json", + "display": { + "formats": { + "PermitSingle(PermitDetails details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)": { + "$id": "Permit2 Permit Single", + "intent": "Authorize spending of token", + "fields": [ + { + "path": "spender", + "label": "Spender", + "format": "raw", + "visible": "always" + }, + { + "path": "details.amount", + "label": "Amount allowance", + "format": "tokenAmount", + "params": { + "tokenPath": "details.token" + }, + "visible": "always" + }, + { + "path": "details.expiration", + "label": "Approval expires", + "format": "date", + "params": { + "encoding": "timestamp" + } + }, + { + "label": "Sig Deadline", + "path": "sigDeadline", + "visible": "never" + } + ] + }, + "PermitBatch(PermitDetails[] details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)": { + "$id": "Permit2 Permit Batch", + "intent": "Authorize spending of tokens", + "fields": [ + { + "path": "spender", + "label": "Spender", + "format": "raw", + "visible": "always" + }, + { + "path": "details.[].amount", + "label": "Amount allowance", + "format": "tokenAmount", + "params": { + "tokenPath": "details.[].token" + } + }, + { + "path": "details.[].expiration", + "label": "Approval expires", + "format": "date", + "params": { + "encoding": "timestamp" + } + }, + { + "label": "Sig Deadline", + "path": "sigDeadline", + "visible": "never" + } + ] + }, + "PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)": { + "$id": "Permit2 Permit Transfer", + "intent": "Authorize token transfer", + "fields": [ + { + "path": "spender", + "label": "Spender", + "format": "addressName", + "params": { + "types": [ + "contract" + ], + "sources": [ + "local", + "ens" + ] + }, + "visible": "always" + }, + { + "path": "permitted.amount", + "label": "Amount", + "format": "tokenAmount", + "params": { + "tokenPath": "permitted.token" + }, + "visible": "always" + }, + { + "path": "deadline", + "label": "Deadline", + "format": "date", + "params": { + "encoding": "timestamp" + }, + "visible": "always" + } + ], + "interpolatedIntent": "Transfer {permitted.amount}" + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/calldata-UniswapV3Router02.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/calldata-UniswapV3Router02.tests.json new file mode 100644 index 0000000..0de3434 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/calldata-UniswapV3Router02.tests.json @@ -0,0 +1,61 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Swap - chain 1", + "rawTx": "0xf9012c8225df84041aea398303d0909468b3465833fb72a70ecdf485e0e4c7bd8665fc4580b90104b858183f00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000c0fb1c01de1148fa7b1f151a1740e52b375c47f100000000000000000000000000000000000000000000003750313fc45e9e58ac000000000000000000000000000000000000000000000000000334f5fe5f5da1000000000000000000000000000000000000000000000000000000000000002bb5d730d442e1d5b119fb4e5c843c48a64202ef92000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000018080", + "txHash": "0x731db70d0ff426d863fdc60e3f3e131b26c3f5c3a9bc1da89b5df96b25643ed5", + "expectedTexts": [ + "Interaction with", + "Uniswap Labs Amount to Send 1020.349393963551 9715 SABAI Minimum to Receive 0.00090265606942 6593 WETH", + "Max fees", + "0.00001721819025 ETH" + ] + }, + { + "description": "swap - chain 1", + "rawTx": "0x02f9010c010d83989680843b9aca008304e2009468b3465833fb72a70ecdf485e0e4c7bd8665fc4580b8e404e45aaf000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000eced4025456b6c2987fac2e4c829889e681986a70000000000000000000000000000000000000000000000000016fdae8fefba690000000000000000000000000000000000000000000000000000000000d41da00000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xb25281abb3e6bbfe18c746187522c2e915aa02fdb8175082005340e00c1f0b30", + "expectedTexts": [ + "Interaction with", + "Uniswap Labs", + "Send", + "0.00647137566862 3977 WETH", + "Minimum to Receive", + "13.901216 USDT", + "Uniswap fee", + "0.3 %", + "Beneficiary", + "0xEceD4025456B6c29 87faC2e4c829889e681 986a7", + "Max fees", + "0.00032 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0xf9012c8233418403fa14638303d0909468b3465833fb72a70ecdf485e0e4c7bd8665fc4580b9010409b8134600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000b7b78a8a908acf3c72a9c30c4e0a413c6b02061100000000000000000000000000000000000000000000008eea233879792ed28d000000000000000000000000000000000000000000000000000862f9d6c03253000000000000000000000000000000000000000000000000000000000000002bb5d730d442e1d5b119fb4e5c843c48a64202ef92000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000018080", + "txHash": "0xf416954ecdf9203f81f94a5f7f3dac53fc77c968bee09d012deeb0a3775bd9f6", + "expectedTexts": [ + "Interaction with", + "Uniswap Labs Maximum Amount In 0.00236062500298 4019 WETH", + "Amount to Receive", + "2636.309049190191 649421 SABAI", + "Max fees", + "0.00001668021675 ETH" + ] + }, + { + "description": "Swap - chain 1", + "rawTx": "0x02f9010d01138402faf080840b76e866830267139468b3465833fb72a70ecdf485e0e4c7bd8665fc4580b8e45023b4df000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000004a220e6096b25eadb88358cb44068a32482546750000000000000000000000000000000000000000000000000000000000000bb800000000000000000000000027c3d6f0cdd49d0bae51aa920b5aa0c849f83a36000000000000000000000000000000000000000000000000002f9b3a9ffd80000000000000000000000000000000000000000000000000000001cf42f35ef2c20000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0x0738c6bc1ebf9d2d5746ffb76ebbb03c15ba6ff52f024273c6f6acf68191ff96", + "expectedTexts": [ + "Interaction with", + "Uniswap Labs Maximum Amount In 0.00050936143458 7842 WETH", + "Amount to Receive", + "0.0134 QNT Uniswap fee 0.3 %", + "Max fees", + "0.00003028599755816 2 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-DutchOrder.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-DutchOrder.tests.json new file mode 100644 index 0000000..6f7eb70 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-DutchOrder.tests.json @@ -0,0 +1,89 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "UniswapX Dutch Order", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "TokenPermissions": [{ "name": "token", "type": "address" }, { "name": "amount", "type": "uint256" }], + "DutchOutput": [ + { "name": "token", "type": "address" }, + { "name": "startAmount", "type": "uint256" }, + { "name": "endAmount", "type": "uint256" }, + { "name": "recipient", "type": "address" } + ], + "OrderInfo": [ + { "name": "reactor", "type": "address" }, + { "name": "swapper", "type": "address" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" }, + { "name": "additionalValidationContract", "type": "address" }, + { "name": "additionalValidationData", "type": "bytes" } + ], + "DutchOrder": [ + { "name": "info", "type": "OrderInfo" }, + { "name": "decayStartTime", "type": "uint256" }, + { "name": "decayEndTime", "type": "uint256" }, + { "name": "inputToken", "type": "address" }, + { "name": "inputStartAmount", "type": "uint256" }, + { "name": "inputEndAmount", "type": "uint256" }, + { "name": "outputs", "type": "DutchOutput[]" } + ], + "PermitWitnessTransferFrom": [ + { "name": "permitted", "type": "TokenPermissions" }, + { "name": "spender", "type": "address" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" }, + { "name": "witness", "type": "DutchOrder" } + ] + }, + "primaryType": "PermitWitnessTransferFrom", + "domain": { "name": "Permit2", "chainId": 1, "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3" }, + "message": { + "permitted": { "token": "0xA0b86991c6218B36c1d19D4a2E9Eb0cE3606eB48", "amount": "2500000000" }, + "spender": "0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B", + "nonce": "981273451122", + "deadline": "1777500000", + "witness": { + "info": { + "reactor": "0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B", + "swapper": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "nonce": "772349105501", + "deadline": "1777456800", + "additionalValidationContract": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "additionalValidationData": "0x" + }, + "decayStartTime": "1774400400", + "decayEndTime": "1774418400", + "inputToken": "0xA0b86991c6218B36c1d19D4a2E9Eb0cE3606eB48", + "inputStartAmount": "2500000000", + "inputEndAmount": "2400000000", + "outputs": [ + { + "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "startAmount": "1000000000000000000", + "endAmount": "1050000000000000000", + "recipient": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" + } + ] + } + } + }, + "expectedTexts": [ + "Approve amount", + "2500 USDC", + "Approve to spender", + "0xEf1c6E67703c7BD71 07eed8303Fbe6EC255 4BF6B", + "Approval expire", + "2026-04-29 10:00:00 PM UTC", + "Spend max", + "2500 USDC Minimum amounts to receiv 1.05 WETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-ExclusiveDutchOrder.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-ExclusiveDutchOrder.tests.json new file mode 100644 index 0000000..37f6cf2 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-ExclusiveDutchOrder.tests.json @@ -0,0 +1,93 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "UniswapX Exclusive Dutch Order", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "TokenPermissions": [{ "name": "token", "type": "address" }, { "name": "amount", "type": "uint256" }], + "DutchOutput": [ + { "name": "token", "type": "address" }, + { "name": "startAmount", "type": "uint256" }, + { "name": "endAmount", "type": "uint256" }, + { "name": "recipient", "type": "address" } + ], + "OrderInfo": [ + { "name": "reactor", "type": "address" }, + { "name": "swapper", "type": "address" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" }, + { "name": "additionalValidationContract", "type": "address" }, + { "name": "additionalValidationData", "type": "bytes" } + ], + "ExclusiveDutchOrder": [ + { "name": "info", "type": "OrderInfo" }, + { "name": "decayStartTime", "type": "uint256" }, + { "name": "decayEndTime", "type": "uint256" }, + { "name": "exclusiveFiller", "type": "address" }, + { "name": "exclusivityOverrideBps", "type": "uint256" }, + { "name": "inputToken", "type": "address" }, + { "name": "inputStartAmount", "type": "uint256" }, + { "name": "inputEndAmount", "type": "uint256" }, + { "name": "outputs", "type": "DutchOutput[]" } + ], + "PermitWitnessTransferFrom": [ + { "name": "permitted", "type": "TokenPermissions" }, + { "name": "spender", "type": "address" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" }, + { "name": "witness", "type": "ExclusiveDutchOrder" } + ] + }, + "primaryType": "PermitWitnessTransferFrom", + "domain": { "name": "Permit2", "chainId": 1, "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3" }, + "message": { + "permitted": { "token": "0xA0b86991c6218B36c1d19D4a2E9Eb0cE3606eB48", "amount": "2550000000" }, + "spender": "0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B", + "nonce": "981273451123", + "deadline": "1777500000", + "witness": { + "info": { + "reactor": "0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B", + "swapper": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "nonce": "772349105502", + "deadline": "1777456800", + "additionalValidationContract": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "additionalValidationData": "0x" + }, + "decayStartTime": "1774400400", + "decayEndTime": "1774418400", + "exclusiveFiller": "0xF977814e90dA44bFA03b6295A0616a897441aceC", + "exclusivityOverrideBps": "50", + "inputToken": "0xA0b86991c6218B36c1d19D4a2E9Eb0cE3606eB48", + "inputStartAmount": "2550000000", + "inputEndAmount": "2500000000", + "outputs": [ + { + "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "startAmount": "980000000000000000", + "endAmount": "1000000000000000000", + "recipient": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" + } + ] + } + } + }, + "expectedTexts": [ + "Approve amount", + "2550 USDC", + "Approve to spender", + "0xEf1c6E67703c7BD71 07eed8303Fbe6EC255 4BF6B", + "Approval expire", + "2026-04-29 10:00:00 PM UTC", + "Spend max", + "2550 USDC Minimum amounts to receiv 1 WETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-LimitOrder.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-LimitOrder.tests.json new file mode 100644 index 0000000..f3eee12 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-UniswapX-LimitOrder.tests.json @@ -0,0 +1,77 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "UniswapX Limit Order", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "TokenPermissions": [{ "name": "token", "type": "address" }, { "name": "amount", "type": "uint256" }], + "OutputToken": [{ "name": "token", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "recipient", "type": "address" }], + "OrderInfo": [ + { "name": "reactor", "type": "address" }, + { "name": "swapper", "type": "address" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" }, + { "name": "additionalValidationContract", "type": "address" }, + { "name": "additionalValidationData", "type": "bytes" } + ], + "LimitOrder": [ + { "name": "info", "type": "OrderInfo" }, + { "name": "inputToken", "type": "address" }, + { "name": "inputAmount", "type": "uint256" }, + { "name": "outputs", "type": "OutputToken[]" } + ], + "PermitWitnessTransferFrom": [ + { "name": "permitted", "type": "TokenPermissions" }, + { "name": "spender", "type": "address" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" }, + { "name": "witness", "type": "LimitOrder" } + ] + }, + "primaryType": "PermitWitnessTransferFrom", + "domain": { "name": "Permit2", "chainId": 1, "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3" }, + "message": { + "permitted": { "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "amount": "1000000000" }, + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "nonce": "9876543210", + "deadline": "1777600000", + "witness": { + "info": { + "reactor": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "swapper": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "nonce": "4242424242", + "deadline": "1777000000", + "additionalValidationContract": "0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B", + "additionalValidationData": "0x" + }, + "inputToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "inputAmount": "1000000000", + "outputs": [ + { + "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "amount": "550000000000000000", + "recipient": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" + } + ] + } + } + }, + "expectedTexts": [ + "Amount allowance", + "1000 USDC", + "Approve to spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564", + "Approval expire", + "2026-05-01 01:46:40 AM UTC", + "Send", + "1000 USDC Min amount to receive 0.55 WETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-uniswap-V2DutchOrder.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-uniswap-V2DutchOrder.tests.json new file mode 100644 index 0000000..490ef5c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-uniswap-V2DutchOrder.tests.json @@ -0,0 +1,93 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "UniswapX V2 Dutch Order", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "TokenPermissions": [{ "name": "token", "type": "address" }, { "name": "amount", "type": "uint256" }], + "DutchOutput": [ + { "name": "token", "type": "address" }, + { "name": "startAmount", "type": "uint256" }, + { "name": "endAmount", "type": "uint256" }, + { "name": "recipient", "type": "address" } + ], + "OrderInfo": [ + { "name": "reactor", "type": "address" }, + { "name": "swapper", "type": "address" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" }, + { "name": "additionalValidationContract", "type": "address" }, + { "name": "additionalValidationData", "type": "bytes" } + ], + "V2DutchOrder": [ + { "name": "info", "type": "OrderInfo" }, + { "name": "cosigner", "type": "address" }, + { "name": "baseInputToken", "type": "address" }, + { "name": "baseInputStartAmount", "type": "uint256" }, + { "name": "baseInputEndAmount", "type": "uint256" }, + { "name": "baseOutputs", "type": "DutchOutput[]" } + ], + "PermitWitnessTransferFrom": [ + { "name": "permitted", "type": "TokenPermissions" }, + { "name": "spender", "type": "address" }, + { "name": "nonce", "type": "uint256" }, + { "name": "deadline", "type": "uint256" }, + { "name": "witness", "type": "V2DutchOrder" } + ] + }, + "primaryType": "PermitWitnessTransferFrom", + "domain": { "name": "Permit2", "chainId": 1, "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3" }, + "message": { + "permitted": { "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "amount": "2500000000" }, + "spender": "0x6000da47483062A0D734Ba3dc7576Ce6A0B645C4", + "nonce": "842119337501", + "deadline": "1776988800", + "witness": { + "info": { + "reactor": "0x6000da47483062A0D734Ba3dc7576Ce6A0B645C4", + "swapper": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "nonce": "842119337501", + "deadline": "1776902400", + "additionalValidationContract": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "additionalValidationData": "0x" + }, + "cosigner": "0x3fC91A3afd70395Cd496C647d5a6Cc9D4B2b7FAD", + "baseInputToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "baseInputStartAmount": "2500000000", + "baseInputEndAmount": "2450000000", + "baseOutputs": [ + { + "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "startAmount": "980000000000000000", + "endAmount": "950000000000000000", + "recipient": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" + }, + { + "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "startAmount": "5000000", + "endAmount": "5000000", + "recipient": "0x3fC91A3afd70395Cd496C647d5a6Cc9D4B2b7FAD" + } + ] + } + } + }, + "expectedTexts": [ + "Approve amount", + "2500 USDC", + "Approve to spender", + "0x6000da47483062A0 D734Ba3dc7576Ce6A0 B645C4", + "Approval expire", + "2026-04-24 12:00:00 AM UTC", + "Spend max", + "2500 USDC Min amount to receive 950000000000000000 ???" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-uniswap-permit2.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-uniswap-permit2.tests.json new file mode 100644 index 0000000..e6c054e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/tests/eip712-uniswap-permit2.tests.json @@ -0,0 +1,98 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Authorize spending of token", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "PermitDetails": [ + { "name": "token", "type": "address" }, + { "name": "amount", "type": "uint160" }, + { "name": "expiration", "type": "uint48" }, + { "name": "nonce", "type": "uint48" } + ], + "PermitSingle": [ + { "name": "details", "type": "PermitDetails" }, + { "name": "spender", "type": "address" }, + { "name": "sigDeadline", "type": "uint256" } + ] + }, + "primaryType": "PermitSingle", + "domain": { "name": "Permit2", "chainId": 1, "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3" }, + "message": { + "details": { "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "amount": "2500000000", "expiration": 1782864000, "nonce": 7 }, + "spender": "0xE592427A0AEce92De3Edee1F18E0157C05861564", + "sigDeadline": 1774915200 + } + }, + "expectedTexts": [ + "Amount allowance", + "2500 USDC", + "Approval expires", + "2026-07-01 12:00:00 AM UTC", + "Spender", + "0xE592427A0AEce92D e3Edee1F18E0157C058 61564" + ] + }, + { + "description": "Authorize spending of tokens", + "data": { + "types": { + "EIP712Domain": [ + { "name": "name", "type": "string" }, + { "name": "chainId", "type": "uint256" }, + { "name": "verifyingContract", "type": "address" } + ], + "PermitDetails": [ + { "name": "token", "type": "address" }, + { "name": "amount", "type": "uint160" }, + { "name": "expiration", "type": "uint48" }, + { "name": "nonce", "type": "uint48" } + ], + "PermitBatch": [ + { "name": "details", "type": "PermitDetails[]" }, + { "name": "spender", "type": "address" }, + { "name": "sigDeadline", "type": "uint256" } + ] + }, + "primaryType": "PermitBatch", + "domain": { "name": "Permit2", "chainId": 1, "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3" }, + "message": { + "details": [ + { + "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "amount": "2500000000", + "expiration": "1780000000", + "nonce": "912345" + }, + { + "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "amount": "750000000000000000", + "expiration": "1780000000", + "nonce": "912346" + } + ], + "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "sigDeadline": "1775200000" + } + }, + "expectedTexts": [ + "Amount allowance", + "2500000000 ???", + "Approval expires", + "2026-05-28 08:26:40 PM UTC", + "Amount allowance", + "750000000000000000 ???", + "Approval expires", + "2026-05-28 08:26:40 PM UTC", + "Spender", + "0x68b3465833fb72A7 0ecDF485E0e4C7bD86 65Fc45" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/uniswap-common-eip712.json b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/uniswap-common-eip712.json new file mode 100644 index 0000000..1e4d14c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/uniswap/uniswap-common-eip712.json @@ -0,0 +1,79 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "eip712": { + "domain": { + "name": "Permit2" + }, + "deployments": [ + { + "chainId": 1, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 10, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 56, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 137, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 146, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 8453, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 42161, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 42220, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 43114, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 80001, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 81457, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 84532, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 421614, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 11155111, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + { + "chainId": 11155420, + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + } + ] + } + }, + "metadata": { + "owner": "Uniswap Labs", + "info": { + "deploymentDate": "2021-12-14T00:00:00Z", + "url": "https://uniswap.org/" + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/calldata-stakeweight.json b/crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/calldata-stakeweight.json new file mode 100644 index 0000000..2f1a2c8 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/calldata-stakeweight.json @@ -0,0 +1,86 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "WalletConnect StakeWeight", + "contract": { "deployments": [{ "chainId": 10, "address": "0x521B4C065Bbdbe3E20B3727340730936912DfA46" }] } + }, + "metadata": { + "owner": "WalletConnect Foundation", + "info": { "url": "https://walletconnect.network/", "deploymentDate": "2024-11-23T14:50:43Z" }, + "contractName": "WalletConnect StakeWeight" + }, + "display": { + "formats": { + "createLock(uint256 amount, uint256 unlockTime)": { + "intent": "Lock Tokens", + "fields": [ + { + "path": "amount", + "label": "Amount", + "format": "tokenAmount", + "params": { "token": "0xeF4461891DfB3AC8572cCf7C794664A8DD927945" }, + "visible": "always" + }, + { "path": "unlockTime", "label": "Unlock Time", "format": "date", "params": { "encoding": "timestamp" }, "visible": "always" } + ] + }, + "depositFor(address for_, uint256 amount)": { + "intent": "Lock tokens", + "fields": [ + { + "path": "for_", + "label": "For", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + }, + { + "path": "amount", + "label": "Amount", + "format": "tokenAmount", + "params": { "token": "0xeF4461891DfB3AC8572cCf7C794664A8DD927945" }, + "visible": "always" + } + ] + }, + "increaseLockAmount(uint256 amount)": { + "intent": "Increase Lock Amount", + "fields": [ + { + "path": "amount", + "label": "Amount", + "format": "tokenAmount", + "params": { "token": "0xeF4461891DfB3AC8572cCf7C794664A8DD927945" }, + "visible": "always" + } + ] + }, + "increaseUnlockTime(uint256 newUnlockTime)": { + "intent": "Increase Unlock Time", + "fields": [ + { + "path": "newUnlockTime", + "label": "New Unlock Time", + "format": "date", + "params": { "encoding": "timestamp" }, + "visible": "always" + } + ] + }, + "updateLock(uint256 amount, uint256 unlockTime)": { + "intent": "Update Lock", + "fields": [ + { + "path": "amount", + "label": "Amount", + "format": "tokenAmount", + "params": { "token": "0xeF4461891DfB3AC8572cCf7C794664A8DD927945" }, + "visible": "always" + }, + { "path": "unlockTime", "label": "Unlock Time", "format": "date", "params": { "encoding": "timestamp" }, "visible": "always" } + ] + }, + "withdrawAll()": { "intent": "Withdraw All", "fields": [] } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/calldata-wct.json b/crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/calldata-wct.json new file mode 100644 index 0000000..e27f91e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/calldata-wct.json @@ -0,0 +1,55 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "WalletConnect Token", + "contract": { + "deployments": [ + { "chainId": 10, "address": "0xeF4461891DfB3AC8572cCf7C794664A8DD927945" }, + { "chainId": 1, "address": "0xeF4461891DfB3AC8572cCf7C794664A8DD927945" }, + { "chainId": 8453, "address": "0xeF4461891DfB3AC8572cCf7C794664A8DD927945" } + ] + } + }, + "metadata": { + "owner": "WalletConnect Foundation", + "info": { "url": "https://walletconnect.network/", "deploymentDate": "2024-10-28T23:52:01Z" }, + "token": { "ticker": "WCT", "name": "WalletConnect Token", "decimals": 18 }, + "contractName": "WalletConnect Token" + }, + "display": { + "formats": { + "transfer(address to, uint256 value)": { + "intent": "Send", + "fields": [ + { "path": "value", "label": "Amount", "format": "tokenAmount", "params": { "tokenPath": "@.to" }, "visible": "always" }, + { + "path": "to", + "label": "To", + "format": "addressName", + "params": { "types": ["eoa"], "sources": ["local", "ens"] }, + "visible": "always" + } + ] + }, + "approve(address spender, uint256 value)": { + "intent": "Approve", + "fields": [ + { + "path": "spender", + "label": "Spender", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "value", + "label": "Amount", + "format": "tokenAmount", + "params": { "tokenPath": "@.to", "threshold": "0x8000000000000000000000000000000000000000000000000000000000000000" }, + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/tests/calldata-wct.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/tests/calldata-wct.tests.json new file mode 100644 index 0000000..1ebf477 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/walletconnect/tests/calldata-wct.tests.json @@ -0,0 +1,35 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Send - chain 1", + "rawTx": "0xf86b8205718405613d5b8301069294ef4461891dfb3ac8572ccf7c794664a8dd92794580b844a9059cbb0000000000000000000000009642b23ed1e01df1092b92641051881a322f5d4e0000000000000000000000000000000000000000000001bfe988b316e67cefd3018080", + "txHash": "0x8d490ca96730626fe9d814879b390d73b5edb2bf2629c9c000d5bbcc0fe0489f", + "expectedTexts": [ + "Interaction with", + "WalletConnect", + "Amount", + "826252249786677703 0611 ???", + "To", + "0x9642b23Ed1E01Df10 92B92641051881a322F 5D4E", + "Max fees", + "0.00000606701460682 2 ETH" + ] + }, + { + "description": "Approve - chain 1", + "rawTx": "0x02f86c01088404b571c0841443fd0082fc5294ef4461891dfb3ac8572ccf7c794664a8dd92794580b844095ea7b300000000000000000000000040aa958dd87fc8305b97f2ba922cddca374bcd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0", + "txHash": "0x2c036d71bd16a70ae15390aa559347822f57bc67206283ec307d8bedc801b7c6", + "expectedTexts": [ + "Interaction with", + "WalletConnect", + "Spender", + "0x40aA958dd87FC830 5b97f2BA922CDdCa37 4bcD7f", + "Amount", + "Unlimited ???", + "Max fees", + "0.00002196196 ETH" + ] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/weth/calldata-weth.json b/crates/clear-signing/src/assets/registry-snapshot/registry/weth/calldata-weth.json new file mode 100644 index 0000000..641874e --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/weth/calldata-weth.json @@ -0,0 +1,14 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "context": { + "$id": "WETH", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { "chainId": 11155111, "address": "0xfff9976782d46cc05630d1f6ebab18b2324d6b14" } + ] + } + }, + "metadata": { "owner": "WETH", "contractName": "WETH" }, + "display": { "formats": { "deposit()": { "intent": "Wrap", "fields": [{ "path": "@.value", "label": "Amount", "format": "amount" }] } } } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/weth/tests/calldata-weth.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/weth/tests/calldata-weth.tests.json new file mode 100644 index 0000000..06f216a --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/weth/tests/calldata-weth.tests.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Wrap - chain 1", + "rawTx": "0x02f5018202098477359400848c45e4d782798994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28706a4c14dbae00085d0e30db076c0", + "txHash": "0xc9d812ab4580595365ad3f90f34ed16973472458b0aeb7be3d318523e8083042", + "expectedTexts": ["Interaction with", "WETH", "Amount", "0.00187 ETH", "Max fees", "0.00007322104817819 1 ETH"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/calldata-yieldxyz-pol-validator.json b/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/calldata-yieldxyz-pol-validator.json new file mode 100644 index 0000000..a66875c --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/calldata-yieldxyz-pol-validator.json @@ -0,0 +1,68 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "metadata": { + "owner": "Yield.xyz", + "info": { "url": "https://yield.xyz/" }, + "constants": { "stakingTokenTicker": "POL" }, + "contractName": "YieldxyzPolValidator" + }, + "context": { + "$id": "YieldxyzPolValidator", + "contract": { + "deployments": [ + { "chainId": 1, "address": "0xb929b89153fc2eed442e81e5a1add4e2fa39028f" }, + { "chainId": 1, "address": "0x56d783Ca8e0b998C57a428Bf1c26A8baca50524e" }, + { "chainId": 1, "address": "0x857679d69fe50e7b722f94acd2629d80c355163d" }, + { "chainId": 1, "address": "0xF30Cf4ed712D3734161fDAab5B1DBb49Fd2D0E5c" }, + { "chainId": 1, "address": "0x5A10DE50160126A5F936506BD342C541Ac44e943" }, + { "chainId": 1, "address": "0x35B1CA0F398905Cf752e6FE122b51c88022FCa32" }, + { "chainId": 1, "address": "0xD9E6987D77bf2c6d0647b8181fd68A259f838C36" }, + { "chainId": 1, "address": "0xD14a87025109013B0a2354a775cB335F926Af65A" }, + { "chainId": 1, "address": "0xa6e768fEf2D1aF36c0cfdb276422E7881a83e951" }, + { "chainId": 1, "address": "0x467585AaEa860F9D8B3B43bb994E4Da8A93788a7" }, + { "chainId": 1, "address": "0x06998Af8f39Ff8630d1FB515D22781DA4DC2CA71" }, + { "chainId": 1, "address": "0xC7757805B983eE1b6272c1840c18e66837dE858E" }, + { "chainId": 1, "address": "0xE3E9Ba8c8C696f8537cF16b23EDDf118bbD7f21F" }, + { "chainId": 1, "address": "0x875e901465A639f2E71fcfC10F426eD32F5A909a" }, + { "chainId": 1, "address": "0x2905B3387c9550Ea57fa3EE7d4b7E5Abf3acD3d2" }, + { "chainId": 1, "address": "0x15C2b3AdcA66E26B6F230b4023f52a285b7f9995" }, + { "chainId": 1, "address": "0x2EA3c215daeaCc1C90b51443aB5D08a9ad816138" } + ] + } + }, + "display": { + "formats": { + "buyVoucherPOL(uint256 _amount, uint256 _minSharesToMint)": { + "intent": "Stake POL", + "fields": [ + { + "path": "#._amount", + "label": "Stake amount", + "format": "unit", + "params": { "base": "$.metadata.constants.stakingTokenTicker", "decimals": 18 }, + "visible": "always" + }, + { "path": "#._minSharesToMint", "label": "Min shares", "format": "raw", "visible": "always" } + ] + }, + "sellVoucher_newPOL(uint256 claimAmount, uint256 maximumSharesToBurn)": { + "intent": "Unstake POL", + "fields": [ + { + "path": "#.claimAmount", + "label": "Claim amount", + "format": "unit", + "params": { "base": "$.metadata.constants.stakingTokenTicker", "decimals": 18 }, + "visible": "always" + }, + { "path": "#.maximumSharesToBurn", "label": "Max shares", "format": "raw", "visible": "always" } + ] + }, + "unstakeClaimTokens_newPOL(uint256 unbondNonce)": { + "intent": "Claim unstaked POL", + "fields": [{ "path": "#.unbondNonce", "label": "Unbond nonce", "format": "raw", "visible": "always" }] + }, + "withdrawRewardsPOL()": { "intent": "Withdraw POL rewards", "fields": [] } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/calldata-yieldxyz-usde-vault.json b/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/calldata-yieldxyz-usde-vault.json new file mode 100644 index 0000000..09661a5 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/calldata-yieldxyz-usde-vault.json @@ -0,0 +1,105 @@ +{ + "$schema": "../../specs/erc7730-v2.schema.json", + "metadata": { + "owner": "Yield.xyz", + "info": { "url": "https://yield.xyz/" }, + "constants": { "underlyingToken": "0x4c9EDD5852cd905f086C759E8383e09bff1E68B3", "underlyingTicker": "USDe", "vaultTicker": "stk-USDe" } + }, + "context": { "contract": { "deployments": [{ "chainId": 1, "address": "0x2D152fB171353E70e45322D32bC748F8a61d9971" }] } }, + "display": { + "formats": { + "deposit(uint256 _underlying, address receiver)": { + "intent": "Deposit", + "fields": [ + { + "path": "_underlying", + "label": "Deposit asset", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.underlyingToken" }, + "visible": "always" + }, + { "label": "Share ticker", "format": "raw", "value": "$.metadata.constants.vaultTicker" }, + { + "path": "receiver", + "label": "Send shares to", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "mint(uint256 shares, address receiver)": { + "intent": "Mint", + "fields": [ + { "label": "Deposit asset", "format": "raw", "value": "$.metadata.constants.underlyingTicker" }, + { + "path": "shares", + "label": "Minted shares", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { + "path": "receiver", + "label": "Mint shares to", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "withdraw(uint256 _underlying, address receiver, address owner)": { + "intent": "Withdraw", + "fields": [ + { + "path": "_underlying", + "label": "Withdraw exactly", + "format": "tokenAmount", + "params": { "token": "$.metadata.constants.underlyingToken" }, + "visible": "always" + }, + { + "path": "receiver", + "label": "To", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "owner", + "label": "Owner", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + }, + "redeem(uint256 shares, address receiver, address owner)": { + "intent": "Redeem", + "fields": [ + { + "path": "shares", + "label": "Shares to redeem", + "format": "tokenAmount", + "params": { "tokenPath": "@.to" }, + "visible": "always" + }, + { + "path": "receiver", + "label": "To", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + }, + { + "path": "owner", + "label": "Owner", + "format": "addressName", + "params": { "types": ["eoa", "contract"] }, + "visible": "always" + } + ] + } + } + } +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/tests/calldata-yieldxyz-pol-validator.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/tests/calldata-yieldxyz-pol-validator.tests.json new file mode 100644 index 0000000..494a21f --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/tests/calldata-yieldxyz-pol-validator.tests.json @@ -0,0 +1,47 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Stake POL - chain 1", + "rawTx": "0x02f86d011284056ab152840ca666168304a8a194b929b89153fc2eed442e81e5a1add4e2fa39028f80b844e4457a8a0000000000000000000000000000000000000000000000062b928b73405e3c960000000000000000000000000000000000000000000000000000000000000000c0", + "txHash": "0xc08034d79d1b9f842e0ee4dd4f67d20818ce7ceb1c7f44460ed705485ce75fd0", + "expectedTexts": [ + "Interaction with", + "Yield.xyz", + "Stake amount", + "113.820189659605384 342 POL", + "Min shares", + "0", + "Max fees", + "0.00006479709763272 6 ETH" + ] + }, + { + "description": "Unstake POL - chain 1", + "rawTx": "0x02f86901130f84080a6920830730a494b929b89153fc2eed442e81e5a1add4e2fa39028f80b844e570b78b0000000000000000000000000000000000000000000000062b928b73405e3c960000000000000000000000000000000000000000000000062b928b73405e3c96c0", + "txHash": "0x491c8c1c91cb312eeb9041bb4be03a3704b8719d33f2e697d0a68c26c691ef23", + "expectedTexts": [ + "Interaction with", + "Yield.xyz", + "Claim amount", + "113.820189659605384 342 POL", + "Max shares", + "113820189659605384 342", + "Max fees", + "0.0000635654196 ETH" + ] + }, + { + "description": "Claim unstaked POL - chain 1", + "rawTx": "0x02f84c01148405f5e1008409a358a08303b9ff94b929b89153fc2eed442e81e5a1add4e2fa39028f80a48759c2340000000000000000000000000000000000000000000000000000000000000001c0", + "txHash": "0x1c2509a5875a2e6c5e59a47bef4f10007559388aaaeb0c7bf3d642cab906870e", + "expectedTexts": ["Interaction with", "Yield.xyz", "Unbond nonce", "1", "Max fees", "0.0000394908591 ETH"] + }, + { + "description": "Withdraw POL rewards - chain 1", + "rawTx": "0x02ea018201c50184060f70d58304ae5694b929b89153fc2eed442e81e5a1add4e2fa39028f8084e0db556bc0", + "txHash": "0x6c97b6037be8b74aac95951bac86de35e8901c57436b05ec7b31e4b701f5fae5", + "expectedTexts": ["Interaction with", "Yield.xyz", "Max fees", "0.00003119131424705 4 ETH"] + } + ] +} diff --git a/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/tests/calldata-yieldxyz-usde-vault.tests.json b/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/tests/calldata-yieldxyz-usde-vault.tests.json new file mode 100644 index 0000000..8e5b0f7 --- /dev/null +++ b/crates/clear-signing/src/assets/registry-snapshot/registry/yieldxyz/tests/calldata-yieldxyz-usde-vault.tests.json @@ -0,0 +1,39 @@ +{ + "$schema": "../../../specs/erc7730-tests.schema.json", + "tests": [ + { + "description": "Deposit - chain 1", + "rawTx": "0x02f86d013884054e08408408f0d18083035362942d152fb171353e70e45322d32bc748f8a61d997180b8446e553f6500000000000000000000000000000000000000000000020ace0624a786db000000000000000000000000000036272f3569daf11bb4464354cc136acd9eca1d2bc0", + "txHash": "0xbbb6cc65afe88d8ac39e875df7f67822a86092a223b22e5990af37a21928214a", + "expectedTexts": [ + "Interaction with", + "Yield.xyz", + "Deposit asset", + "9644.046 USDe", + "Share ticker", + "stk-USDe", + "Send shares to", + "0x36272F3569DaF11Bb 4464354cC136Acd9ec A1D2B", + "Max fees", + "0.0000326931 ETH" + ] + }, + { + "description": "Redeem - chain 1", + "rawTx": "0x02f88d017b84054e084084127a3980830240dc942d152fb171353e70e45322d32bc748f8a61d997180b864ba08765200000000000000000000000000000000000000000546109666d5389d88d03a8000000000000000000000000085013cb901b041f421e35c839658af951a30f21a00000000000000000000000085013cb901b041f421e35c839658af951a30f21ac0", + "txHash": "0x9a7fb4f8e31512ed7045cab62b871aeaed84e27fea74fdfab45e01cce11dbf02", + "expectedTexts": [ + "Interaction with", + "Yield.xyz", + "Shares to redeem", + "1632128188764977367 773887104 ???", + "To", + "0x85013cB901b041F42 1E35c839658Af951A30 F21a", + "Owner", + "0x85013cB901b041F42 1E35c839658Af951A30 F21a", + "Max fees", + "0.00004577956 ETH" + ] + } + ] +}