use legend_client::{EarnParams, SwapParams, ExecuteParams};
// Create an earn plan
let plan = client.plan.earn("acc_xxx", &EarnParams {
amount: "1000000".into(),
asset: "USDC".into(),
network: "base".into(),
protocol: "compound".into(),
market: None,
}).await?;
// Extract the digest for signing
let digest = plan.digest().expect("Plan missing digest");
// Create a swap plan
let plan = client.plan.swap("acc_xxx", &SwapParams {
sell_asset: "USDC".into(),
buy_asset: "WETH".into(),
sell_amount: Some("1000000".into()),
buy_amount: None,
network: "base".into(),
}).await?;
// Execute with a signature
let result = client.plan.execute("acc_xxx", &ExecuteParams {
plan_id: plan.plan_id.clone(),
signature: "0xdef456...".into(),
}).await?;