-
Notifications
You must be signed in to change notification settings - Fork 12
/
bundle.proto
111 lines (95 loc) · 2.91 KB
/
bundle.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
syntax = "proto3";
import "packet.proto";
import "shared.proto";
package bundle;
message Bundle {
shared.Header header = 2;
repeated packet.Packet packets = 3;
}
message BundleUuid {
bundle.Bundle bundle = 1;
string uuid = 2;
}
/* Bundle Result Types */
// Indicates the bundle was accepted and forwarded to a validator.
// NOTE: A single bundle may have multiple events emitted if forwarded to many validators.
message Accepted {
// Slot at which bundle was forwarded.
uint64 slot = 1;
// Validator identity bundle was forwarded to.
string validator_identity = 2;
}
// Indicates the bundle was dropped and therefore not forwarded to any validator.
message Rejected {
oneof reason {
StateAuctionBidRejected state_auction_bid_rejected = 1;
WinningBatchBidRejected winning_batch_bid_rejected = 2;
SimulationFailure simulation_failure = 3;
InternalError internal_error = 4;
DroppedBundle dropped_bundle = 5;
}
}
// Indicates the bundle's bid was high enough to win its state auction.
// However, not high enough relative to other state auction winners and therefore excluded from being forwarded.
message WinningBatchBidRejected {
// Auction's unique identifier.
string auction_id = 1;
// Bundle's simulated bid.
uint64 simulated_bid_lamports = 2;
optional string msg = 3;
}
// Indicates the bundle's bid was __not__ high enough to be included in its state auction's set of winners.
message StateAuctionBidRejected {
// Auction's unique identifier.
string auction_id = 1;
// Bundle's simulated bid.
uint64 simulated_bid_lamports = 2;
optional string msg = 3;
}
// Bundle dropped due to simulation failure.
message SimulationFailure {
// Signature of the offending transaction.
string tx_signature = 1;
optional string msg = 2;
}
// Bundle dropped due to an internal error.
message InternalError {
string msg = 1;
}
// Bundle dropped (e.g. because no leader upcoming)
message DroppedBundle {
string msg = 1;
}
message Finalized {}
message Processed {
string validator_identity = 1;
uint64 slot = 2;
/// Index within the block.
uint64 bundle_index = 3;
}
message Dropped {
DroppedReason reason = 1;
}
enum DroppedReason {
BlockhashExpired = 0;
// One or more transactions in the bundle landed on-chain, invalidating the bundle.
PartiallyProcessed = 1;
// This indicates bundle was processed but not finalized. This could occur during forks.
NotFinalized = 2;
}
message BundleResult {
// Bundle's Uuid.
string bundle_id = 1;
oneof result {
// Indicated accepted by the block-engine and forwarded to a jito-solana validator.
Accepted accepted = 2;
// Rejected by the block-engine.
Rejected rejected = 3;
// Reached finalized commitment level.
Finalized finalized = 4;
// Reached a processed commitment level.
Processed processed = 5;
// Was accepted and forwarded by the block-engine but never landed on-chain.
Dropped dropped = 6;
}
}