Skip to content

Commit 4fee810

Browse files
authored
sui-sdk-types: add TransactionKind::ProgrammableSystemTransaction variant (#115)
1 parent 1eed1b2 commit 4fee810

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

crates/sui-sdk-types/src/transaction/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ pub struct RandomnessStateUpdate {
164164
/// =/ %x07 consensus-commit-prologue-v2
165165
/// =/ %x08 consensus-commit-prologue-v3
166166
/// =/ %x09 consensus-commit-prologue-v4
167+
/// =/ %x0A ptb
167168
/// ```
168169
#[derive(Clone, Debug, PartialEq, Eq)]
169170
#[cfg_attr(feature = "proptest", derive(test_strategy::Arbitrary))]
@@ -204,6 +205,9 @@ pub enum TransactionKind {
204205

205206
/// V4 consensus commit update
206207
ConsensusCommitPrologueV4(ConsensusCommitPrologueV4),
208+
209+
/// A system transaction comprised of a list of native commands and move calls
210+
ProgrammableSystemTransaction(ProgrammableTransaction),
207211
}
208212

209213
/// Operation run at the end of an epoch

crates/sui-sdk-types/src/transaction/serialization.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ mod transaction_kind {
144144
ConsensusCommitPrologueV2(&'a ConsensusCommitPrologueV2),
145145
ConsensusCommitPrologueV3(&'a ConsensusCommitPrologueV3),
146146
ConsensusCommitPrologueV4(&'a ConsensusCommitPrologueV4),
147+
ProgrammableSystemTransaction(&'a ProgrammableTransaction),
147148
}
148149

149150
#[derive(serde_derive::Deserialize)]
@@ -162,6 +163,7 @@ mod transaction_kind {
162163
ConsensusCommitPrologueV2(ConsensusCommitPrologueV2),
163164
ConsensusCommitPrologueV3(ConsensusCommitPrologueV3),
164165
ConsensusCommitPrologueV4(ConsensusCommitPrologueV4),
166+
ProgrammableSystemTransaction(ProgrammableTransaction),
165167
}
166168

167169
#[derive(serde_derive::Serialize)]
@@ -176,6 +178,7 @@ mod transaction_kind {
176178
ConsensusCommitPrologueV2(&'a ConsensusCommitPrologueV2),
177179
ConsensusCommitPrologueV3(&'a ConsensusCommitPrologueV3),
178180
ConsensusCommitPrologueV4(&'a ConsensusCommitPrologueV4),
181+
ProgrammableSystemTransaction(&'a ProgrammableTransaction),
179182
}
180183
#[derive(serde_derive::Deserialize)]
181184
enum BinaryTransactionKind {
@@ -189,6 +192,7 @@ mod transaction_kind {
189192
ConsensusCommitPrologueV2(ConsensusCommitPrologueV2),
190193
ConsensusCommitPrologueV3(ConsensusCommitPrologueV3),
191194
ConsensusCommitPrologueV4(ConsensusCommitPrologueV4),
195+
ProgrammableSystemTransaction(ProgrammableTransaction),
192196
}
193197

194198
impl Serialize for TransactionKind {
@@ -224,6 +228,9 @@ mod transaction_kind {
224228
Self::ConsensusCommitPrologueV4(k) => {
225229
ReadableTransactionKindRef::ConsensusCommitPrologueV4(k)
226230
}
231+
Self::ProgrammableSystemTransaction(k) => {
232+
ReadableTransactionKindRef::ProgrammableSystemTransaction(k)
233+
}
227234
};
228235
readable.serialize(serializer)
229236
} else {
@@ -252,6 +259,9 @@ mod transaction_kind {
252259
Self::ConsensusCommitPrologueV4(k) => {
253260
BinaryTransactionKindRef::ConsensusCommitPrologueV4(k)
254261
}
262+
Self::ProgrammableSystemTransaction(k) => {
263+
BinaryTransactionKindRef::ProgrammableSystemTransaction(k)
264+
}
255265
};
256266
binary.serialize(serializer)
257267
}
@@ -289,6 +299,9 @@ mod transaction_kind {
289299
ReadableTransactionKind::ConsensusCommitPrologueV4(k) => {
290300
Self::ConsensusCommitPrologueV4(k)
291301
}
302+
ReadableTransactionKind::ProgrammableSystemTransaction(k) => {
303+
Self::ProgrammableSystemTransaction(k)
304+
}
292305
})
293306
} else {
294307
BinaryTransactionKind::deserialize(deserializer).map(|binary| match binary {
@@ -316,6 +329,9 @@ mod transaction_kind {
316329
BinaryTransactionKind::ConsensusCommitPrologueV4(k) => {
317330
Self::ConsensusCommitPrologueV4(k)
318331
}
332+
BinaryTransactionKind::ProgrammableSystemTransaction(k) => {
333+
Self::ProgrammableSystemTransaction(k)
334+
}
319335
})
320336
}
321337
}

0 commit comments

Comments
 (0)