Skip to content

Commit 87e28c8

Browse files
feat: TransactionKind improvements (#1130)
* feat: update `TransactionKind` for monorepo replacement (#1049) * derive Hash * add Display * expose Hash and Display * add ctors * update bindings * move 2 more methods * one more method * serde rename * remove leftover * fix docs * hopefully fix Go CI * fix * update abnf * remove suffix * improve docs * bindings --------- Co-authored-by: Thibault Martinez <[email protected]>
1 parent 0955bad commit 87e28c8

14 files changed

Lines changed: 578 additions & 130 deletions

File tree

bindings/csharp/src/IotaSdk/IotaSdk.cs

Lines changed: 77 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4024,6 +4024,10 @@ public struct UniffiVTableCallbackInterfaceTransactionSignerFn
40244024

40254025

40264026

4027+
4028+
4029+
4030+
40274031

40284032

40294033

@@ -7733,6 +7737,10 @@ public static extern RustBuffer uniffi_iota_sdk_ffi_fn_method_programmabletransa
77337737
public static extern RustBuffer uniffi_iota_sdk_ffi_fn_method_programmabletransaction_uniffi_trait_debug(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err
77347738
);
77357739

7740+
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
7741+
public static extern RustBuffer uniffi_iota_sdk_ffi_fn_method_programmabletransaction_uniffi_trait_display(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err
7742+
);
7743+
77367744
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
77377745
public static extern sbyte uniffi_iota_sdk_ffi_fn_method_programmabletransaction_uniffi_trait_eq_eq(IntPtr @ptr,IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err
77387746
);
@@ -7741,6 +7749,10 @@ public static extern sbyte uniffi_iota_sdk_ffi_fn_method_programmabletransaction
77417749
public static extern sbyte uniffi_iota_sdk_ffi_fn_method_programmabletransaction_uniffi_trait_eq_ne(IntPtr @ptr,IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err
77427750
);
77437751

7752+
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
7753+
public static extern ulong uniffi_iota_sdk_ffi_fn_method_programmabletransaction_uniffi_trait_hash(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err
7754+
);
7755+
77447756
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
77457757
public static extern IntPtr uniffi_iota_sdk_ffi_fn_clone_publish(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err
77467758
);
@@ -9234,7 +9246,7 @@ public static extern IntPtr uniffi_iota_sdk_ffi_fn_constructor_transactionkind_n
92349246
);
92359247

92369248
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
9237-
public static extern IntPtr uniffi_iota_sdk_ffi_fn_constructor_transactionkind_new_programmable_transaction(IntPtr @tx,ref UniffiRustCallStatus _uniffi_out_err
9249+
public static extern IntPtr uniffi_iota_sdk_ffi_fn_constructor_transactionkind_new_programmable(IntPtr @tx,ref UniffiRustCallStatus _uniffi_out_err
92389250
);
92399251

92409252
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
@@ -9245,6 +9257,10 @@ public static extern IntPtr uniffi_iota_sdk_ffi_fn_constructor_transactionkind_n
92459257
public static extern RustBuffer uniffi_iota_sdk_ffi_fn_method_transactionkind_uniffi_trait_debug(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err
92469258
);
92479259

9260+
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
9261+
public static extern RustBuffer uniffi_iota_sdk_ffi_fn_method_transactionkind_uniffi_trait_display(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err
9262+
);
9263+
92489264
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
92499265
public static extern sbyte uniffi_iota_sdk_ffi_fn_method_transactionkind_uniffi_trait_eq_eq(IntPtr @ptr,IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err
92509266
);
@@ -9253,6 +9269,10 @@ public static extern sbyte uniffi_iota_sdk_ffi_fn_method_transactionkind_uniffi_
92539269
public static extern sbyte uniffi_iota_sdk_ffi_fn_method_transactionkind_uniffi_trait_eq_ne(IntPtr @ptr,IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err
92549270
);
92559271

9272+
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
9273+
public static extern ulong uniffi_iota_sdk_ffi_fn_method_transactionkind_uniffi_trait_hash(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err
9274+
);
9275+
92569276
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
92579277
public static extern IntPtr uniffi_iota_sdk_ffi_fn_clone_transactionsigner(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err
92589278
);
@@ -17154,7 +17174,7 @@ public static extern ushort uniffi_iota_sdk_ffi_checksum_constructor_transaction
1715417174
);
1715517175

1715617176
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
17157-
public static extern ushort uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_programmable_transaction(
17177+
public static extern ushort uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_programmable(
1715817178
);
1715917179

1716017180
[DllImport("iota_sdk_ffi", CallingConvention = CallingConvention.Cdecl)]
@@ -25525,32 +25545,32 @@ static void uniffiCheckApiChecksums() {
2552525545
}
2552625546
{
2552725547
var checksum = _UniFFILib.uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_consensus_commit_prologue_v1();
25528-
if (checksum != 27756) {
25529-
throw new UniffiContractChecksumException($"IotaSdk: uniffi bindings expected function `uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_consensus_commit_prologue_v1` checksum `27756`, library returned `{checksum}`");
25548+
if (checksum != 57433) {
25549+
throw new UniffiContractChecksumException($"IotaSdk: uniffi bindings expected function `uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_consensus_commit_prologue_v1` checksum `57433`, library returned `{checksum}`");
2553025550
}
2553125551
}
2553225552
{
2553325553
var checksum = _UniFFILib.uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_end_of_epoch();
25534-
if (checksum != 44556) {
25535-
throw new UniffiContractChecksumException($"IotaSdk: uniffi bindings expected function `uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_end_of_epoch` checksum `44556`, library returned `{checksum}`");
25554+
if (checksum != 29805) {
25555+
throw new UniffiContractChecksumException($"IotaSdk: uniffi bindings expected function `uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_end_of_epoch` checksum `29805`, library returned `{checksum}`");
2553625556
}
2553725557
}
2553825558
{
2553925559
var checksum = _UniFFILib.uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_genesis();
25540-
if (checksum != 45541) {
25541-
throw new UniffiContractChecksumException($"IotaSdk: uniffi bindings expected function `uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_genesis` checksum `45541`, library returned `{checksum}`");
25560+
if (checksum != 39384) {
25561+
throw new UniffiContractChecksumException($"IotaSdk: uniffi bindings expected function `uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_genesis` checksum `39384`, library returned `{checksum}`");
2554225562
}
2554325563
}
2554425564
{
25545-
var checksum = _UniFFILib.uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_programmable_transaction();
25546-
if (checksum != 9153) {
25547-
throw new UniffiContractChecksumException($"IotaSdk: uniffi bindings expected function `uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_programmable_transaction` checksum `9153`, library returned `{checksum}`");
25565+
var checksum = _UniFFILib.uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_programmable();
25566+
if (checksum != 28701) {
25567+
throw new UniffiContractChecksumException($"IotaSdk: uniffi bindings expected function `uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_programmable` checksum `28701`, library returned `{checksum}`");
2554825568
}
2554925569
}
2555025570
{
2555125571
var checksum = _UniFFILib.uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_randomness_state_update();
25552-
if (checksum != 37051) {
25553-
throw new UniffiContractChecksumException($"IotaSdk: uniffi bindings expected function `uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_randomness_state_update` checksum `37051`, library returned `{checksum}`");
25572+
if (checksum != 32279) {
25573+
throw new UniffiContractChecksumException($"IotaSdk: uniffi bindings expected function `uniffi_iota_sdk_ffi_checksum_constructor_transactionkind_new_randomness_state_update` checksum `32279`, library returned `{checksum}`");
2555425574
}
2555525575
}
2555625576
{
@@ -44585,6 +44605,12 @@ public Input[] Inputs() {
4458544605
}
4458644606

4458744607

44608+
public override string ToString() {
44609+
return CallWithPointer(thisPtr => FfiConverterString.INSTANCE.Lift(
44610+
_UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) =>
44611+
_UniFFILib.uniffi_iota_sdk_ffi_fn_method_programmabletransaction_uniffi_trait_display(thisPtr, ref _status)
44612+
)));
44613+
}
4458844614
public bool Equals(ProgrammableTransaction? other)
4458944615
{
4459044616
if (other is null) return false;
@@ -44598,6 +44624,12 @@ public override bool Equals(object? obj)
4459844624
if (obj is null || !(obj is ProgrammableTransaction)) return false;
4459944625
return Equals(obj as ProgrammableTransaction);
4460044626
}
44627+
public override int GetHashCode() {
44628+
return (int)CallWithPointer(thisPtr => FfiConverterUInt64.INSTANCE.Lift(
44629+
_UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) =>
44630+
_UniFFILib.uniffi_iota_sdk_ffi_fn_method_programmabletransaction_uniffi_trait_hash(thisPtr, ref _status)
44631+
)));
44632+
}
4460144633

4460244634

4460344635
}
@@ -50881,7 +50913,7 @@ public override void Write(TransactionEvents value, BigEndianStream stream) {
5088150913
/// The BCS serialized form for this type is defined by the following ABNF:
5088250914
///
5088350915
/// ```text
50884-
/// transaction-kind = %d00 ptb ; ProgrammableTransaction
50916+
/// transaction-kind = %d00 programmable-transaction ; Programmable
5088550917
/// =/ %d01 genesis-transaction ; Genesis
5088650918
/// =/ %d02 consensus-commit-prologue-v1 ; ConsensusCommitPrologueV1
5088750919
/// =/ %d03 ; AuthenticatorStateUpdateV1Deprecated
@@ -50899,7 +50931,7 @@ public interface ITransactionKind: IEquatable<TransactionKind> {
5089950931
/// The BCS serialized form for this type is defined by the following ABNF:
5090050932
///
5090150933
/// ```text
50902-
/// transaction-kind = %d00 ptb ; ProgrammableTransaction
50934+
/// transaction-kind = %d00 programmable-transaction ; Programmable
5090350935
/// =/ %d01 genesis-transaction ; Genesis
5090450936
/// =/ %d02 consensus-commit-prologue-v1 ; ConsensusCommitPrologueV1
5090550937
/// =/ %d03 ; AuthenticatorStateUpdateV1Deprecated
@@ -50996,6 +51028,12 @@ internal T CallWithPointer<T>(Func<IntPtr, T> func)
5099651028
}
5099751029

5099851030

51031+
public override string ToString() {
51032+
return CallWithPointer(thisPtr => FfiConverterString.INSTANCE.Lift(
51033+
_UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) =>
51034+
_UniFFILib.uniffi_iota_sdk_ffi_fn_method_transactionkind_uniffi_trait_display(thisPtr, ref _status)
51035+
)));
51036+
}
5099951037
public bool Equals(TransactionKind? other)
5100051038
{
5100151039
if (other is null) return false;
@@ -51009,36 +51047,58 @@ public override bool Equals(object? obj)
5100951047
if (obj is null || !(obj is TransactionKind)) return false;
5101051048
return Equals(obj as TransactionKind);
5101151049
}
51050+
public override int GetHashCode() {
51051+
return (int)CallWithPointer(thisPtr => FfiConverterUInt64.INSTANCE.Lift(
51052+
_UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) =>
51053+
_UniFFILib.uniffi_iota_sdk_ffi_fn_method_transactionkind_uniffi_trait_hash(thisPtr, ref _status)
51054+
)));
51055+
}
5101251056

5101351057

51058+
/// <summary>
51059+
/// Create a `TransactionKind` for a consensus-commit-prologue-v1
51060+
/// transaction.
51061+
/// </summary>
5101451062
public static TransactionKind NewConsensusCommitPrologueV1(ConsensusCommitPrologueV1 @tx) {
5101551063
return new TransactionKind(
5101651064
_UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) =>
5101751065
_UniFFILib.uniffi_iota_sdk_ffi_fn_constructor_transactionkind_new_consensus_commit_prologue_v1(FfiConverterTypeConsensusCommitPrologueV1.INSTANCE.Lower(@tx), ref _status)
5101851066
));
5101951067
}
5102051068

51069+
/// <summary>
51070+
/// Create a `TransactionKind` for an end-of-epoch transaction.
51071+
/// </summary>
5102151072
public static TransactionKind NewEndOfEpoch(EndOfEpochTransactionKind[] @tx) {
5102251073
return new TransactionKind(
5102351074
_UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) =>
5102451075
_UniFFILib.uniffi_iota_sdk_ffi_fn_constructor_transactionkind_new_end_of_epoch(FfiConverterSequenceTypeEndOfEpochTransactionKind.INSTANCE.Lower(@tx), ref _status)
5102551076
));
5102651077
}
5102751078

51079+
/// <summary>
51080+
/// Create a `TransactionKind` for a genesis transaction.
51081+
/// </summary>
5102851082
public static TransactionKind NewGenesis(GenesisTransaction @tx) {
5102951083
return new TransactionKind(
5103051084
_UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) =>
5103151085
_UniFFILib.uniffi_iota_sdk_ffi_fn_constructor_transactionkind_new_genesis(FfiConverterTypeGenesisTransaction.INSTANCE.Lower(@tx), ref _status)
5103251086
));
5103351087
}
5103451088

51035-
public static TransactionKind NewProgrammableTransaction(ProgrammableTransaction @tx) {
51089+
/// <summary>
51090+
/// Create a `TransactionKind` for a programmable transaction.
51091+
/// </summary>
51092+
public static TransactionKind NewProgrammable(ProgrammableTransaction @tx) {
5103651093
return new TransactionKind(
5103751094
_UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) =>
51038-
_UniFFILib.uniffi_iota_sdk_ffi_fn_constructor_transactionkind_new_programmable_transaction(FfiConverterTypeProgrammableTransaction.INSTANCE.Lower(@tx), ref _status)
51095+
_UniFFILib.uniffi_iota_sdk_ffi_fn_constructor_transactionkind_new_programmable(FfiConverterTypeProgrammableTransaction.INSTANCE.Lower(@tx), ref _status)
5103951096
));
5104051097
}
5104151098

51099+
/// <summary>
51100+
/// Create a `TransactionKind` for a randomness-state-update transaction.
51101+
/// </summary>
5104251102
public static TransactionKind NewRandomnessStateUpdate(RandomnessStateUpdate @tx) {
5104351103
return new TransactionKind(
5104451104
_UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) =>

0 commit comments

Comments
 (0)