Not for this PR, but I wonder if we should just have one general AccountInputs. It could look something like:
pub struct AccountInputs {
account_header: AccountHeader,
storage_header: AccountStorageHeader,
code_header: AccountCodeHeader,
witness: AccountWitness,
storage_map_proofs: Vec<SmtProof>,
vault_proofs: Vec<SmtProof>,
}
pub struct AccountCodeHeader {
procedures: Vec<AccountProcedureInfo>,
}
This struct would contain the data needed to load the account into the transaction kernel, irrespective of whether this is a foreign or native account.
Originally posted by @bobbinth in #1229 (comment)