Skip to content

Commit

Permalink
Update error wording to reflect actual cause
Browse files Browse the repository at this point in the history
  • Loading branch information
losman0s committed Dec 17, 2021
1 parent 713d436 commit 564ef40
Show file tree
Hide file tree
Showing 9 changed files with 19 additions and 15 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ incremented for features.
* lang: Add `programdata_address: Option<Pubkey>` field to `Program` account. Will be populated if account is a program owned by the upgradable bpf loader ([#1125](https://github.com/project-serum/anchor/pull/1125))
* lang,ts,ci,cli,docs: update solana toolchain to version 1.8.5([#1133](https://github.com/project-serum/anchor/pull/1133))

### Breaking

* lang, ts: Change error enum name and message for 'wrong program ownership' account validation ([#1154](https://github.com/project-serum/anchor/pull/1154)).

## [0.19.0] - 2021-12-08

### Fixes
Expand Down
4 changes: 2 additions & 2 deletions lang/src/accounts/account.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ impl<'a, T: AccountSerialize + AccountDeserialize + Owner + Clone> Account<'a, T
return Err(ErrorCode::AccountNotInitialized.into());
}
if info.owner != &T::owner() {
return Err(ErrorCode::AccountNotProgramOwned.into());
return Err(ErrorCode::AccountOwnedByWrongProgram.into());
}
let mut data: &[u8] = &info.try_borrow_data()?;
Ok(Account::new(info.clone(), T::try_deserialize(&mut data)?))
Expand All @@ -53,7 +53,7 @@ impl<'a, T: AccountSerialize + AccountDeserialize + Owner + Clone> Account<'a, T
return Err(ErrorCode::AccountNotInitialized.into());
}
if info.owner != &T::owner() {
return Err(ErrorCode::AccountNotProgramOwned.into());
return Err(ErrorCode::AccountOwnedByWrongProgram.into());
}
let mut data: &[u8] = &info.try_borrow_data()?;
Ok(Account::new(
Expand Down
4 changes: 2 additions & 2 deletions lang/src/accounts/loader.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ impl<'info, T: ZeroCopy> Loader<'info, T> {
acc_info: &AccountInfo<'info>,
) -> Result<Loader<'info, T>, ProgramError> {
if acc_info.owner != program_id {
return Err(ErrorCode::AccountNotProgramOwned.into());
return Err(ErrorCode::AccountOwnedByWrongProgram.into());
}
let data: &[u8] = &acc_info.try_borrow_data()?;
// Discriminator must match.
Expand All @@ -79,7 +79,7 @@ impl<'info, T: ZeroCopy> Loader<'info, T> {
acc_info: &AccountInfo<'info>,
) -> Result<Loader<'info, T>, ProgramError> {
if acc_info.owner != program_id {
return Err(ErrorCode::AccountNotProgramOwned.into());
return Err(ErrorCode::AccountOwnedByWrongProgram.into());
}
Ok(Loader::new(acc_info.clone()))
}
Expand Down
4 changes: 2 additions & 2 deletions lang/src/accounts/loader_account.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ impl<'info, T: ZeroCopy + Owner> AccountLoader<'info, T> {
acc_info: &AccountInfo<'info>,
) -> Result<AccountLoader<'info, T>, ProgramError> {
if acc_info.owner != &T::owner() {
return Err(ErrorCode::AccountNotProgramOwned.into());
return Err(ErrorCode::AccountOwnedByWrongProgram.into());
}
let data: &[u8] = &acc_info.try_borrow_data()?;
// Discriminator must match.
Expand All @@ -74,7 +74,7 @@ impl<'info, T: ZeroCopy + Owner> AccountLoader<'info, T> {
acc_info: &AccountInfo<'info>,
) -> Result<AccountLoader<'info, T>, ProgramError> {
if acc_info.owner != &T::owner() {
return Err(ErrorCode::AccountNotProgramOwned.into());
return Err(ErrorCode::AccountOwnedByWrongProgram.into());
}
Ok(AccountLoader::new(acc_info.clone()))
}
Expand Down
4 changes: 2 additions & 2 deletions lang/src/accounts/program_account.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ impl<'a, T: AccountSerialize + AccountDeserialize + Clone> ProgramAccount<'a, T>
info: &AccountInfo<'a>,
) -> Result<ProgramAccount<'a, T>, ProgramError> {
if info.owner != program_id {
return Err(ErrorCode::AccountNotProgramOwned.into());
return Err(ErrorCode::AccountOwnedByWrongProgram.into());
}
let mut data: &[u8] = &info.try_borrow_data()?;
Ok(ProgramAccount::new(
Expand All @@ -59,7 +59,7 @@ impl<'a, T: AccountSerialize + AccountDeserialize + Clone> ProgramAccount<'a, T>
info: &AccountInfo<'a>,
) -> Result<ProgramAccount<'a, T>, ProgramError> {
if info.owner != program_id {
return Err(ErrorCode::AccountNotProgramOwned.into());
return Err(ErrorCode::AccountOwnedByWrongProgram.into());
}
let mut data: &[u8] = &info.try_borrow_data()?;
Ok(ProgramAccount::new(
Expand Down
2 changes: 1 addition & 1 deletion lang/src/accounts/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ impl<'a, T: AccountSerialize + AccountDeserialize + Clone> ProgramState<'a, T> {
info: &AccountInfo<'a>,
) -> Result<ProgramState<'a, T>, ProgramError> {
if info.owner != program_id {
return Err(ErrorCode::AccountNotProgramOwned.into());
return Err(ErrorCode::AccountOwnedByWrongProgram.into());
}
if info.key != &Self::address(program_id) {
solana_program::msg!("Invalid state address");
Expand Down
4 changes: 2 additions & 2 deletions lang/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ pub enum ErrorCode {
AccountNotEnoughKeys,
#[msg("The given account is not mutable")]
AccountNotMutable,
#[msg("The given account is not owned by the executing program")]
AccountNotProgramOwned,
#[msg("The given account is owned by a different program than expected")]
AccountOwnedByWrongProgram,
#[msg("Program ID was not as expected")]
InvalidProgramId,
#[msg("Program account is not executable")]
Expand Down
2 changes: 1 addition & 1 deletion tests/bpf-upgradeable-state/tests/bpf-upgradable-state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ describe("bpf_upgradeable_state", () => {
assert.equal(err.code, 3007);
assert.equal(
err.msg,
"The given account is not owned by the executing program"
"The given account is owned by a different program than expected"
);
}
});
Expand Down
6 changes: 3 additions & 3 deletions ts/src/error.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ const LangErrorCode = {
AccountDidNotSerialize: 3004,
AccountNotEnoughKeys: 3005,
AccountNotMutable: 3006,
AccountNotProgramOwned: 3007,
AccountOwnedByWrongProgram: 3007,
InvalidProgramId: 3008,
InvalidProgramExecutable: 3009,
AccountNotSigner: 3010,
Expand Down Expand Up @@ -189,8 +189,8 @@ const LangErrorMessage = new Map([
],
[LangErrorCode.AccountNotMutable, "The given account is not mutable"],
[
LangErrorCode.AccountNotProgramOwned,
"The given account is not owned by the executing program",
LangErrorCode.AccountOwnedByWrongProgram,
"The given account is owned by a different program than expected",
],
[LangErrorCode.InvalidProgramId, "Program ID was not as expected"],
[LangErrorCode.InvalidProgramExecutable, "Program account is not executable"],
Expand Down

0 comments on commit 564ef40

Please sign in to comment.