Files
solana/storage-proto/proto/transaction_by_addr.proto
mergify[bot] 643442e830 Reject close of active vote accounts (backport #22651) (#22896)
* Reject close of active vote accounts (#22651)

* 10461 Reject close of vote accounts unless it earned no credits in the previous epoch. This is checked by comparing current epoch (from clock sysvar) with the most recent epoch with credits in vote state.

(cherry picked from commit 75563f6c7b)

# Conflicts:
#	programs/vote/src/vote_processor.rs
#	sdk/src/feature_set.rs

* Resolve merge conflicts

Co-authored-by: Will Hickey <csu_hickey@yahoo.com>
Co-authored-by: Will Hickey <will.hickey@solana.com>
2022-02-03 19:59:07 +00:00

126 lines
3.4 KiB
Protocol Buffer

syntax = "proto3";
package solana.storage.TransactionByAddr;
message TransactionByAddr {
repeated TransactionByAddrInfo tx_by_addrs = 1;
}
message TransactionByAddrInfo {
bytes signature = 1;
TransactionError err = 2;
uint32 index = 3;
Memo memo = 4;
UnixTimestamp block_time = 5;
}
message Memo {
string memo = 1;
}
message TransactionError {
TransactionErrorType transaction_error = 1;
InstructionError instruction_error = 2;
}
enum TransactionErrorType {
ACCOUNT_IN_USE = 0;
ACCOUNT_LOADED_TWICE = 1;
ACCOUNT_NOT_FOUND = 2;
PROGRAM_ACCOUNT_NOT_FOUND = 3;
INSUFFICIENT_FUNDS_FOR_FEE = 4;
INVALID_ACCOUNT_FOR_FEE = 5;
ALREADY_PROCESSED = 6;
BLOCKHASH_NOT_FOUND = 7;
INSTRUCTION_ERROR = 8;
CALL_CHAIN_TOO_DEEP = 9;
MISSING_SIGNATURE_FOR_FEE = 10;
INVALID_ACCOUNT_INDEX = 11;
SIGNATURE_FAILURE = 12;
INVALID_PROGRAM_FOR_EXECUTION = 13;
SANITIZE_FAILURE = 14;
CLUSTER_MAINTENANCE = 15;
ACCOUNT_BORROW_OUTSTANDING_TX = 16;
WOULD_EXCEED_MAX_BLOCK_COST_LIMIT = 17;
UNSUPPORTED_VERSION = 18;
INVALID_WRITABLE_ACCOUNT = 19;
WOULD_EXCEED_MAX_ACCOUNT_COST_LIMIT = 20;
WOULD_EXCEED_MAX_ACCOUNT_DATA_COST_LIMIT = 21;
TOO_MANY_ACCOUNT_LOCKS = 22;
ADDRESS_LOOKUP_TABLE_NOT_FOUND = 23;
INVALID_ADDRESS_LOOKUP_TABLE_OWNER = 24;
INVALID_ADDRESS_LOOKUP_TABLE_DATA = 25;
INVALID_ADDRESS_LOOKUP_TABLE_INDEX = 26;
INVALID_RENT_PAYING_ACCOUNT = 27;
WOULD_EXCEED_MAX_VOTE_COST_LIMIT = 28;
}
message InstructionError {
uint32 index = 1;
InstructionErrorType error = 2;
CustomError custom = 3;
}
enum InstructionErrorType {
GENERIC_ERROR = 0;
INVALID_ARGUMENT = 1;
INVALID_INSTRUCTION_DATA = 2;
INVALID_ACCOUNT_DATA = 3;
ACCOUNT_DATA_TOO_SMALL = 4;
INSUFFICIENT_FUNDS = 5;
INCORRECT_PROGRAM_ID = 6;
MISSING_REQUIRED_SIGNATURE = 7;
ACCOUNT_ALREADY_INITIALIZED = 8;
UNINITIALIZED_ACCOUNT = 9;
UNBALANCED_INSTRUCTION = 10;
MODIFIED_PROGRAM_ID = 11;
EXTERNAL_ACCOUNT_LAMPORT_SPEND = 12;
EXTERNAL_ACCOUNT_DATA_MODIFIED = 13;
READONLY_LAMPORT_CHANGE = 14;
READONLY_DATA_MODIFIED = 15;
DUPLICATE_ACCOUNT_INDEX = 16;
EXECUTABLE_MODIFIED = 17;
RENT_EPOCH_MODIFIED = 18;
NOT_ENOUGH_ACCOUNT_KEYS = 19;
ACCOUNT_DATA_SIZE_CHANGED = 20;
ACCOUNT_NOT_EXECUTABLE = 21;
ACCOUNT_BORROW_FAILED = 22;
ACCOUNT_BORROW_OUTSTANDING = 23;
DUPLICATE_ACCOUNT_OUT_OF_SYNC = 24;
CUSTOM = 25;
INVALID_ERROR = 26;
EXECUTABLE_DATA_MODIFIED = 27;
EXECUTABLE_LAMPORT_CHANGE = 28;
EXECUTABLE_ACCOUNT_NOT_RENT_EXEMPT = 29;
UNSUPPORTED_PROGRAM_ID = 30;
CALL_DEPTH = 31;
MISSING_ACCOUNT = 32;
REENTRANCY_NOT_ALLOWED = 33;
MAX_SEED_LENGTH_EXCEEDED = 34;
INVALID_SEEDS = 35;
INVALID_REALLOC = 36;
COMPUTATIONAL_BUDGET_EXCEEDED = 37;
PRIVILEGE_ESCALATION = 38;
PROGRAM_ENVIRONMENT_SETUP_FAILURE = 39;
PROGRAM_FAILED_TO_COMPLETE = 40;
PROGRAM_FAILED_TO_COMPILE = 41;
IMMUTABLE = 42;
INCORRECT_AUTHORITY = 43;
BORSH_IO_ERROR = 44;
ACCOUNT_NOT_RENT_EXEMPT = 45;
INVALID_ACCOUNT_OWNER = 46;
ARITHMETIC_OVERFLOW = 47;
UNSUPPORTED_SYSVAR = 48;
ILLEGAL_OWNER = 49;
ACCOUNTS_DATA_BUDGET_EXCEEDED = 50;
ACTIVE_VOTE_ACCOUNT_CLOSE = 51;
}
message UnixTimestamp {
int64 timestamp = 1;
}
message CustomError {
uint32 custom = 1;
}