Browse Source

Deduce account size from ctor

Armani Ferrante 4 years ago
parent
commit
aa92095953
2 changed files with 3 additions and 1 deletions
  1. 1 0
      .travis.yml
  2. 2 1
      syn/src/codegen/program.rs

+ 1 - 0
.travis.yml

@@ -51,3 +51,4 @@ jobs:
         - pushd examples/tutorial/basic-1 && anchor test && popd
         - pushd examples/tutorial/basic-2 && anchor test && popd
         - pushd examples/tutorial/basic-3 && anchor test && popd
+        - pushd examples/tutorial/basic-4 && anchor test && popd

+ 2 - 1
syn/src/codegen/program.rs

@@ -118,7 +118,8 @@ pub fn generate_non_inlined_handlers(program: &Program) -> proc_macro2::TokenStr
                     let seed = anchor_lang::ProgramState::<#name>::seed();
                     let owner = ctor_accounts.program.key;
                     let to = Pubkey::create_with_seed(&base, seed, owner).unwrap();
-                    let space = 1000; // todo
+                    // Add 8 for the account discriminator.
+                    let space = 8 + instance.try_to_vec().map_err(|_| ProgramError::Custom(1))?.len();
                     let lamports = ctor_accounts.rent.minimum_balance(space);
                     let seeds = &[&[nonce][..]];