diff --git a/cli/src/cli/deposit.rs b/cli/src/cli/deposit.rs index 02eb19b8..8da88c0a 100644 --- a/cli/src/cli/deposit.rs +++ b/cli/src/cli/deposit.rs @@ -1,4 +1,5 @@ use alloy::{primitives::B256, providers::Provider}; +use common::env::EnvType; use intmax2_client_sdk::{ client::client::Client, external_api::{ @@ -225,6 +226,11 @@ pub async fn fetch_predicate_permission( let value = convert_u256_to_alloy(value); let amount = convert_u256_to_alloy(amount); let token_id = convert_u256_to_alloy(token_id); + let chain_id = if env.env == EnvType::Prod { + 1u32 + } else { + 11155111u32 + }; let request = match token_type { TokenType::NATIVE => PermissionRequest::Native { recipient_salt_hash, @@ -249,7 +255,7 @@ pub async fn fetch_predicate_permission( }; let from = convert_address_to_alloy(from); let permission = predicate_client - .get_deposit_permission(from, aml_permitter_address, value, request) + .get_deposit_permission(from, aml_permitter_address, value, chain_id, request) .await?; Ok(permission) } diff --git a/client-sdk/src/external_api/predicate.rs b/client-sdk/src/external_api/predicate.rs index 39e70a17..67b027f6 100644 --- a/client-sdk/src/external_api/predicate.rs +++ b/client-sdk/src/external_api/predicate.rs @@ -100,10 +100,12 @@ impl PredicateClient { from: Address, to: Address, value: U256, + chain_id: u32, request: PermissionRequest, ) -> Result, ServerError> { let encoded_data = request.to_encoded_data(); - self.get_permission(from, to, value, &encoded_data).await + self.get_permission(from, to, value, chain_id, &encoded_data) + .await } async fn get_permission( @@ -111,6 +113,7 @@ impl PredicateClient { from: Address, to: Address, value: U256, + chain_id: u32, encoded_data: &[u8], ) -> Result, ServerError> { let body = serde_json::json!({ @@ -118,6 +121,7 @@ impl PredicateClient { "to": format!("{:?}", to), "data": "0x".to_string() + &hex::encode(encoded_data), "msg_value":format!("{:?}", value), + "chain_id": chain_id, }); let response: PredicateResponse = post_request( &self.client,