sdk: Add Borsh support for types and utilities (bp #15290) (#15393)

* sdk: Add Borsh support for types and utilities (#15290)

* sdk: Add Borsh to Pubkey

* Add serialization error for easier borsh integration

* Add Borsh usage to banks-client and sdk

* Rename SerializationError -> IOError

* Add new errors to proto

* Update Cargo lock

* Update Cargo.lock based on CI

* Clippy

* Update ABI on bank

* Address review feedback

* Update sanity program instruction count test

(cherry picked from commit 0f6f6080f3)

# Conflicts:
#	banks-client/Cargo.toml

* Update new dependencies

Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
This commit is contained in:
mergify[bot]
2021-02-18 13:23:08 +00:00
committed by GitHub
parent bc5f434e48
commit 7a3c4c184f
16 changed files with 288 additions and 12 deletions

View File

@@ -114,4 +114,6 @@ pub enum InstructionErrorType {
ProgramFailedToCompile = 41,
Immutable = 42,
IncorrectAuthority = 43,
IOError = 44,
AccountNotRentExempt = 45,
}

View File

@@ -700,6 +700,12 @@ impl From<TransactionError> for tx_by_addr::TransactionError {
InstructionError::IncorrectAuthority => {
tx_by_addr::InstructionErrorType::IncorrectAuthority
}
InstructionError::IOError(_) => {
tx_by_addr::InstructionErrorType::IOError
}
InstructionError::AccountNotRentExempt => {
tx_by_addr::InstructionErrorType::AccountNotRentExempt
}
} as i32,
custom: match instruction_error {
InstructionError::Custom(custom) => {