@@ -111,10 +111,10 @@ impl MoveProcessor {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn serialize_verified_program(
|
fn verify_program(
|
||||||
script: &VerifiedScript,
|
script: &VerifiedScript,
|
||||||
modules: &[VerifiedModule],
|
modules: &[VerifiedModule],
|
||||||
) -> Result<(Vec<u8>), InstructionError> {
|
) -> Result<(LibraAccountState), InstructionError> {
|
||||||
let mut script_bytes = vec![];
|
let mut script_bytes = vec![];
|
||||||
script
|
script
|
||||||
.as_inner()
|
.as_inner()
|
||||||
@@ -129,11 +129,10 @@ impl MoveProcessor {
|
|||||||
.map_err(map_failure_error)?;
|
.map_err(map_failure_error)?;
|
||||||
modules_bytes.push(buf);
|
modules_bytes.push(buf);
|
||||||
}
|
}
|
||||||
bincode::serialize(&LibraAccountState::VerifiedProgram {
|
Ok(LibraAccountState::VerifiedProgram {
|
||||||
script_bytes,
|
script_bytes,
|
||||||
modules_bytes,
|
modules_bytes,
|
||||||
})
|
})
|
||||||
.map_err(map_data_error)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn deserialize_compiled_program(
|
fn deserialize_compiled_program(
|
||||||
@@ -330,8 +329,11 @@ impl MoveProcessor {
|
|||||||
.collect::<Result<Vec<_>, _>>()
|
.collect::<Result<Vec<_>, _>>()
|
||||||
.map_err(map_vm_verification_error)?;
|
.map_err(map_vm_verification_error)?;
|
||||||
|
|
||||||
keyed_accounts[PROGRAM_INDEX].account.data =
|
Self::serialize_and_enforce_length(
|
||||||
Self::serialize_verified_program(&verified_script, &verified_modules)?;
|
&Self::verify_program(&verified_script, &verified_modules)?,
|
||||||
|
&mut keyed_accounts[PROGRAM_INDEX].account.data,
|
||||||
|
)?;
|
||||||
|
|
||||||
keyed_accounts[PROGRAM_INDEX].account.executable = true;
|
keyed_accounts[PROGRAM_INDEX].account.executable = true;
|
||||||
|
|
||||||
info!(
|
info!(
|
||||||
|
Reference in New Issue
Block a user