Add runtime support for address table lookups (#22223)

* Add support for address table lookups in runtime

* feedback

* feedback
This commit is contained in:
Justin Starry
2022-01-07 11:59:09 +08:00
committed by GitHub
parent 08e64c88ed
commit 52d12cc802
16 changed files with 568 additions and 69 deletions

View File

@@ -570,6 +570,10 @@ impl TryFrom<tx_by_addr::TransactionError> for TransactionError {
20 => TransactionError::WouldExceedMaxAccountCostLimit,
21 => TransactionError::WouldExceedMaxAccountDataCostLimit,
22 => TransactionError::TooManyAccountLocks,
23 => TransactionError::AddressLookupTableNotFound,
24 => TransactionError::InvalidAddressLookupTableOwner,
25 => TransactionError::InvalidAddressLookupTableData,
26 => TransactionError::InvalidAddressLookupTableIndex,
_ => return Err("Invalid TransactionError"),
})
}
@@ -646,6 +650,18 @@ impl From<TransactionError> for tx_by_addr::TransactionError {
TransactionError::TooManyAccountLocks => {
tx_by_addr::TransactionErrorType::TooManyAccountLocks
}
TransactionError::AddressLookupTableNotFound => {
tx_by_addr::TransactionErrorType::AddressLookupTableNotFound
}
TransactionError::InvalidAddressLookupTableOwner => {
tx_by_addr::TransactionErrorType::InvalidAddressLookupTableOwner
}
TransactionError::InvalidAddressLookupTableData => {
tx_by_addr::TransactionErrorType::InvalidAddressLookupTableData
}
TransactionError::InvalidAddressLookupTableIndex => {
tx_by_addr::TransactionErrorType::InvalidAddressLookupTableIndex
}
} as i32,
instruction_error: match transaction_error {
TransactionError::InstructionError(index, ref instruction_error) => {