diff --git a/deny.toml b/deny.toml index 2e516b99..93dc2f96 100644 --- a/deny.toml +++ b/deny.toml @@ -55,6 +55,8 @@ exceptions = [ { allow = ["AGPL-3.0"], name = "serai-coins-pallet" }, { allow = ["AGPL-3.0"], name = "serai-dex-pallet" }, + + { allow = ["AGPL-3.0"], name = "serai-genesis-liquidity-pallet" }, { allow = ["AGPL-3.0"], name = "serai-in-instructions-pallet" }, diff --git a/substrate/abi/src/genesis_liquidity.rs b/substrate/abi/src/genesis_liquidity.rs new file mode 100644 index 00000000..39191223 --- /dev/null +++ b/substrate/abi/src/genesis_liquidity.rs @@ -0,0 +1,19 @@ +use serai_primitives::*; + +#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +pub enum Call { + // This call is just a place holder so that abi works as expected. + empty_call, +} + +#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +pub enum Event { + GenesisLiquidityAdded { by: SeraiAddress, balance: Balance }, + GenesisLiquidityRemoved { by: SeraiAddress, balance: Balance }, + GenesisLiquidityAddedToPool { coin1: Balance, coin2: Balance }, + EconomicSecurityReached { network: NetworkId }, +} diff --git a/substrate/abi/src/lib.rs b/substrate/abi/src/lib.rs index 2e873f4c..e59f3085 100644 --- a/substrate/abi/src/lib.rs +++ b/substrate/abi/src/lib.rs @@ -11,6 +11,8 @@ pub mod validator_sets; pub mod in_instructions; pub mod signals; +pub mod genesis_liquidity; + pub mod babe; pub mod grandpa; @@ -24,6 +26,7 @@ pub enum Call { Coins(coins::Call), LiquidityTokens(coins::Call), Dex(dex::Call), + GenesisLiquidity(genesis_liquidity::Call), ValidatorSets(validator_sets::Call), InInstructions(in_instructions::Call), Signals(signals::Call), @@ -45,6 +48,7 @@ pub enum Event { Coins(coins::Event), LiquidityTokens(coins::Event), Dex(dex::Event), + GenesisLiquidity(genesis_liquidity::Event), ValidatorSets(validator_sets::Event), InInstructions(in_instructions::Event), Signals(signals::Event),