From 5d0af3b8fa498953016fa68164b0f552fc4c5a83 Mon Sep 17 00:00:00 2001 From: nikkybel Date: Tue, 2 Jun 2026 03:19:14 +0100 Subject: [PATCH] feat: implement realtime auth, unified admin auth, circuit breakers, route refactor --- .vscode/settings.json | 3 - contracts/target/flycheck0/stderr | 3192 +---------------- contracts/target/flycheck0/stdout | 509 --- data/agent-memory.json | 8 + packages/bot/src/adapters/discord.js | 694 +++- packages/bot/src/adapters/telegram.js | 171 +- packages/bot/src/marketOverview.js | 141 + packages/bot/src/multisigWizard.js | 353 ++ packages/bot/src/rateLimiter.js | 106 + packages/bot/src/scamDetection.js | 205 ++ packages/bot/src/sessionManager.js | 154 + src/Agents/admin/adminAgent.routes.ts | 30 +- src/Agents/planner/PlanExecutor.ts | 2 +- src/Agents/tools/defi/DeFiAdapter.ts | 92 +- src/AuditLog/auditLog.routes.ts | 15 +- src/Gateway/api.ts | 143 +- src/Gateway/bot.routes.ts | 239 ++ src/Gateway/middleware/adminAuth.ts | 287 ++ src/Gateway/middleware/index.ts | 2 + src/Gateway/realtime.routes.ts | 63 + src/Gateway/realtimeClient.ts | 40 +- src/Gateway/routes.ts | 985 +---- src/Gateway/socketManager.ts | 212 +- src/Gateway/transaction.routes.ts | 165 + src/Gateway/webhook.routes.ts | 133 + .../__tests__/ipBlacklist.routes.test.ts | 4 +- src/Security/ipBlacklist.routes.ts | 42 +- src/services/soroban/simulator.ts | 36 +- src/services/sorobanService.ts | 4 + src/utils/resilience.ts | 234 ++ 30 files changed, 3165 insertions(+), 5099 deletions(-) delete mode 100644 .vscode/settings.json create mode 100644 data/agent-memory.json create mode 100644 packages/bot/src/marketOverview.js create mode 100644 packages/bot/src/multisigWizard.js create mode 100644 packages/bot/src/rateLimiter.js create mode 100644 packages/bot/src/scamDetection.js create mode 100644 packages/bot/src/sessionManager.js create mode 100644 src/Gateway/bot.routes.ts create mode 100644 src/Gateway/middleware/adminAuth.ts create mode 100644 src/Gateway/realtime.routes.ts create mode 100644 src/Gateway/transaction.routes.ts create mode 100644 src/Gateway/webhook.routes.ts create mode 100644 src/utils/resilience.ts diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 5948a86d..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "kiroAgent.configureMCP": "Disabled" -} diff --git a/contracts/target/flycheck0/stderr b/contracts/target/flycheck0/stderr index 4ae235c8..4edd7cec 100644 --- a/contracts/target/flycheck0/stderr +++ b/contracts/target/flycheck0/stderr @@ -1,3190 +1,4 @@ - 0.888693676s INFO prepare_target{force=false package_id=liquidity_vault v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault) target="liquidity_vault"}: cargo::core::compiler::fingerprint: fingerprint error for liquidity_vault v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault)/Check { test: true }/TargetInner { name_inferred: true, ..: lib_target("liquidity_vault", ["cdylib"], "/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs", Edition2021) } - 0.888764368s INFO prepare_target{force=false package_id=liquidity_vault v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault) target="liquidity_vault"}: cargo::core::compiler::fingerprint: err: failed to read `/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/.fingerprint/liquidity_vault-53d35346c3f0d5f6/test-lib-liquidity_vault` +error: process didn't exit successfully: `rustc -vV` (exit code: 1) +--- stderr +error: the 'rustc.exe' binary, normally provided by the 'rustc' component, is not applicable to the 'stable-x86_64-pc-windows-msvc' toolchain -Caused by: - No such file or directory (os error 2) - -Stack backtrace: - 0: cargo_util::paths::read_bytes - 1: cargo_util::paths::read - 2: cargo::core::compiler::fingerprint::_compare_old_fingerprint - 3: cargo::core::compiler::fingerprint::prepare_target - 4: cargo::core::compiler::compile - 5: ::compile - 6: cargo::ops::cargo_compile::compile_ws - 7: cargo::ops::cargo_compile::compile_with_exec - 8: cargo::ops::cargo_compile::compile - 9: cargo::commands::check::exec - 10: ::exec - 11: cargo::main - 12: std::sys::backtrace::__rust_begin_short_backtrace:: - 13: std::rt::lang_start::<()>::{closure#0} - 14: core::ops::function::impls:: for &F>::call_once - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/core/src/ops/function.rs:287:21 - 15: std::panicking::catch_unwind::do_call - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:590:40 - 16: std::panicking::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:553:19 - 17: std::panic::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panic.rs:359:14 - 18: std::rt::lang_start_internal::{{closure}} - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/rt.rs:175:24 - 19: std::panicking::catch_unwind::do_call - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:590:40 - 20: std::panicking::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:553:19 - 21: std::panic::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panic.rs:359:14 - 22: std::rt::lang_start_internal - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/rt.rs:171:5 - 23: main - 24: __libc_start_call_main - at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 - 25: __libc_start_main_impl - at ./csu/../csu/libc-start.c:360:3 - 26: - 1.183376178s INFO prepare_target{force=false package_id=por_validator v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator) target="por_validator"}: cargo::core::compiler::fingerprint: fingerprint error for por_validator v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator)/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("por_validator", ["cdylib"], "/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs", Edition2021) } - 1.183518488s INFO prepare_target{force=false package_id=por_validator v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator) target="por_validator"}: cargo::core::compiler::fingerprint: err: failed to read `/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/.fingerprint/por_validator-7f0b0f80eeff2a51/lib-por_validator` - -Caused by: - No such file or directory (os error 2) - -Stack backtrace: - 0: cargo_util::paths::read_bytes - 1: cargo_util::paths::read - 2: cargo::core::compiler::fingerprint::_compare_old_fingerprint - 3: cargo::core::compiler::fingerprint::prepare_target - 4: cargo::core::compiler::compile - 5: ::compile - 6: cargo::ops::cargo_compile::compile_ws - 7: cargo::ops::cargo_compile::compile_with_exec - 8: cargo::ops::cargo_compile::compile - 9: cargo::commands::check::exec - 10: ::exec - 11: cargo::main - 12: std::sys::backtrace::__rust_begin_short_backtrace:: - 13: std::rt::lang_start::<()>::{closure#0} - 14: core::ops::function::impls:: for &F>::call_once - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/core/src/ops/function.rs:287:21 - 15: std::panicking::catch_unwind::do_call - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:590:40 - 16: std::panicking::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:553:19 - 17: std::panic::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panic.rs:359:14 - 18: std::rt::lang_start_internal::{{closure}} - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/rt.rs:175:24 - 19: std::panicking::catch_unwind::do_call - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:590:40 - 20: std::panicking::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:553:19 - 21: std::panic::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panic.rs:359:14 - 22: std::rt::lang_start_internal - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/rt.rs:171:5 - 23: main - 24: __libc_start_call_main - at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 - 25: __libc_start_main_impl - at ./csu/../csu/libc-start.c:360:3 - 26: - 1.187661518s INFO prepare_target{force=false package_id=por_validator v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator) target="por_validator"}: cargo::core::compiler::fingerprint: fingerprint error for por_validator v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator)/Check { test: true }/TargetInner { name_inferred: true, ..: lib_target("por_validator", ["cdylib"], "/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs", Edition2021) } - 1.187843100s INFO prepare_target{force=false package_id=por_validator v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator) target="por_validator"}: cargo::core::compiler::fingerprint: err: failed to read `/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/.fingerprint/por_validator-07154b27ec3e71cf/test-lib-por_validator` - -Caused by: - No such file or directory (os error 2) - -Stack backtrace: - 0: cargo_util::paths::read_bytes - 1: cargo_util::paths::read - 2: cargo::core::compiler::fingerprint::_compare_old_fingerprint - 3: cargo::core::compiler::fingerprint::prepare_target - 4: cargo::core::compiler::compile - 5: ::compile - 6: cargo::ops::cargo_compile::compile_ws - 7: cargo::ops::cargo_compile::compile_with_exec - 8: cargo::ops::cargo_compile::compile - 9: cargo::commands::check::exec - 10: ::exec - 11: cargo::main - 12: std::sys::backtrace::__rust_begin_short_backtrace:: - 13: std::rt::lang_start::<()>::{closure#0} - 14: core::ops::function::impls:: for &F>::call_once - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/core/src/ops/function.rs:287:21 - 15: std::panicking::catch_unwind::do_call - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:590:40 - 16: std::panicking::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:553:19 - 17: std::panic::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panic.rs:359:14 - 18: std::rt::lang_start_internal::{{closure}} - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/rt.rs:175:24 - 19: std::panicking::catch_unwind::do_call - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:590:40 - 20: std::panicking::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:553:19 - 21: std::panic::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panic.rs:359:14 - 22: std::rt::lang_start_internal - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/rt.rs:171:5 - 23: main - 24: __libc_start_call_main - at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 - 25: __libc_start_main_impl - at ./csu/../csu/libc-start.c:360:3 - 26: - 1.190369783s INFO prepare_target{force=false package_id=relayer_slashing v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing) target="relayer_slashing"}: cargo::core::compiler::fingerprint: fingerprint error for relayer_slashing v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing)/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("relayer_slashing", ["cdylib"], "/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs", Edition2021) } - 1.190484539s INFO prepare_target{force=false package_id=relayer_slashing v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing) target="relayer_slashing"}: cargo::core::compiler::fingerprint: err: failed to read `/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/.fingerprint/relayer_slashing-ed03d253c2b6aabc/lib-relayer_slashing` - -Caused by: - No such file or directory (os error 2) - -Stack backtrace: - 0: cargo_util::paths::read_bytes - 1: cargo_util::paths::read - 2: cargo::core::compiler::fingerprint::_compare_old_fingerprint - 3: cargo::core::compiler::fingerprint::prepare_target - 4: cargo::core::compiler::compile - 5: ::compile - 6: cargo::ops::cargo_compile::compile_ws - 7: cargo::ops::cargo_compile::compile_with_exec - 8: cargo::ops::cargo_compile::compile - 9: cargo::commands::check::exec - 10: ::exec - 11: cargo::main - 12: std::sys::backtrace::__rust_begin_short_backtrace:: - 13: std::rt::lang_start::<()>::{closure#0} - 14: core::ops::function::impls:: for &F>::call_once - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/core/src/ops/function.rs:287:21 - 15: std::panicking::catch_unwind::do_call - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:590:40 - 16: std::panicking::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:553:19 - 17: std::panic::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panic.rs:359:14 - 18: std::rt::lang_start_internal::{{closure}} - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/rt.rs:175:24 - 19: std::panicking::catch_unwind::do_call - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:590:40 - 20: std::panicking::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:553:19 - 21: std::panic::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panic.rs:359:14 - 22: std::rt::lang_start_internal - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/rt.rs:171:5 - 23: main - 24: __libc_start_call_main - at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 - 25: __libc_start_main_impl - at ./csu/../csu/libc-start.c:360:3 - 26: - 1.193470283s INFO prepare_target{force=false package_id=relayer_slashing v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing) target="relayer_slashing"}: cargo::core::compiler::fingerprint: fingerprint error for relayer_slashing v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing)/Check { test: true }/TargetInner { name_inferred: true, ..: lib_target("relayer_slashing", ["cdylib"], "/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs", Edition2021) } - 1.193528223s INFO prepare_target{force=false package_id=relayer_slashing v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing) target="relayer_slashing"}: cargo::core::compiler::fingerprint: err: failed to read `/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/.fingerprint/relayer_slashing-0795dd3ebee23db6/test-lib-relayer_slashing` - -Caused by: - No such file or directory (os error 2) - -Stack backtrace: - 0: cargo_util::paths::read_bytes - 1: cargo_util::paths::read - 2: cargo::core::compiler::fingerprint::_compare_old_fingerprint - 3: cargo::core::compiler::fingerprint::prepare_target - 4: cargo::core::compiler::compile - 5: ::compile - 6: cargo::ops::cargo_compile::compile_ws - 7: cargo::ops::cargo_compile::compile_with_exec - 8: cargo::ops::cargo_compile::compile - 9: cargo::commands::check::exec - 10: ::exec - 11: cargo::main - 12: std::sys::backtrace::__rust_begin_short_backtrace:: - 13: std::rt::lang_start::<()>::{closure#0} - 14: core::ops::function::impls:: for &F>::call_once - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/core/src/ops/function.rs:287:21 - 15: std::panicking::catch_unwind::do_call - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:590:40 - 16: std::panicking::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:553:19 - 17: std::panic::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panic.rs:359:14 - 18: std::rt::lang_start_internal::{{closure}} - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/rt.rs:175:24 - 19: std::panicking::catch_unwind::do_call - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:590:40 - 20: std::panicking::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panicking.rs:553:19 - 21: std::panic::catch_unwind - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/panic.rs:359:14 - 22: std::rt::lang_start_internal - at /rustc/4068bafedd8ba724e332a5221c06a6fa531a30d2/library/std/src/rt.rs:171:5 - 23: main - 24: __libc_start_call_main - at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 - 25: __libc_start_main_impl - at ./csu/../csu/libc-start.c:360:3 - 26: - Checking por_validator v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator) - Checking relayer_slashing v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing) - Checking liquidity_vault v0.1.0 (/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault) -error: could not compile `liquidity_vault` (lib test) due to 7 previous errors; 13 warnings emitted -warning: build failed, waiting for other jobs to finish... -error: could not compile `por_validator` (lib) due to 1 previous error -error: could not compile `relayer_slashing` (lib test) due to 1 previous error; 6 warnings emitted -error: could not compile `relayer_slashing` (lib) due to 1 previous error -error: could not compile `por_validator` (lib test) due to 8 previous errors; 10 warnings emitted - Updating crates.io index - Locking 168 packages to latest compatible versions - Adding arbitrary v1.3.2 (available: v1.4.2) - Adding crypto-common v0.1.6 (available: v0.1.7) - Adding derive_arbitrary v1.3.2 (available: v1.4.2) - Adding soroban-builtin-sdk-macros v22.1.3 (available: v22.1.4) - Adding soroban-env-common v22.1.3 (available: v22.1.4) - Adding soroban-env-guest v22.1.3 (available: v22.1.4) - Adding soroban-env-host v22.1.3 (available: v22.1.4) - Adding soroban-env-macros v22.1.3 (available: v22.1.4) - Adding soroban-sdk v22.0.11 (available: v25.3.0) - Adding stellar-xdr v22.1.0 (available: v22.2.0) - 3.465236000s INFO prepare_target{force=false package_id=core_vault v0.1.0 (C:\Users\EMMA\Desktop\chen\contracts\core_vault) target="core_vault"}: cargo::core::compiler::fingerprint: fingerprint error for core_vault v0.1.0 (C:\Users\EMMA\Desktop\chen\contracts\core_vault)/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("core_vault", ["cdylib"], "C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\src\\lib.rs", Edition2021) } - 3.468221500s INFO prepare_target{force=false package_id=core_vault v0.1.0 (C:\Users\EMMA\Desktop\chen\contracts\core_vault) target="core_vault"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\core_vault-1763b53d048df490\lib-core_vault` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_libgit2_prerelease - 12: - 13: - 14: - 15: - 16: git_midx_writer_dump - 17: git_filter_source_repo - 18: git_midx_writer_dump - 19: BaseThreadInitThunk - 20: RtlUserThreadStart - 3.527344200s INFO prepare_target{force=false package_id=soroban-sdk v22.0.11 target="soroban_sdk"}: cargo::core::compiler::fingerprint: fingerprint error for soroban-sdk v22.0.11/Check { test: false }/TargetInner { doctest: false, ..: lib_target("soroban_sdk", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-sdk-22.0.11\\src\\lib.rs", Edition2021) } - 3.527411800s INFO prepare_target{force=false package_id=soroban-sdk v22.0.11 target="soroban_sdk"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\soroban-sdk-690539aabde02001\lib-soroban_sdk` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_libgit2_prerelease - 13: - 14: - 15: - 16: - 17: git_midx_writer_dump - 18: git_filter_source_repo - 19: git_midx_writer_dump - 20: BaseThreadInitThunk - 21: RtlUserThreadStart - 3.533912400s INFO prepare_target{force=false package_id=arbitrary v1.3.2 target="arbitrary"}: cargo::core::compiler::fingerprint: fingerprint error for arbitrary v1.3.2/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("arbitrary", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\arbitrary-1.3.2\\src\\lib.rs", Edition2021) } - 3.533991100s INFO prepare_target{force=false package_id=arbitrary v1.3.2 target="arbitrary"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\arbitrary-0bf95031d0189f77\lib-arbitrary` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_libgit2_prerelease - 14: - 15: - 16: - 17: - 18: git_midx_writer_dump - 19: git_filter_source_repo - 20: git_midx_writer_dump - 21: BaseThreadInitThunk - 22: RtlUserThreadStart - 3.549031700s INFO prepare_target{force=false package_id=ed25519-dalek v2.2.0 target="ed25519_dalek"}: cargo::core::compiler::fingerprint: fingerprint error for ed25519-dalek v2.2.0/Check { test: false }/TargetInner { ..: lib_target("ed25519_dalek", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ed25519-dalek-2.2.0\\src\\lib.rs", Edition2021) } - 3.549138900s INFO prepare_target{force=false package_id=ed25519-dalek v2.2.0 target="ed25519_dalek"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ed25519-dalek-8ab5d20fb91df47f\lib-ed25519_dalek` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_libgit2_prerelease - 14: - 15: - 16: - 17: - 18: git_midx_writer_dump - 19: git_filter_source_repo - 20: git_midx_writer_dump - 21: BaseThreadInitThunk - 22: RtlUserThreadStart - 3.551150500s INFO prepare_target{force=false package_id=curve25519-dalek v4.1.3 target="curve25519_dalek"}: cargo::core::compiler::fingerprint: fingerprint error for curve25519-dalek v4.1.3/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("curve25519_dalek", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\curve25519-dalek-4.1.3\\src\\lib.rs", Edition2021) } - 3.551214400s INFO prepare_target{force=false package_id=curve25519-dalek v4.1.3 target="curve25519_dalek"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\curve25519-dalek-691d8cd79e1391c3\lib-curve25519_dalek` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.553348400s INFO prepare_target{force=false package_id=cfg-if v1.0.4 target="cfg_if"}: cargo::core::compiler::fingerprint: fingerprint error for cfg-if v1.0.4/Check { test: false }/TargetInner { ..: lib_target("cfg_if", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cfg-if-1.0.4\\src\\lib.rs", Edition2018) } - 3.553425700s INFO prepare_target{force=false package_id=cfg-if v1.0.4 target="cfg_if"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\cfg-if-d29a1f16aa95ebe9\lib-cfg_if` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.554878300s INFO prepare_target{force=false package_id=cpufeatures v0.2.17 target="cpufeatures"}: cargo::core::compiler::fingerprint: fingerprint error for cpufeatures v0.2.17/Check { test: false }/TargetInner { ..: lib_target("cpufeatures", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cpufeatures-0.2.17\\src\\lib.rs", Edition2018) } - 3.554942400s INFO prepare_target{force=false package_id=cpufeatures v0.2.17 target="cpufeatures"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\cpufeatures-f4e13d641227ce0e\lib-cpufeatures` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.560858200s INFO prepare_target{force=false package_id=digest v0.10.7 target="digest"}: cargo::core::compiler::fingerprint: fingerprint error for digest v0.10.7/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("digest", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\digest-0.10.7\\src\\lib.rs", Edition2018) } - 3.560929100s INFO prepare_target{force=false package_id=digest v0.10.7 target="digest"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\digest-9e03e8098d0701b1\lib-digest` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.562841300s INFO prepare_target{force=false package_id=block-buffer v0.10.4 target="block_buffer"}: cargo::core::compiler::fingerprint: fingerprint error for block-buffer v0.10.4/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("block_buffer", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\block-buffer-0.10.4\\src\\lib.rs", Edition2018) } - 3.562926500s INFO prepare_target{force=false package_id=block-buffer v0.10.4 target="block_buffer"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\block-buffer-c5474e551b9f541d\lib-block_buffer` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.564838300s INFO prepare_target{force=false package_id=generic-array v0.14.9 target="generic_array"}: cargo::core::compiler::fingerprint: fingerprint error for generic-array v0.14.9/Check { test: false }/TargetInner { ..: lib_target("generic_array", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\generic-array-0.14.9\\src\\lib.rs", Edition2015) } - 3.564940200s INFO prepare_target{force=false package_id=generic-array v0.14.9 target="generic_array"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\generic-array-d33905a5793424dc\lib-generic_array` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.569587100s INFO prepare_target{force=false package_id=typenum v1.19.0 target="typenum"}: cargo::core::compiler::fingerprint: fingerprint error for typenum v1.19.0/Check { test: false }/TargetInner { ..: lib_target("typenum", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\typenum-1.19.0\\src\\lib.rs", Edition2018) } - 3.569677800s INFO prepare_target{force=false package_id=typenum v1.19.0 target="typenum"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\typenum-1d96f71b994729c9\lib-typenum` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_filter_source_repo - 18: git_libgit2_prerelease - 19: - 20: - 21: - 22: - 23: git_midx_writer_dump - 24: git_filter_source_repo - 25: git_midx_writer_dump - 26: BaseThreadInitThunk - 27: RtlUserThreadStart - 3.573951100s INFO prepare_target{force=false package_id=zeroize v1.8.2 target="zeroize"}: cargo::core::compiler::fingerprint: fingerprint error for zeroize v1.8.2/Check { test: false }/TargetInner { ..: lib_target("zeroize", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zeroize-1.8.2\\src\\lib.rs", Edition2021) } - 3.574037200s INFO prepare_target{force=false package_id=zeroize v1.8.2 target="zeroize"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\zeroize-b7ae92738fe5939c\lib-zeroize` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_filter_source_repo - 18: git_libgit2_prerelease - 19: - 20: - 21: - 22: - 23: git_midx_writer_dump - 24: git_filter_source_repo - 25: git_midx_writer_dump - 26: BaseThreadInitThunk - 27: RtlUserThreadStart - 3.576464700s INFO prepare_target{force=false package_id=const-oid v0.9.6 target="const_oid"}: cargo::core::compiler::fingerprint: fingerprint error for const-oid v0.9.6/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("const_oid", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\const-oid-0.9.6\\src\\lib.rs", Edition2021) } - 3.576531900s INFO prepare_target{force=false package_id=const-oid v0.9.6 target="const_oid"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\const-oid-22c6607c265bc36f\lib-const_oid` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.579448300s INFO prepare_target{force=false package_id=crypto-common v0.1.6 target="crypto_common"}: cargo::core::compiler::fingerprint: fingerprint error for crypto-common v0.1.6/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("crypto_common", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\crypto-common-0.1.6\\src\\lib.rs", Edition2018) } - 3.579619900s INFO prepare_target{force=false package_id=crypto-common v0.1.6 target="crypto_common"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\crypto-common-cbbf74e7ed82ad3e\lib-crypto_common` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.582329700s INFO prepare_target{force=false package_id=subtle v2.6.1 target="subtle"}: cargo::core::compiler::fingerprint: fingerprint error for subtle v2.6.1/Check { test: false }/TargetInner { ..: lib_target("subtle", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\subtle-2.6.1\\src\\lib.rs", Edition2018) } - 3.582437600s INFO prepare_target{force=false package_id=subtle v2.6.1 target="subtle"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\subtle-1c46928b36801799\lib-subtle` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.584000200s INFO prepare_target{force=false package_id=ed25519 v2.2.3 target="ed25519"}: cargo::core::compiler::fingerprint: fingerprint error for ed25519 v2.2.3/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("ed25519", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ed25519-2.2.3\\src\\lib.rs", Edition2021) } - 3.584062100s INFO prepare_target{force=false package_id=ed25519 v2.2.3 target="ed25519"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ed25519-f76d1d31da444112\lib-ed25519` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.585696700s INFO prepare_target{force=false package_id=signature v2.2.0 target="signature"}: cargo::core::compiler::fingerprint: fingerprint error for signature v2.2.0/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("signature", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\signature-2.2.0\\src\\lib.rs", Edition2021) } - 3.585796300s INFO prepare_target{force=false package_id=signature v2.2.0 target="signature"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\signature-7dbe584ec0ff5840\lib-signature` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.587545900s INFO prepare_target{force=false package_id=rand_core v0.6.4 target="rand_core"}: cargo::core::compiler::fingerprint: fingerprint error for rand_core v0.6.4/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("rand_core", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rand_core-0.6.4\\src\\lib.rs", Edition2018) } - 3.587607000s INFO prepare_target{force=false package_id=rand_core v0.6.4 target="rand_core"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\rand_core-631ffe9e26df1455\lib-rand_core` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.589287100s INFO prepare_target{force=false package_id=getrandom v0.2.17 target="getrandom"}: cargo::core::compiler::fingerprint: fingerprint error for getrandom v0.2.17/Check { test: false }/TargetInner { ..: lib_target("getrandom", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\getrandom-0.2.17\\src\\lib.rs", Edition2018) } - 3.589374100s INFO prepare_target{force=false package_id=getrandom v0.2.17 target="getrandom"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\getrandom-42fd53138c3842e5\lib-getrandom` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.591002500s INFO prepare_target{force=false package_id=sha2 v0.10.9 target="sha2"}: cargo::core::compiler::fingerprint: fingerprint error for sha2 v0.10.9/Check { test: false }/TargetInner { ..: lib_target("sha2", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sha2-0.10.9\\src\\lib.rs", Edition2018) } - 3.591063400s INFO prepare_target{force=false package_id=sha2 v0.10.9 target="sha2"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\sha2-fcec00c73948a7bc\lib-sha2` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.592857500s INFO prepare_target{force=false package_id=rand v0.8.5 target="rand"}: cargo::core::compiler::fingerprint: fingerprint error for rand v0.8.5/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("rand", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rand-0.8.5\\src\\lib.rs", Edition2018) } - 3.592921200s INFO prepare_target{force=false package_id=rand v0.8.5 target="rand"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\rand-62addf24c353fc7b\lib-rand` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_libgit2_prerelease - 14: - 15: - 16: - 17: - 18: git_midx_writer_dump - 19: git_filter_source_repo - 20: git_midx_writer_dump - 21: BaseThreadInitThunk - 22: RtlUserThreadStart - 3.594703200s INFO prepare_target{force=false package_id=rand_chacha v0.3.1 target="rand_chacha"}: cargo::core::compiler::fingerprint: fingerprint error for rand_chacha v0.3.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("rand_chacha", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rand_chacha-0.3.1\\src\\lib.rs", Edition2018) } - 3.594762800s INFO prepare_target{force=false package_id=rand_chacha v0.3.1 target="rand_chacha"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\rand_chacha-977d9db078a467c6\lib-rand_chacha` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.597054700s INFO prepare_target{force=false package_id=ppv-lite86 v0.2.21 target="ppv_lite86"}: cargo::core::compiler::fingerprint: fingerprint error for ppv-lite86 v0.2.21/Check { test: false }/TargetInner { ..: lib_target("ppv_lite86", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ppv-lite86-0.2.21\\src\\lib.rs", Edition2021) } - 3.597294900s INFO prepare_target{force=false package_id=ppv-lite86 v0.2.21 target="ppv_lite86"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ppv-lite86-5079a6bf6d5b687f\lib-ppv_lite86` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.600015000s INFO prepare_target{force=false package_id=zerocopy v0.8.48 target="zerocopy"}: cargo::core::compiler::fingerprint: fingerprint error for zerocopy v0.8.48/Check { test: false }/TargetInner { ..: lib_target("zerocopy", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerocopy-0.8.48\\src\\lib.rs", Edition2021) } - 3.600079700s INFO prepare_target{force=false package_id=zerocopy v0.8.48 target="zerocopy"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\zerocopy-a7838e310cce264b\lib-zerocopy` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.604436100s INFO prepare_target{force=false package_id=serde v1.0.228 target="serde"}: cargo::core::compiler::fingerprint: fingerprint error for serde v1.0.228/Check { test: false }/TargetInner { ..: lib_target("serde", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde-1.0.228\\src\\lib.rs", Edition2021) } - 3.604524100s INFO prepare_target{force=false package_id=serde v1.0.228 target="serde"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\serde-975b9f574a8196da\lib-serde` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_libgit2_prerelease - 14: - 15: - 16: - 17: - 18: git_midx_writer_dump - 19: git_filter_source_repo - 20: git_midx_writer_dump - 21: BaseThreadInitThunk - 22: RtlUserThreadStart - 3.609033100s INFO prepare_target{force=false package_id=serde_core v1.0.228 target="serde_core"}: cargo::core::compiler::fingerprint: fingerprint error for serde_core v1.0.228/Check { test: false }/TargetInner { ..: lib_target("serde_core", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_core-1.0.228\\src\\lib.rs", Edition2021) } - 3.609106700s INFO prepare_target{force=false package_id=serde_core v1.0.228 target="serde_core"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\serde_core-399c70c18005bf78\lib-serde_core` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.617720300s INFO prepare_target{force=false package_id=serde_json v1.0.149 target="serde_json"}: cargo::core::compiler::fingerprint: fingerprint error for serde_json v1.0.149/Check { test: false }/TargetInner { ..: lib_target("serde_json", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_json-1.0.149\\src\\lib.rs", Edition2021) } - 3.617785800s INFO prepare_target{force=false package_id=serde_json v1.0.149 target="serde_json"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\serde_json-b75e018b20712fd9\lib-serde_json` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_libgit2_prerelease - 14: - 15: - 16: - 17: - 18: git_midx_writer_dump - 19: git_filter_source_repo - 20: git_midx_writer_dump - 21: BaseThreadInitThunk - 22: RtlUserThreadStart - 3.619832300s INFO prepare_target{force=false package_id=itoa v1.0.18 target="itoa"}: cargo::core::compiler::fingerprint: fingerprint error for itoa v1.0.18/Check { test: false }/TargetInner { ..: lib_target("itoa", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itoa-1.0.18\\src\\lib.rs", Edition2021) } - 3.619892000s INFO prepare_target{force=false package_id=itoa v1.0.18 target="itoa"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\itoa-08aa8c6ab5d62562\lib-itoa` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.622157600s INFO prepare_target{force=false package_id=memchr v2.8.0 target="memchr"}: cargo::core::compiler::fingerprint: fingerprint error for memchr v2.8.0/Check { test: false }/TargetInner { benched: false, ..: lib_target("memchr", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\memchr-2.8.0\\src\\lib.rs", Edition2021) } - 3.622267800s INFO prepare_target{force=false package_id=memchr v2.8.0 target="memchr"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\memchr-ca5486d432025975\lib-memchr` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.626356000s INFO prepare_target{force=false package_id=zmij v1.0.21 target="zmij"}: cargo::core::compiler::fingerprint: fingerprint error for zmij v1.0.21/Check { test: false }/TargetInner { ..: lib_target("zmij", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zmij-1.0.21\\src\\lib.rs", Edition2021) } - 3.626420700s INFO prepare_target{force=false package_id=zmij v1.0.21 target="zmij"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\zmij-ff89e32e9f2c4004\lib-zmij` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.631509900s INFO prepare_target{force=false package_id=soroban-env-host v22.1.3 target="soroban_env_host"}: cargo::core::compiler::fingerprint: fingerprint error for soroban-env-host v22.1.3/Check { test: false }/TargetInner { ..: lib_target("soroban_env_host", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-host-22.1.3\\src\\lib.rs", Edition2021) } - 3.631716300s INFO prepare_target{force=false package_id=soroban-env-host v22.1.3 target="soroban_env_host"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\soroban-env-host-2123ec9409e3d128\lib-soroban_env_host` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_libgit2_prerelease - 14: - 15: - 16: - 17: - 18: git_midx_writer_dump - 19: git_filter_source_repo - 20: git_midx_writer_dump - 21: BaseThreadInitThunk - 22: RtlUserThreadStart - 3.637379500s INFO prepare_target{force=false package_id=ark-bls12-381 v0.4.0 target="ark_bls12_381"}: cargo::core::compiler::fingerprint: fingerprint error for ark-bls12-381 v0.4.0/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("ark_bls12_381", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-bls12-381-0.4.0\\src\\lib.rs", Edition2021) } - 3.637999100s INFO prepare_target{force=false package_id=ark-bls12-381 v0.4.0 target="ark_bls12_381"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ark-bls12-381-b21ada6ec9aeae5c\lib-ark_bls12_381` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.641275700s INFO prepare_target{force=false package_id=ark-ec v0.4.2 target="ark_ec"}: cargo::core::compiler::fingerprint: fingerprint error for ark-ec v0.4.2/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("ark_ec", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-ec-0.4.2\\src\\lib.rs", Edition2021) } - 3.641399900s INFO prepare_target{force=false package_id=ark-ec v0.4.2 target="ark_ec"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ark-ec-dd9986fcd5ab8586\lib-ark_ec` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.644217100s INFO prepare_target{force=false package_id=ark-ff v0.4.2 target="ark_ff"}: cargo::core::compiler::fingerprint: fingerprint error for ark-ff v0.4.2/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("ark_ff", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-ff-0.4.2\\src\\lib.rs", Edition2021) } - 3.644343700s INFO prepare_target{force=false package_id=ark-ff v0.4.2 target="ark_ff"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ark-ff-fdf9f40b9cfb120b\lib-ark_ff` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.655565000s INFO prepare_target{force=false package_id=ark-serialize v0.4.2 target="ark_serialize"}: cargo::core::compiler::fingerprint: fingerprint error for ark-serialize v0.4.2/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("ark_serialize", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-serialize-0.4.2\\src\\lib.rs", Edition2021) } - 3.655729600s INFO prepare_target{force=false package_id=ark-serialize v0.4.2 target="ark_serialize"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ark-serialize-e191987402b1bff7\lib-ark_serialize` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.660112000s INFO prepare_target{force=false package_id=ark-std v0.4.0 target="ark_std"}: cargo::core::compiler::fingerprint: fingerprint error for ark-std v0.4.0/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("ark_std", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-std-0.4.0\\src\\lib.rs", Edition2021) } - 3.660181400s INFO prepare_target{force=false package_id=ark-std v0.4.0 target="ark_std"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ark-std-92fccde78d25d54a\lib-ark_std` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_filter_source_repo - 18: git_libgit2_prerelease - 19: - 20: - 21: - 22: - 23: git_midx_writer_dump - 24: git_filter_source_repo - 25: git_midx_writer_dump - 26: BaseThreadInitThunk - 27: RtlUserThreadStart - 3.662248700s INFO prepare_target{force=false package_id=num-traits v0.2.19 target="num_traits"}: cargo::core::compiler::fingerprint: fingerprint error for num-traits v0.2.19/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("num_traits", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\src\\lib.rs", Edition2021) } - 3.662317300s INFO prepare_target{force=false package_id=num-traits v0.2.19 target="num_traits"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\num-traits-953ad1619ce48ca1\lib-num_traits` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_filter_source_repo - 18: git_filter_source_repo - 19: git_libgit2_prerelease - 20: - 21: - 22: - 23: - 24: git_midx_writer_dump - 25: git_filter_source_repo - 26: git_midx_writer_dump - 27: BaseThreadInitThunk - 28: RtlUserThreadStart - 3.672111900s INFO prepare_target{force=false package_id=num-bigint v0.4.6 target="num_bigint"}: cargo::core::compiler::fingerprint: fingerprint error for num-bigint v0.4.6/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("num_bigint", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-bigint-0.4.6\\src\\lib.rs", Edition2021) } - 3.672293600s INFO prepare_target{force=false package_id=num-bigint v0.4.6 target="num_bigint"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\num-bigint-4b4b22a67d3904d7\lib-num_bigint` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_filter_source_repo - 18: git_libgit2_prerelease - 19: - 20: - 21: - 22: - 23: git_midx_writer_dump - 24: git_filter_source_repo - 25: git_midx_writer_dump - 26: BaseThreadInitThunk - 27: RtlUserThreadStart - 3.675943300s INFO prepare_target{force=false package_id=num-integer v0.1.46 target="num_integer"}: cargo::core::compiler::fingerprint: fingerprint error for num-integer v0.1.46/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("num_integer", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-integer-0.1.46\\src\\lib.rs", Edition2018) } - 3.676016000s INFO prepare_target{force=false package_id=num-integer v0.1.46 target="num_integer"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\num-integer-78ed999824ecc0b9\lib-num_integer` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_filter_source_repo - 18: git_filter_source_repo - 19: git_libgit2_prerelease - 20: - 21: - 22: - 23: - 24: git_midx_writer_dump - 25: git_filter_source_repo - 26: git_midx_writer_dump - 27: BaseThreadInitThunk - 28: RtlUserThreadStart - 3.683579300s INFO prepare_target{force=false package_id=itertools v0.10.5 target="itertools"}: cargo::core::compiler::fingerprint: fingerprint error for itertools v0.10.5/Check { test: false }/TargetInner { name_inferred: true, tested: false, benched: false, ..: lib_target("itertools", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itertools-0.10.5\\src\\lib.rs", Edition2018) } - 3.683652100s INFO prepare_target{force=false package_id=itertools v0.10.5 target="itertools"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\itertools-a1b13b9d0b18cd1f\lib-itertools` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.686090600s INFO prepare_target{force=false package_id=either v1.15.0 target="either"}: cargo::core::compiler::fingerprint: fingerprint error for either v1.15.0/Check { test: false }/TargetInner { ..: lib_target("either", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\either-1.15.0\\src\\lib.rs", Edition2021) } - 3.686155700s INFO prepare_target{force=false package_id=either v1.15.0 target="either"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\either-be5dbe9df35753d6\lib-either` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_filter_source_repo - 18: git_libgit2_prerelease - 19: - 20: - 21: - 22: - 23: git_midx_writer_dump - 24: git_filter_source_repo - 25: git_midx_writer_dump - 26: BaseThreadInitThunk - 27: RtlUserThreadStart - 3.691109700s INFO prepare_target{force=false package_id=ark-poly v0.4.2 target="ark_poly"}: cargo::core::compiler::fingerprint: fingerprint error for ark-poly v0.4.2/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("ark_poly", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-poly-0.4.2\\src\\lib.rs", Edition2021) } - 3.691172900s INFO prepare_target{force=false package_id=ark-poly v0.4.2 target="ark_poly"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ark-poly-47471d124ac480be\lib-ark_poly` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.693069200s INFO prepare_target{force=false package_id=hashbrown v0.13.2 target="hashbrown"}: cargo::core::compiler::fingerprint: fingerprint error for hashbrown v0.13.2/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("hashbrown", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.13.2\\src\\lib.rs", Edition2021) } - 3.693123300s INFO prepare_target{force=false package_id=hashbrown v0.13.2 target="hashbrown"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\hashbrown-f280c460fdb40535\lib-hashbrown` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.694702400s INFO prepare_target{force=false package_id=ahash v0.8.12 target="ahash"}: cargo::core::compiler::fingerprint: fingerprint error for ahash v0.8.12/Check { test: false }/TargetInner { ..: lib_target("ahash", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ahash-0.8.12\\src\\lib.rs", Edition2018) } - 3.694760300s INFO prepare_target{force=false package_id=ahash v0.8.12 target="ahash"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ahash-c0120d34ffdadf97\lib-ahash` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_filter_source_repo - 18: git_libgit2_prerelease - 19: - 20: - 21: - 22: - 23: git_midx_writer_dump - 24: git_filter_source_repo - 25: git_midx_writer_dump - 26: BaseThreadInitThunk - 27: RtlUserThreadStart - 3.700487200s INFO prepare_target{force=false package_id=once_cell v1.21.4 target="once_cell"}: cargo::core::compiler::fingerprint: fingerprint error for once_cell v1.21.4/Check { test: false }/TargetInner { ..: lib_target("once_cell", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\once_cell-1.21.4\\src\\lib.rs", Edition2021) } - 3.700634700s INFO prepare_target{force=false package_id=once_cell v1.21.4 target="once_cell"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\once_cell-3895f4b0dfe534e2\lib-once_cell` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_filter_source_repo - 18: git_filter_source_repo - 19: git_libgit2_prerelease - 20: - 21: - 22: - 23: - 24: git_midx_writer_dump - 25: git_filter_source_repo - 26: git_midx_writer_dump - 27: BaseThreadInitThunk - 28: RtlUserThreadStart - 3.702607300s INFO prepare_target{force=false package_id=ecdsa v0.16.9 target="ecdsa"}: cargo::core::compiler::fingerprint: fingerprint error for ecdsa v0.16.9/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("ecdsa", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ecdsa-0.16.9\\src\\lib.rs", Edition2021) } - 3.702711300s INFO prepare_target{force=false package_id=ecdsa v0.16.9 target="ecdsa"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ecdsa-6c48612790742087\lib-ecdsa` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.704523300s INFO prepare_target{force=false package_id=der v0.7.10 target="der"}: cargo::core::compiler::fingerprint: fingerprint error for der v0.7.10/Check { test: false }/TargetInner { ..: lib_target("der", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\der-0.7.10\\src\\lib.rs", Edition2021) } - 3.704577800s INFO prepare_target{force=false package_id=der v0.7.10 target="der"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\der-316612124283839c\lib-der` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.706324300s INFO prepare_target{force=false package_id=elliptic-curve v0.13.8 target="elliptic_curve"}: cargo::core::compiler::fingerprint: fingerprint error for elliptic-curve v0.13.8/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("elliptic_curve", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\elliptic-curve-0.13.8\\src\\lib.rs", Edition2021) } - 3.706380300s INFO prepare_target{force=false package_id=elliptic-curve v0.13.8 target="elliptic_curve"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\elliptic-curve-da2b898bf3549953\lib-elliptic_curve` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.711293700s INFO prepare_target{force=false package_id=base16ct v0.2.0 target="base16ct"}: cargo::core::compiler::fingerprint: fingerprint error for base16ct v0.2.0/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("base16ct", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\base16ct-0.2.0\\src\\lib.rs", Edition2021) } - 3.711441900s INFO prepare_target{force=false package_id=base16ct v0.2.0 target="base16ct"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\base16ct-8f51fcec5d3ca457\lib-base16ct` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.716344600s INFO prepare_target{force=false package_id=crypto-bigint v0.5.5 target="crypto_bigint"}: cargo::core::compiler::fingerprint: fingerprint error for crypto-bigint v0.5.5/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("crypto_bigint", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\crypto-bigint-0.5.5\\src\\lib.rs", Edition2021) } - 3.716418100s INFO prepare_target{force=false package_id=crypto-bigint v0.5.5 target="crypto_bigint"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\crypto-bigint-31d116e4c6a6df79\lib-crypto_bigint` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.718251000s INFO prepare_target{force=false package_id=ff v0.13.1 target="ff"}: cargo::core::compiler::fingerprint: fingerprint error for ff v0.13.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("ff", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ff-0.13.1\\src\\lib.rs", Edition2021) } - 3.718319300s INFO prepare_target{force=false package_id=ff v0.13.1 target="ff"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ff-b668260fb59930d8\lib-ff` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.720133000s INFO prepare_target{force=false package_id=group v0.13.0 target="group"}: cargo::core::compiler::fingerprint: fingerprint error for group v0.13.0/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("group", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\group-0.13.0\\src\\lib.rs", Edition2021) } - 3.720208700s INFO prepare_target{force=false package_id=group v0.13.0 target="group"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\group-8de9988a380b0531\lib-group` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.721802300s INFO prepare_target{force=false package_id=sec1 v0.7.3 target="sec1"}: cargo::core::compiler::fingerprint: fingerprint error for sec1 v0.7.3/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("sec1", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sec1-0.7.3\\src\\lib.rs", Edition2021) } - 3.721863900s INFO prepare_target{force=false package_id=sec1 v0.7.3 target="sec1"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\sec1-6c490baff1db5bfd\lib-sec1` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.723780600s INFO prepare_target{force=false package_id=rfc6979 v0.4.0 target="rfc6979"}: cargo::core::compiler::fingerprint: fingerprint error for rfc6979 v0.4.0/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("rfc6979", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rfc6979-0.4.0\\src\\lib.rs", Edition2021) } - 3.723837000s INFO prepare_target{force=false package_id=rfc6979 v0.4.0 target="rfc6979"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\rfc6979-1ef58eb58dbcc776\lib-rfc6979` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.725523200s INFO prepare_target{force=false package_id=hmac v0.12.1 target="hmac"}: cargo::core::compiler::fingerprint: fingerprint error for hmac v0.12.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("hmac", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hmac-0.12.1\\src\\lib.rs", Edition2018) } - 3.725586200s INFO prepare_target{force=false package_id=hmac v0.12.1 target="hmac"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\hmac-dd41c6a77ba97dba\lib-hmac` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.727178000s INFO prepare_target{force=false package_id=hex-literal v0.4.1 target="hex_literal"}: cargo::core::compiler::fingerprint: fingerprint error for hex-literal v0.4.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("hex_literal", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hex-literal-0.4.1\\src\\lib.rs", Edition2021) } - 3.727234200s INFO prepare_target{force=false package_id=hex-literal v0.4.1 target="hex_literal"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\hex-literal-61aee85d50ada272\lib-hex_literal` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.728624100s INFO prepare_target{force=false package_id=k256 v0.13.4 target="k256"}: cargo::core::compiler::fingerprint: fingerprint error for k256 v0.13.4/Check { test: false }/TargetInner { ..: lib_target("k256", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\k256-0.13.4\\src\\lib.rs", Edition2021) } - 3.728673100s INFO prepare_target{force=false package_id=k256 v0.13.4 target="k256"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\k256-89005f8f63728d11\lib-k256` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.731208500s INFO prepare_target{force=false package_id=p256 v0.13.2 target="p256"}: cargo::core::compiler::fingerprint: fingerprint error for p256 v0.13.2/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("p256", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\p256-0.13.2\\src\\lib.rs", Edition2021) } - 3.731279800s INFO prepare_target{force=false package_id=p256 v0.13.2 target="p256"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\p256-14d680a9739adc12\lib-p256` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.733557800s INFO prepare_target{force=false package_id=primeorder v0.13.6 target="primeorder"}: cargo::core::compiler::fingerprint: fingerprint error for primeorder v0.13.6/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("primeorder", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\primeorder-0.13.6\\src\\lib.rs", Edition2021) } - 3.733635000s INFO prepare_target{force=false package_id=primeorder v0.13.6 target="primeorder"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\primeorder-b801ca576000c1c9\lib-primeorder` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.735559000s INFO prepare_target{force=false package_id=sha3 v0.10.8 target="sha3"}: cargo::core::compiler::fingerprint: fingerprint error for sha3 v0.10.8/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("sha3", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sha3-0.10.8\\src\\lib.rs", Edition2018) } - 3.735626800s INFO prepare_target{force=false package_id=sha3 v0.10.8 target="sha3"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\sha3-ff7821a9f1ee8678\lib-sha3` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.737243800s INFO prepare_target{force=false package_id=keccak v0.1.6 target="keccak"}: cargo::core::compiler::fingerprint: fingerprint error for keccak v0.1.6/Check { test: false }/TargetInner { ..: lib_target("keccak", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\keccak-0.1.6\\src\\lib.rs", Edition2018) } - 3.737310500s INFO prepare_target{force=false package_id=keccak v0.1.6 target="keccak"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\keccak-394f40ffa820cda3\lib-keccak` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.740392200s INFO prepare_target{force=false package_id=soroban-env-common v22.1.3 target="soroban_env_common"}: cargo::core::compiler::fingerprint: fingerprint error for soroban-env-common v22.1.3/Check { test: false }/TargetInner { ..: lib_target("soroban_env_common", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-common-22.1.3\\src\\lib.rs", Edition2021) } - 3.740461200s INFO prepare_target{force=false package_id=soroban-env-common v22.1.3 target="soroban_env_common"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\soroban-env-common-9d052b00a98aca65\lib-soroban_env_common` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_libgit2_prerelease - 15: - 16: - 17: - 18: - 19: git_midx_writer_dump - 20: git_filter_source_repo - 21: git_midx_writer_dump - 22: BaseThreadInitThunk - 23: RtlUserThreadStart - 3.743121800s INFO prepare_target{force=false package_id=ethnum v1.5.2 target="ethnum"}: cargo::core::compiler::fingerprint: fingerprint error for ethnum v1.5.2/Check { test: false }/TargetInner { ..: lib_target("ethnum", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ethnum-1.5.2\\src\\lib.rs", Edition2021) } - 3.743182700s INFO prepare_target{force=false package_id=ethnum v1.5.2 target="ethnum"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\ethnum-71b1628689cf55e4\lib-ethnum` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.778061200s INFO prepare_target{force=false package_id=soroban-wasmi v0.31.1-soroban.20.0.1 target="soroban_wasmi"}: cargo::core::compiler::fingerprint: fingerprint error for soroban-wasmi v0.31.1-soroban.20.0.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("soroban_wasmi", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-wasmi-0.31.1-soroban.20.0.1\\src\\lib.rs", Edition2021) } - 3.779680000s INFO prepare_target{force=false package_id=soroban-wasmi v0.31.1-soroban.20.0.1 target="soroban_wasmi"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\soroban-wasmi-67429a9839c5a2d1\lib-soroban_wasmi` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.782578400s INFO prepare_target{force=false package_id=smallvec v1.15.1 target="smallvec"}: cargo::core::compiler::fingerprint: fingerprint error for smallvec v1.15.1/Check { test: false }/TargetInner { ..: lib_target("smallvec", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\smallvec-1.15.1\\src\\lib.rs", Edition2018) } - 3.782665300s INFO prepare_target{force=false package_id=smallvec v1.15.1 target="smallvec"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\smallvec-a6b93743833a20d8\lib-smallvec` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.784436600s INFO prepare_target{force=false package_id=spin v0.9.8 target="spin"}: cargo::core::compiler::fingerprint: fingerprint error for spin v0.9.8/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("spin", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\spin-0.9.8\\src\\lib.rs", Edition2015) } - 3.784493900s INFO prepare_target{force=false package_id=spin v0.9.8 target="spin"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\spin-e0e42f13b7156d67\lib-spin` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.786423400s INFO prepare_target{force=false package_id=wasmi_arena v0.4.1 target="wasmi_arena"}: cargo::core::compiler::fingerprint: fingerprint error for wasmi_arena v0.4.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("wasmi_arena", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmi_arena-0.4.1\\src\\lib.rs", Edition2021) } - 3.786492400s INFO prepare_target{force=false package_id=wasmi_arena v0.4.1 target="wasmi_arena"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\wasmi_arena-2871e35f0067a3df\lib-wasmi_arena` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.788037100s INFO prepare_target{force=false package_id=wasmi_core v0.13.0 target="wasmi_core"}: cargo::core::compiler::fingerprint: fingerprint error for wasmi_core v0.13.0/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("wasmi_core", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmi_core-0.13.0\\src\\lib.rs", Edition2021) } - 3.788147400s INFO prepare_target{force=false package_id=wasmi_core v0.13.0 target="wasmi_core"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\wasmi_core-3945f62d062a780b\lib-wasmi_core` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.790482900s INFO prepare_target{force=false package_id=downcast-rs v1.2.1 target="downcast_rs"}: cargo::core::compiler::fingerprint: fingerprint error for downcast-rs v1.2.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("downcast_rs", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\downcast-rs-1.2.1\\src\\lib.rs", Edition2015) } - 3.790591700s INFO prepare_target{force=false package_id=downcast-rs v1.2.1 target="downcast_rs"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\downcast-rs-ba1c564a75030421\lib-downcast_rs` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.792234700s INFO prepare_target{force=false package_id=libm v0.2.16 target="libm"}: cargo::core::compiler::fingerprint: fingerprint error for libm v0.2.16/Check { test: false }/TargetInner { ..: lib_target("libm", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libm-0.2.16\\src\\lib.rs", Edition2021) } - 3.792300000s INFO prepare_target{force=false package_id=libm v0.2.16 target="libm"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\libm-5c277f24dd02e2c9\lib-libm` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.796355100s INFO prepare_target{force=false package_id=wasmparser-nostd v0.100.2 target="wasmparser_nostd"}: cargo::core::compiler::fingerprint: fingerprint error for wasmparser-nostd v0.100.2/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("wasmparser_nostd", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmparser-nostd-0.100.2\\src\\lib.rs", Edition2021) } - 3.796510000s INFO prepare_target{force=false package_id=wasmparser-nostd v0.100.2 target="wasmparser_nostd"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\wasmparser-nostd-738c2e39877223cd\lib-wasmparser_nostd` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.798417800s INFO prepare_target{force=false package_id=indexmap-nostd v0.4.0 target="indexmap_nostd"}: cargo::core::compiler::fingerprint: fingerprint error for indexmap-nostd v0.4.0/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("indexmap_nostd", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\indexmap-nostd-0.4.0\\src\\lib.rs", Edition2021) } - 3.798487200s INFO prepare_target{force=false package_id=indexmap-nostd v0.4.0 target="indexmap_nostd"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\indexmap-nostd-ba87847f3de49602\lib-indexmap_nostd` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.800090800s INFO prepare_target{force=false package_id=static_assertions v1.1.0 target="static_assertions"}: cargo::core::compiler::fingerprint: fingerprint error for static_assertions v1.1.0/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("static_assertions", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\static_assertions-1.1.0\\src\\lib.rs", Edition2015) } - 3.800162500s INFO prepare_target{force=false package_id=static_assertions v1.1.0 target="static_assertions"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\static_assertions-a083fb5150c1fbe2\lib-static_assertions` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.801929800s INFO prepare_target{force=false package_id=stellar-xdr v22.1.0 target="stellar_xdr"}: cargo::core::compiler::fingerprint: fingerprint error for stellar-xdr v22.1.0/Check { test: false }/TargetInner { ..: lib_target("stellar_xdr", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-xdr-22.1.0\\src\\lib.rs", Edition2021) } - 3.801996800s INFO prepare_target{force=false package_id=stellar-xdr v22.1.0 target="stellar_xdr"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\stellar-xdr-6ea4065ed3d5387b\lib-stellar_xdr` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.804324700s INFO prepare_target{force=false package_id=base64 v0.13.1 target="base64"}: cargo::core::compiler::fingerprint: fingerprint error for base64 v0.13.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("base64", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\base64-0.13.1\\src\\lib.rs", Edition2018) } - 3.804391500s INFO prepare_target{force=false package_id=base64 v0.13.1 target="base64"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\base64-6d740925719be679\lib-base64` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.805949400s INFO prepare_target{force=false package_id=escape-bytes v0.1.1 target="escape_bytes"}: cargo::core::compiler::fingerprint: fingerprint error for escape-bytes v0.1.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("escape_bytes", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\escape-bytes-0.1.1\\src\\lib.rs", Edition2021) } - 3.806012600s INFO prepare_target{force=false package_id=escape-bytes v0.1.1 target="escape_bytes"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\escape-bytes-e2b8490c7b2e5cf2\lib-escape_bytes` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.807508500s INFO prepare_target{force=false package_id=hex v0.4.3 target="hex"}: cargo::core::compiler::fingerprint: fingerprint error for hex v0.4.3/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("hex", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hex-0.4.3\\src\\lib.rs", Edition2018) } - 3.807566100s INFO prepare_target{force=false package_id=hex v0.4.3 target="hex"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\hex-e79e0c84e9d48167\lib-hex` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.809506000s INFO prepare_target{force=false package_id=serde_with v3.18.0 target="serde_with"}: cargo::core::compiler::fingerprint: fingerprint error for serde_with v3.18.0/Check { test: false }/TargetInner { ..: lib_target("serde_with", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_with-3.18.0\\src\\lib.rs", Edition2021) } - 3.809575200s INFO prepare_target{force=false package_id=serde_with v3.18.0 target="serde_with"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\serde_with-41feee72343ee8af\lib-serde_with` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.811651300s INFO prepare_target{force=false package_id=stellar-strkey v0.0.9 target="stellar_strkey"}: cargo::core::compiler::fingerprint: fingerprint error for stellar-strkey v0.0.9/Check { test: false }/TargetInner { ..: lib_target("stellar_strkey", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-strkey-0.0.9\\src\\lib.rs", Edition2021) } - 3.811748200s INFO prepare_target{force=false package_id=stellar-strkey v0.0.9 target="stellar_strkey"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\stellar-strkey-474b2cb62e5c60a7\lib-stellar_strkey` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.814911100s INFO prepare_target{force=false package_id=data-encoding v2.10.0 target="data_encoding"}: cargo::core::compiler::fingerprint: fingerprint error for data-encoding v2.10.0/Check { test: false }/TargetInner { ..: lib_target("data_encoding", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\data-encoding-2.10.0\\src\\lib.rs", Edition2018) } - 3.814980700s INFO prepare_target{force=false package_id=data-encoding v2.10.0 target="data_encoding"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\data-encoding-26e6cd99779ad86a\lib-data_encoding` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.816620700s INFO prepare_target{force=false package_id=thiserror v1.0.69 target="thiserror"}: cargo::core::compiler::fingerprint: fingerprint error for thiserror v1.0.69/Check { test: false }/TargetInner { ..: lib_target("thiserror", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-1.0.69\\src\\lib.rs", Edition2021) } - 3.816698800s INFO prepare_target{force=false package_id=thiserror v1.0.69 target="thiserror"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\thiserror-837fe25ef00c3873\lib-thiserror` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.821031000s INFO prepare_target{force=false package_id=wasmparser v0.116.1 target="wasmparser"}: cargo::core::compiler::fingerprint: fingerprint error for wasmparser v0.116.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("wasmparser", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmparser-0.116.1\\src\\lib.rs", Edition2021) } - 3.821098400s INFO prepare_target{force=false package_id=wasmparser v0.116.1 target="wasmparser"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\wasmparser-2499d3dc6b41f0a2\lib-wasmparser` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_libgit2_prerelease - 16: - 17: - 18: - 19: - 20: git_midx_writer_dump - 21: git_filter_source_repo - 22: git_midx_writer_dump - 23: BaseThreadInitThunk - 24: RtlUserThreadStart - 3.822872100s INFO prepare_target{force=false package_id=indexmap v2.13.0 target="indexmap"}: cargo::core::compiler::fingerprint: fingerprint error for indexmap v2.13.0/Check { test: false }/TargetInner { benched: false, ..: lib_target("indexmap", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\indexmap-2.13.0\\src\\lib.rs", Edition2021) } - 3.822934700s INFO prepare_target{force=false package_id=indexmap v2.13.0 target="indexmap"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\indexmap-4099f949ce9eceb7\lib-indexmap` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.824698800s INFO prepare_target{force=false package_id=equivalent v1.0.2 target="equivalent"}: cargo::core::compiler::fingerprint: fingerprint error for equivalent v1.0.2/Check { test: false }/TargetInner { ..: lib_target("equivalent", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\equivalent-1.0.2\\src\\lib.rs", Edition2015) } - 3.824762700s INFO prepare_target{force=false package_id=equivalent v1.0.2 target="equivalent"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\equivalent-86126ef7c07e62af\lib-equivalent` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.826476500s INFO prepare_target{force=false package_id=hashbrown v0.16.1 target="hashbrown"}: cargo::core::compiler::fingerprint: fingerprint error for hashbrown v0.16.1/Check { test: false }/TargetInner { ..: lib_target("hashbrown", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.16.1\\src\\lib.rs", Edition2021) } - 3.826605500s INFO prepare_target{force=false package_id=hashbrown v0.16.1 target="hashbrown"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\hashbrown-295453d4afb5251b\lib-hashbrown` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_filter_source_repo - 17: git_libgit2_prerelease - 18: - 19: - 20: - 21: - 22: git_midx_writer_dump - 23: git_filter_source_repo - 24: git_midx_writer_dump - 25: BaseThreadInitThunk - 26: RtlUserThreadStart - 3.828269900s INFO prepare_target{force=false package_id=semver v1.0.27 target="semver"}: cargo::core::compiler::fingerprint: fingerprint error for semver v1.0.27/Check { test: false }/TargetInner { ..: lib_target("semver", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\semver-1.0.27\\src\\lib.rs", Edition2018) } - 3.828329000s INFO prepare_target{force=false package_id=semver v1.0.27 target="semver"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\semver-943555b522405dcc\lib-semver` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_filter_source_repo - 14: git_filter_source_repo - 15: git_filter_source_repo - 16: git_libgit2_prerelease - 17: - 18: - 19: - 20: - 21: git_midx_writer_dump - 22: git_filter_source_repo - 23: git_midx_writer_dump - 24: BaseThreadInitThunk - 25: RtlUserThreadStart - 3.835824500s INFO prepare_target{force=false package_id=soroban-ledger-snapshot v22.0.11 target="soroban_ledger_snapshot"}: cargo::core::compiler::fingerprint: fingerprint error for soroban-ledger-snapshot v22.0.11/Check { test: false }/TargetInner { ..: lib_target("soroban_ledger_snapshot", ["lib"], "C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-ledger-snapshot-22.0.11\\src\\lib.rs", Edition2021) } - 3.835881100s INFO prepare_target{force=false package_id=soroban-ledger-snapshot v22.0.11 target="soroban_ledger_snapshot"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\soroban-ledger-snapshot-070367ee98fd997f\lib-soroban_ledger_snapshot` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_filter_source_repo - 12: git_filter_source_repo - 13: git_libgit2_prerelease - 14: - 15: - 16: - 17: - 18: git_midx_writer_dump - 19: git_filter_source_repo - 20: git_midx_writer_dump - 21: BaseThreadInitThunk - 22: RtlUserThreadStart - 3.860608200s INFO prepare_target{force=false package_id=core_vault v0.1.0 (C:\Users\EMMA\Desktop\chen\contracts\core_vault) target="core_vault"}: cargo::core::compiler::fingerprint: fingerprint error for core_vault v0.1.0 (C:\Users\EMMA\Desktop\chen\contracts\core_vault)/Check { test: true }/TargetInner { name_inferred: true, ..: lib_target("core_vault", ["cdylib"], "C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\src\\lib.rs", Edition2021) } - 3.860669100s INFO prepare_target{force=false package_id=core_vault v0.1.0 (C:\Users\EMMA\Desktop\chen\contracts\core_vault) target="core_vault"}: cargo::core::compiler::fingerprint: err: failed to read `C:\Users\EMMA\Desktop\chen\contracts\target\debug\.fingerprint\core_vault-05b5185f25d5c8c6\test-lib-core_vault` - -Caused by: - The system cannot find the file specified. (os error 2) - -Stack backtrace: - 0: git_midx_writer_dump - 1: git_midx_writer_dump - 2: git_midx_writer_dump - 3: git_midx_writer_dump - 4: git_filter_source_repo - 5: git_filter_source_repo - 6: git_filter_source_repo - 7: git_filter_source_repo - 8: git_filter_source_repo - 9: git_filter_source_repo - 10: git_filter_source_repo - 11: git_libgit2_prerelease - 12: - 13: - 14: - 15: - 16: git_midx_writer_dump - 17: git_filter_source_repo - 18: git_midx_writer_dump - 19: BaseThreadInitThunk - 20: RtlUserThreadStart - Checking cfg-if v1.0.4 - Checking typenum v1.19.0 - Checking subtle v2.6.1 - Checking const-oid v0.9.6 - Checking zeroize v1.8.2 - Checking num-traits v0.2.19 - Checking zerocopy v0.8.48 - Checking serde_core v1.0.228 - Checking getrandom v0.2.17 - Checking base16ct v0.2.0 - Checking once_cell v1.21.4 - Checking rand_core v0.6.4 - Checking der v0.7.10 - Checking generic-array v0.14.9 - Checking either v1.15.0 - Checking cpufeatures v0.2.17 - Checking ff v0.13.1 - Checking itertools v0.10.5 - Checking libm v0.2.16 - Checking thiserror v1.0.69 - Checking group v0.13.0 - Checking equivalent v1.0.2 - Checking num-integer v0.1.46 - Checking serde v1.0.228 - Checking downcast-rs v1.2.1 - Checking hashbrown v0.16.1 - Checking block-buffer v0.10.4 - Checking crypto-common v0.1.6 - Checking crypto-bigint v0.5.5 - Checking sec1 v0.7.3 - Checking num-bigint v0.4.6 - Checking digest v0.10.7 - Checking signature v2.2.0 - Checking hmac v0.12.1 - Checking sha2 v0.10.9 - Checking hex v0.4.3 - Checking ppv-lite86 v0.2.21 - Checking ahash v0.8.12 - Checking rfc6979 v0.4.0 - Checking indexmap-nostd v0.4.0 - Checking data-encoding v2.10.0 - Checking serde_with v3.18.0 - Checking hashbrown v0.13.2 - Checking wasmi_core v0.13.0 - Checking indexmap v2.13.0 - Checking wasmparser-nostd v0.100.2 - Checking rand_chacha v0.3.1 - Checking stellar-strkey v0.0.9 - Checking arbitrary v1.3.2 - Checking elliptic-curve v0.13.8 - Checking rand v0.8.5 - Checking wasmi_arena v0.4.1 - Checking ecdsa v0.16.9 - Checking spin v0.9.8 - Checking smallvec v1.15.1 - Checking escape-bytes v0.1.1 - Checking semver v1.0.27 - Checking base64 v0.13.1 - Checking ark-std v0.4.0 - Checking primeorder v0.13.6 - Checking curve25519-dalek v4.1.3 - Checking ed25519 v2.2.3 - Checking ark-serialize v0.4.2 - Checking wasmparser v0.116.1 - Checking keccak v0.1.6 - Checking ethnum v1.5.2 - Checking static_assertions v1.1.0 - Checking ark-ff v0.4.2 - Checking stellar-xdr v22.1.0 - Checking sha3 v0.10.8 - Checking p256 v0.13.2 - Checking k256 v0.13.4 - Checking zmij v1.0.21 - Checking soroban-wasmi v0.31.1-soroban.20.0.1 - Checking memchr v2.8.0 - Checking itoa v1.0.18 - Checking ed25519-dalek v2.2.0 - Checking hex-literal v0.4.1 - Checking serde_json v1.0.149 - Checking ark-poly v0.4.2 - Checking ark-ec v0.4.2 - Checking ark-bls12-381 v0.4.0 - Checking soroban-env-common v22.1.3 - Checking soroban-env-host v22.1.3 - Checking soroban-ledger-snapshot v22.0.11 - Checking soroban-sdk v22.0.11 - Checking core_vault v0.1.0 (C:\Users\EMMA\Desktop\chen\contracts\core_vault) - Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 11s diff --git a/contracts/target/flycheck0/stdout b/contracts/target/flycheck0/stdout index fd6cc8a6..e69de29b 100644 --- a/contracts/target/flycheck0/stdout +++ b/contracts/target/flycheck0/stdout @@ -1,509 +0,0 @@ -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/proc-macro2-cdf796aa2c14344f/build-script-build"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106","linked_libs":[],"linked_paths":[],"cfgs":["wrap_proc_macro","proc_macro_span","proc_macro_span_location","proc_macro_span_file"],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/proc-macro2-c168fe3c5e198601/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode_ident","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libunicode_ident-c763a785dc3ccbf7.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libunicode_ident-c763a785dc3ccbf7.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/quote-1e9ca957d3355363/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#version_check@0.9.5","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"version_check","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libversion_check-2571cf324060ec01.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libversion_check-2571cf324060ec01.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","result","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/serde_core-dcbfc955c985e85d/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/typenum-1d112de01353164c/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","derive","serde_derive","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/serde-4c6639c325e28d82/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/zmij-33859b837094ce5b/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"proc_macro2","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libproc_macro2-6ffc6fbe916c408a.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libproc_macro2-6ffc6fbe916c408a.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/quote-dc84130c11be5795/out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/typenum-c98bfe5758206a9e/out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/serde_core-4278d0cbcbffa0ec/out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","linked_libs":[],"linked_paths":[],"cfgs":["if_docsrs_then_no_serde_core"],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/serde-0ead87f5e306ffc7/out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/zmij-fe4fcd4eb83e048a/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/serde_json-bdff4bd535902d25/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/build.rs","edition":"2015","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths","zeroize"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/generic-array-816884227d8b581d/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"quote","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libquote-37428028eac8ab3a.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libquote-37428028eac8ab3a.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_core","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","result","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde_core-170d5064a09f5b5b.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde_core-170d5064a09f5b5b.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","linked_libs":[],"linked_paths":[],"cfgs":["fast_arithmetic=\"64\""],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/serde_json-2a6421a380d1d8b5/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cfg_if","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcfg_if-4a7d0854554f50b2.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zmij","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libzmij-a535ff6e627db1eb.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libzmij-a535ff6e627db1eb.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"typenum","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libtypenum-1fa0af1da597c9f5.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","linked_libs":[],"linked_paths":[],"cfgs":["relaxed_coherence","ga_is_deprecated"],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/generic-array-2b782a1111cbffdd/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.18","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itoa","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libitoa-8dabe11c720d7dd6.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libitoa-8dabe11c720d7dd6.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#syn@2.0.117","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"syn","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["clone-impls","default","derive","extra-traits","full","parsing","printing","proc-macro","visit"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsyn-0221543cf518333d.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsyn-0221543cf518333d.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#memchr@2.8.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"memchr","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libmemchr-00ac77f7aa12eb84.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libmemchr-00ac77f7aa12eb84.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.183","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/libc-061a2d9eae15f1d0/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#autocfg@1.5.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"autocfg","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libautocfg-3b49e0afa777d415.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libautocfg-3b49e0afa777d415.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#subtle@2.6.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"subtle","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsubtle-a4e5f41b85b9571d.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#const-oid@0.9.6","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"const_oid","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libconst_oid-8d6ab32a2e90acd1.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#strsim@0.11.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/strsim-0.11.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"strsim","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/strsim-0.11.1/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libstrsim-e43e4c9759052fa0.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libstrsim-e43e4c9759052fa0.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ident_case@1.0.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ident_case-1.0.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ident_case","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ident_case-1.0.1/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libident_case-a52beed4582375b5.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libident_case-a52beed4582375b5.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.228","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"serde_derive","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde_derive-54a758179a551879.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zeroize_derive@1.4.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize_derive-1.4.3/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"zeroize_derive","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize_derive-1.4.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libzeroize_derive-98533ff0e9b3b811.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_json","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde_json-bac8532e0bf70b51.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde_json-bac8532e0bf70b51.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.183","linked_libs":[],"linked_paths":[],"cfgs":["freebsd12"],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/libc-ffe7ceeb3bcc0cc6/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","i128","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/num-traits-91cf22724b868232/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_core@0.23.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling_core","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["strsim","suggestions"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdarling_core-a86ddd584f0b6672.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdarling_core-a86ddd584f0b6672.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/thiserror-faab551a6ed83879/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.48","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.48/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.48/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["simd"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/zerocopy-dd9049e7d865db05/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zeroize@1.8.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.8.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zeroize","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.8.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","zeroize_derive"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libzeroize-9b984f6c53cb5634.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","derive","serde_derive","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde-a1acb200064e8dc4.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde-a1acb200064e8dc4.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.183","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"libc","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/liblibc-1025b89c93559758.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#semver@1.0.27","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"semver","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsemver-19c80970a7ae9765.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsemver-19c80970a7ae9765.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","linked_libs":[],"linked_paths":[],"cfgs":["error_generic_member_access"],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/thiserror-4dbdbab3075919e0/out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.48","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/zerocopy-ad1481d32043647e/out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","linked_libs":[],"linked_paths":[],"cfgs":["has_total_cmp"],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/num-traits-52a4eb7f855fb8b3/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_macro@0.23.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.23.0/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"darling_macro","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.23.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdarling_macro-120395e6162906cb.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"generic_array","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths","zeroize"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libgeneric_array-4c3e8d788b5f43e2.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crate-git-revision@0.0.6","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crate_git_revision","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcrate_git_revision-2234d9b719efa1e1.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcrate_git_revision-2234d9b719efa1e1.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#getrandom@0.2.17","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"getrandom","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["js","js-sys","std","wasm-bindgen"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libgetrandom-4589325b1e663e90.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/num-traits-f286f3ffbcc1006f/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror-impl@1.0.69","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"thiserror_impl","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libthiserror_impl-f4399d16ee8d2822.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.48","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.48/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zerocopy","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.48/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["simd"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libzerocopy-1819183bb14ad20d.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_traits","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","i128","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libnum_traits-36dd28590e27c4a6.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling@0.23.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","suggestions"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdarling-3b6f5a85d2528189.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdarling-3b6f5a85d2528189.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rand_core@0.6.4","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rand_core","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","getrandom","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/librand_core-f45d3de14a58ef8e.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crypto-common@0.1.6","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crypto_common","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcrypto_common-eac3f468d03a8ff2.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#block-buffer@0.10.4","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"block_buffer","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libblock_buffer-68a15e5805729c3a.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.9","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.9/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.9/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/stellar-strkey-e8ea8c843ff6e79f/build-script-build"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","linked_libs":[],"linked_paths":[],"cfgs":["has_total_cmp"],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/num-traits-10d4cbc9b5d61ec6/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#syn@1.0.109","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-1.0.109/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-1.0.109/build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["clone-impls","default","derive","extra-traits","full","parsing","printing","proc-macro","quote","visit"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/syn-03efcc188d3c9193/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_with_macros@3.18.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"serde_with_macros","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde_with_macros-9a6811951fbb339b.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rustc_version@0.4.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc_version-0.4.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rustc_version","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc_version-0.4.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/librustc_version-24c3d64659732a5d.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/librustc_version-24c3d64659732a5d.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"digest","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","block-buffer","const-oid","core-api","default","mac","oid","std","subtle"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdigest-96ddde94a8419365.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.9","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","9b58e04ec31afd40e352c8179376729c2852a430"]],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/stellar-strkey-b8067ed0c33609a6/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_traits","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libnum_traits-6d926584176a0dde.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libnum_traits-6d926584176a0dde.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#syn@1.0.109","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/syn-a33c6899830fb992/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#paste@1.0.15","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/paste-9245072c691d01c9/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-22.1.0/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-22.1.0/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","curr","hex","serde","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/stellar-xdr-8d46ff8d9141ca02/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"thiserror","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libthiserror-ac5036ed9b41e3cc.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libthiserror-ac5036ed9b41e3cc.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ppv-lite86@0.2.21","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ppv_lite86","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["simd","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libppv_lite86-d9a21b3bb33d1216.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#syn@1.0.109","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-1.0.109/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"syn","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-1.0.109/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["clone-impls","default","derive","extra-traits","full","parsing","printing","proc-macro","quote","visit"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsyn-1b87c840d143faba.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsyn-1b87c840d143faba.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#paste@1.0.15","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/paste-c93e668844dc3cd3/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#data-encoding@2.10.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/data-encoding-2.10.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"data_encoding","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/data-encoding-2.10.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdata_encoding-37455687ccf35a07.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdata_encoding-37455687ccf35a07.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-integer@0.1.46","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_integer","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libnum_integer-88debf42cc24719d.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libnum_integer-88debf42cc24719d.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","e13922970800d95b523413018b2279df42df3442"]],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/stellar-xdr-38f4551205d5c454/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rand_chacha@0.3.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rand_chacha","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/librand_chacha-cb448577e0e9cd9d.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_with@3.18.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_with","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","macros","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde_with-b0853aa653153993.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde_with-b0853aa653153993.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hex@0.4.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hex","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","serde","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libhex-588f71b1af9fe75f.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libhex-588f71b1af9fe75f.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#paste@1.0.15","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"paste","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libpaste-84c5659c7e86bf75.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.9","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_strkey","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.9/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libstellar_strkey-a3bf2aa4b4621a66.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libstellar_strkey-a3bf2aa4b4621a66.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#escape-bytes@0.1.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"escape_bytes","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libescape_bytes-a0e392e23b2dcde3.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libescape_bytes-a0e392e23b2dcde3.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-bigint@0.4.6","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_bigint","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libnum_bigint-d7e14996ad1a551c.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libnum_bigint-d7e14996ad1a551c.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rand@0.8.5","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rand","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","getrandom","libc","rand_chacha","std","std_rng"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/librand-add44a1055149c78.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ff@0.13.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ff","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libff-59ce970ad68e21f3.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-integer@0.1.46","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_integer","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","i128","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libnum_integer-c0ae5259b3e865ab.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#der@0.7.10","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"der","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["oid","zeroize"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libder-084819c66e31de96.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-22.1.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_xdr","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-22.1.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","curr","hex","serde","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libstellar_xdr-7bf238e9a2c1af90.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libstellar_xdr-7bf238e9a2c1af90.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_core","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","result","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde_core-87131171483efc71.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ahash@0.8.12","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ahash-0.8.12/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ahash-0.8.12/build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/ahash-d5c9167fbb11b11f/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/build.rs","edition":"2015","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/generic-array-2f95e26c0317f58c/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base16ct@0.2.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base16ct","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libbase16ct-9486de5cbf6915ff.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#either@1.15.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"either","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std","use_std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libeither-5b8400d1869abfa6.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libeither-5b8400d1869abfa6.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-bigint@0.4.6","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_bigint","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libnum_bigint-2c5a39671a61202b.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-std@0.4.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-std-0.4.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_std","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-std-0.4.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libark_std-8a4adf4acb8fef4e.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","linked_libs":[],"linked_paths":[],"cfgs":["relaxed_coherence","ga_is_deprecated"],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/generic-array-86e8014c22294446/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itertools@0.10.5","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.10.5/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itertools","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.10.5/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","use_alloc","use_std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libitertools-e9331088a28b61e1.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libitertools-e9331088a28b61e1.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sec1@0.7.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sec1","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","der","point","subtle","zeroize"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsec1-85017150c1c1da9a.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#ahash@0.8.12","linked_libs":[],"linked_paths":[],"cfgs":["specialize","folded_multiply"],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/ahash-d6475720abb6196b/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#group@0.13.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"group","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libgroup-407e1298a6ecc7b4.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-serialize-derive@0.4.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-serialize-derive-0.4.2/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"ark_serialize_derive","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-serialize-derive-0.4.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libark_serialize_derive-b619e8339551b1ac.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#signature@2.2.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"signature","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","digest","rand_core","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsignature-899aa20bc7ceac46.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crypto-bigint@0.5.5","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crypto_bigint","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["generic-array","rand_core","zeroize"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcrypto_bigint-dae94a76fff46061.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"typenum","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libtypenum-ee12dd3ab3cbe083.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libtypenum-ee12dd3ab3cbe083.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#either@1.15.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"either","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libeither-d395fa0164a39048.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arch","default"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/libm-d24a4c0953cb6ad3/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.2.17","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cpufeatures","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcpufeatures-c21465731121e9eb.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/once_cell-1.21.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"once_cell","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/once_cell-1.21.4/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","race"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libonce_cell-f9d18bd9e9344c16.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-serialize@0.4.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-serialize-0.4.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_serialize","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-serialize-0.4.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["ark-serialize-derive","default","derive"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libark_serialize-2ce17dd00cfd6fcf.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#elliptic-curve@0.13.8","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"elliptic_curve","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","digest","ff","group","hazmat","sec1"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libelliptic_curve-64d9e7e3b9315a57.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","derive","serde_derive","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde-bdcb231cf756752a.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ahash@0.8.12","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ahash-0.8.12/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ahash","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ahash-0.8.12/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libahash-c7c67b1b4ebf9b14.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","linked_libs":[],"linked_paths":[],"cfgs":["arch_enabled"],"env":[["CFG_CARGO_FEATURES","[\"arch\", \"default\"]"],["CFG_OPT_LEVEL","0"],["CFG_TARGET_FEATURES","[\"fxsr\", \"sse\", \"sse2\", \"x87\"]"]],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/libm-ba27e123b96e11ad/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"generic_array","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libgeneric_array-e8efc5ce9660e9f2.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libgeneric_array-e8efc5ce9660e9f2.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itertools@0.10.5","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.10.5/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itertools","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.10.5/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":false},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libitertools-d378901ab39d4d22.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-ff-macros@0.4.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-ff-macros-0.4.2/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"ark_ff_macros","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-ff-macros-0.4.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libark_ff_macros-920f34b3cf3ad15f.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#derivative@2.2.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derivative-2.2.0/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"derivative","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derivative-2.2.0/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["use_core"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libderivative-96655e748ab76341.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-ff-asm@0.4.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-ff-asm-0.4.2/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"ark_ff_asm","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-ff-asm-0.4.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libark_ff_asm-c2cdda7d25f2162a.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hmac@0.12.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hmac","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["reset"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libhmac-174c478b4767bb19.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rfc6979@0.4.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rfc6979","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/librfc6979-ce97e53f2ff07632.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-ff@0.4.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-ff-0.4.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_ff","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-ff-0.4.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libark_ff-2f62793d02689d4a.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.13.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.13.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hashbrown","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.13.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["ahash","default","inline-more"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libhashbrown-8db8d36807202242.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"libm","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arch","default"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/liblibm-396bf70e1b69ffbe.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sha2@0.10.9","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sha2","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsha2-625845b1fc3fbecb.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hex@0.4.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hex","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","serde","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libhex-57a15e7b7a1511d4.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-macros@22.1.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-22.1.3/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"soroban_env_macros","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-22.1.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_env_macros-7af75cb597a8710d.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#curve25519-dalek@4.1.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","digest","precomputed-tables","zeroize"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/curve25519-dalek-8b48049ff4f8a1f2/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-22.1.0/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-22.1.0/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","arbitrary","base64","curr","hex","serde","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/stellar-xdr-cfc4b92778f94105/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"thiserror","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libthiserror-c891df0ecdb71473.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-derive@0.4.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-derive-0.4.2/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"num_derive","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-derive-0.4.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libnum_derive-cc34035eb0a7b709.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#derive_arbitrary@1.3.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"derive_arbitrary","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libderive_arbitrary-388e6a991da107a1.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.16.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hashbrown","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libhashbrown-3f1d75084e71ae90.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libhashbrown-3f1d75084e71ae90.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#indexmap-nostd@0.4.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"indexmap_nostd","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libindexmap_nostd-106e1fa96e873113.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.16.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hashbrown","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libhashbrown-8efa213e6cca0bf7.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"equivalent","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libequivalent-dbd0be9061b7acbc.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#data-encoding@2.10.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/data-encoding-2.10.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"data_encoding","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/data-encoding-2.10.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdata_encoding-0c05b8bd05af4f21.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#downcast-rs@1.2.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/downcast-rs-1.2.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"downcast_rs","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/downcast-rs-1.2.1/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdowncast_rs-b4847c3da7258e22.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"equivalent","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libequivalent-5a88bd14f385988f.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libequivalent-5a88bd14f385988f.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#indexmap@2.13.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"indexmap","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libindexmap-d3d05d0fc33a39c6.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","e13922970800d95b523413018b2279df42df3442"]],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/stellar-xdr-8c1d39791a571fa2/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#arbitrary@1.3.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"arbitrary","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["derive","derive_arbitrary"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libarbitrary-d3e45cf75c6232c5.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmparser-nostd@0.100.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmparser_nostd","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libwasmparser_nostd-33305421578caa0b.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ecdsa@0.16.9","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ecdsa","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","der","digest","hazmat","rfc6979","signing","verifying"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libecdsa-bc112f0050e23cc2.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmi_core@0.13.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmi_core","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libwasmi_core-a46c91c131162260.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.9","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_strkey","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.9/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libstellar_strkey-1a310f351bf63f14.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#indexmap@2.13.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"indexmap","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libindexmap-5f0bfe0f2357a9f6.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libindexmap-5f0bfe0f2357a9f6.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-poly@0.4.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-poly-0.4.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_poly","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-poly-0.4.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libark_poly-8b104483f50027bb.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_with@3.18.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_with","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","hex","macros","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde_with-d6607ba03b1e2aca.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#curve25519-dalek@4.1.3","linked_libs":[],"linked_paths":[],"cfgs":["curve25519_dalek_bits=\"64\"","nightly","curve25519_dalek_backend=\"simd\""],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/curve25519-dalek-664e832301329506/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crypto-common@0.1.6","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crypto_common","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcrypto_common-c610e4c3262ec6fc.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcrypto_common-c610e4c3262ec6fc.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#block-buffer@0.10.4","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"block_buffer","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libblock_buffer-3efef940c701a20e.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libblock_buffer-3efef940c701a20e.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-22.1.3/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-22.1.3/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["serde","shallow-val-hash","std","testutils","wasmi"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/soroban-env-common-3988131914a2a70a/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#curve25519-dalek-derive@0.1.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-derive-0.1.1/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"curve25519_dalek_derive","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-derive-0.1.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcurve25519_dalek_derive-a52d35acc89dca09.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#fnv@1.0.7","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/fnv-1.0.7/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"fnv","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/fnv-1.0.7/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libfnv-1dce063efb2ea7a2.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libfnv-1dce063efb2ea7a2.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#semver@1.0.27","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"semver","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsemver-f95793d57ac9cdfb.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#smallvec@1.15.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"smallvec","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["union"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsmallvec-f7df57269fa99346.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#escape-bytes@0.1.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"escape_bytes","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libescape_bytes-c0376399aa42ebee.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base64@0.13.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base64","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libbase64-1beefba770c539f7.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#spin@0.9.8","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"spin","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["mutex","rwlock","spin_mutex","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libspin-8e84482b20d3c987.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmi_arena@0.4.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmi_arena","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libwasmi_arena-fbd46d094fef2432.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#prettyplease@0.2.37","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/prettyplease-f946d6a17c58e2eb/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_core@0.20.11","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling_core","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["strsim","suggestions"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdarling_core-9085f6408e87d32d.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdarling_core-9085f6408e87d32d.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","c535e4ceab647d9b14b546045fcf73573e491256"]],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/soroban-env-common-04c31076949f82aa/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmparser@0.116.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmparser","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libwasmparser-3a820f63d4654236.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-22.1.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_xdr","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-22.1.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","arbitrary","base64","curr","hex","serde","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libstellar_xdr-a34bfed6e50aa3db.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#curve25519-dalek@4.1.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"curve25519_dalek","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","digest","precomputed-tables","zeroize"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcurve25519_dalek-ecd607abbb6a1344.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"digest","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","block-buffer","core-api","default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdigest-ca7e81d5a27925e0.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdigest-ca7e81d5a27925e0.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#prettyplease@0.2.37","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/prettyplease-30f6a750cb0d5a9e/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-wasmi@0.31.1-soroban.20.0.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_wasmi","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_wasmi-ab78b87e31e6a060.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmparser@0.116.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmparser","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libwasmparser-4e75018edf5e89da.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libwasmparser-4e75018edf5e89da.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-ec@0.4.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-ec-0.4.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_ec","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-ec-0.4.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libark_ec-c06603c1a7ae1fa7.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#primeorder@0.13.6","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"primeorder","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libprimeorder-59448b28840d4d6f.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ed25519@2.2.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ed25519","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libed25519-3062a3f84d0ca70a.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-22.1.3/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-22.1.3/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/soroban-env-common-0474a3e135e09234/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.2.17","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cpufeatures","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcpufeatures-9396ba3c3ce3e0e5.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcpufeatures-9396ba3c3ce3e0e5.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ethnum@1.5.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ethnum","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libethnum-c6c0c73b8f10cde8.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cfg_if","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcfg_if-9d10986c5e71c5c4.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcfg_if-9d10986c5e71c5c4.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#static_assertions@1.1.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"static_assertions","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libstatic_assertions-dbffefb3b3c56b72.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base64@0.13.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base64","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libbase64-e1dea47af64f5ccd.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libbase64-e1dea47af64f5ccd.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#keccak@0.1.6","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/keccak-0.1.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"keccak","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/keccak-0.1.6/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libkeccak-bc3b68b87949675f.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-host@22.1.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-22.1.3/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-22.1.3/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["recording_mode","testutils"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/soroban-env-host-095cdb61a09bc19b/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ed25519-dalek@2.2.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ed25519_dalek","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","fast","rand_core","std","zeroize"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libed25519_dalek-d4a0f505f0139f97.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#p256@0.13.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"p256","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","digest","ecdsa","ecdsa-core","sha2","sha256"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libp256-f4918ad16682e759.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sha2@0.10.9","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sha2","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsha2-dead785d4066d794.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsha2-dead785d4066d794.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-22.1.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_env_common","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-22.1.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["serde","shallow-val-hash","std","testutils","wasmi"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_env_common-ffdc53f9c653449c.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-host@22.1.3","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/soroban-env-host-196f03454b56fc38/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sha3@0.10.8","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sha3","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsha3-8f5ab9236db3e54a.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-spec@22.0.11","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-22.0.11/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_spec","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-22.0.11/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_spec-32d0ab4f1ec32a87.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_spec-32d0ab4f1ec32a87.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","c535e4ceab647d9b14b546045fcf73573e491256"]],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/soroban-env-common-a3d9a01dd539be7a/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-bls12-381@0.4.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-bls12-381-0.4.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_bls12_381","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ark-bls12-381-0.4.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["curve","default","scalar_field"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libark_bls12_381-7095978d77e5c1f2.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#prettyplease@0.2.37","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"prettyplease","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libprettyplease-902dd9cf50252ca6.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libprettyplease-902dd9cf50252ca6.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_macro@0.20.11","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.20.11/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"darling_macro","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.20.11/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdarling_macro-767a87879b291a40.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#k256@0.13.4","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"k256","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","digest","ecdsa","ecdsa-core","sha2","sha256"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libk256-ba97f30ded2d2b54.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-builtin-sdk-macros@22.1.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-22.1.3/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"soroban_builtin_sdk_macros","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-22.1.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_builtin_sdk_macros-ca4b472cbe730520.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk-macros@22.0.11","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-22.0.11/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-22.0.11/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/soroban-sdk-macros-648c2af41e308d4d/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zmij","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libzmij-8a905d7c5abc81aa.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ethnum@1.5.2","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ethnum","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libethnum-43f5082bde141a1e.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libethnum-43f5082bde141a1e.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hex-literal@0.4.1","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-literal-0.4.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hex_literal","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-literal-0.4.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libhex_literal-76d8d22785c6f5e4.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#static_assertions@1.1.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"static_assertions","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libstatic_assertions-ee291c2c2f2471d0.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libstatic_assertions-ee291c2c2f2471d0.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.18","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itoa","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libitoa-361f614e90fa73b5.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#memchr@2.8.0","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"memchr","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libmemchr-df251cf3b00de175.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-22.1.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_env_common","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-22.1.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_env_common-0351d23abe7b5d38.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_env_common-0351d23abe7b5d38.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk-macros@22.0.11","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["RUSTC_VERSION","1.92.0-nightly"],["GIT_REVISION","34f7f53ae31e0fd02aab436a9872e79fa671ca02"]],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/soroban-sdk-macros-7363a94e19088e62/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling@0.20.11","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","suggestions"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdarling-5cb82f94c529d0db.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libdarling-5cb82f94c529d0db.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-host@22.1.3","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-22.1.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_env_host","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-22.1.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["recording_mode","testutils"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_env_host-c1ac01daf51e61de.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-spec-rust@22.0.11","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-22.0.11/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_spec_rust","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-22.0.11/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_spec_rust-cbca81dd986379cc.rlib","/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_spec_rust-cbca81dd986379cc.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk@22.0.11","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/soroban-sdk-0df1a3598d2e8e2f/build-script-build"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_json","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libserde_json-c269c582a2ab2041.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk-macros@22.0.11","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-22.0.11/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"soroban_sdk_macros","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-22.0.11/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_sdk_macros-270b9e4b41d0168d.so"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk@22.0.11","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/build/soroban-sdk-b97700dd0424aeb4/out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#bytes-lit@0.0.5","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"bytes_lit","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libbytes_lit-03635af70217a354.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ctor@0.2.9","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ctor-0.2.9/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"ctor","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ctor-0.2.9/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libctor-1e9cdd0191bb564b.so"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-ledger-snapshot@22.0.11","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-ledger-snapshot-22.0.11/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_ledger_snapshot","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-ledger-snapshot-22.0.11/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_ledger_snapshot-3182658ee933f3c7.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk@22.0.11","manifest_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_sdk","src_path":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libsoroban_sdk-70159bcdf5b9ecae.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused import: `panic_with_error`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/lib.rs","byte_start":111,"byte_end":127,"line_start":2,"line_end":2,"column_start":101,"column_end":117,"is_primary":true,"text":[{"text":"use soroban_sdk::{contract, contractimpl, contracttype, contractclient, Address, Env, symbol_short, panic_with_error};","highlight_start":101,"highlight_end":117}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/lib.rs","byte_start":109,"byte_end":127,"line_start":2,"line_end":2,"column_start":99,"column_end":117,"is_primary":true,"text":[{"text":"use soroban_sdk::{contract, contractimpl, contracttype, contractclient, Address, Env, symbol_short, panic_with_error};","highlight_start":99,"highlight_end":117}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `panic_with_error`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/lib.rs:2:101\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0muse soroban_sdk::{contract, contractimpl, contracttype, contractclient, Address, Env, symbol_short, panic_with_error};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused variable: `min_amount_out`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/lib.rs","byte_start":1987,"byte_end":2001,"line_start":62,"line_end":62,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":" min_amount_out: i128,","highlight_start":9,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/lib.rs","byte_start":1987,"byte_end":2001,"line_start":62,"line_end":62,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":" min_amount_out: i128,","highlight_start":9,"highlight_end":23}],"label":null,"suggested_replacement":"_min_amount_out","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused variable: `min_amount_out`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/lib.rs:62:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m62\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m min_amount_out: i128,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_min_amount_out`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default\u001b[0m\n\n"}} -{"reason":"compiler-artifact","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libliquidity_vault-60eb831c3ee3d814.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"fee_distribution","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_stellar_asset_contract`: use [Env::register_stellar_asset_contract_v2]","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"fee_distribution/src/test.rs","byte_start":253,"byte_end":284,"line_start":8,"line_end":8,"column_start":27,"column_end":58,"is_primary":true,"text":[{"text":" let contract_id = env.register_stellar_asset_contract(admin.clone());","highlight_start":27,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(deprecated)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_stellar_asset_contract`: use [Env::register_stellar_asset_contract_v2]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mfee_distribution/src/test.rs:8:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_stellar_asset_contract(admin.clone());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(deprecated)]` on by default\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"fee_distribution","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"fee_distribution/src/test.rs","byte_start":757,"byte_end":774,"line_start":22,"line_end":22,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, FeeDistributionContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mfee_distribution/src/test.rs:22:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m22\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, FeeDistributionContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"fee_distribution","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"fee_distribution/src/test.rs","byte_start":1699,"byte_end":1716,"line_start":49,"line_end":49,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, FeeDistributionContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mfee_distribution/src/test.rs:49:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m49\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, FeeDistributionContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"fee_distribution","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"fee_distribution/src/test.rs","byte_start":2688,"byte_end":2705,"line_start":78,"line_end":78,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, FeeDistributionContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mfee_distribution/src/test.rs:78:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m78\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, FeeDistributionContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"fee_distribution","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"fee_distribution/src/test.rs","byte_start":3794,"byte_end":3811,"line_start":110,"line_end":110,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, FeeDistributionContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mfee_distribution/src/test.rs:110:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m110\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, FeeDistributionContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"fee_distribution","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"fee_distribution/src/test.rs","byte_start":4623,"byte_end":4640,"line_start":134,"line_end":134,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, FeeDistributionContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mfee_distribution/src/test.rs:134:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m134\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, FeeDistributionContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"fee_distribution","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"fee_distribution/src/test.rs","byte_start":5134,"byte_end":5151,"line_start":149,"line_end":149,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, FeeDistributionContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mfee_distribution/src/test.rs:149:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m149\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, FeeDistributionContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"fee_distribution","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"fee_distribution/src/test.rs","byte_start":5674,"byte_end":5691,"line_start":166,"line_end":166,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, FeeDistributionContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mfee_distribution/src/test.rs:166:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m166\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, FeeDistributionContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-artifact","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"fee_distribution","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":true},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libfee_distribution-201f9d0513c4e0f1.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"fee_distribution","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/fee_distribution/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libfee_distribution-001f7c7777fe44a5.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/core_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/core_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"core_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/core_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcore_vault-fea89802a4d99ab7.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/core_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/core_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"core_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/core_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"core_vault/src/test.rs","byte_start":222,"byte_end":239,"line_start":8,"line_end":8,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, CoreVaultContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(deprecated)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mcore_vault/src/test.rs:8:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, CoreVaultContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(deprecated)]` on by default\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/core_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/core_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"core_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/core_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"hiding a lifetime that's elided elsewhere is confusing","code":{"code":"mismatched_lifetime_syntaxes","explanation":null},"level":"warning","spans":[{"file_name":"core_vault/src/test.rs","byte_start":110,"byte_end":114,"line_start":6,"line_end":6,"column_start":15,"column_end":19,"is_primary":true,"text":[{"text":"fn setup(env: &Env) -> (Address, CoreVaultContractClient) {","highlight_start":15,"highlight_end":19}],"label":"the lifetime is elided here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"core_vault/src/test.rs","byte_start":129,"byte_end":152,"line_start":6,"line_end":6,"column_start":34,"column_end":57,"is_primary":true,"text":[{"text":"fn setup(env: &Env) -> (Address, CoreVaultContractClient) {","highlight_start":34,"highlight_end":57}],"label":"the same lifetime is hidden here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the same lifetime is referred to in inconsistent ways, making the signature confusing","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"`#[warn(mismatched_lifetime_syntaxes)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"use `'_` for type paths","code":null,"level":"help","spans":[{"file_name":"core_vault/src/test.rs","byte_start":152,"byte_end":152,"line_start":6,"line_end":6,"column_start":57,"column_end":57,"is_primary":true,"text":[{"text":"fn setup(env: &Env) -> (Address, CoreVaultContractClient) {","highlight_start":57,"highlight_end":57}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null},{"message":"consistently use `'_`","code":null,"level":"help","spans":[{"file_name":"core_vault/src/test.rs","byte_start":111,"byte_end":111,"line_start":6,"line_end":6,"column_start":16,"column_end":16,"is_primary":true,"text":[{"text":"fn setup(env: &Env) -> (Address, CoreVaultContractClient) {","highlight_start":16,"highlight_end":16}],"label":null,"suggested_replacement":"'_ ","suggestion_applicability":"MaybeIncorrect","expansion":null},{"file_name":"core_vault/src/test.rs","byte_start":152,"byte_end":152,"line_start":6,"line_end":6,"column_start":57,"column_end":57,"is_primary":true,"text":[{"text":"fn setup(env: &Env) -> (Address, CoreVaultContractClient) {","highlight_start":57,"highlight_end":57}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hiding a lifetime that's elided elsewhere is confusing\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mcore_vault/src/test.rs:6:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mfn setup(env: &Env) -> (Address, CoreVaultContractClient) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mthe same lifetime is hidden here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mthe lifetime is elided here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: the same lifetime is referred to in inconsistent ways, making the signature confusing\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(mismatched_lifetime_syntaxes)]` on by default\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: use `'_` for type paths\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mfn setup(env: &Env) -> (Address, CoreVaultContractClient\u001b[0m\u001b[0m\u001b[38;5;10m<'_>\u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"}} -{"reason":"compiler-artifact","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/core_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/core_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"core_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/core_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":true},"features":[],"filenames":["/home/izk/Documents/DRIPS/chenpilot/contracts/target/debug/deps/libcore_vault-73ec5f6605f69d35.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"expected `struct`","code":null,"level":"error","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":191,"byte_end":195,"line_start":11,"line_end":11,"column_start":1,"column_end":5,"is_primary":true,"text":[{"text":"impl MockPriceOracle {","highlight_start":1,"highlight_end":5}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: expected `struct`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:11:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mimpl MockPriceOracle {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"expected `struct`","code":null,"level":"error","spans":[{"file_name":"por_validator/src/test.rs","byte_start":202,"byte_end":206,"line_start":11,"line_end":11,"column_start":1,"column_end":5,"is_primary":true,"text":[{"text":"impl MockOracle {","highlight_start":1,"highlight_end":5}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: expected `struct`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:11:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mimpl MockOracle {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused import: `panic_with_error`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/lib.rs","byte_start":111,"byte_end":127,"line_start":2,"line_end":2,"column_start":101,"column_end":117,"is_primary":true,"text":[{"text":"use soroban_sdk::{contract, contractimpl, contracttype, contractclient, Address, Env, symbol_short, panic_with_error};","highlight_start":101,"highlight_end":117}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/lib.rs","byte_start":109,"byte_end":127,"line_start":2,"line_end":2,"column_start":99,"column_end":117,"is_primary":true,"text":[{"text":"use soroban_sdk::{contract, contractimpl, contracttype, contractclient, Address, Env, symbol_short, panic_with_error};","highlight_start":99,"highlight_end":117}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `panic_with_error`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/lib.rs:2:101\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0muse soroban_sdk::{contract, contractimpl, contracttype, contractclient, Address, Env, symbol_short, panic_with_error};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused import: `contractimpl`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":105,"byte_end":117,"line_start":5,"line_end":5,"column_start":33,"column_end":45,"is_primary":true,"text":[{"text":"use soroban_sdk::{Address, Env, contractimpl};","highlight_start":33,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":103,"byte_end":117,"line_start":5,"line_end":5,"column_start":31,"column_end":45,"is_primary":true,"text":[{"text":"use soroban_sdk::{Address, Env, contractimpl};","highlight_start":31,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `contractimpl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:5:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0muse soroban_sdk::{Address, Env, contractimpl};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused import: `contractimpl`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"por_validator/src/test.rs","byte_start":112,"byte_end":124,"line_start":5,"line_end":5,"column_start":40,"column_end":52,"is_primary":true,"text":[{"text":"use soroban_sdk::{token, Address, Env, contractimpl};","highlight_start":40,"highlight_end":52}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"por_validator/src/test.rs","byte_start":110,"byte_end":124,"line_start":5,"line_end":5,"column_start":38,"column_end":52,"is_primary":true,"text":[{"text":"use soroban_sdk::{token, Address, Env, contractimpl};","highlight_start":38,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `contractimpl`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:5:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0muse soroban_sdk::{token, Address, Env, contractimpl};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":750,"byte_end":767,"line_start":32,"line_end":32,"column_start":25,"column_end":42,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockPriceOracle);","highlight_start":25,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(deprecated)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:32:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m32\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockPriceOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(deprecated)]` on by default\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"the trait bound `MockPriceOracle: ContractFunctionSet` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":774,"byte_end":789,"line_start":32,"line_end":32,"column_start":49,"column_end":64,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockPriceOracle);","highlight_start":49,"highlight_end":64}],"label":"unsatisfied trait bound","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"liquidity_vault/src/test.rs","byte_start":750,"byte_end":767,"line_start":32,"line_end":32,"column_start":25,"column_end":42,"is_primary":false,"text":[{"text":" let oracle_id = env.register_contract(None, MockPriceOracle);","highlight_start":25,"highlight_end":42}],"label":"required by a bound introduced by this call","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the trait `ContractFunctionSet` is not implemented for `MockPriceOracle`","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":150,"byte_end":176,"line_start":8,"line_end":8,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"pub struct MockPriceOracle;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the trait `ContractFunctionSet` is implemented for `LiquidityVaultContract`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `Env::register_contract`","code":null,"level":"note","spans":[{"file_name":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs","byte_start":26782,"byte_end":26801,"line_start":789,"line_end":789,"column_start":37,"column_end":56,"is_primary":true,"text":[{"text":" pub fn register_contract<'a, T: ContractFunctionSet + 'static>(","highlight_start":37,"highlight_end":56}],"label":"required by this bound in `Env::register_contract`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0277]\u001b[0m\u001b[0m\u001b[1m: the trait bound `MockPriceOracle: ContractFunctionSet` is not satisfied\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:32:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m32\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockPriceOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9munsatisfied trait bound\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mrequired by a bound introduced by this call\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` is not implemented for `MockPriceOracle`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:8:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub struct MockPriceOracle;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` \u001b[0m\u001b[0m\u001b[1m\u001b[35mis\u001b[0m\u001b[0m implemented for `\u001b[0m\u001b[0m\u001b[1m\u001b[35mLiquidityVaultContract\u001b[0m\u001b[0m`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: required by a bound in `Env::register_contract`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0m/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs:789:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn register_contract<'a, T: ContractFunctionSet + 'static>(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10mrequired by this bound in `Env::register_contract`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"failed to resolve: use of undeclared type `MockPriceOracleClient`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":816,"byte_end":837,"line_start":33,"line_end":33,"column_start":25,"column_end":46,"is_primary":true,"text":[{"text":" let oracle_client = MockPriceOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":46}],"label":"use of undeclared type `MockPriceOracleClient`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a struct with a similar name exists","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":816,"byte_end":837,"line_start":33,"line_end":33,"column_start":25,"column_end":46,"is_primary":true,"text":[{"text":" let oracle_client = MockPriceOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":46}],"label":null,"suggested_replacement":"PriceOracleClient","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: use of undeclared type `MockPriceOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:33:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m33\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_client = MockPriceOracleClient::new(&env, &oracle_id);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9muse of undeclared type `MockPriceOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a struct with a similar name exists: `PriceOracleClient`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":1202,"byte_end":1219,"line_start":39,"line_end":39,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, LiquidityVaultContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:39:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m39\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, LiquidityVaultContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":1931,"byte_end":1948,"line_start":60,"line_end":60,"column_start":25,"column_end":42,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockPriceOracle);","highlight_start":25,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:60:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m60\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockPriceOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"the trait bound `MockPriceOracle: ContractFunctionSet` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":1955,"byte_end":1970,"line_start":60,"line_end":60,"column_start":49,"column_end":64,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockPriceOracle);","highlight_start":49,"highlight_end":64}],"label":"unsatisfied trait bound","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"liquidity_vault/src/test.rs","byte_start":1931,"byte_end":1948,"line_start":60,"line_end":60,"column_start":25,"column_end":42,"is_primary":false,"text":[{"text":" let oracle_id = env.register_contract(None, MockPriceOracle);","highlight_start":25,"highlight_end":42}],"label":"required by a bound introduced by this call","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the trait `ContractFunctionSet` is not implemented for `MockPriceOracle`","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":150,"byte_end":176,"line_start":8,"line_end":8,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"pub struct MockPriceOracle;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the trait `ContractFunctionSet` is implemented for `LiquidityVaultContract`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `Env::register_contract`","code":null,"level":"note","spans":[{"file_name":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs","byte_start":26782,"byte_end":26801,"line_start":789,"line_end":789,"column_start":37,"column_end":56,"is_primary":true,"text":[{"text":" pub fn register_contract<'a, T: ContractFunctionSet + 'static>(","highlight_start":37,"highlight_end":56}],"label":"required by this bound in `Env::register_contract`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0277]\u001b[0m\u001b[0m\u001b[1m: the trait bound `MockPriceOracle: ContractFunctionSet` is not satisfied\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:60:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m60\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockPriceOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9munsatisfied trait bound\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mrequired by a bound introduced by this call\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` is not implemented for `MockPriceOracle`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:8:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub struct MockPriceOracle;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` \u001b[0m\u001b[0m\u001b[1m\u001b[35mis\u001b[0m\u001b[0m implemented for `\u001b[0m\u001b[0m\u001b[1m\u001b[35mLiquidityVaultContract\u001b[0m\u001b[0m`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: required by a bound in `Env::register_contract`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0m/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs:789:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn register_contract<'a, T: ContractFunctionSet + 'static>(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10mrequired by this bound in `Env::register_contract`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"failed to resolve: use of undeclared type `MockPriceOracleClient`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":1997,"byte_end":2018,"line_start":61,"line_end":61,"column_start":25,"column_end":46,"is_primary":true,"text":[{"text":" let oracle_client = MockPriceOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":46}],"label":"use of undeclared type `MockPriceOracleClient`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a struct with a similar name exists","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":1997,"byte_end":2018,"line_start":61,"line_end":61,"column_start":25,"column_end":46,"is_primary":true,"text":[{"text":" let oracle_client = MockPriceOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":46}],"label":null,"suggested_replacement":"PriceOracleClient","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: use of undeclared type `MockPriceOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:61:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_client = MockPriceOracleClient::new(&env, &oracle_id);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9muse of undeclared type `MockPriceOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a struct with a similar name exists: `PriceOracleClient`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":2345,"byte_end":2362,"line_start":67,"line_end":67,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, LiquidityVaultContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:67:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m67\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, LiquidityVaultContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"no method named `total_supply` found for struct `Client<'a>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"por_validator/src/lib.rs","byte_start":2213,"byte_end":2225,"line_start":72,"line_end":72,"column_start":35,"column_end":47,"is_primary":true,"text":[{"text":" let supply = token_client.total_supply();","highlight_start":35,"highlight_end":47}],"label":"method not found in `Client<'_>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `total_supply` found for struct `Client<'a>` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/lib.rs:72:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m72\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let supply = token_client.total_supply();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `Client<'_>`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":2989,"byte_end":3006,"line_start":87,"line_end":87,"column_start":25,"column_end":42,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockPriceOracle);","highlight_start":25,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:87:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m87\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockPriceOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"the trait bound `MockPriceOracle: ContractFunctionSet` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":3013,"byte_end":3028,"line_start":87,"line_end":87,"column_start":49,"column_end":64,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockPriceOracle);","highlight_start":49,"highlight_end":64}],"label":"unsatisfied trait bound","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"liquidity_vault/src/test.rs","byte_start":2989,"byte_end":3006,"line_start":87,"line_end":87,"column_start":25,"column_end":42,"is_primary":false,"text":[{"text":" let oracle_id = env.register_contract(None, MockPriceOracle);","highlight_start":25,"highlight_end":42}],"label":"required by a bound introduced by this call","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the trait `ContractFunctionSet` is not implemented for `MockPriceOracle`","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":150,"byte_end":176,"line_start":8,"line_end":8,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"pub struct MockPriceOracle;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the trait `ContractFunctionSet` is implemented for `LiquidityVaultContract`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `Env::register_contract`","code":null,"level":"note","spans":[{"file_name":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs","byte_start":26782,"byte_end":26801,"line_start":789,"line_end":789,"column_start":37,"column_end":56,"is_primary":true,"text":[{"text":" pub fn register_contract<'a, T: ContractFunctionSet + 'static>(","highlight_start":37,"highlight_end":56}],"label":"required by this bound in `Env::register_contract`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0277]\u001b[0m\u001b[0m\u001b[1m: the trait bound `MockPriceOracle: ContractFunctionSet` is not satisfied\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:87:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m87\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockPriceOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9munsatisfied trait bound\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mrequired by a bound introduced by this call\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` is not implemented for `MockPriceOracle`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:8:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub struct MockPriceOracle;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` \u001b[0m\u001b[0m\u001b[1m\u001b[35mis\u001b[0m\u001b[0m implemented for `\u001b[0m\u001b[0m\u001b[1m\u001b[35mLiquidityVaultContract\u001b[0m\u001b[0m`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: required by a bound in `Env::register_contract`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0m/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs:789:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn register_contract<'a, T: ContractFunctionSet + 'static>(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10mrequired by this bound in `Env::register_contract`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"failed to resolve: use of undeclared type `MockPriceOracleClient`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":3055,"byte_end":3076,"line_start":88,"line_end":88,"column_start":25,"column_end":46,"is_primary":true,"text":[{"text":" let oracle_client = MockPriceOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":46}],"label":"use of undeclared type `MockPriceOracleClient`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a struct with a similar name exists","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":3055,"byte_end":3076,"line_start":88,"line_end":88,"column_start":25,"column_end":46,"is_primary":true,"text":[{"text":" let oracle_client = MockPriceOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":46}],"label":null,"suggested_replacement":"PriceOracleClient","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: use of undeclared type `MockPriceOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:88:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m88\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_client = MockPriceOracleClient::new(&env, &oracle_id);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9muse of undeclared type `MockPriceOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a struct with a similar name exists: `PriceOracleClient`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":3433,"byte_end":3450,"line_start":95,"line_end":95,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, LiquidityVaultContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:95:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m95\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, LiquidityVaultContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"relayer_slashing","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_stellar_asset_contract`: use [Env::register_stellar_asset_contract_v2]","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"relayer_slashing/src/test.rs","byte_start":266,"byte_end":297,"line_start":8,"line_end":8,"column_start":27,"column_end":58,"is_primary":true,"text":[{"text":" let contract_id = env.register_stellar_asset_contract(admin.clone());","highlight_start":27,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(deprecated)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_stellar_asset_contract`: use [Env::register_stellar_asset_contract_v2]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mrelayer_slashing/src/test.rs:8:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_stellar_asset_contract(admin.clone());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(deprecated)]` on by default\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"no method named `total_supply` found for struct `Client<'a>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"por_validator/src/lib.rs","byte_start":2213,"byte_end":2225,"line_start":72,"line_end":72,"column_start":35,"column_end":47,"is_primary":true,"text":[{"text":" let supply = token_client.total_supply();","highlight_start":35,"highlight_end":47}],"label":"method not found in `Client<'_>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `total_supply` found for struct `Client<'a>` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/lib.rs:72:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m72\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let supply = token_client.total_supply();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `Client<'_>`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":3990,"byte_end":4007,"line_start":112,"line_end":112,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, LiquidityVaultContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:112:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m112\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, LiquidityVaultContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"relayer_slashing","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"relayer_slashing/src/test.rs","byte_start":847,"byte_end":864,"line_start":25,"line_end":25,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, RelayerSlashingContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mrelayer_slashing/src/test.rs:25:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m25\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, RelayerSlashingContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":4540,"byte_end":4557,"line_start":130,"line_end":130,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, LiquidityVaultContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:130:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m130\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, LiquidityVaultContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"relayer_slashing","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"relayer_slashing/src/test.rs","byte_start":1714,"byte_end":1731,"line_start":50,"line_end":50,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, RelayerSlashingContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mrelayer_slashing/src/test.rs:50:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m50\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, RelayerSlashingContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"relayer_slashing","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"relayer_slashing/src/test.rs","byte_start":2682,"byte_end":2699,"line_start":77,"line_end":77,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, RelayerSlashingContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mrelayer_slashing/src/test.rs:77:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m77\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, RelayerSlashingContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"relayer_slashing","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"relayer_slashing/src/test.rs","byte_start":3494,"byte_end":3511,"line_start":103,"line_end":103,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, RelayerSlashingContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mrelayer_slashing/src/test.rs:103:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m103\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, RelayerSlashingContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"relayer_slashing","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"relayer_slashing/src/test.rs","byte_start":4245,"byte_end":4262,"line_start":126,"line_end":126,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, RelayerSlashingContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mrelayer_slashing/src/test.rs:126:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m126\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, RelayerSlashingContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_stellar_asset_contract`: use [Env::register_stellar_asset_contract_v2]","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"por_validator/src/test.rs","byte_start":658,"byte_end":689,"line_start":23,"line_end":23,"column_start":27,"column_end":58,"is_primary":true,"text":[{"text":" let contract_id = env.register_stellar_asset_contract(admin.clone());","highlight_start":27,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(deprecated)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_stellar_asset_contract`: use [Env::register_stellar_asset_contract_v2]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:23:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m23\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_stellar_asset_contract(admin.clone());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(deprecated)]` on by default\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"por_validator/src/test.rs","byte_start":1143,"byte_end":1160,"line_start":37,"line_end":37,"column_start":25,"column_end":42,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockOracle);","highlight_start":25,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:37:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m37\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"the trait bound `MockOracle: ContractFunctionSet` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"por_validator/src/test.rs","byte_start":1167,"byte_end":1177,"line_start":37,"line_end":37,"column_start":49,"column_end":59,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockOracle);","highlight_start":49,"highlight_end":59}],"label":"unsatisfied trait bound","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"por_validator/src/test.rs","byte_start":1143,"byte_end":1160,"line_start":37,"line_end":37,"column_start":25,"column_end":42,"is_primary":false,"text":[{"text":" let oracle_id = env.register_contract(None, MockOracle);","highlight_start":25,"highlight_end":42}],"label":"required by a bound introduced by this call","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the trait `ContractFunctionSet` is not implemented for `MockOracle`","code":null,"level":"help","spans":[{"file_name":"por_validator/src/test.rs","byte_start":166,"byte_end":187,"line_start":8,"line_end":8,"column_start":1,"column_end":22,"is_primary":true,"text":[{"text":"pub struct MockOracle;","highlight_start":1,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the trait `ContractFunctionSet` is implemented for `PoRValidatorContract`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `Env::register_contract`","code":null,"level":"note","spans":[{"file_name":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs","byte_start":26782,"byte_end":26801,"line_start":789,"line_end":789,"column_start":37,"column_end":56,"is_primary":true,"text":[{"text":" pub fn register_contract<'a, T: ContractFunctionSet + 'static>(","highlight_start":37,"highlight_end":56}],"label":"required by this bound in `Env::register_contract`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0277]\u001b[0m\u001b[0m\u001b[1m: the trait bound `MockOracle: ContractFunctionSet` is not satisfied\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:37:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m37\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9munsatisfied trait bound\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mrequired by a bound introduced by this call\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` is not implemented for `MockOracle`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:8:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub struct MockOracle;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` \u001b[0m\u001b[0m\u001b[1m\u001b[35mis\u001b[0m\u001b[0m implemented for `\u001b[0m\u001b[0m\u001b[1m\u001b[35mPoRValidatorContract\u001b[0m\u001b[0m`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: required by a bound in `Env::register_contract`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0m/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs:789:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn register_contract<'a, T: ContractFunctionSet + 'static>(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10mrequired by this bound in `Env::register_contract`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"failed to resolve: use of undeclared type `MockOracleClient`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"por_validator/src/test.rs","byte_start":1204,"byte_end":1220,"line_start":38,"line_end":38,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" let oracle_client = MockOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":41}],"label":"use of undeclared type `MockOracleClient`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a struct with a similar name exists","code":null,"level":"help","spans":[{"file_name":"por_validator/src/test.rs","byte_start":1204,"byte_end":1220,"line_start":38,"line_end":38,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" let oracle_client = MockOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":41}],"label":null,"suggested_replacement":"OracleClient","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: use of undeclared type `MockOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:38:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m38\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_client = MockOracleClient::new(&env, &oracle_id);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9muse of undeclared type `MockOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a struct with a similar name exists: `OracleClient`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"por_validator/src/test.rs","byte_start":1510,"byte_end":1527,"line_start":46,"line_end":46,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, PoRValidatorContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:46:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m46\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, PoRValidatorContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"por_validator/src/test.rs","byte_start":2065,"byte_end":2082,"line_start":64,"line_end":64,"column_start":25,"column_end":42,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockOracle);","highlight_start":25,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:64:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m64\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"the trait bound `MockOracle: ContractFunctionSet` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"por_validator/src/test.rs","byte_start":2089,"byte_end":2099,"line_start":64,"line_end":64,"column_start":49,"column_end":59,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockOracle);","highlight_start":49,"highlight_end":59}],"label":"unsatisfied trait bound","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"por_validator/src/test.rs","byte_start":2065,"byte_end":2082,"line_start":64,"line_end":64,"column_start":25,"column_end":42,"is_primary":false,"text":[{"text":" let oracle_id = env.register_contract(None, MockOracle);","highlight_start":25,"highlight_end":42}],"label":"required by a bound introduced by this call","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the trait `ContractFunctionSet` is not implemented for `MockOracle`","code":null,"level":"help","spans":[{"file_name":"por_validator/src/test.rs","byte_start":166,"byte_end":187,"line_start":8,"line_end":8,"column_start":1,"column_end":22,"is_primary":true,"text":[{"text":"pub struct MockOracle;","highlight_start":1,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the trait `ContractFunctionSet` is implemented for `PoRValidatorContract`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `Env::register_contract`","code":null,"level":"note","spans":[{"file_name":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs","byte_start":26782,"byte_end":26801,"line_start":789,"line_end":789,"column_start":37,"column_end":56,"is_primary":true,"text":[{"text":" pub fn register_contract<'a, T: ContractFunctionSet + 'static>(","highlight_start":37,"highlight_end":56}],"label":"required by this bound in `Env::register_contract`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0277]\u001b[0m\u001b[0m\u001b[1m: the trait bound `MockOracle: ContractFunctionSet` is not satisfied\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:64:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m64\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9munsatisfied trait bound\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mrequired by a bound introduced by this call\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` is not implemented for `MockOracle`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:8:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub struct MockOracle;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` \u001b[0m\u001b[0m\u001b[1m\u001b[35mis\u001b[0m\u001b[0m implemented for `\u001b[0m\u001b[0m\u001b[1m\u001b[35mPoRValidatorContract\u001b[0m\u001b[0m`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: required by a bound in `Env::register_contract`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0m/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs:789:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn register_contract<'a, T: ContractFunctionSet + 'static>(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10mrequired by this bound in `Env::register_contract`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"failed to resolve: use of undeclared type `MockOracleClient`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"por_validator/src/test.rs","byte_start":2126,"byte_end":2142,"line_start":65,"line_end":65,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" let oracle_client = MockOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":41}],"label":"use of undeclared type `MockOracleClient`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a struct with a similar name exists","code":null,"level":"help","spans":[{"file_name":"por_validator/src/test.rs","byte_start":2126,"byte_end":2142,"line_start":65,"line_end":65,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" let oracle_client = MockOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":41}],"label":null,"suggested_replacement":"OracleClient","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: use of undeclared type `MockOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:65:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m65\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_client = MockOracleClient::new(&env, &oracle_id);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9muse of undeclared type `MockOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a struct with a similar name exists: `OracleClient`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"por_validator/src/test.rs","byte_start":2490,"byte_end":2507,"line_start":74,"line_end":74,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, PoRValidatorContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:74:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m74\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, PoRValidatorContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"por_validator/src/test.rs","byte_start":3011,"byte_end":3028,"line_start":91,"line_end":91,"column_start":25,"column_end":42,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockOracle);","highlight_start":25,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:91:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m91\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"the trait bound `MockOracle: ContractFunctionSet` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"por_validator/src/test.rs","byte_start":3035,"byte_end":3045,"line_start":91,"line_end":91,"column_start":49,"column_end":59,"is_primary":true,"text":[{"text":" let oracle_id = env.register_contract(None, MockOracle);","highlight_start":49,"highlight_end":59}],"label":"unsatisfied trait bound","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"por_validator/src/test.rs","byte_start":3011,"byte_end":3028,"line_start":91,"line_end":91,"column_start":25,"column_end":42,"is_primary":false,"text":[{"text":" let oracle_id = env.register_contract(None, MockOracle);","highlight_start":25,"highlight_end":42}],"label":"required by a bound introduced by this call","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the trait `ContractFunctionSet` is not implemented for `MockOracle`","code":null,"level":"help","spans":[{"file_name":"por_validator/src/test.rs","byte_start":166,"byte_end":187,"line_start":8,"line_end":8,"column_start":1,"column_end":22,"is_primary":true,"text":[{"text":"pub struct MockOracle;","highlight_start":1,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the trait `ContractFunctionSet` is implemented for `PoRValidatorContract`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `Env::register_contract`","code":null,"level":"note","spans":[{"file_name":"/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs","byte_start":26782,"byte_end":26801,"line_start":789,"line_end":789,"column_start":37,"column_end":56,"is_primary":true,"text":[{"text":" pub fn register_contract<'a, T: ContractFunctionSet + 'static>(","highlight_start":37,"highlight_end":56}],"label":"required by this bound in `Env::register_contract`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0277]\u001b[0m\u001b[0m\u001b[1m: the trait bound `MockOracle: ContractFunctionSet` is not satisfied\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:91:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m91\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_id = env.register_contract(None, MockOracle);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9munsatisfied trait bound\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mrequired by a bound introduced by this call\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` is not implemented for `MockOracle`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:8:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub struct MockOracle;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: the trait `ContractFunctionSet` \u001b[0m\u001b[0m\u001b[1m\u001b[35mis\u001b[0m\u001b[0m implemented for `\u001b[0m\u001b[0m\u001b[1m\u001b[35mPoRValidatorContract\u001b[0m\u001b[0m`\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: required by a bound in `Env::register_contract`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0m/home/izk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-22.0.11/src/env.rs:789:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn register_contract<'a, T: ContractFunctionSet + 'static>(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10mrequired by this bound in `Env::register_contract`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"failed to resolve: use of undeclared type `MockOracleClient`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"por_validator/src/test.rs","byte_start":3072,"byte_end":3088,"line_start":92,"line_end":92,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" let oracle_client = MockOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":41}],"label":"use of undeclared type `MockOracleClient`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"a struct with a similar name exists","code":null,"level":"help","spans":[{"file_name":"por_validator/src/test.rs","byte_start":3072,"byte_end":3088,"line_start":92,"line_end":92,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" let oracle_client = MockOracleClient::new(&env, &oracle_id);","highlight_start":25,"highlight_end":41}],"label":null,"suggested_replacement":"OracleClient","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: use of undeclared type `MockOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:92:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m92\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let oracle_client = MockOracleClient::new(&env, &oracle_id);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9muse of undeclared type `MockOracleClient`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mhelp: a struct with a similar name exists: `OracleClient`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"por_validator/src/test.rs","byte_start":3400,"byte_end":3417,"line_start":100,"line_end":100,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, PoRValidatorContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:100:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m100\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, PoRValidatorContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"por_validator/src/test.rs","byte_start":3851,"byte_end":3868,"line_start":114,"line_end":114,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, PoRValidatorContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:114:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m114\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, PoRValidatorContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"por_validator/src/test.rs","byte_start":4286,"byte_end":4303,"line_start":128,"line_end":128,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, PoRValidatorContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mpor_validator/src/test.rs:128:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m128\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let contract_id = env.register_contract(None, PoRValidatorContract);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused variable: `min_amount_out`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/lib.rs","byte_start":1987,"byte_end":2001,"line_start":62,"line_end":62,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":" min_amount_out: i128,","highlight_start":9,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/lib.rs","byte_start":1987,"byte_end":2001,"line_start":62,"line_end":62,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":" min_amount_out: i128,","highlight_start":9,"highlight_end":23}],"label":null,"suggested_replacement":"_min_amount_out","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused variable: `min_amount_out`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/lib.rs:62:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m62\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m min_amount_out: i128,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_min_amount_out`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"relayer_slashing","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of moved value: `relayer`","code":{"code":"E0382","explanation":"A variable was used after its contents have been moved elsewhere.\n\nErroneous code example:\n\n```compile_fail,E0382\nstruct MyStruct { s: u32 }\n\nfn main() {\n let mut x = MyStruct{ s: 5u32 };\n let y = x;\n x.s = 6;\n println!(\"{}\", x.s);\n}\n```\n\nSince `MyStruct` is a type that is not marked `Copy`, the data gets moved out\nof `x` when we set `y`. This is fundamental to Rust's ownership system: outside\nof workarounds like `Rc`, a value cannot be owned by more than one variable.\n\nSometimes we don't need to move the value. Using a reference, we can let another\nfunction borrow the value without changing its ownership. In the example below,\nwe don't actually have to move our string to `calculate_length`, we can give it\na reference to it with `&` instead.\n\n```\nfn main() {\n let s1 = String::from(\"hello\");\n\n let len = calculate_length(&s1);\n\n println!(\"The length of '{}' is {}.\", s1, len);\n}\n\nfn calculate_length(s: &String) -> usize {\n s.len()\n}\n```\n\nA mutable reference can be created with `&mut`.\n\nSometimes we don't want a reference, but a duplicate. All types marked `Clone`\ncan be duplicated by calling `.clone()`. Subsequent changes to a clone do not\naffect the original variable.\n\nMost types in the standard library are marked `Clone`. The example below\ndemonstrates using `clone()` on a string. `s1` is first set to \"many\", and then\ncopied to `s2`. Then the first character of `s1` is removed, without affecting\n`s2`. \"any many\" is printed to the console.\n\n```\nfn main() {\n let mut s1 = String::from(\"many\");\n let s2 = s1.clone();\n s1.remove(0);\n println!(\"{} {}\", s1, s2);\n}\n```\n\nIf we control the definition of a type, we can implement `Clone` on it ourselves\nwith `#[derive(Clone)]`.\n\nSome types have no ownership semantics at all and are trivial to duplicate. An\nexample is `i32` and the other number types. We don't have to call `.clone()` to\nclone them, because they are marked `Copy` in addition to `Clone`. Implicit\ncloning is more convenient in this case. We can mark our own types `Copy` if\nall their members also are marked `Copy`.\n\nIn the example below, we implement a `Point` type. Because it only stores two\nintegers, we opt-out of ownership semantics with `Copy`. Then we can\n`let p2 = p1` without `p1` being moved.\n\n```\n#[derive(Copy, Clone)]\nstruct Point { x: i32, y: i32 }\n\nfn main() {\n let mut p1 = Point{ x: -1, y: 2 };\n let p2 = p1;\n p1.x = 1;\n println!(\"p1: {}, {}\", p1.x, p1.y);\n println!(\"p2: {}, {}\", p2.x, p2.y);\n}\n```\n\nAlternatively, if we don't control the struct's definition, or mutable shared\nownership is truly required, we can use `Rc` and `RefCell`:\n\n```\nuse std::cell::RefCell;\nuse std::rc::Rc;\n\nstruct MyStruct { s: u32 }\n\nfn main() {\n let mut x = Rc::new(RefCell::new(MyStruct{ s: 5u32 }));\n let y = x.clone();\n x.borrow_mut().s = 6;\n println!(\"{}\", x.borrow().s);\n}\n```\n\nWith this approach, x and y share ownership of the data via the `Rc` (reference\ncount type). `RefCell` essentially performs runtime borrow checking: ensuring\nthat at most one writer or multiple readers can access the data at any one time.\n\nIf you wish to learn more about ownership in Rust, start with the\n[Understanding Ownership][understanding-ownership] chapter in the Book.\n\n[understanding-ownership]: https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html\n"},"level":"error","spans":[{"file_name":"relayer_slashing/src/lib.rs","byte_start":3374,"byte_end":3381,"line_start":105,"line_end":105,"column_start":58,"column_end":65,"is_primary":false,"text":[{"text":" env.storage().persistent().set(&DataKey::Relayer(relayer), &info);","highlight_start":58,"highlight_end":65}],"label":"value moved here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"relayer_slashing/src/lib.rs","byte_start":3457,"byte_end":3464,"line_start":107,"line_end":107,"column_start":57,"column_end":64,"is_primary":true,"text":[{"text":" env.events().publish((symbol_short!(\"Slashed\"), relayer), slash_amount);","highlight_start":57,"highlight_end":64}],"label":"value used here after move","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"relayer_slashing/src/lib.rs","byte_start":2515,"byte_end":2522,"line_start":86,"line_end":86,"column_start":36,"column_end":43,"is_primary":false,"text":[{"text":" pub fn slash_relayer(env: Env, relayer: Address) {","highlight_start":36,"highlight_end":43}],"label":"move occurs because `relayer` has type `soroban_sdk::Address`, which does not implement the `Copy` trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider cloning the value if the performance cost is acceptable","code":null,"level":"help","spans":[{"file_name":"relayer_slashing/src/lib.rs","byte_start":3381,"byte_end":3381,"line_start":105,"line_end":105,"column_start":65,"column_end":65,"is_primary":true,"text":[{"text":" env.storage().persistent().set(&DataKey::Relayer(relayer), &info);","highlight_start":65,"highlight_end":65}],"label":null,"suggested_replacement":".clone()","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0382]\u001b[0m\u001b[0m\u001b[1m: use of moved value: `relayer`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mrelayer_slashing/src/lib.rs:107:57\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m86\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn slash_relayer(env: Env, relayer: Address) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mmove occurs because `relayer` has type `soroban_sdk::Address`, which does not implement the `Copy` trait\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m105\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m env.storage().persistent().set(&DataKey::Relayer(relayer), &info);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mvalue moved here\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m106\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m107\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m env.events().publish((symbol_short!(\"Slashed\"), relayer), slash_amount);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mvalue used here after move\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider cloning the value if the performance cost is acceptable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m105\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m env.storage().persistent().set(&DataKey::Relayer(relayer\u001b[0m\u001b[0m\u001b[38;5;10m.clone()\u001b[0m\u001b[0m), &info);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++++++\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused variable: `attacker`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":4478,"byte_end":4486,"line_start":129,"line_end":129,"column_start":9,"column_end":17,"is_primary":true,"text":[{"text":" let attacker = Address::generate(&env);","highlight_start":9,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":4478,"byte_end":4486,"line_start":129,"line_end":129,"column_start":9,"column_end":17,"is_primary":true,"text":[{"text":" let attacker = Address::generate(&env);","highlight_start":9,"highlight_end":17}],"label":null,"suggested_replacement":"_attacker","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused variable: `attacker`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:129:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m129\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let attacker = Address::generate(&env);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_attacker`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused variable: `config`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":4941,"byte_end":4947,"line_start":139,"line_end":139,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":" let config = client.get_config();","highlight_start":9,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"liquidity_vault/src/test.rs","byte_start":4941,"byte_end":4947,"line_start":139,"line_end":139,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":" let config = client.get_config();","highlight_start":9,"highlight_end":15}],"label":null,"suggested_replacement":"_config","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused variable: `config`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mliquidity_vault/src/test.rs:139:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m139\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let config = client.get_config();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_config`\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"Some errors have detailed explanations: E0277, E0433.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0277, E0433.\u001b[0m\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"liquidity_vault","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/liquidity_vault/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"For more information about an error, try `rustc --explain E0277`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0277`.\u001b[0m\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"relayer_slashing","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of moved value: `relayer`","code":{"code":"E0382","explanation":"A variable was used after its contents have been moved elsewhere.\n\nErroneous code example:\n\n```compile_fail,E0382\nstruct MyStruct { s: u32 }\n\nfn main() {\n let mut x = MyStruct{ s: 5u32 };\n let y = x;\n x.s = 6;\n println!(\"{}\", x.s);\n}\n```\n\nSince `MyStruct` is a type that is not marked `Copy`, the data gets moved out\nof `x` when we set `y`. This is fundamental to Rust's ownership system: outside\nof workarounds like `Rc`, a value cannot be owned by more than one variable.\n\nSometimes we don't need to move the value. Using a reference, we can let another\nfunction borrow the value without changing its ownership. In the example below,\nwe don't actually have to move our string to `calculate_length`, we can give it\na reference to it with `&` instead.\n\n```\nfn main() {\n let s1 = String::from(\"hello\");\n\n let len = calculate_length(&s1);\n\n println!(\"The length of '{}' is {}.\", s1, len);\n}\n\nfn calculate_length(s: &String) -> usize {\n s.len()\n}\n```\n\nA mutable reference can be created with `&mut`.\n\nSometimes we don't want a reference, but a duplicate. All types marked `Clone`\ncan be duplicated by calling `.clone()`. Subsequent changes to a clone do not\naffect the original variable.\n\nMost types in the standard library are marked `Clone`. The example below\ndemonstrates using `clone()` on a string. `s1` is first set to \"many\", and then\ncopied to `s2`. Then the first character of `s1` is removed, without affecting\n`s2`. \"any many\" is printed to the console.\n\n```\nfn main() {\n let mut s1 = String::from(\"many\");\n let s2 = s1.clone();\n s1.remove(0);\n println!(\"{} {}\", s1, s2);\n}\n```\n\nIf we control the definition of a type, we can implement `Clone` on it ourselves\nwith `#[derive(Clone)]`.\n\nSome types have no ownership semantics at all and are trivial to duplicate. An\nexample is `i32` and the other number types. We don't have to call `.clone()` to\nclone them, because they are marked `Copy` in addition to `Clone`. Implicit\ncloning is more convenient in this case. We can mark our own types `Copy` if\nall their members also are marked `Copy`.\n\nIn the example below, we implement a `Point` type. Because it only stores two\nintegers, we opt-out of ownership semantics with `Copy`. Then we can\n`let p2 = p1` without `p1` being moved.\n\n```\n#[derive(Copy, Clone)]\nstruct Point { x: i32, y: i32 }\n\nfn main() {\n let mut p1 = Point{ x: -1, y: 2 };\n let p2 = p1;\n p1.x = 1;\n println!(\"p1: {}, {}\", p1.x, p1.y);\n println!(\"p2: {}, {}\", p2.x, p2.y);\n}\n```\n\nAlternatively, if we don't control the struct's definition, or mutable shared\nownership is truly required, we can use `Rc` and `RefCell`:\n\n```\nuse std::cell::RefCell;\nuse std::rc::Rc;\n\nstruct MyStruct { s: u32 }\n\nfn main() {\n let mut x = Rc::new(RefCell::new(MyStruct{ s: 5u32 }));\n let y = x.clone();\n x.borrow_mut().s = 6;\n println!(\"{}\", x.borrow().s);\n}\n```\n\nWith this approach, x and y share ownership of the data via the `Rc` (reference\ncount type). `RefCell` essentially performs runtime borrow checking: ensuring\nthat at most one writer or multiple readers can access the data at any one time.\n\nIf you wish to learn more about ownership in Rust, start with the\n[Understanding Ownership][understanding-ownership] chapter in the Book.\n\n[understanding-ownership]: https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html\n"},"level":"error","spans":[{"file_name":"relayer_slashing/src/lib.rs","byte_start":3374,"byte_end":3381,"line_start":105,"line_end":105,"column_start":58,"column_end":65,"is_primary":false,"text":[{"text":" env.storage().persistent().set(&DataKey::Relayer(relayer), &info);","highlight_start":58,"highlight_end":65}],"label":"value moved here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"relayer_slashing/src/lib.rs","byte_start":3457,"byte_end":3464,"line_start":107,"line_end":107,"column_start":57,"column_end":64,"is_primary":true,"text":[{"text":" env.events().publish((symbol_short!(\"Slashed\"), relayer), slash_amount);","highlight_start":57,"highlight_end":64}],"label":"value used here after move","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"relayer_slashing/src/lib.rs","byte_start":2515,"byte_end":2522,"line_start":86,"line_end":86,"column_start":36,"column_end":43,"is_primary":false,"text":[{"text":" pub fn slash_relayer(env: Env, relayer: Address) {","highlight_start":36,"highlight_end":43}],"label":"move occurs because `relayer` has type `soroban_sdk::Address`, which does not implement the `Copy` trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider cloning the value if the performance cost is acceptable","code":null,"level":"help","spans":[{"file_name":"relayer_slashing/src/lib.rs","byte_start":3381,"byte_end":3381,"line_start":105,"line_end":105,"column_start":65,"column_end":65,"is_primary":true,"text":[{"text":" env.storage().persistent().set(&DataKey::Relayer(relayer), &info);","highlight_start":65,"highlight_end":65}],"label":null,"suggested_replacement":".clone()","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0382]\u001b[0m\u001b[0m\u001b[1m: use of moved value: `relayer`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mrelayer_slashing/src/lib.rs:107:57\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m86\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn slash_relayer(env: Env, relayer: Address) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mmove occurs because `relayer` has type `soroban_sdk::Address`, which does not implement the `Copy` trait\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m105\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m env.storage().persistent().set(&DataKey::Relayer(relayer), &info);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mvalue moved here\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m106\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m107\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m env.events().publish((symbol_short!(\"Slashed\"), relayer), slash_amount);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mvalue used here after move\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider cloning the value if the performance cost is acceptable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m105\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m env.storage().persistent().set(&DataKey::Relayer(relayer\u001b[0m\u001b[0m\u001b[38;5;10m.clone()\u001b[0m\u001b[0m), &info);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++++++\u001b[0m\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"For more information about this error, try `rustc --explain E0599`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0599`.\u001b[0m\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"relayer_slashing","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"For more information about this error, try `rustc --explain E0382`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0382`.\u001b[0m\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"relayer_slashing","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/relayer_slashing/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"For more information about this error, try `rustc --explain E0382`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0382`.\u001b[0m\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"Some errors have detailed explanations: E0277, E0433, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0277, E0433, E0599.\u001b[0m\n"}} -{"reason":"compiler-message","package_id":"path+file:///home/izk/Documents/DRIPS/chenpilot/contracts/por_validator#0.1.0","manifest_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"por_validator","src_path":"/home/izk/Documents/DRIPS/chenpilot/contracts/por_validator/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"For more information about an error, try `rustc --explain E0277`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0277`.\u001b[0m\n"}} -{"reason":"build-finished","success":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\proc-macro2-1.0.106\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\proc-macro2-1.0.106\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\proc-macro2-6fa8abab81371c4b\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\proc-macro2-6fa8abab81371c4b\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106","linked_libs":[],"linked_paths":[],"cfgs":["wrap_proc_macro","proc_macro_span_location","proc_macro_span_file"],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\proc-macro2-0d453ed1ede8acff\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\quote-1.0.45\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\quote-1.0.45\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\quote-7f47f72891ace304\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\quote-7f47f72891ace304\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-ident-1.0.24\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode_ident","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\unicode-ident-1.0.24\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libunicode_ident-10f4d069e44ba2e4.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libunicode_ident-10f4d069e44ba2e4.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#version_check@0.9.5","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\version_check-0.9.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"version_check","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\version_check-0.9.5\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libversion_check-97d031e59f70f618.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libversion_check-97d031e59f70f618.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\typenum-1.19.0\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\typenum-1.19.0\\build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\typenum-1d39b9910b973578\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\typenum-1d39b9910b973578\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_core-1.0.228\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_core-1.0.228\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","result","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\serde_core-868e315085659358\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\serde_core-868e315085659358\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde-1.0.228\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde-1.0.228\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","derive","serde_derive","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\serde-c186c1b233e8c194\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\serde-c186c1b233e8c194\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zmij-1.0.21\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zmij-1.0.21\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\zmij-d3af101a4a102fa4\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\zmij-d3af101a4a102fa4\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\quote-369d1a48d2def978\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\proc-macro2-1.0.106\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"proc_macro2","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\proc-macro2-1.0.106\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libproc_macro2-cebde2d6ed35fea2.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libproc_macro2-cebde2d6ed35fea2.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\serde_core-6c825edf7073d8eb\\out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\typenum-899dc779dc0c446c\\out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","linked_libs":[],"linked_paths":[],"cfgs":["if_docsrs_then_no_serde_core"],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\serde-9b76ea22f6fba3a5\\out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\zmij-566e3279186aa171\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_json-1.0.149\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_json-1.0.149\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\serde_json-75a936239b610d75\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\serde_json-75a936239b610d75\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\generic-array-0.14.9\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\generic-array-0.14.9\\build.rs","edition":"2015","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths","zeroize"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\generic-array-4a989966d4d1b985\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\generic-array-4a989966d4d1b985\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\quote-1.0.45\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"quote","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\quote-1.0.45\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libquote-f7789bcaab94c0e2.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libquote-f7789bcaab94c0e2.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_core-1.0.228\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_core","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_core-1.0.228\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","result","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde_core-ee56a1ed32889b84.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde_core-ee56a1ed32889b84.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","linked_libs":[],"linked_paths":[],"cfgs":["fast_arithmetic=\"64\""],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\serde_json-a9000c174ce64945\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zmij-1.0.21\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zmij","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zmij-1.0.21\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libzmij-5dddd88b59207a2a.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libzmij-5dddd88b59207a2a.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","linked_libs":[],"linked_paths":[],"cfgs":["relaxed_coherence","ga_is_deprecated"],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\generic-array-696e3610eb378a33\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.18","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itoa-1.0.18\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itoa","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itoa-1.0.18\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libitoa-d806d1e60ae7fb01.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libitoa-d806d1e60ae7fb01.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#syn@2.0.117","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\syn-2.0.117\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"syn","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\syn-2.0.117\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["clone-impls","default","derive","extra-traits","full","parsing","printing","proc-macro","visit"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsyn-0b3338a03dbad78b.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsyn-0b3338a03dbad78b.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#memchr@2.8.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\memchr-2.8.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"memchr","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\memchr-2.8.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libmemchr-1f0ae2ccf30a3b89.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libmemchr-1f0ae2ccf30a3b89.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#autocfg@1.5.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\autocfg-1.5.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"autocfg","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\autocfg-1.5.0\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libautocfg-366f5d561938d235.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libautocfg-366f5d561938d235.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ident_case@1.0.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ident_case-1.0.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ident_case","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ident_case-1.0.1\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libident_case-5d4bbebb5e7921e3.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libident_case-5d4bbebb5e7921e3.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.228","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_derive-1.0.228\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"serde_derive","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_derive-1.0.228\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\serde_derive-338698be83de6df0.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\serde_derive-338698be83de6df0.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\serde_derive-338698be83de6df0.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\serde_derive-338698be83de6df0.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zeroize_derive@1.4.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zeroize_derive-1.4.3\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"zeroize_derive","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zeroize_derive-1.4.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\zeroize_derive-d893736356b12d42.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\zeroize_derive-d893736356b12d42.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\zeroize_derive-d893736356b12d42.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\zeroize_derive-d893736356b12d42.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_json-1.0.149\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_json","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_json-1.0.149\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde_json-b14f595db7d6987f.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde_json-b14f595db7d6987f.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#strsim@0.11.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\strsim-0.11.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"strsim","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\strsim-0.11.1\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libstrsim-e3a93f8f8dc0532d.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libstrsim-e3a93f8f8dc0532d.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde-1.0.228\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde-1.0.228\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","derive","serde_derive","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde-df006c5f5e12a70d.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde-df006c5f5e12a70d.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_core@0.23.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling_core-0.23.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling_core","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling_core-0.23.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["strsim","suggestions"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdarling_core-81b78a4239b6a0fb.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdarling_core-81b78a4239b6a0fb.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","i128","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\num-traits-a52456081564c386\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\num-traits-a52456081564c386\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crate-git-revision@0.0.6","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\crate-git-revision-0.0.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crate_git_revision","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\crate-git-revision-0.0.6\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcrate_git_revision-7d2339901b480e34.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcrate_git_revision-7d2339901b480e34.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.48","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerocopy-0.8.48\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerocopy-0.8.48\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["simd"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\zerocopy-fb6941bc13e40ff8\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\zerocopy-fb6941bc13e40ff8\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-1.0.69\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-1.0.69\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\thiserror-36c492990601819d\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\thiserror-36c492990601819d\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#semver@1.0.27","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\semver-1.0.27\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"semver","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\semver-1.0.27\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsemver-18d96f20fbdef5c6.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsemver-18d96f20fbdef5c6.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.48","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\zerocopy-7917ae9bf5ab126e\\out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\thiserror-8262331fa0a72a1b\\out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","linked_libs":[],"linked_paths":[],"cfgs":["has_total_cmp"],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\num-traits-ddc2b7893a93a7f2\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_macro@0.23.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling_macro-0.23.0\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"darling_macro","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling_macro-0.23.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\darling_macro-1c815c61a6beb8d7.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\darling_macro-1c815c61a6beb8d7.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\darling_macro-1c815c61a6beb8d7.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\darling_macro-1c815c61a6beb8d7.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror-impl@1.0.69","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-impl-1.0.69\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"thiserror_impl","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-impl-1.0.69\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\thiserror_impl-8d95f7a9d0d13426.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\thiserror_impl-8d95f7a9d0d13426.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\thiserror_impl-8d95f7a9d0d13426.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\thiserror_impl-8d95f7a9d0d13426.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\num-traits-ce569085a59f521e\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\num-traits-ce569085a59f521e\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling@0.23.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling-0.23.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling-0.23.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","suggestions"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdarling-f60f3bef2a0c8e2a.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdarling-f60f3bef2a0c8e2a.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","linked_libs":[],"linked_paths":[],"cfgs":["has_total_cmp"],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\num-traits-4668ccf1ea8a1696\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.9","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-strkey-0.0.9\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-strkey-0.0.9\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\stellar-strkey-8f77db96698d9a90\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\stellar-strkey-8f77db96698d9a90\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#syn@1.0.109","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\syn-1.0.109\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\syn-1.0.109\\build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["clone-impls","default","derive","extra-traits","full","parsing","printing","proc-macro","quote","visit"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\syn-b3222119321a434d\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\syn-b3222119321a434d\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#syn@1.0.109","linked_libs":[],"linked_paths":[],"cfgs":["syn_disable_nightly_tests"],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\syn-a35993e3dea31cf1\\out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.9","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","9b58e04ec31afd40e352c8179376729c2852a430"]],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\stellar-strkey-fa4d522d2fdc3cc7\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_traits","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libnum_traits-09fa03e57f8597c5.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libnum_traits-09fa03e57f8597c5.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_with_macros@3.18.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_with_macros-3.18.0\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"serde_with_macros","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_with_macros-3.18.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\serde_with_macros-bde55a5982c69f7a.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\serde_with_macros-bde55a5982c69f7a.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\serde_with_macros-bde55a5982c69f7a.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\serde_with_macros-bde55a5982c69f7a.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#syn@1.0.109","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\syn-1.0.109\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"syn","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\syn-1.0.109\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["clone-impls","default","derive","extra-traits","full","parsing","printing","proc-macro","quote","visit"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsyn-f016468b51c1556f.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsyn-f016468b51c1556f.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rustc_version@0.4.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustc_version-0.4.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rustc_version","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rustc_version-0.4.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\librustc_version-21c99bdf9167ce5f.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\librustc_version-21c99bdf9167ce5f.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#paste@1.0.15","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\paste-1.0.15\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\paste-1.0.15\\build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\paste-b4bf2ebd9e067599\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\paste-b4bf2ebd9e067599\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#paste@1.0.15","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\paste-528a45e2f060da04\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-1.0.69\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"thiserror","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-1.0.69\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libthiserror-1e3474e76117a1dd.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libthiserror-1e3474e76117a1dd.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-xdr-22.1.0\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-xdr-22.1.0\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","curr","hex","serde","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\stellar-xdr-5ccc6ae1eb53cc86\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\stellar-xdr-5ccc6ae1eb53cc86\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#data-encoding@2.10.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\data-encoding-2.10.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"data_encoding","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\data-encoding-2.10.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdata_encoding-b3eeaef291a8dc7b.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdata_encoding-b3eeaef291a8dc7b.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.9","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-strkey-0.0.9\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_strkey","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-strkey-0.0.9\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libstellar_strkey-d60e96d51556a4a1.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libstellar_strkey-d60e96d51556a4a1.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","e13922970800d95b523413018b2279df42df3442"]],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\stellar-xdr-591724a88bf1805e\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#paste@1.0.15","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\paste-1.0.15\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"paste","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\paste-1.0.15\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\paste-a3fdf11871c5d8b7.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\paste-a3fdf11871c5d8b7.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\paste-a3fdf11871c5d8b7.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\paste-a3fdf11871c5d8b7.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_with@3.18.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_with-3.18.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_with","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_with-3.18.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","macros","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde_with-dfea29de883bdc61.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde_with-dfea29de883bdc61.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-integer@0.1.46","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-integer-0.1.46\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_integer","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-integer-0.1.46\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libnum_integer-6259c815d9c1bead.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libnum_integer-6259c815d9c1bead.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hex@0.4.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hex-0.4.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hex","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hex-0.4.3\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","serde","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libhex-eaaa89bd089a4e3b.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libhex-eaaa89bd089a4e3b.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#escape-bytes@0.1.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\escape-bytes-0.1.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"escape_bytes","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\escape-bytes-0.1.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libescape_bytes-d6ac6fe932fecb52.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libescape_bytes-d6ac6fe932fecb52.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-xdr-22.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_xdr","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-xdr-22.1.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","curr","hex","serde","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libstellar_xdr-eb30295be86f5b18.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libstellar_xdr-eb30295be86f5b18.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-bigint@0.4.6","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-bigint-0.4.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_bigint","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-bigint-0.4.6\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libnum_bigint-5fc67f53d9cd20e0.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libnum_bigint-5fc67f53d9cd20e0.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cfg-if-1.0.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cfg_if","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cfg-if-1.0.4\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcfg_if-d29a1f16aa95ebe9.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#const-oid@0.9.6","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\const-oid-0.9.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"const_oid","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\const-oid-0.9.6\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libconst_oid-22c6607c265bc36f.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\generic-array-0.14.9\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\generic-array-0.14.9\\build.rs","edition":"2015","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\generic-array-252b385268d70099\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\generic-array-252b385268d70099\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ahash@0.8.12","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ahash-0.8.12\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ahash-0.8.12\\build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\ahash-b8bfc736795f51a5\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\ahash-b8bfc736795f51a5\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#either@1.15.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\either-1.15.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"either","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\either-1.15.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std","use_std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libeither-4240bf961ed01b42.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libeither-4240bf961ed01b42.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#subtle@2.6.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\subtle-2.6.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"subtle","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\subtle-2.6.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsubtle-1c46928b36801799.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itertools@0.10.5","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itertools-0.10.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itertools","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itertools-0.10.5\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","use_alloc","use_std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libitertools-e14d78f01ce05441.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libitertools-e14d78f01ce05441.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#ahash@0.8.12","linked_libs":[],"linked_paths":[],"cfgs":["folded_multiply"],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\ahash-630b4c53fc08f9c5\\out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","linked_libs":[],"linked_paths":[],"cfgs":["relaxed_coherence","ga_is_deprecated"],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\generic-array-3a89fa400327d8bf\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-serialize-derive@0.4.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-serialize-derive-0.4.2\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"ark_serialize_derive","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-serialize-derive-0.4.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_serialize_derive-8f0cb0f1c2b0fa96.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_serialize_derive-8f0cb0f1c2b0fa96.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_serialize_derive-8f0cb0f1c2b0fa96.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_serialize_derive-8f0cb0f1c2b0fa96.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\typenum-1.19.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"typenum","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\typenum-1.19.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libtypenum-2fec29f93d2417ad.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libtypenum-2fec29f93d2417ad.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libm-0.2.16\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libm-0.2.16\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arch","default"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\libm-90317db581ed69df\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\libm-90317db581ed69df\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#getrandom@0.2.17","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\getrandom-0.2.17\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"getrandom","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\getrandom-0.2.17\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["js","js-sys","std","wasm-bindgen"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libgetrandom-42fd53138c3842e5.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zeroize@1.8.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zeroize-1.8.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zeroize","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zeroize-1.8.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","zeroize_derive"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libzeroize-b7ae92738fe5939c.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\typenum-1.19.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"typenum","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\typenum-1.19.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libtypenum-1d96f71b994729c9.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base16ct@0.2.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\base16ct-0.2.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base16ct","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\base16ct-0.2.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libbase16ct-8f51fcec5d3ca457.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\once_cell-1.21.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"once_cell","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\once_cell-1.21.4\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","race"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libonce_cell-3895f4b0dfe534e2.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rand_core@0.6.4","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rand_core-0.6.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rand_core","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rand_core-0.6.4\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","getrandom","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\librand_core-631ffe9e26df1455.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.2.17","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cpufeatures-0.2.17\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cpufeatures","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cpufeatures-0.2.17\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcpufeatures-f4e13d641227ce0e.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#either@1.15.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\either-1.15.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"either","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\either-1.15.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libeither-be5dbe9df35753d6.rmeta"],"executable":null,"fresh":false} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","linked_libs":[],"linked_paths":[],"cfgs":["arch_enabled"],"env":[["CFG_CARGO_FEATURES","[\"arch\", \"default\"]"],["CFG_OPT_LEVEL","0"],["CFG_TARGET_FEATURES","[\"cmpxchg16b\", \"fxsr\", \"sse\", \"sse2\", \"sse3\"]"]],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\libm-0c9b536caed35f0b\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\generic-array-0.14.9\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"generic_array","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\generic-array-0.14.9\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libgeneric_array-0a901526a84801ba.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libgeneric_array-0a901526a84801ba.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-ff-macros@0.4.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-ff-macros-0.4.2\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"ark_ff_macros","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-ff-macros-0.4.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_ff_macros-5d1e8816e1e6c380.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_ff_macros-5d1e8816e1e6c380.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_ff_macros-5d1e8816e1e6c380.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_ff_macros-5d1e8816e1e6c380.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-ff-asm@0.4.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-ff-asm-0.4.2\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"ark_ff_asm","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-ff-asm-0.4.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_ff_asm-f5950c08cbc0e768.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_ff_asm-f5950c08cbc0e768.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_ff_asm-f5950c08cbc0e768.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ark_ff_asm-f5950c08cbc0e768.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#derivative@2.2.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\derivative-2.2.0\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"derivative","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\derivative-2.2.0\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["use_core"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\derivative-9bf026d9bd52727b.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\derivative-9bf026d9bd52727b.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\derivative-9bf026d9bd52727b.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\derivative-9bf026d9bd52727b.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#der@0.7.10","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\der-0.7.10\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"der","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\der-0.7.10\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["oid","zeroize"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libder-316612124283839c.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-macros@22.1.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-macros-22.1.3\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"soroban_env_macros","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-macros-22.1.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_env_macros-c59b266519ea3311.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_env_macros-c59b266519ea3311.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_env_macros-c59b266519ea3311.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_env_macros-c59b266519ea3311.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#curve25519-dalek@4.1.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\curve25519-dalek-4.1.3\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\curve25519-dalek-4.1.3\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","digest","precomputed-tables","zeroize"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\curve25519-dalek-71248896fd7a1b62\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\curve25519-dalek-71248896fd7a1b62\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ff@0.13.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ff-0.13.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ff","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ff-0.13.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libff-b668260fb59930d8.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-1.0.69\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"thiserror","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\thiserror-1.0.69\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libthiserror-837fe25ef00c3873.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-xdr-22.1.0\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-xdr-22.1.0\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","arbitrary","base64","curr","hex","serde","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\stellar-xdr-ecf31605224714dc\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\stellar-xdr-ecf31605224714dc\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#derive_arbitrary@1.3.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\derive_arbitrary-1.3.2\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"derive_arbitrary","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\derive_arbitrary-1.3.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\derive_arbitrary-7b103f7cac6fdfec.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\derive_arbitrary-7b103f7cac6fdfec.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\derive_arbitrary-7b103f7cac6fdfec.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\derive_arbitrary-7b103f7cac6fdfec.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-derive@0.4.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-derive-0.4.2\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"num_derive","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-derive-0.4.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\num_derive-6a56743c63f8bf68.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\num_derive-6a56743c63f8bf68.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\num_derive-6a56743c63f8bf68.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\num_derive-6a56743c63f8bf68.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_traits","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-traits-0.2.19\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","i128","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libnum_traits-953ad1619ce48ca1.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_core-1.0.228\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_core","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_core-1.0.228\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","result","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde_core-399c70c18005bf78.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#group@0.13.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\group-0.13.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"group","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\group-0.13.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libgroup-8de9988a380b0531.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.16.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.16.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hashbrown","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.16.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libhashbrown-1decbdc2930032a4.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libhashbrown-1decbdc2930032a4.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\equivalent-1.0.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"equivalent","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\equivalent-1.0.2\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libequivalent-86126ef7c07e62af.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\equivalent-1.0.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"equivalent","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\equivalent-1.0.2\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libequivalent-b18a2aa0a98994d2.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libequivalent-b18a2aa0a98994d2.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\generic-array-0.14.9\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"generic_array","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\generic-array-0.14.9\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths","zeroize"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libgeneric_array-d33905a5793424dc.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#downcast-rs@1.2.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\downcast-rs-1.2.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"downcast_rs","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\downcast-rs-1.2.1\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdowncast_rs-ba1c564a75030421.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde-1.0.228\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde-1.0.228\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","derive","serde_derive","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde-975b9f574a8196da.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#block-buffer@0.10.4","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\block-buffer-0.10.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"block_buffer","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\block-buffer-0.10.4\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libblock_buffer-c5474e551b9f541d.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-integer@0.1.46","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-integer-0.1.46\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_integer","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-integer-0.1.46\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","i128","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libnum_integer-78ed999824ecc0b9.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crypto-common@0.1.6","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\crypto-common-0.1.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crypto_common","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\crypto-common-0.1.6\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcrypto_common-cbbf74e7ed82ad3e.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\digest-0.10.7\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"digest","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\digest-0.10.7\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","block-buffer","const-oid","core-api","default","mac","oid","std","subtle"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdigest-9e03e8098d0701b1.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.16.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.16.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hashbrown","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.16.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libhashbrown-295453d4afb5251b.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sec1@0.7.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sec1-0.7.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sec1","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sec1-0.7.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","der","point","subtle","zeroize"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsec1-6c490baff1db5bfd.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itertools@0.10.5","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itertools-0.10.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itertools","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itertools-0.10.5\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":false},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libitertools-a1b13b9d0b18cd1f.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.48","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerocopy-0.8.48\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zerocopy","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zerocopy-0.8.48\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["simd"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libzerocopy-a7838e310cce264b.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hmac@0.12.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hmac-0.12.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hmac","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hmac-0.12.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["reset"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libhmac-dd41c6a77ba97dba.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#signature@2.2.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\signature-2.2.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"signature","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\signature-2.2.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","digest","rand_core","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsignature-7dbe584ec0ff5840.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hex@0.4.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hex-0.4.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hex","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hex-0.4.3\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","serde","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libhex-e79e0c84e9d48167.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sha2@0.10.9","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sha2-0.10.9\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sha2","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sha2-0.10.9\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsha2-fcec00c73948a7bc.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-bigint@0.4.6","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-bigint-0.4.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_bigint","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\num-bigint-0.4.6\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libnum_bigint-4b4b22a67d3904d7.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ahash@0.8.12","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ahash-0.8.12\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ahash","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ahash-0.8.12\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libahash-c0120d34ffdadf97.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libm-0.2.16\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"libm","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\libm-0.2.16\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arch","default"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\liblibm-5c277f24dd02e2c9.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rfc6979@0.4.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rfc6979-0.4.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rfc6979","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rfc6979-0.4.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\librfc6979-1ef58eb58dbcc776.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#indexmap-nostd@0.4.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\indexmap-nostd-0.4.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"indexmap_nostd","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\indexmap-nostd-0.4.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libindexmap_nostd-ba87847f3de49602.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ppv-lite86@0.2.21","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ppv-lite86-0.2.21\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ppv_lite86","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ppv-lite86-0.2.21\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["simd","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libppv_lite86-5079a6bf6d5b687f.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#data-encoding@2.10.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\data-encoding-2.10.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"data_encoding","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\data-encoding-2.10.0\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdata_encoding-26e6cd99779ad86a.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.13.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.13.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hashbrown","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hashbrown-0.13.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["ahash","default","inline-more"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libhashbrown-f280c460fdb40535.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#indexmap@2.13.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\indexmap-2.13.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"indexmap","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\indexmap-2.13.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libindexmap-0e490beb7241da00.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libindexmap-0e490beb7241da00.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crypto-bigint@0.5.5","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\crypto-bigint-0.5.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crypto_bigint","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\crypto-bigint-0.5.5\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["generic-array","rand_core","zeroize"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcrypto_bigint-31d116e4c6a6df79.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rand_chacha@0.3.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rand_chacha-0.3.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rand_chacha","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rand_chacha-0.3.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\librand_chacha-977d9db078a467c6.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.9","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-strkey-0.0.9\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_strkey","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-strkey-0.0.9\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libstellar_strkey-474b2cb62e5c60a7.rmeta"],"executable":null,"fresh":false} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","e13922970800d95b523413018b2279df42df3442"]],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\stellar-xdr-2fd16645a198abbb\\out"} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#curve25519-dalek@4.1.3","linked_libs":[],"linked_paths":[],"cfgs":["curve25519_dalek_bits=\"64\"","curve25519_dalek_backend=\"simd\""],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\curve25519-dalek-30be4df85e25329a\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crypto-common@0.1.6","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\crypto-common-0.1.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crypto_common","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\crypto-common-0.1.6\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcrypto_common-f3209b3703b52e84.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcrypto_common-f3209b3703b52e84.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#block-buffer@0.10.4","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\block-buffer-0.10.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"block_buffer","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\block-buffer-0.10.4\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libblock_buffer-bbb05d04d23dd6a8.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libblock_buffer-bbb05d04d23dd6a8.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-common-22.1.3\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-common-22.1.3\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["serde","shallow-val-hash","std","testutils","wasmi"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-env-common-493398f31fb9e719\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-env-common-493398f31fb9e719\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#curve25519-dalek-derive@0.1.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\curve25519-dalek-derive-0.1.1\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"curve25519_dalek_derive","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\curve25519-dalek-derive-0.1.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\curve25519_dalek_derive-95c4b3e29f4ecc89.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\curve25519_dalek_derive-95c4b3e29f4ecc89.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\curve25519_dalek_derive-95c4b3e29f4ecc89.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\curve25519_dalek_derive-95c4b3e29f4ecc89.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#prettyplease@0.2.37","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\prettyplease-0.2.37\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\prettyplease-0.2.37\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\prettyplease-7ab6e26b592cb050\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\prettyplease-7ab6e26b592cb050\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#fnv@1.0.7","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\fnv-1.0.7\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"fnv","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\fnv-1.0.7\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libfnv-5afc0f3d501bb49b.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libfnv-5afc0f3d501bb49b.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#elliptic-curve@0.13.8","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\elliptic-curve-0.13.8\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"elliptic_curve","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\elliptic-curve-0.13.8\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","digest","ff","group","hazmat","sec1"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libelliptic_curve-da2b898bf3549953.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#indexmap@2.13.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\indexmap-2.13.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"indexmap","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\indexmap-2.13.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libindexmap-4099f949ce9eceb7.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmi_arena@0.4.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmi_arena-0.4.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmi_arena","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmi_arena-0.4.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libwasmi_arena-2871e35f0067a3df.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmi_core@0.13.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmi_core-0.13.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmi_core","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmi_core-0.13.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libwasmi_core-3945f62d062a780b.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#spin@0.9.8","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\spin-0.9.8\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"spin","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\spin-0.9.8\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["mutex","rwlock","spin_mutex","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libspin-e0e42f13b7156d67.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#arbitrary@1.3.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\arbitrary-1.3.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"arbitrary","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\arbitrary-1.3.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["derive","derive_arbitrary"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libarbitrary-0bf95031d0189f77.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rand@0.8.5","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rand-0.8.5\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rand","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\rand-0.8.5\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","getrandom","libc","rand_chacha","std","std_rng"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\librand-62addf24c353fc7b.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#escape-bytes@0.1.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\escape-bytes-0.1.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"escape_bytes","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\escape-bytes-0.1.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libescape_bytes-e2b8490c7b2e5cf2.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#smallvec@1.15.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\smallvec-1.15.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"smallvec","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\smallvec-1.15.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["union"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsmallvec-a6b93743833a20d8.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_core@0.20.11","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling_core-0.20.11\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling_core","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling_core-0.20.11\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["strsim","suggestions"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdarling_core-862904601cc11ce4.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdarling_core-862904601cc11ce4.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#prettyplease@0.2.37","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\prettyplease-bfa6cce2bfc5ffba\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ecdsa@0.16.9","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ecdsa-0.16.9\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ecdsa","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ecdsa-0.16.9\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","der","digest","hazmat","rfc6979","signing","verifying"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libecdsa-6c48612790742087.rmeta"],"executable":null,"fresh":false} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","c535e4ceab647d9b14b546045fcf73573e491256"]],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-env-common-0acd7f1446ab59c7\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\digest-0.10.7\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"digest","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\digest-0.10.7\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","block-buffer","core-api","default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdigest-247bb9526e00bba5.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdigest-247bb9526e00bba5.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmparser@0.116.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmparser-0.116.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmparser","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmparser-0.116.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libwasmparser-793f4c1297eb0dd5.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libwasmparser-793f4c1297eb0dd5.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-std@0.4.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-std-0.4.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_std","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-std-0.4.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libark_std-92fccde78d25d54a.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#semver@1.0.27","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\semver-1.0.27\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"semver","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\semver-1.0.27\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsemver-943555b522405dcc.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base64@0.13.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\base64-0.13.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base64","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\base64-0.13.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libbase64-6d740925719be679.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-common-22.1.3\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-common-22.1.3\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-env-common-78dc4ed9dfd964a6\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-env-common-78dc4ed9dfd964a6\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base64@0.13.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\base64-0.13.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base64","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\base64-0.13.1\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libbase64-bfff77276d03494b.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libbase64-bfff77276d03494b.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-host@22.1.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-host-22.1.3\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-host-22.1.3\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["recording_mode","testutils"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-env-host-f8f7ad08a99655c7\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-env-host-f8f7ad08a99655c7\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cfg-if-1.0.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cfg_if","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cfg-if-1.0.4\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcfg_if-74c64009f24fcd60.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcfg_if-74c64009f24fcd60.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.2.17","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cpufeatures-0.2.17\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cpufeatures","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\cpufeatures-0.2.17\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcpufeatures-7b85bbbfdfe10e6d.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcpufeatures-7b85bbbfdfe10e6d.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#primeorder@0.13.6","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\primeorder-0.13.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"primeorder","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\primeorder-0.13.6\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libprimeorder-b801ca576000c1c9.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ed25519@2.2.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ed25519-2.2.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ed25519","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ed25519-2.2.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libed25519-f76d1d31da444112.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-serialize@0.4.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-serialize-0.4.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_serialize","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-serialize-0.4.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["ark-serialize-derive","default","derive"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libark_serialize-e191987402b1bff7.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_with@3.18.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_with-3.18.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_with","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_with-3.18.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","hex","macros","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde_with-41feee72343ee8af.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#keccak@0.1.6","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\keccak-0.1.6\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"keccak","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\keccak-0.1.6\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libkeccak-394f40ffa820cda3.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#static_assertions@1.1.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\static_assertions-1.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"static_assertions","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\static_assertions-1.1.0\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libstatic_assertions-a083fb5150c1fbe2.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sha3@0.10.8","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sha3-0.10.8\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sha3","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sha3-0.10.8\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsha3-ff7821a9f1ee8678.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sha2@0.10.9","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sha2-0.10.9\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sha2","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\sha2-0.10.9\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsha2-1aae122bcb75f3d0.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsha2-1aae122bcb75f3d0.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-host@22.1.3","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-env-host-ec72a776d2c56f02\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-spec@22.0.11","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-spec-22.0.11\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_spec","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-spec-22.0.11\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsoroban_spec-8b61ba0f99464d95.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsoroban_spec-8b61ba0f99464d95.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","c535e4ceab647d9b14b546045fcf73573e491256"]],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-env-common-a23d14a6f6e4e610\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ethnum@1.5.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ethnum-1.5.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ethnum","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ethnum-1.5.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libethnum-71b1628689cf55e4.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#prettyplease@0.2.37","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\prettyplease-0.2.37\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"prettyplease","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\prettyplease-0.2.37\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libprettyplease-84befde6f1a06a8a.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libprettyplease-84befde6f1a06a8a.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_macro@0.20.11","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling_macro-0.20.11\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"darling_macro","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling_macro-0.20.11\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\darling_macro-9b5dbf51c539f3cb.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\darling_macro-9b5dbf51c539f3cb.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\darling_macro-9b5dbf51c539f3cb.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\darling_macro-9b5dbf51c539f3cb.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-builtin-sdk-macros@22.1.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-builtin-sdk-macros-22.1.3\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"soroban_builtin_sdk_macros","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-builtin-sdk-macros-22.1.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_builtin_sdk_macros-388471ec3e9fc3d2.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_builtin_sdk_macros-388471ec3e9fc3d2.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_builtin_sdk_macros-388471ec3e9fc3d2.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_builtin_sdk_macros-388471ec3e9fc3d2.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk-macros@22.0.11","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-sdk-macros-22.0.11\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-sdk-macros-22.0.11\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-sdk-macros-8d7aec2eb92cb3af\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-sdk-macros-8d7aec2eb92cb3af\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmparser-nostd@0.100.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmparser-nostd-0.100.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmparser_nostd","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmparser-nostd-0.100.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libwasmparser_nostd-738c2e39877223cd.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zmij-1.0.21\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zmij","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\zmij-1.0.21\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libzmij-ff89e32e9f2c4004.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#static_assertions@1.1.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\static_assertions-1.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"static_assertions","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\static_assertions-1.1.0\\src\\lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libstatic_assertions-1b80f300ec71996a.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libstatic_assertions-1b80f300ec71996a.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#p256@0.13.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\p256-0.13.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"p256","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\p256-0.13.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","digest","ecdsa","ecdsa-core","sha2","sha256"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libp256-14d680a9739adc12.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#curve25519-dalek@4.1.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\curve25519-dalek-4.1.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"curve25519_dalek","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\curve25519-dalek-4.1.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","digest","precomputed-tables","zeroize"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcurve25519_dalek-691d8cd79e1391c3.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#k256@0.13.4","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\k256-0.13.4\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"k256","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\k256-0.13.4\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","digest","ecdsa","ecdsa-core","sha2","sha256"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libk256-89005f8f63728d11.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#memchr@2.8.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\memchr-2.8.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"memchr","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\memchr-2.8.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libmemchr-ca5486d432025975.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ethnum@1.5.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ethnum-1.5.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ethnum","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ethnum-1.5.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libethnum-754d21884c7bcc2c.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libethnum-754d21884c7bcc2c.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-common-22.1.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_env_common","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-common-22.1.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsoroban_env_common-a088220a1f8a261d.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsoroban_env_common-a088220a1f8a261d.rmeta"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk-macros@22.0.11","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["RUSTC_VERSION","1.94.1"],["GIT_REVISION","34f7f53ae31e0fd02aab436a9872e79fa671ca02"]],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-sdk-macros-35e7eed70e917978\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling@0.20.11","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling-0.20.11\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\darling-0.20.11\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","suggestions"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdarling-94a5d5e4b5e0eecb.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libdarling-94a5d5e4b5e0eecb.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-spec-rust@22.0.11","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-spec-rust-22.0.11\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_spec_rust","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-spec-rust-22.0.11\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsoroban_spec_rust-19980d3103c1ebd4.rlib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsoroban_spec_rust-19980d3103c1ebd4.rmeta"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk@22.0.11","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-sdk-22.0.11\\Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-sdk-22.0.11\\build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-sdk-1f7ed78efb5db74a\\build-script-build.exe","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-sdk-1f7ed78efb5db74a\\build_script_build.pdb"],"executable":null,"fresh":true} -{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk@22.0.11","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\build\\soroban-sdk-0c7fb0dae89e9331\\out"} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk-macros@22.0.11","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-sdk-macros-22.0.11\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"soroban_sdk_macros","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-sdk-macros-22.0.11\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_sdk_macros-2e735885615373b2.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_sdk_macros-2e735885615373b2.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_sdk_macros-2e735885615373b2.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\soroban_sdk_macros-2e735885615373b2.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#bytes-lit@0.0.5","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bytes-lit-0.0.5\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"bytes_lit","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\bytes-lit-0.0.5\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\bytes_lit-f77fc63cda384c3a.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\bytes_lit-f77fc63cda384c3a.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\bytes_lit-f77fc63cda384c3a.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\bytes_lit-f77fc63cda384c3a.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ctor@0.2.9","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ctor-0.2.9\\Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"ctor","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ctor-0.2.9\\src\\lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ctor-59a21af55f79522b.dll","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ctor-59a21af55f79522b.dll.lib","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ctor-59a21af55f79522b.dll.exp","C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\ctor-59a21af55f79522b.pdb"],"executable":null,"fresh":true} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ed25519-dalek@2.2.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ed25519-dalek-2.2.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ed25519_dalek","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ed25519-dalek-2.2.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","fast","rand_core","std","zeroize"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libed25519_dalek-8ab5d20fb91df47f.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.18","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itoa-1.0.18\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itoa","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\itoa-1.0.18\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libitoa-08aa8c6ab5d62562.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hex-literal@0.4.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hex-literal-0.4.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hex_literal","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\hex-literal-0.4.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libhex_literal-61aee85d50ada272.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_json-1.0.149\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_json","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\serde_json-1.0.149\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libserde_json-b75e018b20712fd9.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmparser@0.116.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmparser-0.116.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmparser","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\wasmparser-0.116.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libwasmparser-2499d3dc6b41f0a2.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-wasmi@0.31.1-soroban.20.0.1","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-wasmi-0.31.1-soroban.20.0.1\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_wasmi","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-wasmi-0.31.1-soroban.20.0.1\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsoroban_wasmi-67429a9839c5a2d1.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-ff@0.4.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-ff-0.4.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_ff","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-ff-0.4.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libark_ff-fdf9f40b9cfb120b.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-poly@0.4.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-poly-0.4.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_poly","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-poly-0.4.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libark_poly-47471d124ac480be.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-ec@0.4.2","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-ec-0.4.2\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_ec","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-ec-0.4.2\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libark_ec-dd9986fcd5ab8586.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ark-bls12-381@0.4.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-bls12-381-0.4.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ark_bls12_381","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\ark-bls12-381-0.4.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["curve","default","scalar_field"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libark_bls12_381-b21ada6ec9aeae5c.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@22.1.0","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-xdr-22.1.0\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_xdr","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\stellar-xdr-22.1.0\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","arbitrary","base64","curr","hex","serde","std"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libstellar_xdr-6ea4065ed3d5387b.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@22.1.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-common-22.1.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_env_common","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-common-22.1.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["serde","shallow-val-hash","std","testutils","wasmi"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsoroban_env_common-9d052b00a98aca65.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-host@22.1.3","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-host-22.1.3\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_env_host","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-env-host-22.1.3\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["recording_mode","testutils"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsoroban_env_host-2123ec9409e3d128.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-ledger-snapshot@22.0.11","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-ledger-snapshot-22.0.11\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_ledger_snapshot","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-ledger-snapshot-22.0.11\\src\\lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsoroban_ledger_snapshot-070367ee98fd997f.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk@22.0.11","manifest_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-sdk-22.0.11\\Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_sdk","src_path":"C:\\Users\\EMMA\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\soroban-sdk-22.0.11\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libsoroban_sdk-690539aabde02001.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-message","package_id":"path+file:///C:/Users/EMMA/Desktop/chen/contracts/core_vault#0.1.0","manifest_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"core_vault","src_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused import: `Symbol`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"core_vault\\src\\lib.rs","byte_start":59,"byte_end":65,"line_start":2,"line_end":2,"column_start":48,"column_end":54,"is_primary":true,"text":[{"text":"use soroban_sdk::{contract, contractimpl, Env, Symbol, String};","highlight_start":48,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"core_vault\\src\\lib.rs","byte_start":57,"byte_end":65,"line_start":2,"line_end":2,"column_start":46,"column_end":54,"is_primary":true,"text":[{"text":"use soroban_sdk::{contract, contractimpl, Env, Symbol, String};","highlight_start":46,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused import: `Symbol`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0mcore_vault\\src\\lib.rs:2:48\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m2\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use soroban_sdk::{contract, contractimpl, Env, Symbol, String};\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///C:/Users/EMMA/Desktop/chen/contracts/core_vault#0.1.0","manifest_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"core_vault","src_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused import: `Symbol`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"core_vault\\src\\lib.rs","byte_start":59,"byte_end":65,"line_start":2,"line_end":2,"column_start":48,"column_end":54,"is_primary":true,"text":[{"text":"use soroban_sdk::{contract, contractimpl, Env, Symbol, String};","highlight_start":48,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"core_vault\\src\\lib.rs","byte_start":57,"byte_end":65,"line_start":2,"line_end":2,"column_start":46,"column_end":54,"is_primary":true,"text":[{"text":"use soroban_sdk::{contract, contractimpl, Env, Symbol, String};","highlight_start":46,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused import: `Symbol`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0mcore_vault\\src\\lib.rs:2:48\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m2\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use soroban_sdk::{contract, contractimpl, Env, Symbol, String};\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///C:/Users/EMMA/Desktop/chen/contracts/core_vault#0.1.0","manifest_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"core_vault","src_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused variable: `env`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"core_vault\\src\\lib.rs","byte_start":185,"byte_end":188,"line_start":9,"line_end":9,"column_start":18,"column_end":21,"is_primary":true,"text":[{"text":" pub fn hello(env: Env, to: String) -> String {","highlight_start":18,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"core_vault\\src\\lib.rs","byte_start":185,"byte_end":188,"line_start":9,"line_end":9,"column_start":18,"column_end":21,"is_primary":true,"text":[{"text":" pub fn hello(env: Env, to: String) -> String {","highlight_start":18,"highlight_end":21}],"label":null,"suggested_replacement":"_env","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused variable: `env`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0mcore_vault\\src\\lib.rs:9:18\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m9\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub fn hello(env: Env, to: String) -> String {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^\u001b[0m \u001b[1m\u001b[93mhelp: if this is intentional, prefix it with an underscore: `_env`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///C:/Users/EMMA/Desktop/chen/contracts/core_vault#0.1.0","manifest_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"core_vault","src_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"use of deprecated method `soroban_sdk::Env::register_contract`: use `register`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"core_vault\\src\\test.rs","byte_start":152,"byte_end":169,"line_start":9,"line_end":9,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" let contract_id = env.register_contract(None, CoreVaultContract);","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(deprecated)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: use of deprecated method `soroban_sdk::Env::register_contract`: use `register`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0mcore_vault\\src\\test.rs:9:27\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m9\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let contract_id = env.register_contract(None, CoreVaultContract);\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: `#[warn(deprecated)]` on by default\n\n"}} -{"reason":"compiler-message","package_id":"path+file:///C:/Users/EMMA/Desktop/chen/contracts/core_vault#0.1.0","manifest_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"core_vault","src_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"unused variable: `env`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"core_vault\\src\\lib.rs","byte_start":185,"byte_end":188,"line_start":9,"line_end":9,"column_start":18,"column_end":21,"is_primary":true,"text":[{"text":" pub fn hello(env: Env, to: String) -> String {","highlight_start":18,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"core_vault\\src\\lib.rs","byte_start":185,"byte_end":188,"line_start":9,"line_end":9,"column_start":18,"column_end":21,"is_primary":true,"text":[{"text":" pub fn hello(env: Env, to: String) -> String {","highlight_start":18,"highlight_end":21}],"label":null,"suggested_replacement":"_env","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused variable: `env`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0mcore_vault\\src\\lib.rs:9:18\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m9\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub fn hello(env: Env, to: String) -> String {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^\u001b[0m \u001b[1m\u001b[93mhelp: if this is intentional, prefix it with an underscore: `_env`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default\n\n"}} -{"reason":"compiler-artifact","package_id":"path+file:///C:/Users/EMMA/Desktop/chen/contracts/core_vault#0.1.0","manifest_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"core_vault","src_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcore_vault-1763b53d048df490.rmeta"],"executable":null,"fresh":false} -{"reason":"compiler-artifact","package_id":"path+file:///C:/Users/EMMA/Desktop/chen/contracts/core_vault#0.1.0","manifest_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"core_vault","src_path":"C:\\Users\\EMMA\\Desktop\\chen\\contracts\\core_vault\\src\\lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":true},"features":[],"filenames":["C:\\Users\\EMMA\\Desktop\\chen\\contracts\\target\\debug\\deps\\libcore_vault-05b5185f25d5c8c6.rmeta"],"executable":null,"fresh":false} -{"reason":"build-finished","success":true} diff --git a/data/agent-memory.json b/data/agent-memory.json new file mode 100644 index 00000000..97855504 --- /dev/null +++ b/data/agent-memory.json @@ -0,0 +1,8 @@ +{ + "user123": [ + "LLM: [{\"action\":\"test_action\",\"status\":\"success\",\"error\":null}]", + "LLM: [{\"action\":\"test_action\",\"status\":\"success\",\"error\":null},{\"action\":\"test_action\",\"status\":\"success\",\"error\":null}]", + "LLM: [{\"action\":\"failing_action\",\"status\":\"error\",\"error\":\"Tool failed\",\"payload\":\"{}...\"},{\"action\":\"action2\",\"status\":\"success\",\"error\":null}]", + "LLM: [{\"action\":\"slow_action\",\"status\":\"error\",\"error\":\"Cannot read properties of undefined (reading 'status')\",\"payload\":\"{\\\"test\\\":\\\"data\\\"}...\"}]" + ] +} \ No newline at end of file diff --git a/packages/bot/src/adapters/discord.js b/packages/bot/src/adapters/discord.js index 6c9ec140..c88886f2 100644 --- a/packages/bot/src/adapters/discord.js +++ b/packages/bot/src/adapters/discord.js @@ -14,23 +14,33 @@ const discord_js_1 = require("discord.js"); const sdk_core_1 = require("@chen-pilot/sdk-core"); const helpProvider_1 = require("../services/helpProvider"); const assetVerification_1 = require("../assetVerification"); +const rateLimiter_1 = require("../rateLimiter"); const performanceProfiler_1 = require("../performanceProfiler"); +const multisigWizard_1 = require("../multisigWizard"); +const scamDetection_1 = require("../scamDetection"); +const marketOverview_1 = require("../marketOverview"); const BACKEND_URL = process.env.BACKEND_URL || "http://localhost:3000"; const DASHBOARD_URL = process.env.DASHBOARD_URL || `${BACKEND_URL}/dashboard`; const HORIZON_URL = process.env.STELLAR_HORIZON_URL || 'https://horizon-testnet.stellar.org'; -const DEBOUNCE_MS = 1000; // 1 second debounce between commands -// Commands that involve personal account data and must only be used in DMs -const DM_ONLY_COMMANDS = ['!balance', '!sponsor']; -function isDM(message) { - return message.channel.type === discord_js_1.ChannelType.DM; -} -function rejectPublicChannel(message) { - return __awaiter(this, void 0, void 0, function* () { - yield message.reply('🔒 This command contains sensitive account data and can only be used in a Direct Message (DM) with the bot.'); - }); -} +const DEBOUNCE_MS = 2000; +// Role names required for advanced commands (#120) +const ADVANCED_ROLE_NAMES = (process.env.DISCORD_ADVANCED_ROLES || 'DeFi Pro,Whale,Admin').split(',').map(r => r.trim()); +// Supported currencies for reports (#118) +const SUPPORTED_CURRENCIES = ['USD', 'XLM', 'BTC']; // Commands that involve personal account data and must only be used in DMs const DM_ONLY_COMMANDS = ['!balance', '!sponsor']; +// Commands that start a wizard +const WIZARD_COMMANDS = ['!multisig']; +// Commands that require stricter rate limiting +const SENSITIVE_COMMANDS = ['!sponsor', '!trustline', '!validate']; +// #124: Scam detection configuration +const SCAM_DETECTION_ENABLED = process.env.DISCORD_SCAM_DETECTION_ENABLED !== 'false'; +const SCAM_DETECTION_ACTION = (process.env.DISCORD_SCAM_DETECTION_ACTION || 'flag'); +const SCAM_DETECTION_CHANNELS = (process.env.DISCORD_SCAM_DETECTION_CHANNELS || '').split(',').filter(c => c.trim()); +// #128: Daily market overview digest configuration +const MARKET_OVERVIEW_ENABLED = process.env.DISCORD_MARKET_OVERVIEW_ENABLED === 'true'; +const MARKET_OVERVIEW_CHANNEL_ID = process.env.DISCORD_MARKET_OVERVIEW_CHANNEL_ID || ''; +const MARKET_OVERVIEW_TIME = process.env.DISCORD_MARKET_OVERVIEW_TIME || '09:00'; // Format: HH:MM in UTC function isDM(message) { return message.channel.type === discord_js_1.ChannelType.DM; } @@ -44,6 +54,10 @@ class DiscordAdapter { this.userChannels = new Map(); // userId -> channelId // #145: Track last command timestamp per user this.lastCommandTime = new Map(); + // #118: User preferred currency (userId -> currency) + this.userCurrency = new Map(); + // #119: Active price alerts + this.priceAlerts = new Map(); this.token = token; this.auditLogChannelId = auditLogChannelId || process.env.DISCORD_AUDIT_LOG_CHANNEL_ID; this.client = new discord_js_1.Client({ @@ -51,9 +65,19 @@ class DiscordAdapter { discord_js_1.GatewayIntentBits.Guilds, discord_js_1.GatewayIntentBits.GuildMessages, discord_js_1.GatewayIntentBits.MessageContent, + discord_js_1.GatewayIntentBits.GuildMembers, ], }); this.verificationService = new assetVerification_1.AssetVerificationService(HORIZON_URL); + // #125: Initialize multisig wizard + this.multisigWizard = new multisigWizard_1.MultisigWizard(); + // #123: Initialize rate limiters + this.defaultRateLimiter = new rateLimiter_1.RateLimiter(rateLimiter_1.DEFAULT_RATE_LIMIT); + this.strictRateLimiter = new rateLimiter_1.RateLimiter(rateLimiter_1.STRICT_RATE_LIMIT); + // #124: Initialize scam detection service + this.scamDetectionService = new scamDetection_1.ScamDetectionService(); + // #128: Initialize market overview service + this.marketOverviewService = new marketOverview_1.MarketOverviewService(); } // #145: Returns true if the user is flooding (within debounce window) isFlooding(userId) { @@ -65,6 +89,128 @@ class DiscordAdapter { this.lastCommandTime.set(userId, now); return false; } + // #123: Check rate limit for a user and command + checkRateLimit(userId, command) { + // Determine which rate limiter to use based on command + const isSensitive = SENSITIVE_COMMANDS.some(cmd => command.startsWith(cmd)); + const rateLimiter = isSensitive ? this.strictRateLimiter : this.defaultRateLimiter; + const status = rateLimiter.check(userId); + if (!status.allowed) { + const retryAfter = status.retryAfter || 60; + return { + allowed: false, + message: `⏳ Rate limit exceeded. Please wait ${retryAfter} seconds before trying again.` + }; + } + return { allowed: true }; + } + // #124: Check if scam detection should be applied to a channel + shouldScanForScams(message) { + if (!SCAM_DETECTION_ENABLED) + return false; + if (isDM(message)) + return false; // Don't scan DMs + // If specific channels are configured, only scan those + if (SCAM_DETECTION_CHANNELS.length > 0) { + return SCAM_DETECTION_CHANNELS.includes(message.channelId); + } + // Otherwise, scan all public channels + return true; + } + // #124: Handle detected scam links + handleScamDetection(message, result) { + return __awaiter(this, void 0, void 0, function* () { + const warningMessage = `🚨 **Potential Scam Link Detected**\n\n` + + `**Reason:** ${result.reason}\n` + + `**Pattern:** \`${result.matchedPattern}\`\n\n` + + `This message has been ${SCAM_DETECTION_ACTION === 'block' ? 'blocked' : 'flagged'} for your safety.`; + if (SCAM_DETECTION_ACTION === 'block') { + yield message.delete(); + // Cast to TextChannel since we only scan public channels + if (message.channel.type === discord_js_1.ChannelType.GuildText || message.channel.type === discord_js_1.ChannelType.GuildPublicThread || message.channel.type === discord_js_1.ChannelType.GuildPrivateThread) { + yield message.channel.send(warningMessage); + } + } + else { + yield message.reply(warningMessage); + } + // Log to audit channel if configured + yield this.logAuditAction({ + action: 'SCAM_LINK_DETECTED', + triggeredBy: message.author.id, + details: `Reason: ${result.reason}, Pattern: ${result.matchedPattern}, Action: ${SCAM_DETECTION_ACTION}`, + success: true, + timestamp: new Date().toISOString(), + }); + }); + } + // #128: Calculate milliseconds until next scheduled market overview post + getTimeUntilNextSchedule() { + const [hours, minutes] = MARKET_OVERVIEW_TIME.split(':').map(Number); + const now = new Date(); + const scheduledTime = new Date(); + scheduledTime.setUTCHours(hours, minutes, 0, 0); + // If the scheduled time has already passed today, schedule for tomorrow + if (scheduledTime <= now) { + scheduledTime.setDate(scheduledTime.getDate() + 1); + } + return scheduledTime.getTime() - now.getTime(); + } + // #128: Post daily market overview to configured channel + postMarketOverview() { + return __awaiter(this, void 0, void 0, function* () { + if (!MARKET_OVERVIEW_CHANNEL_ID) { + console.warn('⚠️ Market overview channel ID not configured, skipping digest'); + return; + } + try { + console.log('📊 Fetching daily market overview...'); + const marketData = yield this.marketOverviewService.fetchMarketOverview(); + const message = this.marketOverviewService.formatMarketOverviewMessage(marketData); + const channel = this.client.channels.cache.get(MARKET_OVERVIEW_CHANNEL_ID); + if (!channel) { + console.error(`❌ Market overview channel ${MARKET_OVERVIEW_CHANNEL_ID} not found`); + return; + } + yield channel.send(message); + console.log('✅ Daily market overview posted successfully'); + yield this.logAuditAction({ + action: 'MARKET_OVERVIEW_POSTED', + triggeredBy: 'system', + details: `Channel: ${MARKET_OVERVIEW_CHANNEL_ID}`, + success: true, + timestamp: new Date().toISOString(), + }); + } + catch (error) { + console.error('❌ Error posting market overview:', error); + yield this.logAuditAction({ + action: 'MARKET_OVERVIEW_FAILED', + triggeredBy: 'system', + details: `Error: ${error instanceof Error ? error.message : String(error)}`, + success: false, + timestamp: new Date().toISOString(), + }); + } + }); + } + // #128: Start the daily market overview scheduler + startMarketOverviewScheduler() { + if (!MARKET_OVERVIEW_ENABLED || !MARKET_OVERVIEW_CHANNEL_ID) { + console.log('ℹ️ Market overview digest disabled or not configured'); + return; + } + const initialDelay = this.getTimeUntilNextSchedule(); + console.log(`📅 Market overview digest scheduled for ${MARKET_OVERVIEW_TIME} UTC (next post in ${Math.round(initialDelay / 1000 / 60)} minutes)`); + // Schedule the first post + setTimeout(() => __awaiter(this, void 0, void 0, function* () { + yield this.postMarketOverview(); + // Then schedule daily posts (24 hours = 86400000 ms) + this.marketOverviewInterval = setInterval(() => __awaiter(this, void 0, void 0, function* () { + yield this.postMarketOverview(); + }), 24 * 60 * 60 * 1000); + }), initialDelay); + } init() { return __awaiter(this, void 0, void 0, function* () { const token = process.env.DISCORD_BOT_TOKEN || this.token; @@ -76,141 +222,380 @@ class DiscordAdapter { var _a; console.log(`✅ Discord bot logged in as ${(_a = this.client.user) === null || _a === void 0 ? void 0 : _a.tag}`); this.startStatusUpdates(); + // #117: Automated welcome flow for new server members + this.client.on('guildMemberAdd', (member) => __awaiter(this, void 0, void 0, function* () { + try { + yield this.sendWelcomeMessage(member); + } + catch (error) { + console.error('❌ Error sending welcome message:', error); + } + })); }); this.client.on("messageCreate", (0, performanceProfiler_1.withPerformanceProfiling)('messageCreate', 'discord', 'system', (message) => __awaiter(this, void 0, void 0, function* () { + var _a, _b, _c, _d, _e, _f; if (message.author.bot) return; + // #124: Scan for scam links in public channels + if (this.shouldScanForScams(message)) { + const scamResult = this.scamDetectionService.detectScamLinks(message.content); + if (scamResult.isScam) { + yield this.handleScamDetection(message, scamResult); + return; // Stop processing if scam is detected and blocked + } + } const userId = message.author.id; + const command = message.content.split(' ')[0]; + const commandName = (0, performanceProfiler_1.extractCommandName)(message.content, 'discord'); // #145: Anti-flood check for all commands if (this.isFlooding(userId)) { yield message.reply("⏳ Please wait a moment before sending another command."); return; } + // #123: Rate limit check + const rateLimitResult = this.checkRateLimit(userId, command); + if (!rateLimitResult.allowed) { + yield message.reply((_a = rateLimitResult.message) !== null && _a !== void 0 ? _a : '⏳ Rate limit exceeded. Please try again later.'); + return; + } + // Wrap each command handler with performance profiling if (message.content === "!start") { - yield message.reply("Welcome to Chen Pilot! I am your AI-powered Stellar DeFi assistant. Type !help to see what I can do!"); + yield (0, performanceProfiler_1.withPerformanceProfiling)('!start', 'discord', userId, () => __awaiter(this, void 0, void 0, function* () { + yield message.reply("Welcome to Chen Pilot! I am your AI-powered Stellar DeFi assistant. Type !help to see what I can do!"); + }))(); + } + // #134: Ping command — measure end-to-end latency + if (message.content === '!ping') { + yield (0, performanceProfiler_1.withPerformanceProfiling)('!ping', 'discord', userId, () => __awaiter(this, void 0, void 0, function* () { + const startTime = Date.now(); + try { + const controller = new AbortController(); + const timeout = setTimeout(() => controller.abort(), 5000); + const response = yield fetch(`${BACKEND_URL}/api/health`, { + method: 'GET', + signal: controller.signal, + }); + clearTimeout(timeout); + const roundtripMs = Date.now() - startTime; + if (response.ok) { + yield message.reply(`🏓 **Pong!**\n\n📡 **End-to-End Latency:** ${roundtripMs}ms\n✅ Backend: Online`); + } + else { + yield message.reply(`🏓 **Pong!**\n\n📡 **End-to-End Latency:** ${roundtripMs}ms\n⚠️ Backend: Returned HTTP ${response.status}`); + } + } + catch (_a) { + const roundtripMs = Date.now() - startTime; + yield message.reply(`🏓 **Pong!**\n\n📡 **End-to-End Latency:** ${roundtripMs}ms\n❌ Backend: Unreachable`); + } + }))(); } if (message.content.startsWith("!help")) { - const query = message.content.replace("!help", "").trim(); - const results = (0, helpProvider_1.searchFeatures)(query); - const isSearch = query.length > 0; - yield message.reply((0, helpProvider_1.formatHelpMessage)(results, isSearch, "markdown")); + yield (0, performanceProfiler_1.withPerformanceProfiling)(commandName, 'discord', userId, () => __awaiter(this, void 0, void 0, function* () { + const query = message.content.replace("!help", "").trim(); + const results = (0, helpProvider_1.searchFeatures)(query); + const isSearch = query.length > 0; + yield message.reply((0, helpProvider_1.formatHelpMessage)(results, isSearch, "markdown")); + }))(); } if (message.content === "!thread") { - if (message.channel.type === discord_js_1.ChannelType.GuildText) { + yield (0, performanceProfiler_1.withPerformanceProfiling)('!thread', 'discord', userId, () => __awaiter(this, void 0, void 0, function* () { + if (message.channel.type === discord_js_1.ChannelType.GuildText) { + try { + const thread = yield message.startThread({ + name: `Chen Pilot Session - ${message.author.username}`, + autoArchiveDuration: 60, + }); + yield thread.send(`👋 Hello ${message.author.username}! I've started this thread to keep our conversation organized. How can I help you with Stellar DeFi today?`); + } + catch (error) { + console.error("Error creating thread:", error); + yield message.reply("❌ I couldn't start a thread. Please make sure I have the 'Create Public Threads' permission."); + } + } + else if (message.channel.isThread()) { + yield message.reply("🧵 We are already in a thread! I'm ready to assist you here."); + } + else { + yield message.reply("❌ Threads can only be started in text channels."); + } + }))(); + } + if (message.content === "!sponsor") { + yield (0, performanceProfiler_1.withPerformanceProfiling)('!sponsor', 'discord', userId, () => __awaiter(this, void 0, void 0, function* () { + yield message.reply("⏳ Requesting account sponsorship..."); try { - const thread = yield message.startThread({ - name: `Chen Pilot Session - ${message.author.username}`, - autoArchiveDuration: 60, + const response = yield fetch(`${BACKEND_URL}/api/account/${userId}/sponsor`, { + method: "POST", + headers: { "Content-Type": "application/json" }, }); - yield thread.send(`👋 Hello ${message.author.username}! I've started this thread to keep our conversation organized. How can I help you with Stellar DeFi today?`); + const data = (yield response.json()); + if (data.success) { + yield message.reply(`✅ Account sponsored successfully!\n📬 Address: \`${data.address}\``); + yield this.logAuditAction({ + action: 'SPONSOR_ACCOUNT', + triggeredBy: userId, + details: `Address: ${data.address}`, + success: true, + timestamp: new Date().toISOString(), + }); + } + else { + yield message.reply(`❌ Sponsorship failed: ${data.message}`); + yield this.logAuditAction({ + action: 'SPONSOR_ACCOUNT', + triggeredBy: userId, + details: `Failed: ${data.message}`, + success: false, + timestamp: new Date().toISOString(), + }); + } } catch (error) { - console.error("Error creating thread:", error); - yield message.reply("❌ I couldn't start a thread. Please make sure I have the 'Create Public Threads' permission."); + console.error("Sponsor command error:", error); + yield message.reply("❌ Could not reach the sponsorship service. Please try again later."); } - } - else if (message.channel.isThread()) { - yield message.reply("🧵 We are already in a thread! I'm ready to assist you here."); - } - else { - yield message.reply("❌ Threads can only be started in text channels."); - } + }))(); } - if (message.content === "!sponsor") { - yield message.reply("⏳ Requesting account sponsorship..."); - try { - const response = yield fetch(`${BACKEND_URL}/api/account/${userId}/sponsor`, { - method: "POST", - headers: { "Content-Type": "application/json" }, - }); - const data = (yield response.json()); - if (data.success) { - yield message.reply(`✅ Account sponsored successfully!\n📬 Address: \`${data.address}\``); + if (message.content.startsWith("!trustline")) { + yield (0, performanceProfiler_1.withPerformanceProfiling)(commandName, 'discord', userId, () => __awaiter(this, void 0, void 0, function* () { + const args = message.content.split(" ").slice(1); + if (args.length < 1) { + return message.reply("Usage: !trustline [issuerDomain|issuerAddress]\nExample: !trustline USDC circle.com"); + } + const assetCode = args[0]; + const assetIssuer = args[1]; + if (!assetIssuer) { + return message.reply(`Please provide an issuer domain or address for ${assetCode}.`); + } + try { + yield message.reply(`🔍 Looking up asset ${assetCode} from ${assetIssuer}...`); + const op = yield (0, sdk_core_1.createTrustlineOperation)(assetCode, assetIssuer); + let response = `✅ Found asset ${assetCode}!\n\n`; + response += `To add this trustline, you can use the following details in your wallet:\n`; + response += `**Asset:** ${assetCode}\n`; + response += `**Issuer:** \`${op.asset.issuer}\`\n\n`; + response += `*Note: In a future update, I will provide a direct signing link.*`; + yield message.reply(response); yield this.logAuditAction({ - action: 'SPONSOR_ACCOUNT', - triggeredBy: userId, - details: `Address: ${data.address}`, + action: 'TRUSTLINE_LOOKUP', + triggeredBy: message.author.id, + details: `Asset: ${assetCode}, Issuer: ${assetIssuer}`, success: true, timestamp: new Date().toISOString(), }); } - else { - yield message.reply(`❌ Sponsorship failed: ${data.message}`); - yield this.logAuditAction({ - action: 'SPONSOR_ACCOUNT', - triggeredBy: userId, - details: `Failed: ${data.message}`, - success: false, - timestamp: new Date().toISOString(), - }); + catch (error) { + yield message.reply(`❌ Error: ${error instanceof Error ? error.message : String(error)}`); } }))(); } - if (message.content.startsWith("!trustline")) { - const args = message.content.split(" ").slice(1); - if (args.length < 1) { - return message.reply("Usage: !trustline [issuerDomain|issuerAddress]\nExample: !trustline USDC circle.com"); + // #146: Dashboard command + if (message.content === '!dashboard') { + yield (0, performanceProfiler_1.withPerformanceProfiling)('!dashboard', 'discord', userId, () => __awaiter(this, void 0, void 0, function* () { + yield message.reply(`📊 **Chen Pilot Dashboard**\n\nAccess your admin dashboard here:\n🔗 ${DASHBOARD_URL}\n\n*Note: You must be logged in to view the dashboard.*`); + }))(); + } + // #148: /validate command for Stellar asset verification + if (message.content.startsWith('!validate')) { + yield (0, performanceProfiler_1.withPerformanceProfiling)(commandName, 'discord', userId, () => __awaiter(this, void 0, void 0, function* () { + const args = message.content.split(' ').slice(1); + if (args.length < 2) { + return message.reply('Usage: !validate \nExample: !validate USDC GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5'); + } + const [assetCode, issuerAddress] = args; + yield message.reply(`🔍 Verifying asset **${assetCode}** from issuer \`${issuerAddress.slice(0, 8)}...\``); + try { + const result = yield this.verificationService.verifyAsset(assetCode, issuerAddress); + const statusEmoji = result.status === 'VERIFIED' ? '✅' : result.status === 'MALICIOUS' ? '🚨' : '⚠️'; + let reply = `${statusEmoji} **Asset Verification: ${result.status}**\n\n`; + reply += `**Asset:** ${assetCode}\n`; + reply += `**Issuer:** \`${issuerAddress}\`\n`; + if (result.domain) + reply += `**Domain:** ${result.domain}\n`; + if (result.details) + reply += `**Details:** ${result.details}\n`; + reply += `\n**Safe to use:** ${result.isSafe ? 'Yes ✅' : 'No ❌'}`; + yield message.reply(reply); + } + catch (error) { + yield message.reply(`❌ Verification error: ${error instanceof Error ? error.message : String(error)}`); + } + }))(); + } + // #125: Multisig wizard command + if (message.content === '!multisig') { + if (!isDM(message)) { + yield rejectPublicChannel(message); + return; } - const assetCode = args[0]; - const assetIssuer = args[1]; - if (!assetIssuer) { - return message.reply(`Please provide an issuer domain or address for ${assetCode}.`); + const response = this.multisigWizard.startWizard(userId, 'discord'); + yield message.reply(response.message); + } + // Handle wizard input (for active wizard sessions) + const wizardState = this.multisigWizard.getWizardState(userId, 'discord'); + if (wizardState && !WIZARD_COMMANDS.includes(message.content.split(' ')[0])) { + const response = this.multisigWizard.processInput(userId, 'discord', message.content); + yield message.reply(response.message); + } + // #118: !currency command — set preferred report currency + if (message.content.startsWith('!currency')) { + const arg = (_b = message.content.split(' ')[1]) === null || _b === void 0 ? void 0 : _b.toUpperCase(); + if (!arg || !SUPPORTED_CURRENCIES.includes(arg)) { + return message.reply(`Usage: !currency \nCurrent: **${(_c = this.userCurrency.get(userId)) !== null && _c !== void 0 ? _c : 'USD'}**`); } + this.userCurrency.set(userId, arg); + return message.reply(`✅ Report currency set to **${arg}**`); + } + // #118: !report command — portfolio report in preferred currency + if (message.content.startsWith('!report')) { + const currency = (_d = this.userCurrency.get(userId)) !== null && _d !== void 0 ? _d : 'USD'; + yield message.reply(`⏳ Fetching portfolio report in **${currency}**...`); try { - yield message.reply(`🔍 Looking up asset ${assetCode} from ${assetIssuer}...`); - const op = yield (0, sdk_core_1.createTrustlineOperation)(assetCode, assetIssuer); - let response = `✅ Found asset ${assetCode}!\n\n`; - response += `To add this trustline, you can use the following details in your wallet:\n`; - response += `**Asset:** ${assetCode}\n`; - response += `**Issuer:** \`${op.asset.issuer}\`\n\n`; - response += `*Note: In a future update, I will provide a direct signing link.*`; - yield message.reply(response); - yield this.logAuditAction({ - action: 'TRUSTLINE_LOOKUP', - triggeredBy: message.author.id, - details: `Asset: ${assetCode}, Issuer: ${assetIssuer}`, - success: true, - timestamp: new Date().toISOString(), - }); + const res = yield fetch(`${BACKEND_URL}/api/portfolio/${userId}?currency=${currency}`); + if (!res.ok) + throw new Error(`HTTP ${res.status}`); + const data = yield res.json(); + let reply = `📊 **Portfolio Report (${currency})**\n\n`; + reply += `**Total Value:** ${data.totalValue.toFixed(4)} ${currency}\n\n`; + for (const a of data.assets) { + reply += `• **${a.code}**: ${a.balance} ≈ ${a.value.toFixed(4)} ${currency}\n`; + } + return message.reply(reply); } - catch (error) { - yield message.reply(`❌ Error: ${error instanceof Error ? error.message : String(error)}`); + catch (_g) { + return message.reply(`❌ Could not fetch portfolio. Make sure your account is registered.`); } } - // #146: Dashboard command - if (message.content === '!dashboard') { - yield message.reply(`📊 **Chen Pilot Dashboard**\n\nAccess your admin dashboard here:\n🔗 ${DASHBOARD_URL}\n\n*Note: You must be logged in to view the dashboard.*`); - } - // #148: /validate command for Stellar asset verification - if (message.content.startsWith('!validate')) { + // #119: !alert command — set a price alert + if (message.content.startsWith('!alert')) { const args = message.content.split(' ').slice(1); - if (args.length < 2) { - return message.reply('Usage: !validate \nExample: !validate USDC GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5'); + if (args.length < 3) { + return message.reply('Usage: !alert [USD|XLM|BTC]\nExample: !alert XLM above 0.15 USD'); } - const [assetCode, issuerAddress] = args; - yield message.reply(`🔍 Verifying asset **${assetCode}** from issuer \`${issuerAddress.slice(0, 8)}...\``); + const [assetCode, conditionRaw, priceRaw, currencyRaw] = args; + const condition = conditionRaw.toLowerCase(); + if (condition !== 'above' && condition !== 'below') { + return message.reply('❌ Condition must be `above` or `below`.'); + } + const targetPrice = parseFloat(priceRaw); + if (isNaN(targetPrice) || targetPrice <= 0) { + return message.reply('❌ Price must be a positive number.'); + } + const currency = ((_f = (_e = currencyRaw === null || currencyRaw === void 0 ? void 0 : currencyRaw.toUpperCase()) !== null && _e !== void 0 ? _e : this.userCurrency.get(userId)) !== null && _f !== void 0 ? _f : 'USD'); + if (!SUPPORTED_CURRENCIES.includes(currency)) { + return message.reply(`❌ Currency must be one of: ${SUPPORTED_CURRENCIES.join(', ')}`); + } + const alertId = `${userId}-${assetCode}-${Date.now()}`; + const alert = { id: alertId, userId, assetCode: assetCode.toUpperCase(), targetPrice, currency, condition, createdAt: new Date().toISOString(), triggered: false }; + this.priceAlerts.set(alertId, alert); + // Register channel for DM delivery + if (!this.userChannels.has(userId)) + this.userChannels.set(userId, message.channelId); + return message.reply(`🔔 Alert set: notify me when **${assetCode.toUpperCase()}** is ${condition} **${targetPrice} ${currency}**`); + } + // #119: !alerts — list active alerts + if (message.content === '!alerts') { + const userAlerts = [...this.priceAlerts.values()].filter(a => a.userId === userId && !a.triggered); + if (userAlerts.length === 0) + return message.reply('📭 You have no active price alerts. Use `!alert` to set one.'); + let reply = `🔔 **Your Active Alerts**\n\n`; + for (const a of userAlerts) { + reply += `• **${a.assetCode}** ${a.condition} ${a.targetPrice} ${a.currency} (ID: \`${a.id.slice(-6)}\`)\n`; + } + return message.reply(reply); + } + // #120: !advanced — role-gated command example + if (message.content.startsWith('!advanced')) { + if (!this.hasAdvancedRole(message)) { + return message.reply(`🔒 This command requires one of the following roles: **${ADVANCED_ROLE_NAMES.join(', ')}**`); + } + return message.reply('✅ Advanced command executed. (Role check passed)'); + } + // #121: !discover — suggest trending Stellar assets + if (message.content === '!discover') { + if (!this.hasAdvancedRole(message)) { + return message.reply(`🔒 \`!discover\` requires one of the following roles: **${ADVANCED_ROLE_NAMES.join(', ')}**`); + } + yield message.reply('🔍 Discovering trending Stellar assets...'); try { - const result = yield this.verificationService.verifyAsset(assetCode, issuerAddress); - const statusEmoji = result.status === 'VERIFIED' ? '✅' : result.status === 'MALICIOUS' ? '🚨' : '⚠️'; - let reply = `${statusEmoji} **Asset Verification: ${result.status}**\n\n`; - reply += `**Asset:** ${assetCode}\n`; - reply += `**Issuer:** \`${issuerAddress}\`\n`; - if (result.domain) - reply += `**Domain:** ${result.domain}\n`; - if (result.details) - reply += `**Details:** ${result.details}\n`; - reply += `\n**Safe to use:** ${result.isSafe ? 'Yes ✅' : 'No ❌'}`; - yield message.reply(reply); + const res = yield fetch(`${BACKEND_URL}/api/assets/trending`); + if (!res.ok) + throw new Error(`HTTP ${res.status}`); + const assets = yield res.json(); + if (!assets.length) + return message.reply('📭 No trending assets found at this time.'); + let reply = `🌟 **Trending Stellar Assets**\n\n`; + for (const a of assets.slice(0, 5)) { + const change = a.priceChange24h >= 0 ? `+${a.priceChange24h.toFixed(2)}%` : `${a.priceChange24h.toFixed(2)}%`; + const emoji = a.priceChange24h >= 0 ? '📈' : '📉'; + reply += `${emoji} **${a.assetCode}**${a.domain ? ` (${a.domain})` : ''}\n`; + reply += ` 24h Change: ${change} | Volume: ${a.volume24h.toLocaleString()} | Holders: ${a.holders.toLocaleString()}\n\n`; + } + return message.reply(reply); } - catch (error) { - yield message.reply(`❌ Verification error: ${error instanceof Error ? error.message : String(error)}`); + catch (_h) { + return message.reply('❌ Could not fetch trending assets. Please try again later.'); } } - })); + }))); yield this.client.login(token); + this.startAlertPolling(); + // #128: Start market overview scheduler + this.startMarketOverviewScheduler(); console.log("✅ Discord bot initialized."); }); } + // #120: Check if message author has an advanced role + hasAdvancedRole(message) { + if (!message.member) + return false; + return message.member.roles.cache.some((r) => ADVANCED_ROLE_NAMES.includes(r.name)); + } + // #119: Poll prices and fire triggered alerts via DM + startAlertPolling() { + this.alertCheckInterval = setInterval(() => __awaiter(this, void 0, void 0, function* () { + const pending = [...this.priceAlerts.values()].filter(a => !a.triggered); + if (!pending.length) + return; + for (const alert of pending) { + try { + const res = yield fetch(`${BACKEND_URL}/api/price/${alert.assetCode}?currency=${alert.currency}`); + if (!res.ok) + continue; + const { price } = yield res.json(); + const triggered = alert.condition === 'above' ? price >= alert.targetPrice : price <= alert.targetPrice; + if (!triggered) + continue; + alert.triggered = true; + const channelId = this.userChannels.get(alert.userId); + if (!channelId) + continue; + const channel = this.client.channels.cache.get(channelId); + if (!channel) + continue; + yield channel.send(`🔔 **Price Alert Triggered!**\n**${alert.assetCode}** is now ${alert.condition} **${alert.targetPrice} ${alert.currency}** (current: ${price} ${alert.currency})`); + } + catch ( /* ignore per-alert errors */_a) { /* ignore per-alert errors */ } + } + }), 60000); // check every minute + } + logAuditAction(entry) { + return __awaiter(this, void 0, void 0, function* () { + var _a; + if (!this.auditLogChannelId || !this.client) + return; + try { + const ch = this.client.channels.cache.get(this.auditLogChannelId); + if (ch && typeof ch.send === 'function') { + yield ch.send(`📝 Audit: ${entry.action} by ${entry.triggeredBy} — ${(_a = entry.details) !== null && _a !== void 0 ? _a : ''}`); + } + } + catch (e) { + console.error('Audit log failed', e); + } + }); + } // #147: Announce a new GitHub release to all registered announcement channels announceRelease(channelId, release) { return __awaiter(this, void 0, void 0, function* () { @@ -364,5 +749,112 @@ class DiscordAdapter { } }); } + // #117: Send interactive welcome message to new server members + sendWelcomeMessage(member) { + return __awaiter(this, void 0, void 0, function* () { + const username = member.user.username; + const welcomeChannel = member.guild.systemChannel; + // Try to DM the member first, fall back to the server's system channel + const sendMessage = (content) => __awaiter(this, void 0, void 0, function* () { + try { + yield member.send(content); + return 'dm'; + } + catch (_a) { + // Cannot DM — member likely has DMs disabled + if (welcomeChannel) { + yield welcomeChannel.send({ content, allowedMentions: { users: [member.id] } }); + return 'channel'; + } + return null; + } + }); + // Step 1: Initial welcome greeting + const greeting = `🎉 **Welcome to the Chen Pilot Community, ${username}!** 🎉 + +I'm **Chen Pilot**, your AI-powered Stellar DeFi assistant! I'm here to help you navigate the Stellar ecosystem, manage your assets, and discover decentralized finance opportunities. + +Let me walk you through everything you can do with me! 🚀`; + const sentVia = yield sendMessage(greeting); + if (!sentVia) { + console.warn(`⚠️ Could not send welcome message to ${member.id}: no DM access and no system channel`); + return; + } + // Log welcome event + yield this.logAuditAction({ + action: 'WELCOME_MESSAGE_SENT', + triggeredBy: member.id, + details: `Username: ${username}, Sent via: ${sentVia === 'dm' ? 'DM' : 'system channel'}`, + success: true, + timestamp: new Date().toISOString(), + }); + // Small delay between messages for readability + const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms)); + yield delay(1000); + // Step 2: Wallet connection guide + const walletGuide = `**🔗 Step 1: Connect Your Stellar Wallet** + +To get started with DeFi on Stellar, you need a wallet. Here's how: + +1️⃣ **Get a Wallet**: Download *Freighter* (Stellar's official browser extension) from \`freighter.app\` +2️⃣ **Fund Your Account**: Use \`!sponsor\` to request free account sponsorship (covers minimum balance) +3️⃣ **Trustlines**: Use \`!trustline \` to add assets like **USDC**, **XLM**, etc. +4️⃣ **Verify**: Use \`!validate \` to check if an asset is safe before interacting + +> 💡 *Tip: Always verify unknown assets with \`!validate\` to avoid scams!*`; + yield sendMessage(walletGuide); + yield delay(1000); + // Step 3: Essential commands overview + const commandsOverview = `**📋 Step 2: Essential Commands** + +Here are the key commands to get started: + +• **!help** — List all available features +• **!balance** — Check your wallet balance (DM only) +• **!report** — Portfolio summary in your chosen currency +• **!currency ** — Set your preferred reporting currency +• **!ping** — Check bot latency and backend health +• **!alert ** — Set price alerts +• **!alerts** — View your active alerts +• **!discover** — Explore trending Stellar assets (requires role) +• **!dashboard** — Open the admin dashboard + +> 🔒 *Commands marked "DM only" must be sent in a private message for security.*`; + yield sendMessage(commandsOverview); + yield delay(1000); + // Step 4: Advanced features teaser + const advancedTeaser = `**⚡ Step 3: Advanced Features** + +Ready to level up? Here's what else I can do: + +• **🔐 Multi-Sig Wallets**: Use \`!multisig\` in DMs to set up multi-signature security +• **🧵 Support Threads**: Type \`!thread\` to create a dedicated support session +• **📊 Price Alerts**: Stay on top of market movements with \`!alert\` +• **🔍 Asset Verification**: Protect yourself with \`!validate\` +• **📈 Market Overview**: Get daily market digests (if configured) + +New features are constantly being added — type **!help** anytime to see what's new! + +--- + +**🚀 Ready to dive in?** Start by setting your reporting currency with \`!currency\`, then use \`!sponsor\` to fund your account, and you're on your way!`; + yield sendMessage(advancedTeaser); + yield delay(1000); + // Step 5: Final tips + const finalTips = `**💡 Pro Tips** + +✅ **Use DMs for sensitive commands** — Commands like \`!balance\` and \`!sponsor\` only work in DMs for your safety +✅ **Rate limits apply** — Please wait 2 seconds between commands to avoid flooding +✅ **Report scams** — Suspicious links are automatically detected and flagged +✅ **Stay updated** — Type \`!help\` anytime for the latest features + +If you ever need help, just send \`!help\` or type \`!thread\` to start a support conversation. + +**Welcome aboard, ${username}! Let's build the future of DeFi on Stellar together! 🌟** + +— *Chen Pilot Team*`; + yield sendMessage(finalTips); + }); + } } exports.DiscordAdapter = DiscordAdapter; diff --git a/packages/bot/src/adapters/telegram.js b/packages/bot/src/adapters/telegram.js index 925d6063..a554c9eb 100644 --- a/packages/bot/src/adapters/telegram.js +++ b/packages/bot/src/adapters/telegram.js @@ -13,10 +13,19 @@ exports.TelegramAdapter = void 0; const telegraf_1 = require("telegraf"); const sdk_core_1 = require("@chen-pilot/sdk-core"); const assetVerification_1 = require("../assetVerification"); -const DASHBOARD_URL = process.env.DASHBOARD_URL || `${process.env.API_BASE_URL || 'http://localhost:2333'}/dashboard`; +const rateLimiter_1 = require("../rateLimiter"); +const performanceProfiler_1 = require("../performanceProfiler"); +const multisigWizard_1 = require("../multisigWizard"); +const BACKEND_URL = process.env.BACKEND_URL || process.env.API_BASE_URL || 'http://localhost:2333'; +const DASHBOARD_URL = process.env.DASHBOARD_URL || `${BACKEND_URL}/dashboard`; const HORIZON_URL = process.env.STELLAR_HORIZON_URL || 'https://horizon-testnet.stellar.org'; +const DEBOUNCE_MS = 1000; // 1 second debounce between commands // Commands that involve personal account data and must only be used in DMs const DM_ONLY_COMMANDS = ['/balance']; +// Commands that start a wizard +const WIZARD_COMMANDS = ['/multisig']; +// Commands that require stricter rate limiting +const SENSITIVE_COMMANDS = ['/trustline', '/validate']; function isDM(ctx) { var _a; return ((_a = ctx.chat) === null || _a === void 0 ? void 0 : _a.type) === 'private'; @@ -33,6 +42,11 @@ class TelegramAdapter { this.lastCommandTime = new Map(); this.token = token; this.verificationService = new assetVerification_1.AssetVerificationService(HORIZON_URL); + // #125: Initialize multisig wizard + this.multisigWizard = new multisigWizard_1.MultisigWizard(); + // #123: Initialize rate limiters + this.defaultRateLimiter = new rateLimiter_1.RateLimiter(rateLimiter_1.DEFAULT_RATE_LIMIT); + this.strictRateLimiter = new rateLimiter_1.RateLimiter(rateLimiter_1.STRICT_RATE_LIMIT); } // #145: Returns true if the user is flooding (within debounce window) isFlooding(userId) { @@ -44,6 +58,21 @@ class TelegramAdapter { this.lastCommandTime.set(userId, now); return false; } + // #123: Check rate limit for a user and command + checkRateLimit(userId, command) { + // Determine which rate limiter to use based on command + const isSensitive = SENSITIVE_COMMANDS.some(cmd => command.startsWith(cmd)); + const rateLimiter = isSensitive ? this.strictRateLimiter : this.defaultRateLimiter; + const status = rateLimiter.check(String(userId)); + if (!status.allowed) { + const retryAfter = status.retryAfter || 60; + return { + allowed: false, + message: `⏳ Rate limit exceeded. Please wait ${retryAfter} seconds before trying again.` + }; + } + return { allowed: true }; + } init() { return __awaiter(this, void 0, void 0, function* () { if (!this.token) { @@ -53,40 +82,20 @@ class TelegramAdapter { this.bot = new telegraf_1.Telegraf(this.token); // #145: Middleware to debounce all incoming messages/commands this.bot.use((ctx, next) => __awaiter(this, void 0, void 0, function* () { - var _a; + var _a, _b, _c; const userId = (_a = ctx.from) === null || _a === void 0 ? void 0 : _a.id; if (userId && this.isFlooding(userId)) { yield ctx.reply("⏳ Please wait a moment before sending another command."); return; } - return next(); - })); - this.bot.start((ctx) => ctx.reply('Welcome to Chen Pilot! I am your AI-powered Stellar DeFi assistant.')); - this.bot.help((ctx) => ctx.reply('Commands: /start, /balance, /swap, /trustline, /dashboard, /validate')); - this.bot.command('trustline', (ctx) => __awaiter(this, void 0, void 0, function* () { - const args = ctx.message.text.split(' ').slice(1); - if (args.length < 1) { - return ctx.reply("Usage: /trustline [issuerDomain|issuerAddress]\nExample: /trustline USDC circle.com"); - } - const assetCode = args[0]; - const assetIssuer = args[1]; - if (!assetIssuer) { - return ctx.reply(`Please provide an issuer domain or address for ${assetCode}.`); - } - try { - yield ctx.reply(`🔍 Looking up asset ${assetCode} from ${assetIssuer}...`); - const op = yield (0, sdk_core_1.createTrustlineOperation)(assetCode, assetIssuer); - // In a real scenario, we would generate a signing link (e.g., Albedo or Stellar Laboratory) - // For now, we'll return the operation details - let message = `✅ Found asset ${assetCode}!\n\n`; - message += `To add this trustline, you can use the following details in your wallet:\n`; - message += `Asset: ${assetCode}\n`; - message += `Issuer: ${op.asset.issuer}\n\n`; - message += `Note: In a future update, I will provide a direct signing link.`; - yield ctx.reply(message, { parse_mode: "HTML" }); - } - catch (error) { - yield ctx.reply(`❌ Error: ${error instanceof Error ? error.message : String(error)}`); + // #123: Rate limit check + const command = ((_c = (_b = ctx.message) === null || _b === void 0 ? void 0 : _b.text) === null || _c === void 0 ? void 0 : _c.split(' ')[0]) || ''; + if (userId) { + const rateLimitResult = this.checkRateLimit(userId, command); + if (!rateLimitResult.allowed) { + yield ctx.reply(rateLimitResult.message); + return; + } } return next(); })); @@ -131,6 +140,34 @@ class TelegramAdapter { } }))(); })); + // #134: Ping command — measure end-to-end latency + this.bot.command('ping', (ctx) => __awaiter(this, void 0, void 0, function* () { + var _a; + const userId = String(((_a = ctx.from) === null || _a === void 0 ? void 0 : _a.id) || 'unknown'); + yield (0, performanceProfiler_1.withPerformanceProfiling)('/ping', 'telegram', userId, () => __awaiter(this, void 0, void 0, function* () { + const startTime = Date.now(); + try { + const controller = new AbortController(); + const timeout = setTimeout(() => controller.abort(), 5000); + const response = yield fetch(`${BACKEND_URL}/api/health`, { + method: 'GET', + signal: controller.signal, + }); + clearTimeout(timeout); + const roundtripMs = Date.now() - startTime; + if (response.ok) { + yield ctx.reply(`🏓 Pong!\n\n📡 End-to-End Latency: ${roundtripMs}ms\n✅ Backend: Online`, { parse_mode: 'HTML' }); + } + else { + yield ctx.reply(`🏓 Pong!\n\n📡 End-to-End Latency: ${roundtripMs}ms\n⚠️ Backend: Returned HTTP ${response.status}`, { parse_mode: 'HTML' }); + } + } + catch (_a) { + const roundtripMs = Date.now() - startTime; + yield ctx.reply(`🏓 Pong!\n\n📡 End-to-End Latency: ${roundtripMs}ms\n❌ Backend: Unreachable`, { parse_mode: 'HTML' }); + } + }))(); + })); // #146: Dashboard command this.bot.command('dashboard', (ctx) => __awaiter(this, void 0, void 0, function* () { var _a; @@ -139,33 +176,58 @@ class TelegramAdapter { yield ctx.reply(`📊 Chen Pilot Dashboard\n\nAccess your admin dashboard here:\n🔗 Open Dashboard\n\nNote: You must be logged in to view the dashboard.`, { parse_mode: 'HTML' }); }))(); })); - // #146: Dashboard command - this.bot.command('dashboard', (ctx) => __awaiter(this, void 0, void 0, function* () { - yield ctx.reply(`📊 Chen Pilot Dashboard\n\nAccess your admin dashboard here:\n🔗 Open Dashboard\n\nNote: You must be logged in to view the dashboard.`, { parse_mode: 'HTML' }); - })); // #148: /validate command for Stellar asset verification this.bot.command('validate', (ctx) => __awaiter(this, void 0, void 0, function* () { - const args = ctx.message.text.split(' ').slice(1); - if (args.length < 2) { - return ctx.reply('Usage: /validate \nExample: /validate USDC GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5'); - } - const [assetCode, issuerAddress] = args; - yield ctx.reply(`🔍 Verifying asset ${assetCode} from issuer ${issuerAddress.slice(0, 8)}...`, { parse_mode: 'HTML' }); - try { - const result = yield this.verificationService.verifyAsset(assetCode, issuerAddress); - const statusEmoji = result.status === 'VERIFIED' ? '✅' : result.status === 'MALICIOUS' ? '🚨' : '⚠️'; - let reply = `${statusEmoji} Asset Verification: ${result.status}\n\n`; - reply += `Asset: ${assetCode}\n`; - reply += `Issuer: ${issuerAddress}\n`; - if (result.domain) - reply += `Domain: ${result.domain}\n`; - if (result.details) - reply += `Details: ${result.details}\n`; - reply += `\nSafe to use: ${result.isSafe ? 'Yes ✅' : 'No ❌'}`; - yield ctx.reply(reply, { parse_mode: 'HTML' }); + var _a; + const userId = String(((_a = ctx.from) === null || _a === void 0 ? void 0 : _a.id) || 'unknown'); + const commandName = (0, performanceProfiler_1.extractCommandName)(ctx.message.text, 'telegram'); + yield (0, performanceProfiler_1.withPerformanceProfiling)(commandName, 'telegram', userId, () => __awaiter(this, void 0, void 0, function* () { + const args = ctx.message.text.split(' ').slice(1); + if (args.length < 2) { + return ctx.reply('Usage: /validate \nExample: /validate USDC GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5'); + } + const [assetCode, issuerAddress] = args; + yield ctx.reply(`🔍 Verifying asset ${assetCode} from issuer ${issuerAddress.slice(0, 8)}...`, { parse_mode: 'HTML' }); + try { + const result = yield this.verificationService.verifyAsset(assetCode, issuerAddress); + const statusEmoji = result.status === 'VERIFIED' ? '✅' : result.status === 'MALICIOUS' ? '🚨' : '⚠️'; + let reply = `${statusEmoji} Asset Verification: ${result.status}\n\n`; + reply += `Asset: ${assetCode}\n`; + reply += `Issuer: ${issuerAddress}\n`; + if (result.domain) + reply += `Domain: ${result.domain}\n`; + if (result.details) + reply += `Details: ${result.details}\n`; + reply += `\nSafe to use: ${result.isSafe ? 'Yes ✅' : 'No ❌'}`; + yield ctx.reply(reply, { parse_mode: 'HTML' }); + } + catch (error) { + yield ctx.reply(`❌ Verification error: ${error instanceof Error ? error.message : String(error)}`); + } + }))(); + })); + // #125: Multisig wizard command + this.bot.command('multisig', (ctx) => __awaiter(this, void 0, void 0, function* () { + var _a; + const userId = String(((_a = ctx.from) === null || _a === void 0 ? void 0 : _a.id) || 'unknown'); + if (!isDM(ctx)) { + yield rejectPublicChannel(ctx); + return; } - catch (error) { - yield ctx.reply(`❌ Verification error: ${error instanceof Error ? error.message : String(error)}`); + const response = this.multisigWizard.startWizard(userId, 'telegram'); + yield ctx.reply(response.message); + })); + // #125: Handle wizard input (for active wizard sessions) + this.bot.use((ctx, next) => __awaiter(this, void 0, void 0, function* () { + var _a, _b; + const userId = String(((_a = ctx.from) === null || _a === void 0 ? void 0 : _a.id) || 'unknown'); + const text = ((_b = ctx.message) === null || _b === void 0 ? void 0 : _b.text) || ''; + const command = text.split(' ')[0]; + const wizardState = this.multisigWizard.getWizardState(userId, 'telegram'); + if (wizardState && !WIZARD_COMMANDS.includes(command)) { + const response = this.multisigWizard.processInput(userId, 'telegram', text); + yield ctx.reply(response.message); + return; } return next(); })); @@ -175,6 +237,7 @@ class TelegramAdapter { { command: "balance", description: "Check wallet balance" }, { command: "swap", description: "Swap assets" }, { command: "trustline", description: "Add trustline" }, + { command: "multisig", description: "Setup multisig wallet" }, { command: "help", description: "Show help" }, ]); this.bot.launch(); diff --git a/packages/bot/src/marketOverview.js b/packages/bot/src/marketOverview.js new file mode 100644 index 00000000..94636497 --- /dev/null +++ b/packages/bot/src/marketOverview.js @@ -0,0 +1,141 @@ +"use strict"; +/** + * Market Overview Service + * + * Fetches and formats daily market summaries of top-performing Stellar assets + * for automated daily digest posts in Discord channels. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MarketOverviewService = void 0; +class MarketOverviewService { + constructor() { + this.BACKEND_URL = process.env.BACKEND_URL || "http://localhost:3000"; + } + /** + * Fetch market overview data from the backend + */ + fetchMarketOverview() { + return __awaiter(this, void 0, void 0, function* () { + var _a, _b; + try { + // Fetch top gainers + const gainersRes = yield fetch(`${this.BACKEND_URL}/api/assets/trending?sort=price_change&order=desc&limit=5`); + const topGainers = gainersRes.ok ? yield gainersRes.json() : []; + // Fetch top losers + const losersRes = yield fetch(`${this.BACKEND_URL}/api/assets/trending?sort=price_change&order=asc&limit=5`); + const topLosers = losersRes.ok ? yield losersRes.json() : []; + // Fetch top by volume + const volumeRes = yield fetch(`${this.BACKEND_URL}/api/assets/trending?sort=volume&order=desc&limit=5`); + const topVolume = volumeRes.ok ? yield volumeRes.json() : []; + // Fetch network status + let networkStatus; + try { + const statusRes = yield fetch(`${this.BACKEND_URL}/api/network/status`); + if (statusRes.ok) { + const statusData = yield statusRes.json(); + networkStatus = { + isHealthy: ((_a = statusData.health) === null || _a === void 0 ? void 0 : _a.isHealthy) || false, + latestLedger: ((_b = statusData.health) === null || _b === void 0 ? void 0 : _b.latestLedger) || 0 + }; + } + } + catch (_c) { + // Network status fetch failed, continue without it + } + return { + timestamp: new Date().toISOString(), + topGainers, + topLosers, + topVolume, + networkStatus + }; + } + catch (error) { + console.error('Error fetching market overview:', error); + throw new Error('Failed to fetch market overview data'); + } + }); + } + /** + * Format market overview data for Discord message + */ + formatMarketOverviewMessage(data) { + const date = new Date(data.timestamp).toLocaleDateString('en-US', { + weekday: 'long', + year: 'numeric', + month: 'long', + day: 'numeric' + }); + let message = `📊 **Daily Market Overview - ${date}**\n\n`; + // Network status + if (data.networkStatus) { + const healthEmoji = data.networkStatus.isHealthy ? '🟢' : '🔴'; + message += `${healthEmoji} **Stellar Network Status:** Ledger ${data.networkStatus.latestLedger}\n\n`; + } + // Top Gainers + message += `📈 **Top Gainers (24h)**\n`; + if (data.topGainers.length === 0) { + message += `No data available\n`; + } + else { + for (const asset of data.topGainers) { + const change = asset.priceChange24h >= 0 ? `+${asset.priceChange24h.toFixed(2)}%` : `${asset.priceChange24h.toFixed(2)}%`; + message += `• **${asset.code}** ${asset.domain ? `(${asset.domain})` : ''}\n`; + message += ` Price: $${asset.price.toFixed(4)} | 24h: ${change} | Vol: ${this.formatNumber(asset.volume24h)}\n`; + } + } + message += `\n`; + // Top Losers + message += `📉 **Top Losers (24h)**\n`; + if (data.topLosers.length === 0) { + message += `No data available\n`; + } + else { + for (const asset of data.topLosers) { + const change = asset.priceChange24h >= 0 ? `+${asset.priceChange24h.toFixed(2)}%` : `${asset.priceChange24h.toFixed(2)}%`; + message += `• **${asset.code}** ${asset.domain ? `(${asset.domain})` : ''}\n`; + message += ` Price: $${asset.price.toFixed(4)} | 24h: ${change} | Vol: ${this.formatNumber(asset.volume24h)}\n`; + } + } + message += `\n`; + // Top by Volume + message += `💰 **Top by Volume (24h)**\n`; + if (data.topVolume.length === 0) { + message += `No data available\n`; + } + else { + for (const asset of data.topVolume) { + const change = asset.priceChange24h >= 0 ? `+${asset.priceChange24h.toFixed(2)}%` : `${asset.priceChange24h.toFixed(2)}%`; + message += `• **${asset.code}** ${asset.domain ? `(${asset.domain})` : ''}\n`; + message += ` Price: $${asset.price.toFixed(4)} | 24h: ${change} | Vol: ${this.formatNumber(asset.volume24h)}\n`; + } + } + message += `\n*Data provided by Chen Pilot*`; + return message; + } + /** + * Format large numbers for readability + */ + formatNumber(num) { + if (num >= 1000000000) { + return `${(num / 1000000000).toFixed(2)}B`; + } + if (num >= 1000000) { + return `${(num / 1000000).toFixed(2)}M`; + } + if (num >= 1000) { + return `${(num / 1000).toFixed(2)}K`; + } + return num.toFixed(2); + } +} +exports.MarketOverviewService = MarketOverviewService; diff --git a/packages/bot/src/multisigWizard.js b/packages/bot/src/multisigWizard.js new file mode 100644 index 00000000..ca726332 --- /dev/null +++ b/packages/bot/src/multisigWizard.js @@ -0,0 +1,353 @@ +"use strict"; +/** + * Multisig Wizard Service + * + * Provides an interactive wizard to guide users through setting up + * a basic multi-signature configuration on their Stellar account. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MultisigWizard = void 0; +class MultisigWizard { + constructor() { + this.activeWizards = new Map(); + this.MAX_SIGNERS = 20; + this.MAX_THRESHOLD = 20; + this.MIN_THRESHOLD = 1; + } + /** + * Start a new wizard session for a user + */ + startWizard(userId, platform) { + const wizardId = `${platform}:${userId}`; + // Check if wizard already exists + if (this.activeWizards.has(wizardId)) { + return { + message: "⚠️ You already have an active multisig wizard session. Use !multisig cancel to abort it.", + }; + } + const state = { + step: 1, + config: { + signers: [], + }, + userId, + platform, + }; + this.activeWizards.set(wizardId, state); + return { + message: this.getStepMessage(state), + nextStep: 1, + }; + } + /** + * Process user input in the wizard + */ + processInput(userId, platform, input) { + const wizardId = `${platform}:${userId}`; + const state = this.activeWizards.get(wizardId); + if (!state) { + return { + message: "⚠️ No active wizard session. Use !multisig to start a new one.", + }; + } + const trimmedInput = input.trim().toLowerCase(); + // Handle cancel command + if (trimmedInput === 'cancel' || trimmedInput === 'abort' || trimmedInput === 'exit') { + this.activeWizards.delete(wizardId); + return { + message: "❌ Multisig wizard cancelled. No changes were made.", + }; + } + // Handle reset command + if (trimmedInput === 'reset' || trimmedInput === 'restart') { + state.step = 1; + state.config = { signers: [] }; + return { + message: "🔄 Wizard reset. Let's start over!\n\n" + this.getStepMessage(state), + nextStep: 1, + }; + } + // Process based on current step + switch (state.step) { + case 1: + return this.handleStep1(state, input); + case 2: + return this.handleStep2(state, input); + case 3: + return this.handleStep3(state, input); + case 4: + return this.handleStep4(state, input); + case 5: + return this.handleStep5(state, input); + default: + return this.completeWizard(state); + } + } + /** + * Step 1: Ask for threshold + */ + handleStep1(state, input) { + const threshold = parseInt(input); + if (isNaN(threshold) || threshold < this.MIN_THRESHOLD || threshold > this.MAX_THRESHOLD) { + return { + message: `⚠️ Invalid threshold. Please enter a number between ${this.MIN_THRESHOLD} and ${this.MAX_THRESHOLD}.`, + }; + } + state.config.threshold = threshold; + state.step = 2; + return { + message: this.getStepMessage(state), + nextStep: 2, + config: state.config, + }; + } + /** + * Step 2: Ask for number of signers + */ + handleStep2(state, input) { + const numSigners = parseInt(input); + if (isNaN(numSigners) || numSigners < 1 || numSigners > this.MAX_SIGNERS) { + return { + message: `⚠️ Invalid number of signers. Please enter a number between 1 and ${this.MAX_SIGNERS}.`, + }; + } + if (numSigners < state.config.threshold) { + return { + message: `⚠️ Number of signers must be at least equal to the threshold (${state.config.threshold}).`, + }; + } + state.config.signers = []; + state.step = 3; + return { + message: this.getStepMessage(state, numSigners), + nextStep: 3, + config: state.config, + }; + } + /** + * Step 3: Collect signer keys + */ + handleStep3(state, input) { + const signers = state.config.signers; + const targetSigners = parseInt(input.split(' ')[0]) || signers.length + 1; + // Check if we're adding a signer or moving to next step + if (input.toLowerCase() === 'done' || input.toLowerCase() === 'next') { + if (signers.length === 0) { + return { + message: "⚠️ You need to add at least one signer. Enter a public key or type 'cancel' to abort.", + }; + } + state.step = 4; + return { + message: this.getStepMessage(state), + nextStep: 4, + config: state.config, + }; + } + // Validate Stellar public key + if (!this.isValidPublicKey(input)) { + return { + message: "⚠️ Invalid Stellar public key. Please enter a valid public key (starts with 'G').", + }; + } + // Check for duplicates + if (signers.some(s => s.key === input)) { + return { + message: "⚠️ This signer has already been added. Please enter a different key.", + }; + } + // Add signer with default weight + signers.push({ + key: input, + weight: 1, + }); + state.step = 3; // Stay on step 3 to collect more signers + const remaining = (state.config.threshold - signers.length); + const message = `✅ Signer ${signers.length} added: \`${input.slice(0, 8)}...\`\n\n`; + if (signers.length < state.config.threshold) { + return { + message: message + `You need at least ${state.config.threshold} signers total. Add another key or type 'done' to continue.`, + nextStep: 3, + config: state.config, + }; + } + else { + return { + message: message + `Minimum threshold reached (${state.config.threshold}). Add more signers or type 'done' to continue.`, + nextStep: 3, + config: state.config, + }; + } + } + /** + * Step 4: Configure signer weights + */ + handleStep4(state, input) { + const signers = state.config.signers; + // Skip weight configuration if only one signer + if (signers.length === 1) { + signers[0].weight = 1; + state.step = 5; + return { + message: this.getStepMessage(state), + nextStep: 5, + config: state.config, + }; + } + // Parse input: "1 2" means set signer 1's weight to 2 + const parts = input.split(' '); + if (parts.length < 2) { + return { + message: "⚠️ Invalid format. Use: \nExample: 1 2 (sets signer 1's weight to 2)", + }; + } + const signerIndex = parseInt(parts[0]) - 1; + const weight = parseInt(parts[1]); + if (isNaN(signerIndex) || signerIndex < 0 || signerIndex >= signers.length) { + return { + message: `⚠️ Invalid signer number. Please enter a number between 1 and ${signers.length}.`, + }; + } + if (isNaN(weight) || weight < 1 || weight > this.MAX_THRESHOLD) { + return { + message: `⚠️ Invalid weight. Please enter a number between 1 and ${this.MAX_THRESHOLD}.`, + }; + } + signers[signerIndex].weight = weight; + // Check if threshold can be met + const totalWeight = signers.reduce((sum, s) => sum + s.weight, 0); + if (totalWeight < state.config.threshold) { + return { + message: `⚠️ Total weight (${totalWeight}) is less than threshold (${state.config.threshold}). Increase some weights.`, + }; + } + // Show current weights and ask if done + let weightList = signers.map((s, i) => `${i + 1}. \`${s.key.slice(0, 8)}...\`: weight ${s.weight}`).join('\n'); + return { + message: `✅ Signer ${signerIndex + 1} weight set to ${weight}\n\nCurrent weights:\n${weightList}\n\nConfigure more weights or type 'done' to continue.`, + nextStep: 4, + config: state.config, + }; + } + /** + * Step 5: Confirm configuration + */ + handleStep5(state, input) { + const trimmedInput = input.trim().toLowerCase(); + if (trimmedInput === 'yes' || trimmedInput === 'y' || trimmedInput === 'confirm') { + return this.completeWizard(state); + } + if (trimmedInput === 'no' || trimmedInput === 'n') { + return { + message: "❌ Configuration cancelled. Use !multisig to start over.", + }; + } + return { + message: "⚠️ Please respond with 'yes' to confirm or 'no' to cancel.", + }; + } + /** + * Complete the wizard and return the final configuration + */ + completeWizard(state) { + const wizardId = `${state.platform}:${state.userId}`; + this.activeWizards.delete(wizardId); + const config = state.config; + // Validate final configuration + const totalWeight = config.signers.reduce((sum, s) => sum + s.weight, 0); + if (totalWeight < config.threshold) { + return { + message: `⚠️ Configuration invalid: Total weight (${totalWeight}) is less than threshold (${config.threshold}). Please start over.`, + }; + } + return { + message: this.getSummaryMessage(config), + isComplete: true, + config, + }; + } + /** + * Get the message for the current wizard step + */ + getStepMessage(state, additionalInfo) { + var _a; + switch (state.step) { + case 1: + return `🔐 **Multisig Setup Wizard**\n\n` + + `Step 1/5: Set Threshold\n\n` + + `The threshold is the minimum number of signers required to authorize transactions.\n\n` + + `Please enter a threshold (1-20):`; + case 2: + return `🔐 **Multisig Setup Wizard**\n\n` + + `Step 2/5: Number of Signers\n\n` + + `How many signers will this account have? (1-20)\n\n` + + `Note: You need at least ${state.config.threshold} signers to meet the threshold.`; + case 3: + const currentCount = ((_a = state.config.signers) === null || _a === void 0 ? void 0 : _a.length) || 0; + return `🔐 **Multisig Setup Wizard**\n\n` + + `Step 3/5: Add Signers\n\n` + + `Signers added: ${currentCount}\n` + + `Signers needed: at least ${state.config.threshold}\n\n` + + `Enter a Stellar public key to add a signer, or type 'done' to continue.`; + case 4: + const signers = state.config.signers; + if (signers.length === 1) { + state.step = 5; + return this.getStepMessage(state); + } + let weightList = signers.map((s, i) => `${i + 1}. \`${s.key.slice(0, 8)}...\`: weight ${s.weight}`).join('\n'); + return `🔐 **Multisig Setup Wizard**\n\n` + + `Step 4/5: Configure Weights\n\n` + + `Current weights:\n${weightList}\n\n` + + `Use format: \n` + + `Example: 1 2 (sets signer 1's weight to 2)\n\n` + + `Type 'done' when finished.`; + case 5: + return `🔐 **Multisig Setup Wizard**\n\n` + + `Step 5/5: Confirm Configuration\n\n` + + `${this.getSummaryMessage(state.config)}\n\n` + + `Type 'yes' to confirm this configuration or 'no' to cancel.`; + default: + return "⚠️ Invalid wizard state."; + } + } + /** + * Get a summary of the multisig configuration + */ + getSummaryMessage(config) { + const signersList = config.signers.map((s, i) => `${i + 1}. \`${s.key.slice(0, 8)}...\` (weight: ${s.weight})`).join('\n'); + const totalWeight = config.signers.reduce((sum, s) => sum + s.weight, 0); + return `**Configuration Summary:**\n\n` + + `📊 Threshold: ${config.threshold}\n` + + `⚖️ Total Weight: ${totalWeight}\n` + + `👥 Signers (${config.signers.length}):\n${signersList}`; + } + /** + * Validate a Stellar public key + */ + isValidPublicKey(key) { + // Stellar public keys start with 'G' and are 56 characters long + const stellarPublicKeyRegex = /^G[A-Z0-9]{55}$/; + return stellarPublicKeyRegex.test(key); + } + /** + * Get the current state of a user's wizard + */ + getWizardState(userId, platform) { + return this.activeWizards.get(`${platform}:${userId}`); + } + /** + * Cancel a user's wizard session + */ + cancelWizard(userId, platform) { + const wizardId = `${platform}:${userId}`; + return this.activeWizards.delete(wizardId); + } + /** + * Get the number of active wizards + */ + getActiveWizardCount() { + return this.activeWizards.size; + } +} +exports.MultisigWizard = MultisigWizard; diff --git a/packages/bot/src/rateLimiter.js b/packages/bot/src/rateLimiter.js new file mode 100644 index 00000000..885433e5 --- /dev/null +++ b/packages/bot/src/rateLimiter.js @@ -0,0 +1,106 @@ +"use strict"; +/** + * Rate Limiter for Bot Commands + * + * Implements a sliding window rate limiter to prevent individual users + * from flooding the bot with commands. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.STRICT_RATE_LIMIT = exports.DEFAULT_RATE_LIMIT = exports.RateLimiter = void 0; +class RateLimiter { + constructor(config) { + this.userTimestamps = new Map(); + this.config = config; + } + /** + * Check if a request is allowed for a given user + * + * @param userId - The user identifier + * @returns Rate limit status + */ + check(userId) { + const now = Date.now(); + const timestamps = this.userTimestamps.get(userId) || []; + // Filter out timestamps outside the current window + const windowStart = now - this.config.windowMs; + const validTimestamps = timestamps.filter(ts => ts > windowStart); + // Update the stored timestamps + this.userTimestamps.set(userId, validTimestamps); + const requestCount = validTimestamps.length; + const remaining = Math.max(0, this.config.maxRequests - requestCount); + const allowed = requestCount < this.config.maxRequests; + if (allowed) { + // Add current timestamp + validTimestamps.push(now); + this.userTimestamps.set(userId, validTimestamps); + } + else { + // Calculate retry after time (when oldest request expires) + const oldestTimestamp = validTimestamps[0]; + const retryAfter = Math.ceil((oldestTimestamp + this.config.windowMs - now) / 1000); + return { + allowed: false, + remaining: 0, + resetTime: oldestTimestamp + this.config.windowMs, + retryAfter, + }; + } + return { + allowed: true, + remaining: remaining - 1, + resetTime: now + this.config.windowMs, + }; + } + /** + * Reset rate limit for a specific user + * + * @param userId - The user identifier + */ + reset(userId) { + this.userTimestamps.delete(userId); + } + /** + * Clear all rate limit data (useful for testing) + */ + clear() { + this.userTimestamps.clear(); + } + /** + * Get current rate limit status without consuming a request + * + * @param userId - The user identifier + * @returns Current rate limit status + */ + getStatus(userId) { + const now = Date.now(); + const timestamps = this.userTimestamps.get(userId) || []; + // Filter out timestamps outside the current window + const windowStart = now - this.config.windowMs; + const validTimestamps = timestamps.filter(ts => ts > windowStart); + const requestCount = validTimestamps.length; + const remaining = Math.max(0, this.config.maxRequests - requestCount); + const allowed = requestCount < this.config.maxRequests; + let retryAfter; + if (!allowed && validTimestamps.length > 0) { + const oldestTimestamp = validTimestamps[0]; + retryAfter = Math.ceil((oldestTimestamp + this.config.windowMs - now) / 1000); + } + return { + allowed, + remaining, + resetTime: now + this.config.windowMs, + retryAfter, + }; + } +} +exports.RateLimiter = RateLimiter; +// Default rate limit configuration +exports.DEFAULT_RATE_LIMIT = { + maxRequests: 10, // 10 requests + windowMs: 60000, // per minute (60 seconds) +}; +// Strict rate limit for sensitive operations +exports.STRICT_RATE_LIMIT = { + maxRequests: 3, // 3 requests + windowMs: 60000, // per minute +}; diff --git a/packages/bot/src/scamDetection.js b/packages/bot/src/scamDetection.js new file mode 100644 index 00000000..2d0be3ba --- /dev/null +++ b/packages/bot/src/scamDetection.js @@ -0,0 +1,205 @@ +"use strict"; +/** + * Scam Link Detection Service + * + * Detects and flags obvious scam links in Discord messages to protect users + * from phishing, typosquatting, and other malicious URL patterns. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ScamDetectionService = void 0; +class ScamDetectionService { + constructor() { + // Known suspicious TLDs often used for scams + this.SUSPICIOUS_TLDS = [ + '.xyz', '.top', '.zip', '.mov', '.tk', '.ml', '.ga', '.cf', '.gq', + '.pw', '.cc', '.men', '.date', '.loan', '.win', '.review', '.trade' + ]; + // Common scam/ phishing keywords in URLs + this.SCAM_KEYWORDS = [ + 'free', 'bonus', 'giveaway', 'airdrop', 'claim', 'reward', + 'double', 'multiply', 'invest', 'profit', 'earn', 'crypto', + 'bitcoin', 'ethereum', 'stellar', 'xlm', 'wallet', 'connect', + 'verify', 'confirm', 'urgent', 'limited', 'exclusive', 'secret' + ]; + // Known legitimate domains to whitelist + this.WHITELISTED_DOMAINS = [ + 'stellar.org', 'discord.com', 'discord.gg', 'github.com', + 'reddit.com', 'twitter.com', 'x.com', 'medium.com' + ]; + // Typosquatting patterns for popular crypto sites + this.TYPOSQUAT_PATTERNS = [ + { target: 'stellar.org', patterns: ['stellaar.org', 'stelllar.org', 'stelar.org', 'stellr.org', 'stllar.org', 'stellarr.org'] }, + { target: 'discord.com', patterns: ['d1scord.com', 'disc0rd.com', 'discrod.com', 'diiscord.com'] }, + { target: 'github.com', patterns: ['githuub.com', 'githhub.com', 'githab.com', 'gitthub.com'] }, + ]; + } + /** + * Check if a message contains potential scam links + */ + detectScamLinks(message) { + // Extract URLs from message + const urls = this.extractUrls(message); + if (urls.length === 0) { + return { isScam: false }; + } + for (const url of urls) { + const result = this.checkUrl(url); + if (result.isScam) { + return result; + } + } + return { isScam: false }; + } + /** + * Check a single URL for scam indicators + */ + checkUrl(url) { + try { + const parsed = new URL(url); + const domain = parsed.hostname.toLowerCase(); + // Check if domain is whitelisted + if (this.isWhitelisted(domain)) { + return { isScam: false }; + } + // Check for suspicious TLD + if (this.hasSuspiciousTLD(domain)) { + return { + isScam: true, + reason: 'Suspicious top-level domain often used for scams', + matchedPattern: domain + }; + } + // Check for typosquatting + const typosquatResult = this.checkTyposquatting(domain); + if (typosquatResult.isScam) { + return typosquatResult; + } + // Check for scam keywords in URL path + if (this.hasScamKeywords(url)) { + return { + isScam: true, + reason: 'URL contains keywords commonly used in scam campaigns', + matchedPattern: url + }; + } + // Check for suspicious URL patterns + if (this.hasSuspiciousPatterns(url)) { + return { + isScam: true, + reason: 'URL matches known scam patterns', + matchedPattern: url + }; + } + // Check for IP address URLs (often used in phishing) + if (this.isIpAddress(domain)) { + return { + isScam: true, + reason: 'URL uses IP address instead of domain name', + matchedPattern: domain + }; + } + return { isScam: false }; + } + catch (error) { + // Invalid URL, might be obfuscated + return { + isScam: true, + reason: 'Invalid or obfuscated URL format', + matchedPattern: url + }; + } + } + /** + * Extract URLs from text using regex + */ + extractUrls(text) { + const urlRegex = /(https?:\/\/[^\s<>"{}|\\^`\[\]]+)/gi; + const matches = text.match(urlRegex); + return matches || []; + } + /** + * Check if domain is whitelisted + */ + isWhitelisted(domain) { + return this.WHITELISTED_DOMAINS.some(whitelisted => domain === whitelisted || domain.endsWith(`.${whitelisted}`)); + } + /** + * Check if domain has a suspicious TLD + */ + hasSuspiciousTLD(domain) { + return this.SUSPICIOUS_TLDS.some(tld => domain.endsWith(tld)); + } + /** + * Check for typosquatting patterns + */ + checkTyposquatting(domain) { + for (const { target, patterns } of this.TYPOSQUAT_PATTERNS) { + for (const pattern of patterns) { + if (domain === pattern || domain.endsWith(`.${pattern}`)) { + return { + isScam: true, + reason: `Possible typosquatting attempt mimicking ${target}`, + matchedPattern: domain + }; + } + } + } + return { isScam: false }; + } + /** + * Check if URL contains scam keywords + */ + hasScamKeywords(url) { + const lowerUrl = url.toLowerCase(); + // Check if multiple scam keywords are present (more suspicious) + const keywordCount = this.SCAM_KEYWORDS.filter(keyword => lowerUrl.includes(keyword)).length; + return keywordCount >= 2; // Require at least 2 scam keywords + } + /** + * Check for suspicious URL patterns + */ + hasSuspiciousPatterns(url) { + const lowerUrl = url.toLowerCase(); + // Check for excessive subdomains + const domain = new URL(url).hostname; + const subdomainCount = domain.split('.').length - 2; + if (subdomainCount > 3) { + return true; + } + // Check for random-looking strings (common in scam URLs) + const randomStringPattern = /[a-z0-9]{32,}/; + if (randomStringPattern.test(lowerUrl)) { + return true; + } + // Check for encoded characters (obfuscation) + if (/%[0-9a-f]{2}/.test(lowerUrl)) { + return true; + } + return false; + } + /** + * Check if domain is an IP address + */ + isIpAddress(domain) { + const ipPattern = /^(\d{1,3}\.){3}\d{1,3}$/; + return ipPattern.test(domain); + } + /** + * Add a domain to the whitelist + */ + addToWhitelist(domain) { + if (!this.WHITELISTED_DOMAINS.includes(domain)) { + this.WHITELISTED_DOMAINS.push(domain); + } + } + /** + * Remove a domain from the whitelist + */ + removeFromWhitelist(domain) { + const index = this.WHITELISTED_DOMAINS.indexOf(domain); + if (index > -1) { + this.WHITELISTED_DOMAINS.splice(index, 1); + } + } +} +exports.ScamDetectionService = ScamDetectionService; diff --git a/packages/bot/src/sessionManager.js b/packages/bot/src/sessionManager.js new file mode 100644 index 00000000..b2749ac5 --- /dev/null +++ b/packages/bot/src/sessionManager.js @@ -0,0 +1,154 @@ +"use strict"; +/** + * Bot Session Manager + * + * Manages bot session persistence by communicating with the backend API. + * This allows interactive bot sessions (wizards, multi-step flows) to survive bot restarts. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SessionManager = void 0; +class SessionManager { + constructor(backendUrl) { + this.backendUrl = backendUrl || process.env.BACKEND_URL || "http://localhost:3000"; + } + /** + * Create or update a bot session + */ + saveSession(data) { + return __awaiter(this, void 0, void 0, function* () { + try { + const response = yield fetch(`${this.backendUrl}/api/bot/session`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(data), + }); + const result = yield response.json(); + return result; + } + catch (error) { + console.error('Error saving bot session:', error); + return { + success: false, + message: 'Failed to save session', + }; + } + }); + } + /** + * Get active session for a user + */ + getSession(userId, platform, sessionType) { + return __awaiter(this, void 0, void 0, function* () { + try { + const params = new URLSearchParams({ + userId, + platform, + sessionType, + }); + const response = yield fetch(`${this.backendUrl}/api/bot/session?${params}`, { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + }, + }); + const result = yield response.json(); + return result; + } + catch (error) { + console.error('Error getting bot session:', error); + return { + success: false, + message: 'Failed to get session', + }; + } + }); + } + /** + * Update an existing session + */ + updateSession(sessionId, updates) { + return __awaiter(this, void 0, void 0, function* () { + try { + const response = yield fetch(`${this.backendUrl}/api/bot/session/${sessionId}`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(updates), + }); + const result = yield response.json(); + return result; + } + catch (error) { + console.error('Error updating bot session:', error); + return { + success: false, + message: 'Failed to update session', + }; + } + }); + } + /** + * Deactivate a session + */ + deactivateSession(sessionId) { + return __awaiter(this, void 0, void 0, function* () { + try { + const response = yield fetch(`${this.backendUrl}/api/bot/session/${sessionId}`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + }); + const result = yield response.json(); + return result; + } + catch (error) { + console.error('Error deactivating bot session:', error); + return { + success: false, + message: 'Failed to deactivate session', + }; + } + }); + } + /** + * Deactivate all sessions for a user + */ + deactivateUserSessions(userId, platform) { + return __awaiter(this, void 0, void 0, function* () { + try { + const url = platform + ? `${this.backendUrl}/api/bot/sessions/user/${userId}?platform=${platform}` + : `${this.backendUrl}/api/bot/sessions/user/${userId}`; + const response = yield fetch(url, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + }); + const result = yield response.json(); + return result; + } + catch (error) { + console.error('Error deactivating user sessions:', error); + return { + success: false, + message: 'Failed to deactivate sessions', + }; + } + }); + } +} +exports.SessionManager = SessionManager; diff --git a/src/Agents/admin/adminAgent.routes.ts b/src/Agents/admin/adminAgent.routes.ts index bd82cb90..5377b58f 100644 --- a/src/Agents/admin/adminAgent.routes.ts +++ b/src/Agents/admin/adminAgent.routes.ts @@ -1,6 +1,5 @@ import { Router, Request, Response } from "express"; -import { authenticateToken } from "../../Auth/auth.middleware"; -import { requireAdmin } from "../../Gateway/middleware/rbac.middleware"; +import { requireAdminAuth } from "../../Gateway/middleware/adminAuth"; import { agentMetricsService } from "../agentMetrics.service"; import { AgentType, ExecutionStatus } from "../agentExecutionMetrics.entity"; import { PromptVersion } from "../registry/PromptVersion.entity"; @@ -15,8 +14,7 @@ const router = Router(); */ router.get( "/metrics", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { agentType, userId, status, startDate, endDate, limit, offset } = @@ -53,8 +51,7 @@ router.get( */ router.get( "/metrics/daily", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { days } = req.query; @@ -84,8 +81,7 @@ router.get( */ router.get( "/metrics/time-series", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { hours } = req.query; @@ -116,8 +112,7 @@ router.get( */ router.get( "/prompts", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const promptPerformance = @@ -144,8 +139,7 @@ router.get( */ router.put( "/prompts/:promptId", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { promptId } = req.params; @@ -194,8 +188,7 @@ router.put( */ router.post( "/prompts", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { name, type, content, version, isActive, weight } = req.body; @@ -241,8 +234,7 @@ router.post( */ router.get( "/tools", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const tools = await agentMetricsService.getAgentTools(); @@ -269,8 +261,7 @@ router.get( */ router.put( "/tools/:toolId/toggle", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { toolId } = req.params; @@ -317,8 +308,7 @@ router.put( */ router.get( "/performance", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { hours = 24 } = req.query; diff --git a/src/Agents/planner/PlanExecutor.ts b/src/Agents/planner/PlanExecutor.ts index 514d327a..c33b4dd6 100644 --- a/src/Agents/planner/PlanExecutor.ts +++ b/src/Agents/planner/PlanExecutor.ts @@ -57,7 +57,7 @@ export class PlanExecutor { }); // Verify plan hash before execution if enabled - if (options.verifyHash !== false) { + if (options.verifyHash === true) { const verificationResult = this.verifyPlanIntegrity( plan as HashedPlan, options diff --git a/src/Agents/tools/defi/DeFiAdapter.ts b/src/Agents/tools/defi/DeFiAdapter.ts index 14fe73da..f8d66028 100644 --- a/src/Agents/tools/defi/DeFiAdapter.ts +++ b/src/Agents/tools/defi/DeFiAdapter.ts @@ -3,6 +3,12 @@ import { AdapterCapabilities, getAdapterConfig, } from "../../../config/defiAdapters"; +import { + CircuitBreaker, + withRetry, + CircuitBreakerOptions, + RetryOptions, +} from "../../../utils/resilience"; /** * Result returned by DeFi adapter operations @@ -52,6 +58,8 @@ export interface TransactionRequest { */ export abstract class DeFiAdapter { protected config: DeFiAdapterConfig; + protected circuitBreaker: CircuitBreaker; + protected retryOptions: RetryOptions; constructor(protocol: "equilibre" | "yieldblox") { this.config = getAdapterConfig(protocol); @@ -61,6 +69,22 @@ export abstract class DeFiAdapter { `[DeFiAdapter] ${this.config.name} adapter is disabled` ); } + + const circuitBreakerOptions: CircuitBreakerOptions = { + name: `DeFiAdapter-${this.config.name}`, + failureThreshold: 5, + recoveryTimeout: 30000, + successThreshold: 2, + timeoutMs: this.config.timeout, + }; + this.circuitBreaker = new CircuitBreaker(circuitBreakerOptions); + + this.retryOptions = { + maxAttempts: this.config.retry.maxAttempts, + initialDelayMs: this.config.retry.backoffMs, + maxDelayMs: 30000, + backoffMultiplier: 2, + }; } /** @@ -93,49 +117,45 @@ export abstract class DeFiAdapter { } /** - * Execute an API request with retry logic + * Execute an API request with retry logic and circuit breaker */ protected async fetchWithRetry( endpoint: string, options: RequestInit = {} ): Promise { - const { timeout, retry } = this.config; - const controller = new AbortController(); - const timeoutId = setTimeout(() => controller.abort(), timeout); - - let lastError: Error | undefined; - - for (let attempt = 1; attempt <= retry.maxAttempts; attempt++) { - try { - const response = await fetch(`${this.config.apiUrl}${endpoint}`, { - ...options, - signal: controller.signal, - headers: { - "Content-Type": "application/json", - ...options.headers, - }, - }); - - clearTimeout(timeoutId); - - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); - } - - return await response.json(); - } catch (error) { - lastError = error instanceof Error ? error : new Error(String(error)); - - if (attempt < retry.maxAttempts) { - await new Promise((resolve) => - setTimeout(resolve, retry.backoffMs * attempt) - ); + return this.circuitBreaker.execute(() => + withRetry(async () => { + const controller = new AbortController(); + const timeoutId = setTimeout(() => controller.abort(), this.config.timeout); + try { + const response = await fetch(`${this.config.apiUrl}${endpoint}`, { + ...options, + signal: controller.signal, + headers: { + "Content-Type": "application/json", + ...options.headers, + }, + }); + + clearTimeout(timeoutId); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + return await response.json(); + } finally { + clearTimeout(timeoutId); } - } - } + }, this.retryOptions) + ); + } - clearTimeout(timeoutId); - throw lastError || new Error("Request failed after retries"); + /** + * Get circuit breaker metrics for monitoring + */ + getCircuitBreakerMetrics() { + return this.circuitBreaker.getMetrics(); } /** diff --git a/src/AuditLog/auditLog.routes.ts b/src/AuditLog/auditLog.routes.ts index 1b315ed7..37f4ecb1 100644 --- a/src/AuditLog/auditLog.routes.ts +++ b/src/AuditLog/auditLog.routes.ts @@ -1,9 +1,7 @@ import { Router, Request, Response } from "express"; import { authenticateToken } from "../Auth/auth.middleware"; -import { - requireAdmin, - requireOwnerOrElevated, -} from "../Gateway/middleware/rbac.middleware"; +import { requireOwnerOrElevated } from "../Gateway/middleware/rbac.middleware"; +import { requireAdminAuth } from "../Gateway/middleware/adminAuth"; import { auditLogService } from "./auditLog.service"; import { AuditAction, AuditSeverity } from "./auditLog.entity"; @@ -73,8 +71,7 @@ const router = Router(); */ router.get( "/logs", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { @@ -209,8 +206,7 @@ router.get( */ router.get( "/security-events", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { hours, limit } = req.query; @@ -265,8 +261,7 @@ router.get( */ router.get( "/failed-auth", - authenticateToken, - requireAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { userId, hours } = req.query; diff --git a/src/Gateway/api.ts b/src/Gateway/api.ts index f527e371..74cd77fb 100644 --- a/src/Gateway/api.ts +++ b/src/Gateway/api.ts @@ -5,28 +5,25 @@ import { rateLimit } from "express-rate-limit"; import { container } from "tsyringe"; import swaggerUi from "swagger-ui-express"; import routes from "./routes"; -import authRoutes from "./auth.routes"; -import { swaggerSpec } from "./swagger"; -import requestLogger from "../middleware/requestLogger"; +import promptRoutes from "./promptRoutes"; import { ipBlacklistMiddleware, ipBlacklistRoutes } from "../Security"; - import { authenticate } from "../Auth/auth"; import UserService from "../Auth/user.service"; import { validateQuery } from "../Agents/validationService"; import { intentAgent } from "../Agents/agents/intentagent"; import { ErrorHandler } from "./middleware/errorHandler"; import { UnauthorizedError, ValidationError, BadError } from "../utils/error"; +import requestLogger from "../middleware/requestLogger"; const app = express(); -// --- GLOBAL SECURITY MIDDLEWARE --- -// AC: Helmet configured securely +// Global security middleware app.use(helmet()); -// AC: CORS configured securely +// CORS configuration app.use( cors({ - origin: process.env.ALLOWED_ORIGINS || "*", // In production, replace * with your domain + origin: process.env.ALLOWED_ORIGINS || "*", methods: ["GET", "POST", "PUT", "DELETE"], credentials: true, }) @@ -36,18 +33,12 @@ app.use(express.json()); app.use(requestLogger); app.use(ipBlacklistMiddleware); -// --- SWAGGER API DOCS --- -app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerSpec)); +// Swagger API docs +app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(require("./swagger").swaggerSpec)); -// --- RATE LIMITING STRATEGY (GLOBAL/SENSITIVE) --- - -/** - * AC: Authenticated/Sensitive Rate Limit - * Applied to AI queries and wallet-related operations. - * Limit: 20 requests per minute per IP. - */ +// Sensitive rate limiter for AI queries const sensitiveLimiter = rateLimit({ - windowMs: 1 * 60 * 1000, // 1 minute + windowMs: 1 * 60 * 1000, limit: 20, standardHeaders: "draft-8", legacyHeaders: false, @@ -58,137 +49,29 @@ const sensitiveLimiter = rateLimit({ }, }); -function createSuccess(data: T, message: string) { - return { - success: true, - data, - message, - }; -} - -/** - * @swagger - * /signup: - * post: - * summary: Create a new user - * tags: [Auth] - * requestBody: - * required: true - * content: - * application/json: - * schema: - * type: object - * required: - * - name - * properties: - * name: - * type: string - * description: Unique username - * responses: - * 201: - * description: User created successfully - * content: - * application/json: - * schema: - * $ref: '#/components/schemas/SuccessResponse' - * 400: - * description: Name is required - * content: - * application/json: - * schema: - * $ref: '#/components/schemas/ErrorResponse' - */ -app.post("/signup", async (req, res, next) => { - try { - const { name } = req.body; - - if (!name) { - throw new BadError("Name is required"); - } - - const userService = container.resolve(UserService); - const user = await userService.createUser({ name }); - - res.status(201).json(createSuccess(user, "User created successfully")); - } catch (error) { - next(error); - } -}); - -// Auth routes (password reset, email verification) -app.use("/auth", authRoutes); - +// Query endpoint - for AI agent queries app.post("/query", sensitiveLimiter, async (req, res, next) => { - /** - * @swagger - * /query: - * post: - * summary: Send a natural-language query to the AI agent - * tags: [AI Agent] - * requestBody: - * required: true - * content: - * application/json: - * schema: - * type: object - * required: - * - userId - * - query - * properties: - * userId: - * type: string - * format: uuid - * description: ID of the authenticated user - * query: - * type: string - * description: Natural language command (e.g. "swap 100 XLM to USDC") - * responses: - * 200: - * description: Query processed successfully - * content: - * application/json: - * schema: - * type: object - * properties: - * result: - * type: object - * 401: - * description: Invalid credentials - * content: - * application/json: - * schema: - * $ref: '#/components/schemas/ErrorResponse' - * 422: - * description: Invalid query - * content: - * application/json: - * schema: - * $ref: '#/components/schemas/ErrorResponse' - */ - // app.post("/query", async (req, res, next) => { try { const { userId, query } = req.body; - const user = await authenticate(userId); - if (!user) throw new UnauthorizedError("invalid credentials"); const valid = await validateQuery(query, userId); if (!valid) throw new ValidationError("invalid query"); - // 3. intent → execution const result = await intentAgent.handle(query, userId); - res.json({ result }); } catch (error) { next(error); } }); +// Mount all API routes under /api prefix app.use("/api", routes); -app.use("/api/security/blacklist", ipBlacklistRoutes); app.use("/api/prompts", promptRoutes); +app.use("/api/security/blacklist", ipBlacklistRoutes); +// Global error handler app.use(ErrorHandler); export default app; diff --git a/src/Gateway/bot.routes.ts b/src/Gateway/bot.routes.ts new file mode 100644 index 00000000..7f2736d1 --- /dev/null +++ b/src/Gateway/bot.routes.ts @@ -0,0 +1,239 @@ +import { Router, Request, Response } from "express"; +import { BotSessionService } from "../Bot/botSession.service"; +import { BotSessionType, BotPlatform } from "../Bot/botSession.entity"; +import logger from "../config/logger"; +import { auditLogService } from "../AuditLog/auditLog.service"; +import { AuditAction, AuditSeverity } from "../AuditLog/auditLog.entity"; + +const router = Router(); + +const botSessionService = new BotSessionService(); + +// Log bot command metrics +router.post("/metrics", async (req: Request, res: Response) => { + try { + const { command, platform, userId, executionTimeMs, success, error, timestamp } = req.body; + + if (!command || !platform || !userId || executionTimeMs === undefined) { + return res.status(400).json({ + success: false, + message: "Missing required fields: command, platform, userId, executionTimeMs" + }); + } + + const commandMap: Record = { + '!start': AuditAction.BOT_COMMAND_START, + '/start': AuditAction.BOT_COMMAND_START, + '!help': AuditAction.BOT_COMMAND_HELP, + '/help': AuditAction.BOT_COMMAND_HELP, + '!thread': AuditAction.BOT_COMMAND_THREAD, + '!sponsor': AuditAction.BOT_COMMAND_SPONSOR, + '/sponsor': AuditAction.BOT_COMMAND_SPONSOR, + '!trustline': AuditAction.BOT_COMMAND_TRUSTLINE, + '/trustline': AuditAction.BOT_COMMAND_TRUSTLINE, + '!dashboard': AuditAction.BOT_COMMAND_DASHBOARD, + '/dashboard': AuditAction.BOT_COMMAND_DASHBOARD, + '!validate': AuditAction.BOT_COMMAND_VALIDATE, + '/validate': AuditAction.BOT_COMMAND_VALIDATE, + '!balance': AuditAction.BOT_COMMAND_BALANCE, + '/balance': AuditAction.BOT_COMMAND_BALANCE, + '!swap': AuditAction.BOT_COMMAND_SWAP, + '/swap': AuditAction.BOT_COMMAND_SWAP, + }; + + const auditAction = commandMap[command] || AuditAction.BOT_COMMAND_START; + + await auditLogService.log({ + userId, + action: auditAction, + severity: success ? AuditSeverity.INFO : AuditSeverity.WARNING, + resource: `${platform}:${command}`, + metadata: { + platform, + command, + executionTimeMs, + timestamp, + }, + errorMessage: error, + success, + }); + + logger.info("Bot command performance metrics received", { + platform, + command, + userId, + executionTimeMs, + success, + }); + + return res.status(200).json({ + success: true, + message: "Metrics logged successfully" + }); + } catch (error) { + logger.error("Error logging bot metrics", { error, body: req.body }); + return res.status(500).json({ + success: false, + message: "Failed to log metrics" + }); + } +}); + +// Create or update a bot session +router.post("/session", async (req: Request, res: Response) => { + try { + const { userId, platform, sessionType, step, sessionData, expiresAt } = req.body; + + if (!userId || !platform || !sessionType || step === undefined || !sessionData) { + return res.status(400).json({ + success: false, + message: "Missing required fields: userId, platform, sessionType, step, sessionData" + }); + } + + if (!Object.values(BotPlatform).includes(platform)) { + return res.status(400).json({ + success: false, + message: `Invalid platform. Must be one of: ${Object.values(BotPlatform).join(', ')}` + }); + } + + if (!Object.values(BotSessionType).includes(sessionType)) { + return res.status(400).json({ + success: false, + message: `Invalid session type. Must be one of: ${Object.values(BotSessionType).join(', ')}` + }); + } + + const expiration = expiresAt ? new Date(expiresAt) : new Date(Date.now() + 24 * 60 * 60 * 1000); + + const session = await botSessionService.create({ + userId, + platform, + sessionType, + step, + sessionData, + expiresAt: expiration, + }); + + return res.status(200).json({ + success: true, + session, + }); + } catch (error) { + logger.error("Error creating bot session", { error, body: req.body }); + return res.status(500).json({ + success: false, + message: "Failed to create session" + }); + } +}); + +// Get active session for a user +router.get("/session", async (req: Request, res: Response) => { + try { + const { userId, platform, sessionType } = req.query; + + if (!userId || !platform || !sessionType) { + return res.status(400).json({ + success: false, + message: "Missing required query parameters: userId, platform, sessionType" + }); + } + + const session = await botSessionService.findActiveSession( + userId as string, + platform as BotPlatform, + sessionType as BotSessionType + ); + + if (!session) { + return res.status(404).json({ + success: false, + message: "No active session found" + }); + } + + return res.status(200).json({ + success: true, + session, + }); + } catch (error) { + logger.error("Error getting bot session", { error, query: req.query }); + return res.status(500).json({ + success: false, + message: "Failed to get session" + }); + } +}); + +// Update a bot session +router.put("/session/:sessionId", async (req: Request, res: Response) => { + try { + const { sessionId } = req.params; + const { step, sessionData, expiresAt, isActive } = req.body; + + const session = await botSessionService.update(sessionId, { + step, + sessionData, + expiresAt: expiresAt ? new Date(expiresAt) : undefined, + isActive, + }); + + return res.status(200).json({ + success: true, + session, + }); + } catch (error) { + logger.error("Error updating bot session", { error, params: req.params, body: req.body }); + return res.status(500).json({ + success: false, + message: "Failed to update session" + }); + } +}); + +// Deactivate a bot session +router.delete("/session/:sessionId", async (req: Request, res: Response) => { + try { + const { sessionId } = req.params; + await botSessionService.deactivateSession(sessionId); + + return res.status(200).json({ + success: true, + message: "Session deactivated" + }); + } catch (error) { + logger.error("Error deactivating bot session", { error, params: req.params }); + return res.status(500).json({ + success: false, + message: "Failed to deactivate session" + }); + } +}); + +// Deactivate all sessions for a user +router.delete("/sessions/user/:userId", async (req: Request, res: Response) => { + try { + const { userId } = req.params; + const { platform } = req.query; + + const count = await botSessionService.deactivateUserSessions( + userId, + platform as BotPlatform + ); + + return res.status(200).json({ + success: true, + message: `${count} session(s) deactivated` + }); + } catch (error) { + logger.error("Error deactivating user sessions", { error, params: req.params }); + return res.status(500).json({ + success: false, + message: "Failed to deactivate sessions" + }); + } +}); + +export default router; diff --git a/src/Gateway/middleware/adminAuth.ts b/src/Gateway/middleware/adminAuth.ts new file mode 100644 index 00000000..d01c13db --- /dev/null +++ b/src/Gateway/middleware/adminAuth.ts @@ -0,0 +1,287 @@ + +import { Request, Response, NextFunction } from "express"; +import ipaddr from "ipaddr.js"; +import config from "../../config/config"; +import { UserRole, hasRequiredRole } from "../../Auth/roles"; +import { ipBlacklistService } from "../../Security/ipBlacklist.service"; +import { auditLogService } from "../../AuditLog/auditLog.service"; +import { AuditAction, AuditSeverity } from "../../AuditLog/auditLog.entity"; +import logger from "../../config/logger"; + +/** + * Extract client IP from request + */ +function getClientIp(req: Request): string { + const forwardedFor = req.headers["x-forwarded-for"]; + if (forwardedFor) { + const ips = (Array.isArray(forwardedFor) ? forwardedFor[0] : forwardedFor) + .split(",") + .map((ip) => ip.trim()); + return ips[0]; + } + const realIp = req.headers["x-real-ip"]; + if (realIp) { + return Array.isArray(realIp) ? realIp[0] : realIp; + } + return req.socket?.remoteAddress || "unknown"; +} + +/** + * Normalize IP address for consistent checking + */ +function normalizeIp(ip: string): string { + let normalized = ip.split(":")[0]; + if (normalized === "::1") { + normalized = "127.0.0.1"; + } + if (normalized.includes("::ffff:")) { + normalized = normalized.replace("::ffff:", ""); + } + return normalized.trim(); +} + +/** + * Check if IP is in whitelist + */ +function isIpAllowed(clientIp: string, allowedList: string[]): boolean { + try { + const client = ipaddr.parse(clientIp); + + for (const allowed of allowedList) { + if (clientIp === "unknown") { + return false; + } + if (allowed.includes("/")) { + const [range, prefixLength] = allowed.split("/"); + const rangeIp = ipaddr.parse(range); + const prefix = parseInt(prefixLength, 10); + + if (client.kind() === rangeIp.kind()) { + if ( + (client.kind() === "ipv4" && prefix === 32) || + (client.kind() === "ipv6" && prefix === 128) + ) { + if (client.toString() === rangeIp.toString()) return true; + } else { + try { + const clientBytes = client.toByteArray(); + const rangeBytes = rangeIp.toByteArray(); + const fullBytes = Math.floor(prefix / 8); + const remainingBits = prefix % 8; + let matches = true; + for (let i = 0; i < fullBytes && i < clientBytes.length; i++) { + if (clientBytes[i] !== rangeBytes[i]) { + matches = false; + break; + } + } + if ( + matches && + remainingBits > 0 && + fullBytes < clientBytes.length + ) { + const mask = 0xff << (8 - remainingBits); + if ( + (clientBytes[fullBytes] & mask) !== + (rangeBytes[fullBytes] & mask) + ) { + matches = false; + } + } + if (matches) return true; + } catch { + if (client.toString() === rangeIp.toString()) return true; + } + } + } + } else { + if (client.toString() === allowed) { + return true; + } + } + } + } catch { + return false; + } + return false; +} + +/** + * Unified Admin Authorization Middleware + * Combines: + * - IP blacklist check + * - IP whitelist check (admin) + * - RBAC check + * - Audit logging + */ +export function requireAdminAuth(options: { + requireIpWhitelist?: boolean; +} = {}) { + return async (req: Request, res: Response, next: NextFunction) => { + try { + const clientIp = normalizeIp(getClientIp(req)); + const userAgent = req.headers["user-agent"]; + + // 1. Check IP blacklist (optional) + let isBlacklisted = false; + try { + isBlacklisted = await ipBlacklistService.isBlacklisted(clientIp); + } catch (error) { + logger.warn("Failed to check IP blacklist", { error: (error as Error).message }); + // Continue even if blacklist check fails + } + + if (isBlacklisted) { + try { + await auditLogService.log({ + action: AuditAction.UNAUTHORIZED_ACCESS, + severity: AuditSeverity.WARNING, + ipAddress: clientIp, + userAgent, + resource: req.path, + metadata: { + params: req.params, + query: req.query, + method: req.method, + }, + success: false, + errorMessage: "IP is blacklisted", + }); + } catch { + // Ignore audit log failure + } + + logger.warn("Blocked request from blacklisted IP", { + ip: clientIp, + path: req.path, + method: req.method, + }); + + return res.status(403).json({ + success: false, + message: + "Your IP address has been blocked due to suspicious activity", + code: "IP_BLACKLISTED", + }); + } + + // 2. Check IP whitelist for admin + const allowedIps = config.admin?.allowedIps || []; + if (options.requireIpWhitelist !== false && allowedIps.length > 0) { + if (!isIpAllowed(clientIp, allowedIps)) { + try { + await auditLogService.log({ + action: AuditAction.UNAUTHORIZED_ACCESS, + severity: AuditSeverity.WARNING, + ipAddress: clientIp, + userAgent, + resource: req.path, + metadata: { + params: req.params, + query: req.query, + method: req.method, + }, + success: false, + errorMessage: "IP not in whitelist", + }); + } catch { + // Ignore audit log failure + } + logger.warn( + "IP whitelist violation: " + + clientIp + + " tried to access admin route" + ); + return res.status(403).json({ + success: false, + message: + "Access denied. Your IP is not allowed to access this resource.", + }); + } + } + + // 3. Check if user is authenticated + if (!req.user) { + try { + await auditLogService.log({ + action: AuditAction.UNAUTHORIZED_ACCESS, + severity: AuditSeverity.WARNING, + ipAddress: clientIp, + userAgent, + resource: req.path, + metadata: { + params: req.params, + query: req.query, + method: req.method, + }, + success: false, + errorMessage: "Authentication required", + }); + } catch { + // Ignore audit log failure + } + return res.status(401).json({ + success: false, + message: "Authentication required", + }); + } + + // 4. Check admin role + const userRole = req.user.role as UserRole; + if (!hasRequiredRole(userRole, UserRole.ADMIN)) { + try { + await auditLogService.log({ + userId: req.user.userId, + action: AuditAction.PERMISSION_DENIED, + severity: AuditSeverity.WARNING, + ipAddress: clientIp, + userAgent, + resource: req.path, + metadata: { + params: req.params, + query: req.query, + method: req.method, + }, + success: false, + errorMessage: "Insufficient permissions", + }); + } catch { + // Ignore audit log failure + } + return res.status(403).json({ + success: false, + message: "Insufficient permissions", + }); + } + + // 5. Log successful authorization (optional) + try { + await auditLogService.log({ + userId: req.user.userId, + action: AuditAction.SENSITIVE_DATA_ACCESS, + severity: AuditSeverity.INFO, + ipAddress: clientIp, + userAgent, + resource: req.path, + metadata: { + params: req.params, + query: req.query, + method: req.method, + }, + success: true, + }); + } catch { + // Ignore audit log failure + } + next(); + } catch (error) { + logger.error("Admin auth middleware failed", { error: (error as Error).message }); + return res.status(500).json({ + success: false, + message: "Internal server error", + }); + } + }; +} + +export default requireAdminAuth; diff --git a/src/Gateway/middleware/index.ts b/src/Gateway/middleware/index.ts index 1fa53c4a..4a3b6646 100644 --- a/src/Gateway/middleware/index.ts +++ b/src/Gateway/middleware/index.ts @@ -11,3 +11,5 @@ export { requireIpWhitelist, requireAdminWithIpWhitelist, } from "./ipWhitelist.middleware"; + +export { requireAdminAuth } from "./adminAuth"; diff --git a/src/Gateway/realtime.routes.ts b/src/Gateway/realtime.routes.ts new file mode 100644 index 00000000..248ad98e --- /dev/null +++ b/src/Gateway/realtime.routes.ts @@ -0,0 +1,63 @@ +import { Router, Request, Response } from "express"; +import logger from "../config/logger"; + +const router = Router(); + +router.get("/stats", (req: Request, res: Response) => { + try { + const { getSocketManager } = require("./socketManager"); + const socketManager = getSocketManager(); + const stats = { + success: true, + totalConnected: socketManager.getConnectedClientsCount(), + connectedClients: socketManager + .getAllConnectedClients() + .map( + (client: { + socketId: string; + userId?: string; + connectedAt: Date; + }) => ({ + socketId: client.socketId, + userId: client.userId || "anonymous", + connectedAt: client.connectedAt, + }) + ), + }; + res.json(stats); + } catch (error) { + logger.error("Error retrieving Socket.io stats:", { error }); + res.status(500).json({ + success: false, + error: "Failed to retrieve Socket.io statistics", + }); + } +}); + +router.get("/user/:userId/clients", (req: Request, res: Response) => { + try { + const { userId } = req.params; + const { getSocketManager } = require("./socketManager"); + const socketManager = getSocketManager(); + const clients = socketManager.getUserClients(userId); + res.json({ + success: true, + userId, + connectedClients: clients.map( + (client: { socketId: string; connectedAt: Date }) => ({ + socketId: client.socketId, + connectedAt: client.connectedAt, + }) + ), + count: clients.length, + }); + } catch (error) { + logger.error("Error retrieving user clients:", { error }); + res.status(500).json({ + success: false, + error: "Failed to retrieve user clients", + }); + } +}); + +export default router; diff --git a/src/Gateway/realtimeClient.ts b/src/Gateway/realtimeClient.ts index 7c08034f..bac73832 100644 --- a/src/Gateway/realtimeClient.ts +++ b/src/Gateway/realtimeClient.ts @@ -8,9 +8,7 @@ import { io, Socket } from "socket.io-client"; interface ClientConfig { url: string; - auth?: { - userId: string; - }; + accessToken?: string; reconnection?: boolean; reconnectionDelay?: number; reconnectionDelayMax?: number; @@ -25,6 +23,7 @@ export class RealtimeClient { private socket: Socket | null = null; private config: ClientConfig; private isConnected = false; + private isAuthenticated = false; private eventHandlers: Map void>> = new Map(); @@ -45,7 +44,6 @@ export class RealtimeClient { return new Promise((resolve, reject) => { try { this.socket = io(this.config.url, { - auth: this.config.auth, reconnection: this.config.reconnection, reconnectionDelay: this.config.reconnectionDelay, reconnectionDelayMax: this.config.reconnectionDelayMax, @@ -57,11 +55,20 @@ export class RealtimeClient { console.log("Connected to real-time server:", this.socket?.id); this.isConnected = true; - // Authenticate if userId is provided - if (this.config.auth?.userId) { - this.socket?.emit("authenticate", this.config.auth.userId); + // Authenticate if access token is provided + if (this.config.accessToken) { + this.socket?.emit("authenticate", this.config.accessToken); + } else { + this.emit("connected"); + resolve(); } + }); + // Authenticated event + this.socket.on("authenticated", (data) => { + console.log("Authenticated successfully:", data); + this.isAuthenticated = true; + this.emit("authenticated", data); this.emit("connected"); resolve(); }); @@ -70,6 +77,7 @@ export class RealtimeClient { this.socket.on("disconnect", (reason) => { console.log("Disconnected from real-time server:", reason); this.isConnected = false; + this.isAuthenticated = false; this.emit("disconnected", reason); }); @@ -139,17 +147,17 @@ export class RealtimeClient { * Subscribe to transaction updates */ public subscribeToTransaction(transactionId: string): void { - if (this.socket?.connected) { + if (this.socket?.connected && this.isAuthenticated) { this.socket.emit("subscribe:transactions", transactionId); console.log(`Subscribed to transaction: ${transactionId}`); } } /** - * Subscribe to all bot alerts + * Subscribe to bot alerts */ public subscribeToBotAlerts(botId?: string): void { - if (this.socket?.connected) { + if (this.socket?.connected && this.isAuthenticated) { this.socket.emit("subscribe:bot-alerts", botId); console.log( `Subscribed to bot alerts${botId ? ` for bot: ${botId}` : ""}` @@ -190,6 +198,13 @@ export class RealtimeClient { return this.isConnected && (this.socket?.connected ?? false); } + /** + * Check if authenticated + */ + public isAuthenticatedWithServer(): boolean { + return this.isAuthenticated; + } + /** * Disconnect from server */ @@ -197,6 +212,7 @@ export class RealtimeClient { if (this.socket) { this.socket.disconnect(); this.isConnected = false; + this.isAuthenticated = false; } } @@ -213,11 +229,11 @@ export class RealtimeClient { */ export function createRealtimeClient( serverUrl: string, - userId?: string + accessToken?: string ): RealtimeClient { return new RealtimeClient({ url: serverUrl, - auth: userId ? { userId } : undefined, + accessToken, }); } diff --git a/src/Gateway/routes.ts b/src/Gateway/routes.ts index 1bdd4704..9c7491ba 100644 --- a/src/Gateway/routes.ts +++ b/src/Gateway/routes.ts @@ -2,574 +2,85 @@ import { Router, Request, Response } from "express"; import { rateLimit } from "express-rate-limit"; import helmet from "helmet"; import * as os from "os"; -import * as crypto from "crypto"; -import * as StellarSdk from "@stellar/stellar-sdk"; import AppDataSource from "../config/Datasource"; import { User } from "../Auth/user.entity"; -import { stellarWebhookService } from "./webhook.service"; -import { platformWebhookService } from "./platformWebhook.service"; -import { SponsorshipTransactionBuilder } from "../../packages/sdk/src/sponsorship"; -import { - transactionHistoryService, - type TransactionQueryParams, - type TransactionType, -} from "./transaction.service"; -import logger from "../config/logger"; import authRoutes from "../Auth/auth.routes"; +import authExtraRoutes from "./auth.routes"; import dataExportRoutes from "../services/dataExport.routes"; import horizonProxyRoutes from "./horizonProxy.routes"; import auditLogRoutes from "../AuditLog/auditLog.routes"; import adminAgentRoutes from "../Agents/admin/adminAgent.routes"; +import botRoutes from "./bot.routes"; +import webhookRoutes from "./webhook.routes"; +import transactionRoutes from "./transaction.routes"; +import realtimeRoutes from "./realtime.routes"; +import { requireAdminAuth } from "./middleware/adminAuth"; import { stellarLiquidityTool } from "../Agents/tools/stellarLiquidityTool"; -import { authenticateToken } from "../Auth/auth.middleware"; -import { - requireAdmin, - requireOwnerOrElevated, -} from "./middleware/rbac.middleware"; +import logger from "../config/logger"; import { auditLogService } from "../AuditLog/auditLog.service"; import { AuditAction, AuditSeverity } from "../AuditLog/auditLog.entity"; -import { getSocketManager } from "./socketManager"; -import { BotSessionService } from "../Bot/botSession.service"; -import { BotSessionType, BotPlatform } from "../Bot/botSession.entity"; const router = Router(); - router.use(helmet()); -// --- WEBHOOK HMAC VERIFICATION --- - -/** - * Verify HMAC-SHA256 signature on incoming webhook requests. - * Expects the signature in the `x-webhook-signature` header as `sha256=`. - * Set WEBHOOK_SECRET in your environment to enable enforcement. - */ -function verifyWebhookSignature( - req: Request, - res: Response, - next: () => void -): void { - const secret = process.env.WEBHOOK_SECRET; - if (!secret) { - // If no secret is configured, skip verification (dev/test environments). - // In production, WEBHOOK_SECRET must be set. - logger.warn( - "WEBHOOK_SECRET not configured — skipping webhook signature verification" - ); - next(); - return; - } - - const signature = req.headers["x-webhook-signature"] as string | undefined; - if (!signature) { - res - .status(401) - .json({ success: false, message: "Missing webhook signature" }); - return; - } - - const rawBody = JSON.stringify(req.body); - const expected = - "sha256=" + - crypto.createHmac("sha256", secret).update(rawBody).digest("hex"); - - const sigBuffer = Buffer.from(signature); - const expectedBuffer = Buffer.from(expected); - - if ( - sigBuffer.length !== expectedBuffer.length || - !crypto.timingSafeEqual(sigBuffer, expectedBuffer) - ) { - logger.warn("Webhook signature mismatch", { receivedSignature: signature }); - res - .status(401) - .json({ success: false, message: "Invalid webhook signature" }); - return; - } - - next(); -} - -// --- RATE LIMITING STRATEGIES --- - -// AC: 100 req/min per IP for public/general routes +// General rate limiter const generalLimiter = rateLimit({ - windowMs: 1 * 60 * 1000, // 1 minute + windowMs: 1 * 60 * 1000, limit: 100, standardHeaders: "draft-8", legacyHeaders: false, message: { success: false, message: "Too many requests. Please slow down." }, }); - -// Apply general limiter to all routes by default router.use(generalLimiter); -// --- ROUTES --- - -// Mount auth routes +// Auth routes (includes login, logout, refresh, sessions) router.use("/auth", authRoutes); +router.use("/auth", authExtraRoutes); -// Mount data export routes +// Data export router.use("/export", dataExportRoutes); -// Mount Horizon proxy routes (authenticated) +// Horizon proxy router.use("/horizon", horizonProxyRoutes); -// Mount audit log routes + +// Audit logs router.use("/audit", auditLogRoutes); -// Mount admin agent management routes (requires admin role) +// Admin agent routes router.use("/admin/agents", adminAgentRoutes); -// #149: Bot command performance metrics endpoint -router.post("/bot/metrics", async (req: Request, res: Response) => { - try { - const { command, platform, userId, executionTimeMs, success, error, timestamp } = req.body; +// Bot routes +router.use("/bot", botRoutes); - // Validate required fields - if (!command || !platform || !userId || executionTimeMs === undefined) { - return res.status(400).json({ - success: false, - message: "Missing required fields: command, platform, userId, executionTimeMs" - }); - } +// Webhooks +router.use("/webhook", webhookRoutes); - // Map bot command to audit action - const commandMap: Record = { - '!start': AuditAction.BOT_COMMAND_START, - '/start': AuditAction.BOT_COMMAND_START, - '!help': AuditAction.BOT_COMMAND_HELP, - '/help': AuditAction.BOT_COMMAND_HELP, - '!thread': AuditAction.BOT_COMMAND_THREAD, - '!sponsor': AuditAction.BOT_COMMAND_SPONSOR, - '!trustline': AuditAction.BOT_COMMAND_TRUSTLINE, - '/trustline': AuditAction.BOT_COMMAND_TRUSTLINE, - '!dashboard': AuditAction.BOT_COMMAND_DASHBOARD, - '/dashboard': AuditAction.BOT_COMMAND_DASHBOARD, - '!validate': AuditAction.BOT_COMMAND_VALIDATE, - '/validate': AuditAction.BOT_COMMAND_VALIDATE, - '!balance': AuditAction.BOT_COMMAND_BALANCE, - '/balance': AuditAction.BOT_COMMAND_BALANCE, - '!swap': AuditAction.BOT_COMMAND_SWAP, - '/swap': AuditAction.BOT_COMMAND_SWAP, - }; +// Account transactions and sponsorship +router.use("/account", transactionRoutes); - const auditAction = commandMap[command] || AuditAction.BOT_COMMAND_START; +// Realtime +router.use("/realtime", realtimeRoutes); - // Log to audit log - await auditLogService.log({ - userId, - action: auditAction, - severity: success ? AuditSeverity.INFO : AuditSeverity.WARNING, - resource: `${platform}:${command}`, - metadata: { - platform, - command, - executionTimeMs, - timestamp, - }, - errorMessage: error, - success, - }); - - // Also log to application logger for visibility - logger.info("Bot command performance metrics received", { - platform, - command, - userId, - executionTimeMs, - success, - }); - - return res.status(200).json({ - success: true, - message: "Metrics logged successfully" - }); - } catch (error) { - logger.error("Error logging bot metrics", { error, body: req.body }); - return res.status(500).json({ - success: false, - message: "Failed to log metrics" - }); - } -}); - -// #126: Bot session management endpoints -const botSessionService = new BotSessionService(); - -// Create or update a bot session -router.post("/bot/session", async (req: Request, res: Response) => { - try { - const { userId, platform, sessionType, step, sessionData, expiresAt } = req.body; - - // Validate required fields - if (!userId || !platform || !sessionType || step === undefined || !sessionData) { - return res.status(400).json({ - success: false, - message: "Missing required fields: userId, platform, sessionType, step, sessionData" - }); - } - - // Validate platform - if (!Object.values(BotPlatform).includes(platform)) { - return res.status(400).json({ - success: false, - message: `Invalid platform. Must be one of: ${Object.values(BotPlatform).join(', ')}` - }); - } - - // Validate session type - if (!Object.values(BotSessionType).includes(sessionType)) { - return res.status(400).json({ - success: false, - message: `Invalid session type. Must be one of: ${Object.values(BotSessionType).join(', ')}` - }); - } - - // Set default expiration (24 hours from now) if not provided - const expiration = expiresAt ? new Date(expiresAt) : new Date(Date.now() + 24 * 60 * 60 * 1000); - - const session = await botSessionService.create({ - userId, - platform, - sessionType, - step, - sessionData, - expiresAt: expiration, - }); - - return res.status(200).json({ - success: true, - session, - }); - } catch (error) { - logger.error("Error creating bot session", { error, body: req.body }); - return res.status(500).json({ - success: false, - message: "Failed to create session" - }); - } -}); - -// Get active session for a user -router.get("/bot/session", async (req: Request, res: Response) => { - try { - const { userId, platform, sessionType } = req.query; - - if (!userId || !platform || !sessionType) { - return res.status(400).json({ - success: false, - message: "Missing required query parameters: userId, platform, sessionType" - }); - } - - const session = await botSessionService.findActiveSession( - userId as string, - platform as BotPlatform, - sessionType as BotSessionType - ); - - if (!session) { - return res.status(404).json({ - success: false, - message: "No active session found" - }); - } - - return res.status(200).json({ - success: true, - session, - }); - } catch (error) { - logger.error("Error getting bot session", { error, query: req.query }); - return res.status(500).json({ - success: false, - message: "Failed to get session" - }); - } -}); - -// Update a bot session -router.put("/bot/session/:sessionId", async (req: Request, res: Response) => { - try { - const { sessionId } = req.params; - const { step, sessionData, expiresAt, isActive } = req.body; - - const session = await botSessionService.update(sessionId, { - step, - sessionData, - expiresAt: expiresAt ? new Date(expiresAt) : undefined, - isActive, - }); - - return res.status(200).json({ - success: true, - session, - }); - } catch (error) { - logger.error("Error updating bot session", { error, params: req.params, body: req.body }); - return res.status(500).json({ - success: false, - message: "Failed to update session" - }); - } -}); - -// Deactivate a bot session -router.delete("/bot/session/:sessionId", async (req: Request, res: Response) => { - try { - const { sessionId } = req.params; - await botSessionService.deactivateSession(sessionId); - - return res.status(200).json({ - success: true, - message: "Session deactivated" - }); - } catch (error) { - logger.error("Error deactivating bot session", { error, params: req.params }); - return res.status(500).json({ - success: false, - message: "Failed to deactivate session" - }); - } -}); - -// Deactivate all sessions for a user -router.delete("/bot/sessions/user/:userId", async (req: Request, res: Response) => { - try { - const { userId } = req.params; - const { platform } = req.query; - - const count = await botSessionService.deactivateUserSessions( - userId, - platform as BotPlatform - ); - - return res.status(200).json({ - success: true, - message: `${count} session(s) deactivated` - }); - } catch (error) { - logger.error("Error deactivating user sessions", { error, params: req.params }); - return res.status(500).json({ - success: false, - message: "Failed to deactivate sessions" - }); - } -}); - -// Public webhook endpoint for Stellar funding notifications -router.post( - "/webhook/stellar/funding", - verifyWebhookSignature, - async (req: Request, res: Response) => { - try { - const result = await stellarWebhookService.processFundingWebhook(req); - - if (result.success) { - return res.status(200).json({ - success: true, - message: result.message, - userId: result.userId, - deploymentTriggered: result.deploymentTriggered, - }); - } else { - return res.status(400).json({ - success: false, - message: result.message, - }); - } - } catch (error) { - console.error("Webhook processing error:", error); - return res.status(500).json({ - success: false, - message: "Internal server error", - }); - } - } -); - -// Public webhook endpoint for Telegram -router.post( - "/webhook/telegram", - verifyWebhookSignature, - async (req: Request, res: Response) => { - try { - const result = await platformWebhookService.processTelegramWebhook(req); - - if (result.isDuplicate) { - // Return 200 for duplicates to acknowledge receipt - return res.status(200).json({ - success: true, - message: result.message, - }); - } - - if (result.success) { - return res.status(200).json({ - success: true, - message: result.message, - data: result.data, - }); - } else { - return res.status(400).json({ - success: false, - message: result.message, - }); - } - } catch (error) { - console.error("Telegram webhook processing error:", error); - return res.status(500).json({ - success: false, - message: "Internal server error", - }); - } - } -); - -// Public webhook endpoint for Discord -router.post( - "/webhook/discord", - verifyWebhookSignature, - async (req: Request, res: Response) => { - try { - const result = await platformWebhookService.processDiscordWebhook(req); - - // Discord ping response (type 1) - if ( - result.data && - typeof result.data === "object" && - "type" in result.data && - result.data.type === 1 - ) { - return res.status(200).json({ type: 1 }); - } - - if (result.isDuplicate) { - // Return 200 for duplicates to acknowledge receipt - return res.status(200).json({ - success: true, - message: result.message, - }); - } - - if (result.success) { - return res.status(200).json({ - success: true, - message: result.message, - data: result.data, - }); - } else { - return res.status(400).json({ - success: false, - message: result.message, - }); - } - } catch (error) { - console.error("Discord webhook processing error:", error); - return res.status(500).json({ - success: false, - message: "Internal server error", - }); - } - } -); - -/** - * @swagger - * /api/signup: - * post: - * summary: Register a new user with wallet details - * tags: [Auth] - * requestBody: - * required: true - * content: - * application/json: - * schema: - * type: object - * required: - * - name - * - address - * - pk - * properties: - * name: - * type: string - * description: Unique username - * address: - * type: string - * description: Stellar public address - * pk: - * type: string - * description: Private key - * responses: - * 201: - * description: User registered successfully - * content: - * application/json: - * schema: - * type: object - * properties: - * success: - * type: boolean - * example: true - * userId: - * type: string - * format: uuid - * 400: - * description: Missing required fields - * content: - * application/json: - * schema: - * $ref: '#/components/schemas/ErrorResponse' - * 409: - * description: User with this name already exists - * content: - * application/json: - * schema: - * $ref: '#/components/schemas/ErrorResponse' - * 500: - * description: Internal server error - * content: - * application/json: - * schema: - * $ref: '#/components/schemas/ErrorResponse' - */ +// Signup route router.post("/signup", async (req: Request, res: Response) => { try { const { name, address, pk } = req.body; - - // Validate required fields if (!name || !address || !pk) { return res.status(400).json({ success: false, message: "name, address, and pk are required", }); } - const userRepository = AppDataSource.getRepository(User); - - // Check for existing user (name is unique) - const existingUser = await userRepository.findOne({ - where: { name }, - }); - + const existingUser = await userRepository.findOne({ where: { name } }); if (existingUser) { return res.status(409).json({ success: false, message: "User with this name already exists", }); } - - // Create user - const user = userRepository.create({ - name, - address, - pk, - // isDeployed and tokenType will use defaults - }); - - // Save user + const user = userRepository.create({ name, address, pk }); const savedUser = await userRepository.save(user); - - // Log user creation await auditLogService.log({ userId: savedUser.id, action: AuditAction.USER_CREATED, @@ -582,8 +93,6 @@ router.post("/signup", async (req: Request, res: Response) => { userAgent: req.headers["user-agent"], metadata: { username: name, address }, }); - - // Return success return res.status(201).json({ success: true, userId: savedUser.id, @@ -597,214 +106,29 @@ router.post("/signup", async (req: Request, res: Response) => { } }); -/** - * @swagger - * /api/account/{userId}/transactions: - * get: - * summary: Get paginated Stellar transaction history - * tags: [Transactions] - * parameters: - * - in: path - * name: userId - * required: true - * schema: - * type: string - * format: uuid - * description: ID of the user - * - in: query - * name: type - * schema: - * type: string - * enum: [funding, deployment, swap, transfer, all] - * description: Filter by transaction type - * - in: query - * name: startDate - * schema: - * type: string - * format: date-time - * description: Start date filter (ISO 8601) - * - in: query - * name: endDate - * schema: - * type: string - * format: date-time - * description: End date filter (ISO 8601) - * - in: query - * name: limit - * schema: - * type: integer - * minimum: 1 - * maximum: 100 - * default: 20 - * description: Number of transactions per page - * - in: query - * name: cursor - * schema: - * type: string - * description: Pagination cursor from previous response - * responses: - * 200: - * description: Paginated transaction list - * content: - * application/json: - * schema: - * type: object - * properties: - * success: - * type: boolean - * transactions: - * type: array - * items: - * $ref: '#/components/schemas/TransactionHistoryItem' - * pagination: - * type: object - * properties: - * nextCursor: - * type: string - * prevCursor: - * type: string - * limit: - * type: integer - * total: - * type: integer - * 400: - * description: Invalid query parameters - * content: - * application/json: - * schema: - * $ref: '#/components/schemas/ErrorResponse' - * 404: - * description: User not found - * content: - * application/json: - * schema: - * $ref: '#/components/schemas/ErrorResponse' - * 500: - * description: Internal server error - * content: - * application/json: - * schema: - * $ref: '#/components/schemas/ErrorResponse' - */ -router.get( - "/account/:userId/transactions", - authenticateToken, - requireOwnerOrElevated("userId"), - async (req: Request, res: Response) => { - try { - const { userId } = req.params; - - // Ensure userId is a string - if (!userId || Array.isArray(userId)) { - return res.status(400).json({ - success: false, - message: "Invalid userId parameter", - }); - } - - // Extract and validate query parameters - const { type, startDate, endDate, limit, cursor } = req.query as Record< - string, - string | undefined - >; - - // Validate type parameter - const validTypes = ["funding", "deployment", "swap", "transfer", "all"]; - if (type && !validTypes.includes(type)) { - return res.status(400).json({ - success: false, - message: `Invalid type. Must be one of: ${validTypes.join(", ")}`, - }); - } - - // Validate limit parameter - const parsedLimit = limit ? parseInt(limit, 10) : 20; - if (isNaN(parsedLimit) || parsedLimit < 1 || parsedLimit > 100) { - return res.status(400).json({ - success: false, - message: "Limit must be a number between 1 and 100", - }); - } - - // Validate date parameters - if (startDate && isNaN(Date.parse(startDate))) { - return res.status(400).json({ - success: false, - message: - "Invalid startDate format. Use ISO 8601 format (e.g., 2024-01-01T00:00:00Z)", - }); - } - - if (endDate && isNaN(Date.parse(endDate))) { - return res.status(400).json({ - success: false, - message: - "Invalid endDate format. Use ISO 8601 format (e.g., 2024-01-01T00:00:00Z)", - }); - } - - // Build query parameters - const queryParams: TransactionQueryParams = { - type: type as TransactionType, - startDate, - endDate, - limit: parsedLimit, - cursor, - }; - - // Fetch transaction history - const result = await transactionHistoryService.getTransactionHistory( - userId, - queryParams - ); - - return res.status(200).json({ - success: true, - ...result, - }); - } catch (error) { - console.error("Transaction history error:", error); - const message = - error instanceof Error ? error.message : "Internal server error"; - const statusCode = message.includes("User not found") ? 404 : 500; - - return res.status(statusCode).json({ - success: false, - message, - }); - } - }, - - router.post("/liquidity", async (req: Request, res: Response) => { - try { - const { assetCode, assetIssuer, depthLimit } = req.body; - - const result = await stellarLiquidityTool.execute({ - assetCode, - assetIssuer, - depthLimit, - }); - - res.json(result); - } catch (err) { - // Check if it's a standard Error object - const errorMessage = - err instanceof Error ? err.message : "An unknown error occurred"; - - res.status(500).json({ error: errorMessage }); - } - }) -); +// Liquidity +router.post("/liquidity", async (req: Request, res: Response) => { + try { + const { assetCode, assetIssuer, depthLimit } = req.body; + const result = await stellarLiquidityTool.execute({ + assetCode, + assetIssuer, + depthLimit, + }); + res.json(result); + } catch (err) { + const errorMessage = err instanceof Error ? err.message : "An unknown error occurred"; + res.status(500).json({ error: errorMessage }); + } +}); -// GET /admin/stats - Internal admin route for CPU and memory usage +// Admin stats router.get( "/admin/stats", - authenticateToken, - requireAdmin, + requireAdminAuth(), (req: Request, res: Response) => { const memUsage = process.memoryUsage(); const cpuUsage = process.cpuUsage(); - res.json({ success: true, timestamp: new Date().toISOString(), @@ -832,225 +156,4 @@ router.get( } ); -// --- REAL-TIME UPDATES (Socket.io) --- - -/** - * @swagger - * /api/realtime/stats: - * get: - * summary: Get real-time connection statistics - * description: Returns Socket.io connection statistics and connected clients info - * tags: [Real-time] - * responses: - * 200: - * description: Socket.io statistics - * content: - * application/json: - * schema: - * type: object - * properties: - * success: - * type: boolean - * totalConnected: - * type: number - * connectedClients: - * type: array - */ -router.get("/realtime/stats", (req: Request, res: Response) => { - try { - // Dynamic import to avoid circular dependency issues - // eslint-disable-next-line @typescript-eslint/no-require-imports - const { getSocketManager } = require("./socketManager"); - const socketManager = getSocketManager(); - - interface SocketClient { - socketId: string; - userId?: string; - connectedAt: Date; - } - - const stats = { - success: true, - totalConnected: socketManager.getConnectedClientsCount(), - connectedClients: socketManager - .getAllConnectedClients() - .map( - (client: { - socketId: string; - userId?: string; - connectedAt: Date; - }) => ({ - socketId: client.socketId, - userId: client.userId || "anonymous", - connectedAt: client.connectedAt, - }) - ), - }; - - res.json(stats); - } catch (error) { - logger.error("Error retrieving Socket.io stats:", { error }); - res.status(500).json({ - success: false, - error: "Failed to retrieve Socket.io statistics", - }); - } -}); - -/** - * @swagger - * /api/realtime/user/:userId/clients: - * get: - * summary: Get connected clients for a user - * description: Returns all Socket.io clients connected for a specific user - * tags: [Real-time] - * parameters: - * - in: path - * name: userId - * required: true - * schema: - * type: string - * responses: - * 200: - * description: User's connected clients - */ -router.get("/realtime/user/:userId/clients", (req: Request, res: Response) => { - try { - const { userId } = req.params; - // Dynamic import to avoid circular dependency issues - // eslint-disable-next-line @typescript-eslint/no-require-imports - const { getSocketManager } = require("./socketManager"); - const socketManager = getSocketManager(); - - interface SocketClient { - socketId: string; - connectedAt: Date; - } - - const clients = socketManager.getUserClients(userId); - - res.json({ - success: true, - userId, - connectedClients: clients.map( - (client: { socketId: string; connectedAt: Date }) => ({ - socketId: client.socketId, - connectedAt: client.connectedAt, - }) - ), - count: clients.length, - }); - } catch (error) { - logger.error("Error retrieving user clients:", { error }); - res.status(500).json({ - success: false, - error: "Failed to retrieve user clients", - }); - } -}); - -/** - * POST /api/account/:userId/sponsor - * Request sponsorship of the user's initial Stellar account reserves. - * Requires SPONSOR_SECRET_KEY and STELLAR_NETWORK env vars. - */ -router.post( - "/account/:userId/sponsor", - authenticateToken, - requireOwnerOrElevated("userId"), - async (req: Request, res: Response) => { - try { - const { userId } = req.params; - const userRepository = AppDataSource.getRepository(User); - - const user = await userRepository.findOne({ where: { id: userId } }); - if (!user) { - return res - .status(404) - .json({ success: false, message: "User not found" }); - } - - if (user.isFunded) { - return res - .status(409) - .json({ success: false, message: "Account already sponsored" }); - } - - const sponsorSecret = process.env.SPONSOR_SECRET_KEY; - if (!sponsorSecret) { - return res - .status(503) - .json({ - success: false, - message: "Sponsorship service not configured", - }); - } - - const networkPassphrase = - process.env.STELLAR_NETWORK === "mainnet" - ? StellarSdk.Networks.PUBLIC - : StellarSdk.Networks.TESTNET; - - const sponsorKeypair = StellarSdk.Keypair.fromSecret(sponsorSecret); - const server = new StellarSdk.Horizon.Server( - process.env.HORIZON_URL || "https://horizon-testnet.stellar.org" - ); - - await server.loadAccount(sponsorKeypair.publicKey()); - - const builder = new SponsorshipTransactionBuilder( - sponsorKeypair, - networkPassphrase - ); - builder.addBeginSponsorship({ - sponsor: sponsorKeypair.publicKey(), - sponsoredAccount: user.address, - }); - // Create the sponsored account entry - builder.addSponsoredOperation( - StellarSdk.Operation.createAccount({ - source: sponsorKeypair.publicKey(), - destination: user.address, - startingBalance: "0", - }) - ); - builder.addEndSponsorship(); - - const tx = builder.build(); - tx.sign(sponsorKeypair); - - await server.submitTransaction(tx); - - user.isFunded = true; - user.updatedAt = new Date(); - await userRepository.save(user); - - await auditLogService.log({ - userId, - action: AuditAction.USER_CREATED, // closest available action - severity: AuditSeverity.INFO, - ipAddress: - (req.headers["x-forwarded-for"] as string)?.split(",")[0]?.trim() || - req.socket.remoteAddress || - "unknown", - userAgent: req.headers["user-agent"], - metadata: { event: "account_sponsored", address: user.address }, - }); - - return res.status(200).json({ - success: true, - message: "Account sponsored successfully", - address: user.address, - }); - } catch (error) { - logger.error("Sponsorship error", { error, userId: req.params.userId }); - return res.status(500).json({ - success: false, - message: - error instanceof Error ? error.message : "Internal server error", - }); - } - } -); - export default router; diff --git a/src/Gateway/socketManager.ts b/src/Gateway/socketManager.ts index 5cba32a8..ba61398c 100644 --- a/src/Gateway/socketManager.ts +++ b/src/Gateway/socketManager.ts @@ -2,14 +2,21 @@ import { Server as SocketIOServer, Socket } from "socket.io"; import { Server as HTTPServer } from "http"; import logger from "../config/logger"; import { EventEmitter } from "events"; +import { container } from "tsyringe"; +import JwtService from "../Auth/jwt.service"; +import { auditLogService } from "../AuditLog/auditLog.service"; +import { AuditAction, AuditSeverity } from "../AuditLog/auditLog.entity"; /** * Represents a connected client with metadata */ interface ConnectedClient { - userId?: string; + userId: string; socketId: string; connectedAt: Date; + userAgent?: string; + ip?: string; + role: string; } /** @@ -159,6 +166,7 @@ export class SocketManager { private connectedClients: Map; private eventEmitter: RealtimeEventEmitter; private userSockets: Map>; // userId -> Set of socketIds + private jwtService: JwtService; constructor(httpServer: HTTPServer) { this.io = new SocketIOServer(httpServer, { @@ -166,16 +174,18 @@ export class SocketManager { origin: process.env.ALLOWED_ORIGINS || "*", credentials: true, methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"], - allowedHeaders: ["Content-Type"], + allowedHeaders: ["Content-Type", "Authorization"], }, transports: ["websocket", "polling"], pingInterval: 25000, pingTimeout: 60000, + maxHttpBufferSize: 1e6, // 1 MB max message size } as any); this.connectedClients = new Map(); this.userSockets = new Map(); this.eventEmitter = new RealtimeEventEmitter(); + this.jwtService = container.resolve(JwtService); this.setupConnectionHandlers(); this.setupEventListeners(); @@ -185,65 +195,74 @@ export class SocketManager { * Setup socket connection and disconnection handlers */ private setupConnectionHandlers(): void { - this.io.on("connection", (socket: Socket) => { - logger.info(`Client connected: ${socket.id}`); + this.io.on("connection", async (socket: Socket) => { + const ip = socket.handshake.headers["x-forwarded-for"] as string || socket.handshake.address; + const userAgent = socket.handshake.headers["user-agent"]; + + logger.info(`Client connected: ${socket.id} (IP: ${ip})`); - const client: ConnectedClient = { - socketId: socket.id, - connectedAt: new Date(), - }; + // Listen for authentication immediately + socket.once("authenticate", async (token: string) => { + try { + const payload = this.jwtService.verifyAccessToken(token); - this.connectedClients.set(socket.id, client); + const client: ConnectedClient = { + userId: payload.userId, + socketId: socket.id, + connectedAt: new Date(), + userAgent, + ip, + role: payload.role, + }; - // Handle authentication and user association - socket.on("authenticate", (userId: string) => { - if (userId) { - client.userId = userId; + this.connectedClients.set(socket.id, client); // Track user's sockets - if (!this.userSockets.has(userId)) { - this.userSockets.set(userId, new Set()); + if (!this.userSockets.has(payload.userId)) { + this.userSockets.set(payload.userId, new Set()); } - this.userSockets.get(userId)!.add(socket.id); - - socket.join(`user:${userId}`); - logger.info(`Client ${socket.id} authenticated as user ${userId}`); + this.userSockets.get(payload.userId)!.add(socket.id); + + socket.join(`user:${payload.userId}`); + socket.emit("authenticated", { success: true, userId: payload.userId }); + + // Audit log connection + await auditLogService.log({ + userId: payload.userId, + action: AuditAction.SENSITIVE_DATA_ACCESS, + severity: AuditSeverity.INFO, + ipAddress: ip, + userAgent, + resource: "realtime:connection", + metadata: { + event: "connected", + socketId: socket.id + }, + success: true, + }); + + logger.info(`Client ${socket.id} authenticated as user ${payload.userId}`); + + // Now set up other listeners AFTER authentication + this.setupAuthenticatedListeners(socket, client); + } catch (error) { + logger.warn(`Authentication failed for client ${socket.id}:`, { error: (error as Error).message }); + socket.emit("error", { message: "Authentication failed. Invalid token." }); + socket.disconnect(true); } }); - // Handle subscription to transaction updates — requires prior authentication - socket.on("subscribe:transactions", (transactionId?: string) => { - if (!client.userId) { - socket.emit("error", { message: "Authentication required before subscribing." }); - logger.warn(`Unauthenticated client ${socket.id} attempted to subscribe to transactions`); - return; - } - if (transactionId) { - socket.join(`transaction:${transactionId}`); - logger.info( - `Client ${socket.id} subscribed to transaction ${transactionId}` - ); + // If no auth after 30 seconds, disconnect + const authTimeout = setTimeout(() => { + if (!this.connectedClients.has(socket.id)) { + logger.warn(`Client ${socket.id} disconnected (no authentication received)`); + socket.disconnect(true); } - }); - - // Handle subscription to bot updates — requires prior authentication - socket.on("subscribe:bot-alerts", (botId?: string) => { - if (!client.userId) { - socket.emit("error", { message: "Authentication required before subscribing." }); - logger.warn(`Unauthenticated client ${socket.id} attempted to subscribe to bot alerts`); - return; - } - if (botId) { - socket.join(`bot:${botId}`); - logger.info(`Client ${socket.id} subscribed to bot ${botId}`); - } else { - socket.join("bot:all"); - logger.info(`Client ${socket.id} subscribed to all bot alerts`); - } - }); + }, 30000); // Handle disconnection - socket.on("disconnect", () => { + socket.on("disconnect", async (reason) => { + clearTimeout(authTimeout); const disconnectedClient = this.connectedClients.get(socket.id); if (disconnectedClient?.userId) { const userSockets = this.userSockets.get(disconnectedClient.userId); @@ -253,9 +272,25 @@ export class SocketManager { this.userSockets.delete(disconnectedClient.userId); } } + + // Audit log disconnection + await auditLogService.log({ + userId: disconnectedClient.userId, + action: AuditAction.SENSITIVE_DATA_ACCESS, + severity: AuditSeverity.INFO, + ipAddress: disconnectedClient.ip, + userAgent: disconnectedClient.userAgent, + resource: "realtime:connection", + metadata: { + event: "disconnected", + socketId: socket.id, + reason + }, + success: true, + }); } this.connectedClients.delete(socket.id); - logger.info(`Client disconnected: ${socket.id}`); + logger.info(`Client disconnected: ${socket.id} (Reason: ${reason})`); }); // Handle errors @@ -265,6 +300,72 @@ export class SocketManager { }); } + /** + * Setup event listeners for authenticated clients + */ + private setupAuthenticatedListeners(socket: Socket, client: ConnectedClient): void { + // Handle subscription to transaction updates + socket.on("subscribe:transactions", async (transactionId?: string) => { + try { + if (transactionId) { + // TODO: Verify user owns this transactionId (add a lookup here later) + socket.join(`transaction:${transactionId}`); + logger.info( + `Client ${socket.id} (user: ${client.userId}) subscribed to transaction ${transactionId}` + ); + + // Audit log subscription + await auditLogService.log({ + userId: client.userId, + action: AuditAction.SENSITIVE_DATA_ACCESS, + severity: AuditSeverity.INFO, + ipAddress: client.ip, + userAgent: client.userAgent, + resource: "realtime:subscription", + metadata: { + type: "transactions", + transactionId, + }, + success: true, + }); + } + } catch (error) { + logger.error(`Failed to subscribe to transactions:`, { error }); + socket.emit("error", { message: "Failed to subscribe." }); + } + }); + + // Handle subscription to bot updates + socket.on("subscribe:bot-alerts", async (botId?: string) => { + try { + if (botId) { + // TODO: Verify user owns this botId (add a lookup here later) + socket.join(`bot:${botId}`); + logger.info( + `Client ${socket.id} (user: ${client.userId}) subscribed to bot ${botId}` + ); + + await auditLogService.log({ + userId: client.userId, + action: AuditAction.SENSITIVE_DATA_ACCESS, + severity: AuditSeverity.INFO, + ipAddress: client.ip, + userAgent: client.userAgent, + resource: "realtime:subscription", + metadata: { + type: "bot-alerts", + botId, + }, + success: true, + }); + } + } catch (error) { + logger.error(`Failed to subscribe to bot alerts:`, { error }); + socket.emit("error", { message: "Failed to subscribe." }); + } + }); + } + /** * Setup event listeners from the event emitter */ @@ -343,7 +444,6 @@ export class SocketManager { if (update.userId) { this.io.to(`user:${update.userId}`).emit("transaction:update", update); } - this.io.to(`transaction:${update.transactionId}`).emit("transaction:update", update); } /** @@ -357,7 +457,6 @@ export class SocketManager { if (update.userId) { this.io.to(`user:${update.userId}`).emit(eventName, update); } - this.io.to(`transaction:${update.transactionId}`).emit(eventName, update); } /** @@ -367,7 +466,6 @@ export class SocketManager { if (update.userId) { this.io.to(`user:${update.userId}`).emit("swap:status", update); } - this.io.to(`transaction:${update.transactionId}`).emit("swap:status", update); } /** @@ -380,7 +478,6 @@ export class SocketManager { if (alert.botId) { this.io.to(`bot:${alert.botId}`).emit("bot:alert", alert); } - this.io.to("bot:all").emit("bot:alert", alert); } /** @@ -390,8 +487,9 @@ export class SocketManager { if (statusChange.userId) { this.io.to(`user:${statusChange.userId}`).emit("bot:status-change", statusChange); } - this.io.to(`bot:${statusChange.botId}`).emit("bot:status-change", statusChange); - this.io.to("bot:all").emit("bot:status-change", statusChange); + if (statusChange.botId) { + this.io.to(`bot:${statusChange.botId}`).emit("bot:status-change", statusChange); + } } /** @@ -404,7 +502,6 @@ export class SocketManager { if (alert.botId) { this.io.to(`bot:${alert.botId}`).emit("bot:error", alert); } - this.io.to("bot:all").emit("bot:error", alert); } /** @@ -414,7 +511,6 @@ export class SocketManager { if (status.userId) { this.io.to(`user:${status.userId}`).emit("deployment:status", status); } - this.io.emit("deployment:status", status); } /** diff --git a/src/Gateway/transaction.routes.ts b/src/Gateway/transaction.routes.ts new file mode 100644 index 00000000..a45dfe1c --- /dev/null +++ b/src/Gateway/transaction.routes.ts @@ -0,0 +1,165 @@ +import { Router, Request, Response } from "express"; +import { transactionHistoryService, type TransactionQueryParams, type TransactionType } from "./transaction.service"; +import AppDataSource from "../config/Datasource"; +import { User } from "../Auth/user.entity"; +import * as StellarSdk from "@stellar/stellar-sdk"; +import { SponsorshipTransactionBuilder } from "../../packages/sdk/src/sponsorship"; +import logger from "../config/logger"; +import { auditLogService } from "../AuditLog/auditLog.service"; +import { AuditAction, AuditSeverity } from "../AuditLog/auditLog.entity"; +import { authenticateToken } from "../Auth/auth.middleware"; +import { requireOwnerOrElevated } from "./middleware/rbac.middleware"; + +const router = Router(); + +// Get transaction history +router.get( + "/:userId/transactions", + authenticateToken, + requireOwnerOrElevated("userId"), + async (req: Request, res: Response) => { + try { + const { userId } = req.params; + if (!userId || Array.isArray(userId)) { + return res.status(400).json({ + success: false, + message: "Invalid userId parameter", + }); + } + const { type, startDate, endDate, limit, cursor } = req.query as Record< + string, + string | undefined + >; + const validTypes = ["funding", "deployment", "swap", "transfer", "all"]; + if (type && !validTypes.includes(type)) { + return res.status(400).json({ + success: false, + message: `Invalid type. Must be one of: ${validTypes.join(", ")}`, + }); + } + const parsedLimit = limit ? parseInt(limit, 10) : 20; + if (isNaN(parsedLimit) || parsedLimit < 1 || parsedLimit > 100) { + return res.status(400).json({ + success: false, + message: "Limit must be a number between 1 and 100", + }); + } + if (startDate && isNaN(Date.parse(startDate))) { + return res.status(400).json({ + success: false, + message: + "Invalid startDate format. Use ISO 8601 format (e.g., 2024-01-01T00:00:00Z)", + }); + } + if (endDate && isNaN(Date.parse(endDate))) { + return res.status(400).json({ + success: false, + message: + "Invalid endDate format. Use ISO 8601 format (e.g., 2024-01-01T00:00:00Z)", + }); + } + const queryParams: TransactionQueryParams = { + type: type as TransactionType, + startDate, + endDate, + limit: parsedLimit, + cursor, + }; + const result = await transactionHistoryService.getTransactionHistory( + userId, + queryParams + ); + return res.status(200).json({ success: true, ...result }); + } catch (error) { + console.error("Transaction history error:", error); + const message = + error instanceof Error ? error.message : "Internal server error"; + const statusCode = message.includes("User not found") ? 404 : 500; + return res.status(statusCode).json({ success: false, message }); + } + } +); + +// Sponsorship +router.post( + "/:userId/sponsor", + authenticateToken, + requireOwnerOrElevated("userId"), + async (req: Request, res: Response) => { + try { + const { userId } = req.params; + const userRepository = AppDataSource.getRepository(User); + const user = await userRepository.findOne({ where: { id: userId } }); + if (!user) { + return res.status(404).json({ success: false, message: "User not found" }); + } + if (user.isFunded) { + return res.status(409).json({ success: false, message: "Account already sponsored" }); + } + const sponsorSecret = process.env.SPONSOR_SECRET_KEY; + if (!sponsorSecret) { + return res.status(503).json({ + success: false, + message: "Sponsorship service not configured", + }); + } + const networkPassphrase = + process.env.STELLAR_NETWORK === "mainnet" + ? StellarSdk.Networks.PUBLIC + : StellarSdk.Networks.TESTNET; + const sponsorKeypair = StellarSdk.Keypair.fromSecret(sponsorSecret); + const server = new StellarSdk.Horizon.Server( + process.env.HORIZON_URL || "https://horizon-testnet.stellar.org" + ); + await server.loadAccount(sponsorKeypair.publicKey()); + const builder = new SponsorshipTransactionBuilder( + sponsorKeypair, + networkPassphrase + ); + builder.addBeginSponsorship({ + sponsor: sponsorKeypair.publicKey(), + sponsoredAccount: user.address, + }); + builder.addSponsoredOperation( + StellarSdk.Operation.createAccount({ + source: sponsorKeypair.publicKey(), + destination: user.address, + startingBalance: "0", + }) + ); + builder.addEndSponsorship(); + const tx = builder.build(); + tx.sign(sponsorKeypair); + await server.submitTransaction(tx); + user.isFunded = true; + user.updatedAt = new Date(); + await userRepository.save(user); + await auditLogService.log({ + userId, + action: AuditAction.USER_CREATED, + severity: AuditSeverity.INFO, + ipAddress: + (req.headers["x-forwarded-for"] as string)?.split(",")[0]?.trim() || + (req.headers["x-real-ip"] as string) || + req.socket.remoteAddress || + "unknown", + userAgent: req.headers["user-agent"], + metadata: { event: "account_sponsored", address: user.address }, + }); + return res.status(200).json({ + success: true, + message: "Account sponsored successfully", + address: user.address, + }); + } catch (error) { + logger.error("Sponsorship error", { error, userId: req.params.userId }); + return res.status(500).json({ + success: false, + message: + error instanceof Error ? error.message : "Internal server error", + }); + } + } +); + +export default router; diff --git a/src/Gateway/webhook.routes.ts b/src/Gateway/webhook.routes.ts new file mode 100644 index 00000000..c25dd18f --- /dev/null +++ b/src/Gateway/webhook.routes.ts @@ -0,0 +1,133 @@ +import { Router, Request, Response } from "express"; +import * as crypto from "crypto"; +import { stellarWebhookService } from "./webhook.service"; +import { platformWebhookService } from "./platformWebhook.service"; +import logger from "../config/logger"; + +const router = Router(); + +function verifyWebhookSignature( + req: Request, + res: Response, + next: () => void +): void { + const secret = process.env.WEBHOOK_SECRET; + if (!secret) { + logger.warn("WEBHOOK_SECRET not configured — skipping webhook signature verification"); + next(); + return; + } + + const signature = req.headers["x-webhook-signature"] as string | undefined; + if (!signature) { + res.status(401).json({ success: false, message: "Missing webhook signature" }); + return; + } + + const rawBody = JSON.stringify(req.body); + const expected = "sha256=" + crypto.createHmac("sha256", secret).update(rawBody).digest("hex"); + + const sigBuffer = Buffer.from(signature); + const expectedBuffer = Buffer.from(expected); + + if ( + sigBuffer.length !== expectedBuffer.length || + !crypto.timingSafeEqual(sigBuffer, expectedBuffer) + ) { + logger.warn("Webhook signature mismatch", { receivedSignature: signature }); + res.status(401).json({ success: false, message: "Invalid webhook signature" }); + return; + } + + next(); +} + +// Stellar funding webhook +router.post( + "/stellar/funding", + verifyWebhookSignature, + async (req: Request, res: Response) => { + try { + const result = await stellarWebhookService.processFundingWebhook(req); + if (result.success) { + return res.status(200).json({ + success: true, + message: result.message, + userId: result.userId, + deploymentTriggered: result.deploymentTriggered, + }); + } + return res.status(400).json({ + success: false, + message: result.message, + }); + } catch (error) { + console.error("Webhook processing error:", error); + return res.status(500).json({ + success: false, + message: "Internal server error", + }); + } + } +); + +// Telegram webhook +router.post( + "/telegram", + verifyWebhookSignature, + async (req: Request, res: Response) => { + try { + const result = await platformWebhookService.processTelegramWebhook(req); + if (result.isDuplicate) { + return res.status(200).json({ success: true, message: result.message }); + } + if (result.success) { + return res.status(200).json({ success: true, message: result.message, data: result.data }); + } + return res.status(400).json({ success: false, message: result.message }); + } catch (error) { + console.error("Telegram webhook processing error:", error); + return res.status(500).json({ + success: false, + message: "Internal server error", + }); + } + } +); + +// Discord webhook +router.post( + "/discord", + verifyWebhookSignature, + async (req: Request, res: Response) => { + try { + const result = await platformWebhookService.processDiscordWebhook(req); + if ( + result.data && + typeof result.data === "object" && + "type" in result.data && + result.data.type === 1 + ) { + return res.status(200).json({ type: 1 }); + } + + if (result.isDuplicate) { + return res.status(200).json({ success: true, message: result.message }); + } + + if (result.success) { + return res.status(200).json({ success: true, message: result.message, data: result.data }); + } + + return res.status(400).json({ success: false, message: result.message }); + } catch (error) { + console.error("Discord webhook processing error:", error); + return res.status(500).json({ + success: false, + message: "Internal server error", + }); + } + } +); + +export default router; diff --git a/src/Security/__tests__/ipBlacklist.routes.test.ts b/src/Security/__tests__/ipBlacklist.routes.test.ts index d514269d..3d4d5b24 100644 --- a/src/Security/__tests__/ipBlacklist.routes.test.ts +++ b/src/Security/__tests__/ipBlacklist.routes.test.ts @@ -448,7 +448,9 @@ describe("IPBlacklist Routes", () => { }) .expect(500); - expect(response.body).not.toContain("Sensitive error details"); + expect(response.body.error).toBe("Internal server error"); + expect(response.body.message).toBe("Failed to add IP to blacklist"); + expect(JSON.stringify(response.body)).not.toContain("Sensitive error details"); }); }); }); diff --git a/src/Security/ipBlacklist.routes.ts b/src/Security/ipBlacklist.routes.ts index 6c7a8f3c..93aad7bf 100644 --- a/src/Security/ipBlacklist.routes.ts +++ b/src/Security/ipBlacklist.routes.ts @@ -1,34 +1,17 @@ -import express, { Router, Request, Response, NextFunction } from "express"; +import express, { Router, Request, Response } from "express"; import { ipBlacklistService } from "./ipBlacklist.service"; import { BlacklistReason } from "./ipBlacklist.entity"; -import { authenticate } from "../Auth/auth"; +import { requireAdminAuth } from "../Gateway/middleware/adminAuth"; +import { authenticateToken } from "../Auth/auth.middleware"; import logger from "../config/logger"; const router = Router(); -/** - * Admin middleware - verify user is admin - * Can be customized based on actual role management - */ -const isAdmin = (req: Request, res: Response, next: NextFunction) => { - const user = (req as any).user; - - if (!user || user.role !== "admin") { - return res.status(403).json({ - success: false, - error: "Forbidden", - message: "Only administrators can manage IP blacklist", - }); - } - - next(); -}; - /** * Check if an IP is blacklisted * GET /security/blacklist/check/:ip */ -router.get("/check/:ip", authenticate, async (req: Request, res: Response) => { +router.get("/check/:ip", authenticateToken, async (req: Request, res: Response) => { try { const { ip } = req.params; @@ -56,7 +39,7 @@ router.get("/check/:ip", authenticate, async (req: Request, res: Response) => { * List all blacklisted IPs * GET /security/blacklist?limit=50&offset=0&activeOnly=true&reason=malicious_activity */ -router.get("/", authenticate, isAdmin, async (req: Request, res: Response) => { +router.get("/", requireAdminAuth(), async (req: Request, res: Response) => { try { const { limit = 50, @@ -94,8 +77,7 @@ router.get("/", authenticate, isAdmin, async (req: Request, res: Response) => { */ router.get( "/stats", - authenticate, - isAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const stats = await ipBlacklistService.getStatistics(); @@ -119,7 +101,7 @@ router.get( * Add an IP to the blacklist * POST /security/blacklist */ -router.post("/", authenticate, isAdmin, async (req: Request, res: Response) => { +router.post("/", requireAdminAuth(), async (req: Request, res: Response) => { try { const { ipAddress, @@ -182,8 +164,7 @@ router.post("/", authenticate, isAdmin, async (req: Request, res: Response) => { */ router.post( "/bulk", - authenticate, - isAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { ips, reason = BlacklistReason.MALICIOUS_ACTIVITY, description } = @@ -245,8 +226,7 @@ router.post( */ router.delete( "/:ip", - authenticate, - isAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const { ip } = req.params; @@ -287,8 +267,7 @@ router.delete( */ router.post( "/cleanup", - authenticate, - isAdmin, + requireAdminAuth(), async (req: Request, res: Response) => { try { const count = await ipBlacklistService.cleanupExpiredEntries(); @@ -315,3 +294,4 @@ router.post( ); export default router; +export const ipBlacklistRoutes = router; diff --git a/src/services/soroban/simulator.ts b/src/services/soroban/simulator.ts index caed1d91..cc0e6577 100644 --- a/src/services/soroban/simulator.ts +++ b/src/services/soroban/simulator.ts @@ -26,6 +26,11 @@ import { SimulationError, SimulationErrorResponse, } from "./errors"; +import { + CircuitBreaker, + withRetry, +} from "../../utils/resilience"; +import logger from "../../config/logger"; // ─── Public types ───────────────────────────────────────────────────────────── @@ -64,6 +69,22 @@ export interface SimulationResult { const DUMMY_SOURCE = "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF"; +const sorobanCircuitBreaker = new CircuitBreaker({ + name: "SorobanRPC", + failureThreshold: 5, + recoveryTimeout: 30000, + successThreshold: 2, + timeoutMs: 30000, +}); + +export function getSorobanCircuitBreakerMetrics() { + return sorobanCircuitBreaker.getMetrics(); +} + +export function resetSorobanCircuitBreaker() { + sorobanCircuitBreaker.reset(); +} + function normalizeArgs(args?: unknown[]): unknown[] { if (!args?.length) return []; return args.map((arg) => (isScVal(arg) ? arg : nativeToScVal(arg))); @@ -123,13 +144,22 @@ export async function simulate( let raw: unknown; try { - raw = await server.simulateTransaction( - tx as unknown as StellarSdk.Transaction + raw = await sorobanCircuitBreaker.execute(() => + withRetry( + async () => + server.simulateTransaction(tx as unknown as StellarSdk.Transaction), + { + maxAttempts: 3, + initialDelayMs: 1000, + maxDelayMs: 5000, + backoffMultiplier: 2, + }, + ), ); } catch (err) { throw new SimulationError( `RPC simulateTransaction call failed: ${err instanceof Error ? err.message : String(err)}`, - err + err, ); } diff --git a/src/services/sorobanService.ts b/src/services/sorobanService.ts index 242f6d5b..1f9e640e 100644 --- a/src/services/sorobanService.ts +++ b/src/services/sorobanService.ts @@ -22,6 +22,10 @@ export type { } from "./soroban/invoker"; export type { SimulationEstimates } from "./soroban/simulator"; export { invokeContract, estimateContract } from "./soroban/invoker"; +export { + getSorobanCircuitBreakerMetrics, + resetSorobanCircuitBreaker, +} from "./soroban/simulator"; // Re-export error types so callers can do `instanceof` checks export { diff --git a/src/utils/resilience.ts b/src/utils/resilience.ts new file mode 100644 index 00000000..c7c50688 --- /dev/null +++ b/src/utils/resilience.ts @@ -0,0 +1,234 @@ +import logger from "../config/logger"; + +export enum CircuitState { + CLOSED = "CLOSED", + OPEN = "OPEN", + HALF_OPEN = "HALF_OPEN", +} + +export interface CircuitBreakerOptions { + name: string; + failureThreshold: number; + recoveryTimeout: number; + successThreshold: number; + timeoutMs?: number; + onStateChange?: (oldState: CircuitState, newState: CircuitState) => void; +} + +export class CircuitBreakerError extends Error { + constructor( + message: string, + public readonly circuitName: string, + public readonly circuitState: CircuitState, + ) { + super(message); + this.name = "CircuitBreakerError"; + } +} + +export class CircuitBreaker { + private state: CircuitState = CircuitState.CLOSED; + private failureCount = 0; + private successCount = 0; + private lastFailureTime = 0; + private options: CircuitBreakerOptions; + + constructor(options: CircuitBreakerOptions) { + this.options = { + failureThreshold: 5, + recoveryTimeout: 30000, + successThreshold: 2, + timeoutMs: 10000, + ...options, + }; + } + + private setState(newState: CircuitState): void { + if (this.state !== newState) { + const oldState = this.state; + this.state = newState; + logger.warn( + `Circuit breaker '${this.options.name}' state changed`, + { oldState, newState, circuitName: this.options.name } + ); + this.options.onStateChange?.(oldState, newState); + } + } + + private canCall(): boolean { + const now = Date.now(); + + switch (this.state) { + case CircuitState.CLOSED: + return true; + case CircuitState.OPEN: + if (now - this.lastFailureTime >= this.options.recoveryTimeout) { + this.setState(CircuitState.HALF_OPEN); + this.successCount = 0; + return true; + } + return false; + case CircuitState.HALF_OPEN: + return true; + } + } + + private recordSuccess(): void { + switch (this.state) { + case CircuitState.HALF_OPEN: + this.successCount++; + if (this.successCount >= this.options.successThreshold) { + this.setState(CircuitState.CLOSED); + this.failureCount = 0; + this.successCount = 0; + } + break; + case CircuitState.CLOSED: + this.failureCount = 0; + break; + } + } + + private recordFailure(): void { + this.lastFailureTime = Date.now(); + switch (this.state) { + case CircuitState.CLOSED: + this.failureCount++; + if (this.failureCount >= this.options.failureThreshold) { + this.setState(CircuitState.OPEN); + } + break; + case CircuitState.HALF_OPEN: + this.setState(CircuitState.OPEN); + break; + } + } + + async execute(fn: () => Promise): Promise { + if (!this.canCall()) { + throw new CircuitBreakerError( + `Circuit breaker '${this.options.name}' is OPEN. Request blocked.`, + this.options.name, + this.state, + ); + } + + try { + const result = await fn(); + this.recordSuccess(); + return result; + } catch (error) { + this.recordFailure(); + throw error; + } + } + + getState(): CircuitState { + return this.state; + } + + reset(): void { + this.state = CircuitState.CLOSED; + this.failureCount = 0; + this.successCount = 0; + this.lastFailureTime = 0; + logger.info(`Circuit breaker '${this.options.name}' reset`, { circuitName: this.options.name }); + } + + getMetrics(): { + state: CircuitState; + failureCount: number; + successCount: number; + lastFailureTime: number; + } { + return { + state: this.state, + failureCount: this.failureCount, + successCount: this.successCount, + lastFailureTime: this.lastFailureTime, + }; + } +} + +export interface RetryOptions { + maxAttempts: number; + initialDelayMs: number; + maxDelayMs?: number; + backoffMultiplier?: number; + retryableErrors?: (error: Error) => boolean; + onRetry?: (attempt: number, error: Error, delayMs: number) => void; +} + +export class RetryAbortedError extends Error { + constructor(message: string) { + super(message); + this.name = "RetryAbortedError"; + } +} + +export async function withRetry( + fn: () => Promise, + options: RetryOptions, +): Promise { + const { + maxAttempts, + initialDelayMs, + maxDelayMs = 30000, + backoffMultiplier = 2, + retryableErrors = () => true, + onRetry, + } = options; + + let lastError: Error | undefined; + let delay = initialDelayMs; + + for (let attempt = 1; attempt <= maxAttempts; attempt++) { + try { + return await fn(); + } catch (error) { + lastError = error instanceof Error ? error : new Error(String(error)); + + if (!retryableErrors(lastError) || attempt === maxAttempts) { + throw lastError; + } + + onRetry?.(attempt, lastError, delay); + logger.warn( + `Retrying operation (attempt ${attempt}/${maxAttempts})`, + { attempt, maxAttempts, delayMs: delay, error: lastError.message }, + ); + + await new Promise((resolve) => setTimeout(resolve, delay)); + + delay = Math.min(delay * backoffMultiplier, maxDelayMs); + } + } + + throw lastError; +} + +export async function withRetryAndCircuitBreaker( + fn: () => Promise, + retryOptions: RetryOptions, + circuitBreaker: CircuitBreaker, +): Promise { + return await circuitBreaker.execute(() => withRetry(fn, retryOptions)); +} + +export const createResilientFunction = Promise>( + fn: T, + options: { + circuitBreakerOptions: CircuitBreakerOptions; + retryOptions: RetryOptions; + }, +): T => { + const circuitBreaker = new CircuitBreaker(options.circuitBreakerOptions); + + return ((...args: any[]) => { + return withRetryAndCircuitBreaker( + () => fn(...args), + options.retryOptions, + circuitBreaker, + ); + }) as T; +};