From e247365f30a2cae7ae25e80dfef9a69468acd632 Mon Sep 17 00:00:00 2001 From: Ricardo Guilherme Schmidt <3esmit@gmail.com> Date: Mon, 29 Jun 2026 13:56:04 -0300 Subject: [PATCH] fix(stablecoin): annotate stablecoin instruction accounts --- artifacts/stablecoin-idl.json | 40 +++++++++---------- .../methods/guest/src/bin/stablecoin.rs | 15 +++++++ 2 files changed, 35 insertions(+), 20 deletions(-) diff --git a/artifacts/stablecoin-idl.json b/artifacts/stablecoin-idl.json index ae8a9c6..9698fc9 100644 --- a/artifacts/stablecoin-idl.json +++ b/artifacts/stablecoin-idl.json @@ -8,38 +8,38 @@ { "name": "admin", "writable": false, - "signer": false, + "signer": true, "init": false }, { "name": "protocol_parameters", - "writable": false, + "writable": true, "signer": false, - "init": false + "init": true }, { "name": "stability_fee_accumulator", - "writable": false, + "writable": true, "signer": false, - "init": false + "init": true }, { "name": "redemption_price_state", - "writable": false, + "writable": true, "signer": false, - "init": false + "init": true }, { "name": "stablecoin_definition", - "writable": false, + "writable": true, "signer": false, - "init": false + "init": true }, { "name": "stablecoin_master_holding", - "writable": false, + "writable": true, "signer": false, - "init": false + "init": true }, { "name": "collateral_definition", @@ -105,7 +105,7 @@ { "name": "caller", "writable": false, - "signer": false, + "signer": true, "init": false }, { @@ -116,7 +116,7 @@ }, { "name": "stability_fee_accumulator", - "writable": false, + "writable": true, "signer": false, "init": false }, @@ -135,18 +135,18 @@ { "name": "admin", "writable": false, - "signer": false, + "signer": true, "init": false }, { "name": "protocol_parameters", - "writable": false, + "writable": true, "signer": false, "init": false }, { "name": "stability_fee_accumulator", - "writable": false, + "writable": true, "signer": false, "init": false }, @@ -227,24 +227,24 @@ { "name": "owner", "writable": false, - "signer": false, + "signer": true, "init": false }, { "name": "position", - "writable": false, + "writable": true, "signer": false, "init": false }, { "name": "stablecoin_definition", - "writable": false, + "writable": true, "signer": false, "init": false }, { "name": "user_stablecoin_holding", - "writable": false, + "writable": true, "signer": false, "init": false }, diff --git a/programs/stablecoin/methods/guest/src/bin/stablecoin.rs b/programs/stablecoin/methods/guest/src/bin/stablecoin.rs index 1abd02c..5755fad 100644 --- a/programs/stablecoin/methods/guest/src/bin/stablecoin.rs +++ b/programs/stablecoin/methods/guest/src/bin/stablecoin.rs @@ -20,11 +20,17 @@ mod stablecoin { #[instruction] pub fn initialize_program( ctx: ProgramContext, + #[account(signer)] admin: AccountWithMetadata, + #[account(init)] protocol_parameters: AccountWithMetadata, + #[account(init)] stability_fee_accumulator: AccountWithMetadata, + #[account(init)] redemption_price_state: AccountWithMetadata, + #[account(init)] stablecoin_definition: AccountWithMetadata, + #[account(init)] stablecoin_master_holding: AccountWithMetadata, collateral_definition: AccountWithMetadata, market_price_oracle: AccountWithMetadata, @@ -70,8 +76,10 @@ mod stablecoin { #[instruction] pub fn accrue_stability_fee( ctx: ProgramContext, + #[account(signer)] caller: AccountWithMetadata, protocol_parameters: AccountWithMetadata, + #[account(mut)] stability_fee_accumulator: AccountWithMetadata, clock: AccountWithMetadata, ) -> SpelResult { @@ -93,8 +101,11 @@ mod stablecoin { #[instruction] pub fn set_stability_fee_per_millisecond( ctx: ProgramContext, + #[account(signer)] admin: AccountWithMetadata, + #[account(mut)] protocol_parameters: AccountWithMetadata, + #[account(mut)] stability_fee_accumulator: AccountWithMetadata, clock: AccountWithMetadata, new_rate: u128, @@ -162,9 +173,13 @@ mod stablecoin { #[instruction] pub fn generate_debt( ctx: ProgramContext, + #[account(signer)] owner: AccountWithMetadata, + #[account(mut)] position: AccountWithMetadata, + #[account(mut)] stablecoin_definition: AccountWithMetadata, + #[account(mut)] user_stablecoin_holding: AccountWithMetadata, stability_fee_accumulator: AccountWithMetadata, redemption_price_state: AccountWithMetadata,