From cf2faa02cf1a68a0b471574a59a68aa57e6e5903 Mon Sep 17 00:00:00 2001 From: wumibals Date: Thu, 28 May 2026 15:28:39 +0100 Subject: [PATCH] feat(common): add CampaignStatus, MilestoneStatus, AssetInfo, ErrorCode shared types --- common/src/lib.rs | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/common/src/lib.rs b/common/src/lib.rs index 92a5077..77acddf 100644 --- a/common/src/lib.rs +++ b/common/src/lib.rs @@ -1,9 +1,35 @@ #![no_std] -use soroban_sdk::contracterror; +use soroban_sdk::{contracttype, contracterror}; + +#[contracttype] +#[derive(Copy, Clone, Debug, Eq, PartialEq)] +pub enum CampaignStatus { + Draft, + Active, + Completed, + Cancelled, +} + +#[contracttype] +#[derive(Copy, Clone, Debug, Eq, PartialEq)] +pub enum MilestoneStatus { + Pending, + Completed, + Failed, +} + +#[contracttype] +#[derive(Copy, Clone, Debug, Eq, PartialEq)] +pub struct AssetInfo { + pub code: u32, + pub issuer: u32, +} #[contracterror] #[derive(Copy, Clone, Debug, Eq, PartialEq)] -pub enum Error { +pub enum ErrorCode { NotInitialized = 1, AlreadyInitialized = 2, + Unauthorized = 3, + InvalidAmount = 4, }