diff --git a/src/indexer/contract_handlers.rs b/src/indexer/contract_handlers.rs index 5f1c8f643..97a38320b 100644 --- a/src/indexer/contract_handlers.rs +++ b/src/indexer/contract_handlers.rs @@ -16,7 +16,7 @@ use hyle_contract_sdk::{ use hyllar::{HyllarToken, HyllarTokenContract}; use serde::Serialize; use tokio::sync::RwLock; -use tracing::info; +use tracing::{debug, info}; use utoipa::openapi::OpenApi; use utoipa::ToSchema; use utoipa_axum::router::OpenApiRouter; @@ -78,9 +78,13 @@ impl ContractHandler for HyllarToken { let data: StructuredBlobData = data.clone().try_into()?; - let caller: Identity = data + let caller = data .caller - .map(|_| contract_name.0.clone().into()) + .and_then(|idx| { + tx.blobs + .get(idx.0) + .map(|b| Identity(b.contract_name.0.clone())) + }) .unwrap_or(tx.identity.clone()); let contract = HyllarTokenContract::init(state, caller);