i'm thinking the client can't create my pda state_account since only the program can sign for it, but i must be missing something. my native excerpt:
let state_account = next_account_info(account_info_iter)?;
let rent = Rent::default().minimum_balance(State::LEN);
let seeds = [ "state_".as_bytes(), &[seed_bump] ];
let signers = &[&seeds[..]];
let create_ix = create_account(
payer.key,
state_account.key,
rent,
State::LEN as u64,
my_program_id
);
invoke_signed(&create_ix, &[
payer.clone(),
state_account.clone()
], signers)?;