diff --git a/contract/contracts/hello-world/src/autoshare_logic.rs b/contract/contracts/hello-world/src/autoshare_logic.rs index dfcaa89..af2fd88 100644 --- a/contract/contracts/hello-world/src/autoshare_logic.rs +++ b/contract/contracts/hello-world/src/autoshare_logic.rs @@ -264,7 +264,7 @@ pub fn add_group_member( }); // Validate total percentage after adding - validate_members(&details.members)?; + validate_members(&env, &details.members)?; // Save updated details env.storage().persistent().set(&key, &details); @@ -911,7 +911,7 @@ pub fn withdraw( Ok(()) } -fn validate_members(members: &Vec) -> Result<(), Error> { +fn validate_members(env: &Env, members: &Vec) -> Result<(), Error> { if members.is_empty() { return Err(Error::EmptyMembers); } @@ -919,7 +919,6 @@ fn validate_members(members: &Vec) -> Result<(), Error> { if members.len() > MAX_MEMBERS { return Err(Error::TooManyMembers); } - let env = members.env(); let mut total_percentage: u32 = 0; let mut seen_addresses = Vec::new(env); diff --git a/listener/src/api/events-server.ts b/listener/src/api/events-server.ts index 99b144b..10d8c16 100644 --- a/listener/src/api/events-server.ts +++ b/listener/src/api/events-server.ts @@ -221,6 +221,17 @@ async function buildStatusResponse(options: EventsServerOptions): Promise<{ }>; timestamp: string; }> { + const contractStatuses = options.contractAddresses + ? await Promise.all( + options.contractAddresses.map(async (contractConfig) => { + const status = await getContractPauseStatus(contractConfig.address, options.stellarRpcUrl); + return { + address: contractConfig.address, + ...status + }; + }) + ) + : []; const contractStatuses = await Promise.all( (options.contractAddresses ?? []).map(async (contractConfig) => { const status = await getContractPauseStatus(contractConfig.address, options.stellarRpcUrl); diff --git a/listener/src/config.ts b/listener/src/config.ts index 46eb975..fe5c962 100644 --- a/listener/src/config.ts +++ b/listener/src/config.ts @@ -1,3 +1,4 @@ +import { Config, ContractConfig, DiscordConfig, WebhookSecret, AppCleanupConfig, EventQueueConfig, RetrySchedulerOptions } from './types'; import { Config, ContractConfig, DiscordConfig, WebhookSecret, AppCleanupConfig, EventQueueConfig, RetrySchedulerOptions, AnalyticsConfig } from './types'; export class ConfigError extends Error {