diff --git a/proto/com/daml/ledger/api/v2/commands.pb.h b/proto/com/daml/ledger/api/v2/commands.pb.h index b94c020..dd95748 100644 --- a/proto/com/daml/ledger/api/v2/commands.pb.h +++ b/proto/com/daml/ledger/api/v2/commands.pb.h @@ -23,6 +23,7 @@ typedef struct _com_daml_ledger_api_v2_CreateCommand { bool has_template_id; com_daml_ledger_api_v2_Identifier template_id; /* The arguments required for creating a contract from this template. + Required */ bool has_create_arguments; com_daml_ledger_api_v2_Record create_arguments; @@ -40,13 +41,16 @@ typedef struct _com_daml_ledger_api_v2_ExerciseCommand { com_daml_ledger_api_v2_Identifier template_id; /* The ID of the contract the client wants to exercise upon. Must be a valid LedgerString (as described in ``value.proto``). + Required */ char contract_id[1024]; /* The name of the choice the client wants to exercise. Must be a valid NameString (as described in ``value.proto``) + Required */ char choice[1024]; /* The argument for this choice. + Required */ bool has_choice_argument; com_daml_ledger_api_v2_Value choice_argument; @@ -62,14 +66,17 @@ typedef struct _com_daml_ledger_api_v2_ExerciseByKeyCommand { bool has_template_id; com_daml_ledger_api_v2_Identifier template_id; /* The key of the contract the client wants to exercise upon. + Required */ bool has_contract_key; com_daml_ledger_api_v2_Value contract_key; /* The name of the choice the client wants to exercise. Must be a valid NameString (as described in ``value.proto``) + Required */ char choice[1024]; /* The argument for this choice. + Required */ bool has_choice_argument; com_daml_ledger_api_v2_Value choice_argument; @@ -85,14 +92,17 @@ typedef struct _com_daml_ledger_api_v2_CreateAndExerciseCommand { bool has_template_id; com_daml_ledger_api_v2_Identifier template_id; /* The arguments required for creating a contract from this template. + Required */ bool has_create_arguments; com_daml_ledger_api_v2_Record create_arguments; /* The name of the choice the client wants to exercise. Must be a valid NameString (as described in ``value.proto``). + Required */ char choice[1024]; /* The argument for this choice. + Required */ bool has_choice_argument; com_daml_ledger_api_v2_Value choice_argument; @@ -117,19 +127,23 @@ typedef struct _com_daml_ledger_api_v2_DisclosedContract { The identifier uses the package-id reference format. If provided, used to validate the template id of the contract serialized in the created_event_blob. + Optional */ bool has_template_id; com_daml_ledger_api_v2_Identifier template_id; /* The contract id If provided, used to validate the contract id of the contract serialized in the created_event_blob. + Optional */ char contract_id[1024]; /* Opaque byte string containing the complete payload required by the Daml engine to reconstruct a contract not known to the receiving participant. - Required */ + + Required: must be non-empty */ com_daml_ledger_api_v2_DisclosedContract_created_event_blob_t created_event_blob; /* The ID of the synchronizer where the contract is currently assigned + Optional */ char synchronizer_id[1024]; } com_daml_ledger_api_v2_DisclosedContract; @@ -138,22 +152,27 @@ typedef struct _com_daml_ledger_api_v2_DisclosedContract { typedef struct _com_daml_ledger_api_v2_Commands { /* Identifier of the on-ledger workflow that this command is a part of. Must be a valid LedgerString (as described in ``value.proto``). + Optional */ char workflow_id[1024]; /* Uniquely identifies the participant user that issued the command. Must be a valid UserIdString (as described in ``value.proto``). Required unless authentication is used with a user token. - In that case, the token's user-id will be used for the request's user_id. */ + In that case, the token's user-id will be used for the request's user_id. + + Optional */ char user_id[1024]; /* Uniquely identifies the command. The triple (user_id, act_as, command_id) constitutes the change ID for the intended ledger change, where act_as is interpreted as a set of party names. The change ID can be used for matching the intended ledger changes with all their completions. Must be a valid LedgerString (as described in ``value.proto``). + Required */ char command_id[1024]; /* Individual elements of this atomic command. Must be non-empty. - Required */ + + Required: must be non-empty */ pb_callback_t commands; pb_size_t which_deduplication_period; union { @@ -170,11 +189,13 @@ typedef struct _com_daml_ledger_api_v2_Commands { Use this property if you expect that command interpretation will take a considerate amount of time, such that by the time the resulting transaction is sequenced, its assigned ledger time is not valid anymore. Must not be set at the same time as min_ledger_time_rel. + Optional */ bool has_min_ledger_time_abs; google_protobuf_Timestamp min_ledger_time_abs; /* Same as min_ledger_time_abs, but specified as a duration, starting from the time the command is received by the server. Must not be set at the same time as min_ledger_time_abs. + Optional */ bool has_min_ledger_time_rel; google_protobuf_Duration min_ledger_time_rel; @@ -182,7 +203,8 @@ typedef struct _com_daml_ledger_api_v2_Commands { If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request to act on behalf of each of the given parties. Each element must be a valid PartyIdString (as described in ``value.proto``). - Required, must be non-empty. */ + + Required: must be non-empty */ pb_callback_t act_as; /* Set of parties on whose behalf (in addition to all parties listed in ``act_as``) contracts can be retrieved. This affects Daml operations such as ``fetch``, ``fetchByKey``, ``lookupByKey``, ``exercise``, and ``exerciseByKey``. @@ -192,7 +214,8 @@ typedef struct _com_daml_ledger_api_v2_Commands { rules for fetch operations. If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request to read contract data on behalf of each of the given parties. - Optional */ + + Optional: can be empty */ pb_callback_t read_as; /* A unique identifier to distinguish completions for different submissions with the same change ID. Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission @@ -200,23 +223,38 @@ typedef struct _com_daml_ledger_api_v2_Commands { Must be a valid LedgerString (as described in ``value.proto``). If omitted, the participant or the committer may set a value of their choice. + Optional */ char submission_id[1024]; /* Additional contracts used to resolve contract & contract key lookups. - Optional */ + + Optional: can be empty */ pb_callback_t disclosed_contracts; /* Must be a valid synchronizer id + Optional */ char synchronizer_id[1024]; /* The package-id selection preference of the client for resolving - package names and interface instances in command submission and interpretation */ + package names and interface instances in command submission and interpretation + + Optional: can be empty */ pb_callback_t package_id_selection_preference; /* Fetches the contract keys into the caches to speed up the command processing. - Should only contain contract keys that are expected to be resolved during interpretation of the commands. - Keys of disclosed contracts do not need prefetching. + Each entry specifies a key and a limit on how many contracts to prefetch for that key. + The limit does not count disclosed contracts, and should reflect the number of + additional contracts expected to be resolved during interpretation of the commands. + If a key appears multiple times, the last entry's limit wins. - Optional */ + Optional: can be empty */ pb_callback_t prefetch_contract_keys; + /* The maximum number of passes for the Topology-Aware Package Selection (TAPS). + Higher values can increase the chance of successful package selection for routing of interpreted transactions. + If unset, this defaults to the value defined in the participant configuration. + The provided value must not exceed the limit specified in the participant configuration. + + Optional */ + bool has_taps_max_passes; + uint32_t taps_max_passes; } com_daml_ledger_api_v2_Commands; /* Preload contracts */ @@ -229,9 +267,19 @@ typedef struct _com_daml_ledger_api_v2_PrefetchContractKey { bool has_template_id; com_daml_ledger_api_v2_Identifier template_id; /* The key of the contract the client wants to prefetch. + Required */ bool has_contract_key; com_daml_ledger_api_v2_Value contract_key; + /* The number of contracts to prefetch for this key, if available. + This is in addition to disclosed contracts. + - for backward compatibility reason, absence is interpreted as 1 + - 0 is forbidden + - capped at 2^31 - 1. The system may impose further limits. + + Optional */ + bool has_limit; + uint32_t limit; } com_daml_ledger_api_v2_PrefetchContractKey; @@ -246,16 +294,16 @@ extern "C" { #define com_daml_ledger_api_v2_ExerciseByKeyCommand_init_default {false, com_daml_ledger_api_v2_Identifier_init_default, false, com_daml_ledger_api_v2_Value_init_default, "", false, com_daml_ledger_api_v2_Value_init_default} #define com_daml_ledger_api_v2_CreateAndExerciseCommand_init_default {false, com_daml_ledger_api_v2_Identifier_init_default, false, com_daml_ledger_api_v2_Record_init_default, "", false, com_daml_ledger_api_v2_Value_init_default} #define com_daml_ledger_api_v2_DisclosedContract_init_default {false, com_daml_ledger_api_v2_Identifier_init_default, "", {0, {0}}, ""} -#define com_daml_ledger_api_v2_Commands_init_default {"", "", "", {{NULL}, NULL}, 0, {google_protobuf_Duration_init_default}, false, google_protobuf_Timestamp_init_default, false, google_protobuf_Duration_init_default, {{NULL}, NULL}, {{NULL}, NULL}, "", {{NULL}, NULL}, "", {{NULL}, NULL}, {{NULL}, NULL}} -#define com_daml_ledger_api_v2_PrefetchContractKey_init_default {false, com_daml_ledger_api_v2_Identifier_init_default, false, com_daml_ledger_api_v2_Value_init_default} +#define com_daml_ledger_api_v2_Commands_init_default {"", "", "", {{NULL}, NULL}, 0, {google_protobuf_Duration_init_default}, false, google_protobuf_Timestamp_init_default, false, google_protobuf_Duration_init_default, {{NULL}, NULL}, {{NULL}, NULL}, "", {{NULL}, NULL}, "", {{NULL}, NULL}, {{NULL}, NULL}, false, 0} +#define com_daml_ledger_api_v2_PrefetchContractKey_init_default {false, com_daml_ledger_api_v2_Identifier_init_default, false, com_daml_ledger_api_v2_Value_init_default, false, 0} #define com_daml_ledger_api_v2_Command_init_zero {0, {com_daml_ledger_api_v2_CreateCommand_init_zero}} #define com_daml_ledger_api_v2_CreateCommand_init_zero {false, com_daml_ledger_api_v2_Identifier_init_zero, false, com_daml_ledger_api_v2_Record_init_zero} #define com_daml_ledger_api_v2_ExerciseCommand_init_zero {false, com_daml_ledger_api_v2_Identifier_init_zero, "", "", false, com_daml_ledger_api_v2_Value_init_zero} #define com_daml_ledger_api_v2_ExerciseByKeyCommand_init_zero {false, com_daml_ledger_api_v2_Identifier_init_zero, false, com_daml_ledger_api_v2_Value_init_zero, "", false, com_daml_ledger_api_v2_Value_init_zero} #define com_daml_ledger_api_v2_CreateAndExerciseCommand_init_zero {false, com_daml_ledger_api_v2_Identifier_init_zero, false, com_daml_ledger_api_v2_Record_init_zero, "", false, com_daml_ledger_api_v2_Value_init_zero} #define com_daml_ledger_api_v2_DisclosedContract_init_zero {false, com_daml_ledger_api_v2_Identifier_init_zero, "", {0, {0}}, ""} -#define com_daml_ledger_api_v2_Commands_init_zero {"", "", "", {{NULL}, NULL}, 0, {google_protobuf_Duration_init_zero}, false, google_protobuf_Timestamp_init_zero, false, google_protobuf_Duration_init_zero, {{NULL}, NULL}, {{NULL}, NULL}, "", {{NULL}, NULL}, "", {{NULL}, NULL}, {{NULL}, NULL}} -#define com_daml_ledger_api_v2_PrefetchContractKey_init_zero {false, com_daml_ledger_api_v2_Identifier_init_zero, false, com_daml_ledger_api_v2_Value_init_zero} +#define com_daml_ledger_api_v2_Commands_init_zero {"", "", "", {{NULL}, NULL}, 0, {google_protobuf_Duration_init_zero}, false, google_protobuf_Timestamp_init_zero, false, google_protobuf_Duration_init_zero, {{NULL}, NULL}, {{NULL}, NULL}, "", {{NULL}, NULL}, "", {{NULL}, NULL}, {{NULL}, NULL}, false, 0} +#define com_daml_ledger_api_v2_PrefetchContractKey_init_zero {false, com_daml_ledger_api_v2_Identifier_init_zero, false, com_daml_ledger_api_v2_Value_init_zero, false, 0} /* Field tags (for use in manual encoding/decoding) */ #define com_daml_ledger_api_v2_CreateCommand_template_id_tag 1 @@ -295,8 +343,10 @@ extern "C" { #define com_daml_ledger_api_v2_Commands_synchronizer_id_tag 13 #define com_daml_ledger_api_v2_Commands_package_id_selection_preference_tag 14 #define com_daml_ledger_api_v2_Commands_prefetch_contract_keys_tag 15 +#define com_daml_ledger_api_v2_Commands_taps_max_passes_tag 16 #define com_daml_ledger_api_v2_PrefetchContractKey_template_id_tag 1 #define com_daml_ledger_api_v2_PrefetchContractKey_contract_key_tag 2 +#define com_daml_ledger_api_v2_PrefetchContractKey_limit_tag 3 /* Struct field encoding specification for nanopb */ #define com_daml_ledger_api_v2_Command_FIELDLIST(X, a) \ @@ -375,7 +425,8 @@ X(a, STATIC, SINGULAR, STRING, submission_id, 11) \ X(a, CALLBACK, REPEATED, MESSAGE, disclosed_contracts, 12) \ X(a, STATIC, SINGULAR, STRING, synchronizer_id, 13) \ X(a, CALLBACK, REPEATED, STRING, package_id_selection_preference, 14) \ -X(a, CALLBACK, REPEATED, MESSAGE, prefetch_contract_keys, 15) +X(a, CALLBACK, REPEATED, MESSAGE, prefetch_contract_keys, 15) \ +X(a, STATIC, OPTIONAL, UINT32, taps_max_passes, 16) #define com_daml_ledger_api_v2_Commands_CALLBACK pb_default_field_callback #define com_daml_ledger_api_v2_Commands_DEFAULT NULL #define com_daml_ledger_api_v2_Commands_commands_MSGTYPE com_daml_ledger_api_v2_Command @@ -387,7 +438,8 @@ X(a, CALLBACK, REPEATED, MESSAGE, prefetch_contract_keys, 15) #define com_daml_ledger_api_v2_PrefetchContractKey_FIELDLIST(X, a) \ X(a, STATIC, OPTIONAL, MESSAGE, template_id, 1) \ -X(a, STATIC, OPTIONAL, MESSAGE, contract_key, 2) +X(a, STATIC, OPTIONAL, MESSAGE, contract_key, 2) \ +X(a, STATIC, OPTIONAL, UINT32, limit, 3) #define com_daml_ledger_api_v2_PrefetchContractKey_CALLBACK NULL #define com_daml_ledger_api_v2_PrefetchContractKey_DEFAULT NULL #define com_daml_ledger_api_v2_PrefetchContractKey_template_id_MSGTYPE com_daml_ledger_api_v2_Identifier @@ -425,7 +477,7 @@ union com_daml_ledger_api_v2_Command_command_size_union {char f1[(3093 + com_dam #endif #if defined(com_daml_ledger_api_v2_Value_size) #define com_daml_ledger_api_v2_ExerciseCommand_size (5139 + com_daml_ledger_api_v2_Value_size) -#define com_daml_ledger_api_v2_PrefetchContractKey_size (3087 + com_daml_ledger_api_v2_Value_size) +#define com_daml_ledger_api_v2_PrefetchContractKey_size (3093 + com_daml_ledger_api_v2_Value_size) #endif #if defined(com_daml_ledger_api_v2_Value_size) && defined(com_daml_ledger_api_v2_Value_size) #define com_daml_ledger_api_v2_ExerciseByKeyCommand_size (4119 + com_daml_ledger_api_v2_Value_size + com_daml_ledger_api_v2_Value_size) diff --git a/proto/com/daml/ledger/api/v2/commands_pb2.py b/proto/com/daml/ledger/api/v2/commands_pb2.py index 770c4d9..e1ed126 100644 --- a/proto/com/daml/ledger/api/v2/commands_pb2.py +++ b/proto/com/daml/ledger/api/v2/commands_pb2.py @@ -17,7 +17,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%com/daml/ledger/api/v2/commands.proto\x12\x16\x63om.daml.ledger.api.v2\x1a\"com/daml/ledger/api/v2/value.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa4\x02\n\x07\x43ommand\x12\x37\n\x06\x63reate\x18\x01 \x01(\x0b\x32%.com.daml.ledger.api.v2.CreateCommandH\x00\x12;\n\x08\x65xercise\x18\x02 \x01(\x0b\x32\'.com.daml.ledger.api.v2.ExerciseCommandH\x00\x12G\n\x0f\x65xercise_by_key\x18\x04 \x01(\x0b\x32,.com.daml.ledger.api.v2.ExerciseByKeyCommandH\x00\x12O\n\x13\x63reate_and_exercise\x18\x03 \x01(\x0b\x32\x30.com.daml.ledger.api.v2.CreateAndExerciseCommandH\x00\x42\t\n\x07\x63ommand\"\x82\x01\n\rCreateCommand\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x38\n\x10\x63reate_arguments\x18\x02 \x01(\x0b\x32\x1e.com.daml.ledger.api.v2.Record\"\xa7\x01\n\x0f\x45xerciseCommand\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\t\x12\x0e\n\x06\x63hoice\x18\x03 \x01(\t\x12\x36\n\x0f\x63hoice_argument\x18\x04 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\"\xcc\x01\n\x14\x45xerciseByKeyCommand\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x33\n\x0c\x63ontract_key\x18\x02 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x0e\n\x06\x63hoice\x18\x03 \x01(\t\x12\x36\n\x0f\x63hoice_argument\x18\x04 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\"\xd5\x01\n\x18\x43reateAndExerciseCommand\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x38\n\x10\x63reate_arguments\x18\x02 \x01(\x0b\x32\x1e.com.daml.ledger.api.v2.Record\x12\x0e\n\x06\x63hoice\x18\x03 \x01(\t\x12\x36\n\x0f\x63hoice_argument\x18\x04 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\"\x96\x01\n\x11\x44isclosedContract\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\t\x12\x1a\n\x12\x63reated_event_blob\x18\x03 \x01(\x0c\x12\x17\n\x0fsynchronizer_id\x18\x04 \x01(\t\"\xec\x04\n\x08\x43ommands\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\x12\x12\n\ncommand_id\x18\x03 \x01(\t\x12\x31\n\x08\x63ommands\x18\x04 \x03(\x0b\x32\x1f.com.daml.ledger.api.v2.Command\x12;\n\x16\x64\x65\x64uplication_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1e\n\x14\x64\x65\x64uplication_offset\x18\x06 \x01(\x03H\x00\x12\x37\n\x13min_ledger_time_abs\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x13min_ledger_time_rel\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0e\n\x06\x61\x63t_as\x18\t \x03(\t\x12\x0f\n\x07read_as\x18\n \x03(\t\x12\x15\n\rsubmission_id\x18\x0b \x01(\t\x12\x46\n\x13\x64isclosed_contracts\x18\x0c \x03(\x0b\x32).com.daml.ledger.api.v2.DisclosedContract\x12\x17\n\x0fsynchronizer_id\x18\r \x01(\t\x12\'\n\x1fpackage_id_selection_preference\x18\x0e \x03(\t\x12K\n\x16prefetch_contract_keys\x18\x0f \x03(\x0b\x32+.com.daml.ledger.api.v2.PrefetchContractKeyB\x16\n\x14\x64\x65\x64uplication_period\"\x83\x01\n\x13PrefetchContractKey\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x33\n\x0c\x63ontract_key\x18\x02 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.ValueBE\n\x16\x63om.daml.ledger.api.v2B\x12\x43ommandsOuterClass\xaa\x02\x16\x43om.Daml.Ledger.Api.V2b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%com/daml/ledger/api/v2/commands.proto\x12\x16\x63om.daml.ledger.api.v2\x1a\"com/daml/ledger/api/v2/value.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa4\x02\n\x07\x43ommand\x12\x37\n\x06\x63reate\x18\x01 \x01(\x0b\x32%.com.daml.ledger.api.v2.CreateCommandH\x00\x12;\n\x08\x65xercise\x18\x02 \x01(\x0b\x32\'.com.daml.ledger.api.v2.ExerciseCommandH\x00\x12G\n\x0f\x65xercise_by_key\x18\x04 \x01(\x0b\x32,.com.daml.ledger.api.v2.ExerciseByKeyCommandH\x00\x12O\n\x13\x63reate_and_exercise\x18\x03 \x01(\x0b\x32\x30.com.daml.ledger.api.v2.CreateAndExerciseCommandH\x00\x42\t\n\x07\x63ommand\"\x82\x01\n\rCreateCommand\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x38\n\x10\x63reate_arguments\x18\x02 \x01(\x0b\x32\x1e.com.daml.ledger.api.v2.Record\"\xa7\x01\n\x0f\x45xerciseCommand\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\t\x12\x0e\n\x06\x63hoice\x18\x03 \x01(\t\x12\x36\n\x0f\x63hoice_argument\x18\x04 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\"\xcc\x01\n\x14\x45xerciseByKeyCommand\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x33\n\x0c\x63ontract_key\x18\x02 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x0e\n\x06\x63hoice\x18\x03 \x01(\t\x12\x36\n\x0f\x63hoice_argument\x18\x04 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\"\xd5\x01\n\x18\x43reateAndExerciseCommand\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x38\n\x10\x63reate_arguments\x18\x02 \x01(\x0b\x32\x1e.com.daml.ledger.api.v2.Record\x12\x0e\n\x06\x63hoice\x18\x03 \x01(\t\x12\x36\n\x0f\x63hoice_argument\x18\x04 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\"\x96\x01\n\x11\x44isclosedContract\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\t\x12\x1a\n\x12\x63reated_event_blob\x18\x03 \x01(\x0c\x12\x17\n\x0fsynchronizer_id\x18\x04 \x01(\t\"\x9e\x05\n\x08\x43ommands\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\x12\x12\n\ncommand_id\x18\x03 \x01(\t\x12\x31\n\x08\x63ommands\x18\x04 \x03(\x0b\x32\x1f.com.daml.ledger.api.v2.Command\x12;\n\x16\x64\x65\x64uplication_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1e\n\x14\x64\x65\x64uplication_offset\x18\x06 \x01(\x03H\x00\x12\x37\n\x13min_ledger_time_abs\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x13min_ledger_time_rel\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0e\n\x06\x61\x63t_as\x18\t \x03(\t\x12\x0f\n\x07read_as\x18\n \x03(\t\x12\x15\n\rsubmission_id\x18\x0b \x01(\t\x12\x46\n\x13\x64isclosed_contracts\x18\x0c \x03(\x0b\x32).com.daml.ledger.api.v2.DisclosedContract\x12\x17\n\x0fsynchronizer_id\x18\r \x01(\t\x12\'\n\x1fpackage_id_selection_preference\x18\x0e \x03(\t\x12K\n\x16prefetch_contract_keys\x18\x0f \x03(\x0b\x32+.com.daml.ledger.api.v2.PrefetchContractKey\x12\x1c\n\x0ftaps_max_passes\x18\x10 \x01(\rH\x01\x88\x01\x01\x42\x16\n\x14\x64\x65\x64uplication_periodB\x12\n\x10_taps_max_passes\"\xa1\x01\n\x13PrefetchContractKey\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x33\n\x0c\x63ontract_key\x18\x02 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x12\n\x05limit\x18\x03 \x01(\rH\x00\x88\x01\x01\x42\x08\n\x06_limitBE\n\x16\x63om.daml.ledger.api.v2B\x12\x43ommandsOuterClass\xaa\x02\x16\x43om.Daml.Ledger.Api.V2b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -38,7 +38,7 @@ _globals['_DISCLOSEDCONTRACT']._serialized_start=1188 _globals['_DISCLOSEDCONTRACT']._serialized_end=1338 _globals['_COMMANDS']._serialized_start=1341 - _globals['_COMMANDS']._serialized_end=1961 - _globals['_PREFETCHCONTRACTKEY']._serialized_start=1964 - _globals['_PREFETCHCONTRACTKEY']._serialized_end=2095 + _globals['_COMMANDS']._serialized_end=2011 + _globals['_PREFETCHCONTRACTKEY']._serialized_start=2014 + _globals['_PREFETCHCONTRACTKEY']._serialized_end=2175 # @@protoc_insertion_point(module_scope) diff --git a/proto/com/daml/ledger/api/v2/commands_pb2.pyi b/proto/com/daml/ledger/api/v2/commands_pb2.pyi index 46b30dc..c6d745c 100644 --- a/proto/com/daml/ledger/api/v2/commands_pb2.pyi +++ b/proto/com/daml/ledger/api/v2/commands_pb2.pyi @@ -77,7 +77,7 @@ class DisclosedContract(_message.Message): def __init__(self, template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., contract_id: _Optional[str] = ..., created_event_blob: _Optional[bytes] = ..., synchronizer_id: _Optional[str] = ...) -> None: ... class Commands(_message.Message): - __slots__ = ("workflow_id", "user_id", "command_id", "commands", "deduplication_duration", "deduplication_offset", "min_ledger_time_abs", "min_ledger_time_rel", "act_as", "read_as", "submission_id", "disclosed_contracts", "synchronizer_id", "package_id_selection_preference", "prefetch_contract_keys") + __slots__ = ("workflow_id", "user_id", "command_id", "commands", "deduplication_duration", "deduplication_offset", "min_ledger_time_abs", "min_ledger_time_rel", "act_as", "read_as", "submission_id", "disclosed_contracts", "synchronizer_id", "package_id_selection_preference", "prefetch_contract_keys", "taps_max_passes") WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int] USER_ID_FIELD_NUMBER: _ClassVar[int] COMMAND_ID_FIELD_NUMBER: _ClassVar[int] @@ -93,6 +93,7 @@ class Commands(_message.Message): SYNCHRONIZER_ID_FIELD_NUMBER: _ClassVar[int] PACKAGE_ID_SELECTION_PREFERENCE_FIELD_NUMBER: _ClassVar[int] PREFETCH_CONTRACT_KEYS_FIELD_NUMBER: _ClassVar[int] + TAPS_MAX_PASSES_FIELD_NUMBER: _ClassVar[int] workflow_id: str user_id: str command_id: str @@ -108,12 +109,15 @@ class Commands(_message.Message): synchronizer_id: str package_id_selection_preference: _containers.RepeatedScalarFieldContainer[str] prefetch_contract_keys: _containers.RepeatedCompositeFieldContainer[PrefetchContractKey] - def __init__(self, workflow_id: _Optional[str] = ..., user_id: _Optional[str] = ..., command_id: _Optional[str] = ..., commands: _Optional[_Iterable[_Union[Command, _Mapping]]] = ..., deduplication_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., deduplication_offset: _Optional[int] = ..., min_ledger_time_abs: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., min_ledger_time_rel: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., act_as: _Optional[_Iterable[str]] = ..., read_as: _Optional[_Iterable[str]] = ..., submission_id: _Optional[str] = ..., disclosed_contracts: _Optional[_Iterable[_Union[DisclosedContract, _Mapping]]] = ..., synchronizer_id: _Optional[str] = ..., package_id_selection_preference: _Optional[_Iterable[str]] = ..., prefetch_contract_keys: _Optional[_Iterable[_Union[PrefetchContractKey, _Mapping]]] = ...) -> None: ... + taps_max_passes: int + def __init__(self, workflow_id: _Optional[str] = ..., user_id: _Optional[str] = ..., command_id: _Optional[str] = ..., commands: _Optional[_Iterable[_Union[Command, _Mapping]]] = ..., deduplication_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., deduplication_offset: _Optional[int] = ..., min_ledger_time_abs: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., min_ledger_time_rel: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., act_as: _Optional[_Iterable[str]] = ..., read_as: _Optional[_Iterable[str]] = ..., submission_id: _Optional[str] = ..., disclosed_contracts: _Optional[_Iterable[_Union[DisclosedContract, _Mapping]]] = ..., synchronizer_id: _Optional[str] = ..., package_id_selection_preference: _Optional[_Iterable[str]] = ..., prefetch_contract_keys: _Optional[_Iterable[_Union[PrefetchContractKey, _Mapping]]] = ..., taps_max_passes: _Optional[int] = ...) -> None: ... class PrefetchContractKey(_message.Message): - __slots__ = ("template_id", "contract_key") + __slots__ = ("template_id", "contract_key", "limit") TEMPLATE_ID_FIELD_NUMBER: _ClassVar[int] CONTRACT_KEY_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] template_id: _value_pb2.Identifier contract_key: _value_pb2.Value - def __init__(self, template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., contract_key: _Optional[_Union[_value_pb2.Value, _Mapping]] = ...) -> None: ... + limit: int + def __init__(self, template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., contract_key: _Optional[_Union[_value_pb2.Value, _Mapping]] = ..., limit: _Optional[int] = ...) -> None: ... diff --git a/proto/com/daml/ledger/api/v2/completion.pb.h b/proto/com/daml/ledger/api/v2/completion.pb.h index 76633a0..d40053b 100644 --- a/proto/com/daml/ledger/api/v2/completion.pb.h +++ b/proto/com/daml/ledger/api/v2/completion.pb.h @@ -18,30 +18,38 @@ typedef struct _com_daml_ledger_api_v2_Completion { /* The ID of the succeeded or failed command. Must be a valid LedgerString (as described in ``value.proto``). + Required */ char command_id[1024]; /* Identifies the exact type of the error. It uses the same format of conveying error details as it is used for the RPC responses of the APIs. + Optional */ bool has_status; google_rpc_Status status; /* The update_id of the transaction or reassignment that resulted from the command with command_id. + Only set for successfully executed commands. - Must be a valid LedgerString (as described in ``value.proto``). */ + Must be a valid LedgerString (as described in ``value.proto``). + + Optional */ char update_id[1024]; /* The user-id that was used for the submission, as described in ``commands.proto``. Must be a valid UserIdString (as described in ``value.proto``). - Optional for historic completions where this data is not available. */ + + Required */ char user_id[1024]; /* The set of parties on whose behalf the commands were executed. Contains the ``act_as`` parties from ``commands.proto`` filtered to the requesting parties in CompletionStreamRequest. The order of the parties need not be the same as in the submission. Each element must be a valid PartyIdString (as described in ``value.proto``). - Optional for historic completions where this data is not available. */ + + Required: must be non-empty */ pb_callback_t act_as; /* The submission ID this completion refers to, as described in ``commands.proto``. Must be a valid LedgerString (as described in ``value.proto``). + Optional */ char submission_id[1024]; pb_size_t which_deduplication_period; @@ -56,7 +64,7 @@ typedef struct _com_daml_ledger_api_v2_Completion { Must be non-negative. */ google_protobuf_Duration deduplication_duration; } deduplication_period; - /* Optional; ledger API trace context + /* The Ledger API trace context The trace context transported in this message corresponds to the trace context supplied by the client application in a HTTP2 header of the original command submission. @@ -64,11 +72,15 @@ typedef struct _com_daml_ledger_api_v2_Completion { body, because it is used in gRPC streams which do not support per message headers. This field will be populated with the trace context contained in the original submission. If that was not provided, a unique ledger-api-server generated trace context will be used - instead. */ + instead. + + Optional */ bool has_trace_context; com_daml_ledger_api_v2_TraceContext trace_context; /* May be used in a subsequent CompletionStreamRequest to resume the consumption of this stream at a later time. - Required, must be a valid absolute offset (positive integer). */ + Must be a valid absolute offset (positive integer). + + Required */ int64_t offset; /* The synchronizer along with its record time. The synchronizer id provided, in case of @@ -80,6 +92,31 @@ typedef struct _com_daml_ledger_api_v2_Completion { Required */ bool has_synchronizer_time; com_daml_ledger_api_v2_SynchronizerTime synchronizer_time; + /* The traffic cost paid by this participant node for the confirmation request + for the submitted command. + + Commands whose execution is rejected before their corresponding + confirmation request is ordered by the synchronizer will report a paid + traffic cost of zero. + If a confirmation request is ordered for a command, but the request fails + (e.g., due to contention with a concurrent contract archival), the traffic + cost is paid and reported on the failed completion for the request. + + If you want to correlate the traffic cost of a successful completion + with the transaction that resulted from the command, you can use the + ``offset`` field to retrieve the transaction using + ``UpdateService.GetUpdateByOffset`` on the same participant node; or alternatively use the ``update_id`` + field to retrieve the transaction using ``UpdateService.GetUpdateById`` on any participant node + that sees the transaction. + + Note: for completions processed before the participant started serving + traffic cost on the Ledger API, this field will be set to zero. + Additionally, the total cost incurred by the submitting node for the submission of the transaction may be greater + than the reported cost, for example if retries were issued due to failed submissions to the synchronizer. + The cost reported here is the one paid for ordering the confirmation request. + + Optional */ + int64_t paid_traffic_cost; } com_daml_ledger_api_v2_Completion; @@ -88,8 +125,8 @@ extern "C" { #endif /* Initializer values for message structs */ -#define com_daml_ledger_api_v2_Completion_init_default {"", false, google_rpc_Status_init_default, "", "", {{NULL}, NULL}, "", 0, {0}, false, com_daml_ledger_api_v2_TraceContext_init_default, 0, false, com_daml_ledger_api_v2_SynchronizerTime_init_default} -#define com_daml_ledger_api_v2_Completion_init_zero {"", false, google_rpc_Status_init_zero, "", "", {{NULL}, NULL}, "", 0, {0}, false, com_daml_ledger_api_v2_TraceContext_init_zero, 0, false, com_daml_ledger_api_v2_SynchronizerTime_init_zero} +#define com_daml_ledger_api_v2_Completion_init_default {"", false, google_rpc_Status_init_default, "", "", {{NULL}, NULL}, "", 0, {0}, false, com_daml_ledger_api_v2_TraceContext_init_default, 0, false, com_daml_ledger_api_v2_SynchronizerTime_init_default, 0} +#define com_daml_ledger_api_v2_Completion_init_zero {"", false, google_rpc_Status_init_zero, "", "", {{NULL}, NULL}, "", 0, {0}, false, com_daml_ledger_api_v2_TraceContext_init_zero, 0, false, com_daml_ledger_api_v2_SynchronizerTime_init_zero, 0} /* Field tags (for use in manual encoding/decoding) */ #define com_daml_ledger_api_v2_Completion_command_id_tag 1 @@ -103,6 +140,7 @@ extern "C" { #define com_daml_ledger_api_v2_Completion_trace_context_tag 9 #define com_daml_ledger_api_v2_Completion_offset_tag 10 #define com_daml_ledger_api_v2_Completion_synchronizer_time_tag 11 +#define com_daml_ledger_api_v2_Completion_paid_traffic_cost_tag 12 /* Struct field encoding specification for nanopb */ #define com_daml_ledger_api_v2_Completion_FIELDLIST(X, a) \ @@ -116,7 +154,8 @@ X(a, STATIC, ONEOF, INT64, (deduplication_period,deduplication_offset,de X(a, STATIC, ONEOF, MESSAGE, (deduplication_period,deduplication_duration,deduplication_period.deduplication_duration), 8) \ X(a, STATIC, OPTIONAL, MESSAGE, trace_context, 9) \ X(a, STATIC, SINGULAR, INT64, offset, 10) \ -X(a, STATIC, OPTIONAL, MESSAGE, synchronizer_time, 11) +X(a, STATIC, OPTIONAL, MESSAGE, synchronizer_time, 11) \ +X(a, STATIC, SINGULAR, INT64, paid_traffic_cost, 12) #define com_daml_ledger_api_v2_Completion_CALLBACK pb_default_field_callback #define com_daml_ledger_api_v2_Completion_DEFAULT NULL #define com_daml_ledger_api_v2_Completion_status_MSGTYPE google_rpc_Status diff --git a/proto/com/daml/ledger/api/v2/completion_pb2.py b/proto/com/daml/ledger/api/v2/completion_pb2.py index 8a911e8..cd64ae6 100644 --- a/proto/com/daml/ledger/api/v2/completion_pb2.py +++ b/proto/com/daml/ledger/api/v2/completion_pb2.py @@ -18,7 +18,7 @@ from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'com/daml/ledger/api/v2/completion.proto\x12\x16\x63om.daml.ledger.api.v2\x1a.com/daml/ledger/api/v2/offset_checkpoint.proto\x1a*com/daml/ledger/api/v2/trace_context.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x17google/rpc/status.proto\"\x96\x03\n\nCompletion\x12\x12\n\ncommand_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x11\n\tupdate_id\x18\x03 \x01(\t\x12\x0f\n\x07user_id\x18\x04 \x01(\t\x12\x0e\n\x06\x61\x63t_as\x18\x05 \x03(\t\x12\x15\n\rsubmission_id\x18\x06 \x01(\t\x12\x1e\n\x14\x64\x65\x64uplication_offset\x18\x07 \x01(\x03H\x00\x12;\n\x16\x64\x65\x64uplication_duration\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12;\n\rtrace_context\x18\t \x01(\x0b\x32$.com.daml.ledger.api.v2.TraceContext\x12\x0e\n\x06offset\x18\n \x01(\x03\x12\x43\n\x11synchronizer_time\x18\x0b \x01(\x0b\x32(.com.daml.ledger.api.v2.SynchronizerTimeB\x16\n\x14\x64\x65\x64uplication_periodBG\n\x16\x63om.daml.ledger.api.v2B\x14\x43ompletionOuterClass\xaa\x02\x16\x43om.Daml.Ledger.Api.V2b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'com/daml/ledger/api/v2/completion.proto\x12\x16\x63om.daml.ledger.api.v2\x1a.com/daml/ledger/api/v2/offset_checkpoint.proto\x1a*com/daml/ledger/api/v2/trace_context.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x17google/rpc/status.proto\"\xb1\x03\n\nCompletion\x12\x12\n\ncommand_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x11\n\tupdate_id\x18\x03 \x01(\t\x12\x0f\n\x07user_id\x18\x04 \x01(\t\x12\x0e\n\x06\x61\x63t_as\x18\x05 \x03(\t\x12\x15\n\rsubmission_id\x18\x06 \x01(\t\x12\x1e\n\x14\x64\x65\x64uplication_offset\x18\x07 \x01(\x03H\x00\x12;\n\x16\x64\x65\x64uplication_duration\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12;\n\rtrace_context\x18\t \x01(\x0b\x32$.com.daml.ledger.api.v2.TraceContext\x12\x0e\n\x06offset\x18\n \x01(\x03\x12\x43\n\x11synchronizer_time\x18\x0b \x01(\x0b\x32(.com.daml.ledger.api.v2.SynchronizerTime\x12\x19\n\x11paid_traffic_cost\x18\x0c \x01(\x03\x42\x16\n\x14\x64\x65\x64uplication_periodBG\n\x16\x63om.daml.ledger.api.v2B\x14\x43ompletionOuterClass\xaa\x02\x16\x43om.Daml.Ledger.Api.V2b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,5 +27,5 @@ _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'\n\026com.daml.ledger.api.v2B\024CompletionOuterClass\252\002\026Com.Daml.Ledger.Api.V2' _globals['_COMPLETION']._serialized_start=217 - _globals['_COMPLETION']._serialized_end=623 + _globals['_COMPLETION']._serialized_end=650 # @@protoc_insertion_point(module_scope) diff --git a/proto/com/daml/ledger/api/v2/completion_pb2.pyi b/proto/com/daml/ledger/api/v2/completion_pb2.pyi index 54090a2..461adfd 100644 --- a/proto/com/daml/ledger/api/v2/completion_pb2.pyi +++ b/proto/com/daml/ledger/api/v2/completion_pb2.pyi @@ -10,7 +10,7 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor class Completion(_message.Message): - __slots__ = ("command_id", "status", "update_id", "user_id", "act_as", "submission_id", "deduplication_offset", "deduplication_duration", "trace_context", "offset", "synchronizer_time") + __slots__ = ("command_id", "status", "update_id", "user_id", "act_as", "submission_id", "deduplication_offset", "deduplication_duration", "trace_context", "offset", "synchronizer_time", "paid_traffic_cost") COMMAND_ID_FIELD_NUMBER: _ClassVar[int] STATUS_FIELD_NUMBER: _ClassVar[int] UPDATE_ID_FIELD_NUMBER: _ClassVar[int] @@ -22,6 +22,7 @@ class Completion(_message.Message): TRACE_CONTEXT_FIELD_NUMBER: _ClassVar[int] OFFSET_FIELD_NUMBER: _ClassVar[int] SYNCHRONIZER_TIME_FIELD_NUMBER: _ClassVar[int] + PAID_TRAFFIC_COST_FIELD_NUMBER: _ClassVar[int] command_id: str status: _status_pb2.Status update_id: str @@ -33,4 +34,5 @@ class Completion(_message.Message): trace_context: _trace_context_pb2.TraceContext offset: int synchronizer_time: _offset_checkpoint_pb2.SynchronizerTime - def __init__(self, command_id: _Optional[str] = ..., status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., update_id: _Optional[str] = ..., user_id: _Optional[str] = ..., act_as: _Optional[_Iterable[str]] = ..., submission_id: _Optional[str] = ..., deduplication_offset: _Optional[int] = ..., deduplication_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., trace_context: _Optional[_Union[_trace_context_pb2.TraceContext, _Mapping]] = ..., offset: _Optional[int] = ..., synchronizer_time: _Optional[_Union[_offset_checkpoint_pb2.SynchronizerTime, _Mapping]] = ...) -> None: ... + paid_traffic_cost: int + def __init__(self, command_id: _Optional[str] = ..., status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., update_id: _Optional[str] = ..., user_id: _Optional[str] = ..., act_as: _Optional[_Iterable[str]] = ..., submission_id: _Optional[str] = ..., deduplication_offset: _Optional[int] = ..., deduplication_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., trace_context: _Optional[_Union[_trace_context_pb2.TraceContext, _Mapping]] = ..., offset: _Optional[int] = ..., synchronizer_time: _Optional[_Union[_offset_checkpoint_pb2.SynchronizerTime, _Mapping]] = ..., paid_traffic_cost: _Optional[int] = ...) -> None: ... diff --git a/proto/com/daml/ledger/api/v2/crypto.pb.h b/proto/com/daml/ledger/api/v2/crypto.pb.h index 48e30ed..9f38fe3 100644 --- a/proto/com/daml/ledger/api/v2/crypto.pb.h +++ b/proto/com/daml/ledger/api/v2/crypto.pb.h @@ -69,21 +69,33 @@ typedef enum _com_daml_ledger_api_v2_SignatureFormat { /* Struct definitions */ typedef PB_BYTES_ARRAY_T(1024) com_daml_ledger_api_v2_SigningPublicKey_key_data_t; typedef struct _com_daml_ledger_api_v2_SigningPublicKey { - /* The serialization format of the public key */ + /* The serialization format of the public key + + Required */ com_daml_ledger_api_v2_CryptoKeyFormat format; - /* Serialized public key in the format specified above */ + /* Serialized public key in the format specified above + + Required: must be non-empty */ com_daml_ledger_api_v2_SigningPublicKey_key_data_t key_data; - /* The key specification */ + /* The key specification + + Required */ com_daml_ledger_api_v2_SigningKeySpec key_spec; } com_daml_ledger_api_v2_SigningPublicKey; typedef PB_BYTES_ARRAY_T(1024) com_daml_ledger_api_v2_Signature_signature_t; typedef struct _com_daml_ledger_api_v2_Signature { + /* Required */ com_daml_ledger_api_v2_SignatureFormat format; + /* Required: must be non-empty */ com_daml_ledger_api_v2_Signature_signature_t signature; - /* The fingerprint/id of the keypair used to create this signature and needed to verify. */ + /* The fingerprint/id of the keypair used to create this signature and needed to verify. + + Required */ char signed_by[1024]; - /* The signing algorithm specification used to produce this signature */ + /* The signing algorithm specification used to produce this signature + + Required */ com_daml_ledger_api_v2_SigningAlgorithmSpec signing_algorithm_spec; } com_daml_ledger_api_v2_Signature; diff --git a/proto/com/daml/ledger/api/v2/event.pb.h b/proto/com/daml/ledger/api/v2/event.pb.h index d5579b5..7f353de 100644 --- a/proto/com/daml/ledger/api/v2/event.pb.h +++ b/proto/com/daml/ledger/api/v2/event.pb.h @@ -14,21 +14,27 @@ /* Struct definitions */ typedef PB_BYTES_ARRAY_T(1024) com_daml_ledger_api_v2_CreatedEvent_created_event_blob_t; +typedef PB_BYTES_ARRAY_T(1024) com_daml_ledger_api_v2_CreatedEvent_contract_key_hash_t; /* Records that a contract has been created, and choices may now be exercised on it. */ typedef struct _com_daml_ledger_api_v2_CreatedEvent { /* The offset of origin, which has contextual meaning, please see description at messages that include a CreatedEvent. Offsets are managed by the participant nodes. Transactions can thus NOT be assumed to have the same offsets on different participant nodes. - Required, it is a valid absolute offset (positive integer) */ + It is a valid absolute offset (positive integer) + + Required */ int64_t offset; /* The position of this event in the originating transaction or reassignment. The origin has contextual meaning, please see description at messages that include a CreatedEvent. Node IDs are not necessarily equal across participants, as these may see different projections/parts of transactions. - Required, must be valid node ID (non-negative integer) */ + Must be valid node ID (non-negative integer) + + Required */ int32_t node_id; /* The ID of the created contract. Must be a valid LedgerString (as described in ``value.proto``). + Required */ char contract_id[1024]; /* The template of the created contract. @@ -39,6 +45,7 @@ typedef struct _com_daml_ledger_api_v2_CreatedEvent { com_daml_ledger_api_v2_Identifier template_id; /* The key of the created contract. This will be set if and only if ``template_id`` defines a contract key. + Optional */ bool has_contract_key; com_daml_ledger_api_v2_Value contract_key; @@ -50,7 +57,8 @@ typedef struct _com_daml_ledger_api_v2_CreatedEvent { /* Opaque representation of contract create event payload intended for forwarding to an API server as a contract disclosed as part of a command submission. - Optional */ + + Optional: can be empty */ com_daml_ledger_api_v2_CreatedEvent_created_event_blob_t created_event_blob; /* Interface views specified in the transaction filter. Includes an ``InterfaceView`` for each interface for which there is a ``InterfaceFilter`` with @@ -59,7 +67,7 @@ typedef struct _com_daml_ledger_api_v2_CreatedEvent { - and which is implemented by the template of this event, - and which has ``include_interface_view`` set. - Optional */ + Optional: can be empty */ pb_callback_t interface_views; /* The parties that are notified of this event. When a ``CreatedEvent`` is returned as part of a transaction tree or ledger-effects transaction, this will include all @@ -87,24 +95,30 @@ typedef struct _com_daml_ledger_api_v2_CreatedEvent { ``UpdateFormat``. Using these events, query the ACS as-of an offset where the party is hosted on the participant node, and ignore create events at offsets where the party is not hosted on the participant node. - Required */ + + Required: must be non-empty */ pb_callback_t witness_parties; /* The signatories for this contract as specified by the template. - Required */ + + Required: must be non-empty */ pb_callback_t signatories; /* The observers for this contract as specified explicitly by the template or implicitly as choice controllers. This field never contains parties that are signatories. - Required */ + + Optional: can be empty */ pb_callback_t observers; /* Ledger effective time of the transaction that created the contract. + Required */ bool has_created_at; google_protobuf_Timestamp created_at; /* The package name of the created contract. + Required */ char package_name[1024]; /* Whether this event would be part of respective ACS_DELTA shaped stream, and should therefore considered when tracking contract activeness on the client-side. + Required */ bool acs_delta; /* A package-id present in the participant package store that typechecks the contract's argument. @@ -115,6 +129,11 @@ typedef struct _com_daml_ledger_api_v2_CreatedEvent { Required */ char representative_package_id[1024]; + /* The hash of contract_key. + This will be set if and only if ``template_id`` defines a contract key. + + Optional: can be empty */ + com_daml_ledger_api_v2_CreatedEvent_contract_key_hash_t contract_key_hash; } com_daml_ledger_api_v2_CreatedEvent; /* View of a create event matched by an interface filter. */ @@ -128,15 +147,25 @@ typedef struct _com_daml_ledger_api_v2_InterfaceView { /* Whether the view was successfully computed, and if not, the reason for the error. The error is reported using the same rules for error codes and messages as the errors returned for API requests. + Required */ bool has_view_status; google_rpc_Status view_status; /* The value of the interface's view method on this event. Set if it was requested in the ``InterfaceFilter`` and it could be successfully computed. + Optional */ bool has_view_value; com_daml_ledger_api_v2_Record view_value; + /* The package defining the interface implementation used to compute the view. + Can be different from the package that was used to create the contract itself, + as the contract arguments can be upgraded or downgraded using smart-contract upgrading + as part of computing the interface view. + Populated if the view computation is successful, otherwise empty. + + Optional */ + char implementation_package_id[1024]; } com_daml_ledger_api_v2_InterfaceView; /* Records that a contract has been archived, and choices may no longer be exercised on it. */ @@ -144,15 +173,20 @@ typedef struct _com_daml_ledger_api_v2_ArchivedEvent { /* The offset of origin. Offsets are managed by the participant nodes. Transactions can thus NOT be assumed to have the same offsets on different participant nodes. - Required, it is a valid absolute offset (positive integer) */ + It is a valid absolute offset (positive integer) + + Required */ int64_t offset; /* The position of this event in the originating transaction or reassignment. Node IDs are not necessarily equal across participants, as these may see different projections/parts of transactions. - Required, must be valid node ID (non-negative integer) */ + Must be valid node ID (non-negative integer) + + Required */ int32_t node_id; /* The ID of the archived contract. Must be a valid LedgerString (as described in ``value.proto``). + Required */ char contract_id[1024]; /* Identifies the template that defines the choice that archived the contract. @@ -171,9 +205,11 @@ typedef struct _com_daml_ledger_api_v2_ArchivedEvent { the contract. Each one of its elements must be a valid PartyIdString (as described in ``value.proto``). - Required */ + + Required: must be non-empty */ pb_callback_t witness_parties; /* The package name of the contract. + Required */ char package_name[1024]; /* The interfaces implemented by the target template that have been @@ -182,7 +218,7 @@ typedef struct _com_daml_ledger_api_v2_ArchivedEvent { If defined, the identifier uses the package-id reference format. - Optional */ + Optional: can be empty */ pb_callback_t implemented_interfaces; } com_daml_ledger_api_v2_ArchivedEvent; @@ -191,15 +227,20 @@ typedef struct _com_daml_ledger_api_v2_ExercisedEvent { /* The offset of origin. Offsets are managed by the participant nodes. Transactions can thus NOT be assumed to have the same offsets on different participant nodes. - Required, it is a valid absolute offset (positive integer) */ + It is a valid absolute offset (positive integer) + + Required */ int64_t offset; /* The position of this event in the originating transaction or reassignment. Node IDs are not necessarily equal across participants, as these may see different projections/parts of transactions. - Required, must be valid node ID (non-negative integer) */ + Must be valid node ID (non-negative integer) + + Required */ int32_t node_id; /* The ID of the target contract. Must be a valid LedgerString (as described in ``value.proto``). + Required */ char contract_id[1024]; /* Identifies the template that defines the executed choice. @@ -219,17 +260,21 @@ typedef struct _com_daml_ledger_api_v2_ExercisedEvent { com_daml_ledger_api_v2_Identifier interface_id; /* The choice that was exercised on the target contract. Must be a valid NameString (as described in ``value.proto``). + Required */ char choice[1024]; /* The argument of the exercised choice. + Required */ bool has_choice_argument; com_daml_ledger_api_v2_Value choice_argument; /* The parties that exercised the choice. Each element must be a valid PartyIdString (as described in ``value.proto``). - Required */ + + Required: must be non-empty */ pb_callback_t acting_parties; /* If true, the target contract may no longer be exercised. + Required */ bool consuming; /* The parties that are notified of this event. The witnesses of an exercise @@ -248,19 +293,23 @@ typedef struct _com_daml_ledger_api_v2_ExercisedEvent { ``choice ... controller`` syntax, and said controllers are not explicitly marked as observers. Each element must be a valid PartyIdString (as described in ``value.proto``). - Required */ + + Required: must be non-empty */ pb_callback_t witness_parties; /* Specifies the upper boundary of the node ids of the events in the same transaction that appeared as a result of this ``ExercisedEvent``. This allows unambiguous identification of all the members of the subtree rooted at this node. A full subtree can be constructed when all descendant nodes are present in the stream. If nodes are heavily filtered, it is only possible to determine if a node is in a consequent subtree or not. + Required */ int32_t last_descendant_node_id; /* The result of exercising the choice. - Required */ + + Optional */ bool has_exercise_result; com_daml_ledger_api_v2_Value exercise_result; /* The package name of the contract. + Required */ char package_name[1024]; /* If the event is consuming, the interfaces implemented by the target template that have been @@ -269,10 +318,11 @@ typedef struct _com_daml_ledger_api_v2_ExercisedEvent { The identifier uses the package-id reference format. - Optional */ + Optional: can be empty */ pb_callback_t implemented_interfaces; /* Whether this event would be part of respective ACS_DELTA shaped stream, and should therefore considered when tracking contract activeness on the client-side. + Required */ bool acs_delta; } com_daml_ledger_api_v2_ExercisedEvent; @@ -305,13 +355,13 @@ extern "C" { /* Initializer values for message structs */ #define com_daml_ledger_api_v2_Event_init_default {0, {com_daml_ledger_api_v2_CreatedEvent_init_default}} -#define com_daml_ledger_api_v2_CreatedEvent_init_default {0, 0, "", false, com_daml_ledger_api_v2_Identifier_init_default, false, com_daml_ledger_api_v2_Value_init_default, false, com_daml_ledger_api_v2_Record_init_default, {0, {0}}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, false, google_protobuf_Timestamp_init_default, "", 0, ""} -#define com_daml_ledger_api_v2_InterfaceView_init_default {false, com_daml_ledger_api_v2_Identifier_init_default, false, google_rpc_Status_init_default, false, com_daml_ledger_api_v2_Record_init_default} +#define com_daml_ledger_api_v2_CreatedEvent_init_default {0, 0, "", false, com_daml_ledger_api_v2_Identifier_init_default, false, com_daml_ledger_api_v2_Value_init_default, false, com_daml_ledger_api_v2_Record_init_default, {0, {0}}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, false, google_protobuf_Timestamp_init_default, "", 0, "", {0, {0}}} +#define com_daml_ledger_api_v2_InterfaceView_init_default {false, com_daml_ledger_api_v2_Identifier_init_default, false, google_rpc_Status_init_default, false, com_daml_ledger_api_v2_Record_init_default, ""} #define com_daml_ledger_api_v2_ArchivedEvent_init_default {0, 0, "", false, com_daml_ledger_api_v2_Identifier_init_default, {{NULL}, NULL}, "", {{NULL}, NULL}} #define com_daml_ledger_api_v2_ExercisedEvent_init_default {0, 0, "", false, com_daml_ledger_api_v2_Identifier_init_default, false, com_daml_ledger_api_v2_Identifier_init_default, "", false, com_daml_ledger_api_v2_Value_init_default, {{NULL}, NULL}, 0, {{NULL}, NULL}, 0, false, com_daml_ledger_api_v2_Value_init_default, "", {{NULL}, NULL}, 0} #define com_daml_ledger_api_v2_Event_init_zero {0, {com_daml_ledger_api_v2_CreatedEvent_init_zero}} -#define com_daml_ledger_api_v2_CreatedEvent_init_zero {0, 0, "", false, com_daml_ledger_api_v2_Identifier_init_zero, false, com_daml_ledger_api_v2_Value_init_zero, false, com_daml_ledger_api_v2_Record_init_zero, {0, {0}}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, false, google_protobuf_Timestamp_init_zero, "", 0, ""} -#define com_daml_ledger_api_v2_InterfaceView_init_zero {false, com_daml_ledger_api_v2_Identifier_init_zero, false, google_rpc_Status_init_zero, false, com_daml_ledger_api_v2_Record_init_zero} +#define com_daml_ledger_api_v2_CreatedEvent_init_zero {0, 0, "", false, com_daml_ledger_api_v2_Identifier_init_zero, false, com_daml_ledger_api_v2_Value_init_zero, false, com_daml_ledger_api_v2_Record_init_zero, {0, {0}}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, false, google_protobuf_Timestamp_init_zero, "", 0, "", {0, {0}}} +#define com_daml_ledger_api_v2_InterfaceView_init_zero {false, com_daml_ledger_api_v2_Identifier_init_zero, false, google_rpc_Status_init_zero, false, com_daml_ledger_api_v2_Record_init_zero, ""} #define com_daml_ledger_api_v2_ArchivedEvent_init_zero {0, 0, "", false, com_daml_ledger_api_v2_Identifier_init_zero, {{NULL}, NULL}, "", {{NULL}, NULL}} #define com_daml_ledger_api_v2_ExercisedEvent_init_zero {0, 0, "", false, com_daml_ledger_api_v2_Identifier_init_zero, false, com_daml_ledger_api_v2_Identifier_init_zero, "", false, com_daml_ledger_api_v2_Value_init_zero, {{NULL}, NULL}, 0, {{NULL}, NULL}, 0, false, com_daml_ledger_api_v2_Value_init_zero, "", {{NULL}, NULL}, 0} @@ -331,9 +381,11 @@ extern "C" { #define com_daml_ledger_api_v2_CreatedEvent_package_name_tag 13 #define com_daml_ledger_api_v2_CreatedEvent_acs_delta_tag 14 #define com_daml_ledger_api_v2_CreatedEvent_representative_package_id_tag 15 +#define com_daml_ledger_api_v2_CreatedEvent_contract_key_hash_tag 16 #define com_daml_ledger_api_v2_InterfaceView_interface_id_tag 1 #define com_daml_ledger_api_v2_InterfaceView_view_status_tag 2 #define com_daml_ledger_api_v2_InterfaceView_view_value_tag 3 +#define com_daml_ledger_api_v2_InterfaceView_implementation_package_id_tag 4 #define com_daml_ledger_api_v2_ArchivedEvent_offset_tag 1 #define com_daml_ledger_api_v2_ArchivedEvent_node_id_tag 2 #define com_daml_ledger_api_v2_ArchivedEvent_contract_id_tag 3 @@ -386,7 +438,8 @@ X(a, CALLBACK, REPEATED, STRING, observers, 11) \ X(a, STATIC, OPTIONAL, MESSAGE, created_at, 12) \ X(a, STATIC, SINGULAR, STRING, package_name, 13) \ X(a, STATIC, SINGULAR, BOOL, acs_delta, 14) \ -X(a, STATIC, SINGULAR, STRING, representative_package_id, 15) +X(a, STATIC, SINGULAR, STRING, representative_package_id, 15) \ +X(a, STATIC, SINGULAR, BYTES, contract_key_hash, 16) #define com_daml_ledger_api_v2_CreatedEvent_CALLBACK pb_default_field_callback #define com_daml_ledger_api_v2_CreatedEvent_DEFAULT NULL #define com_daml_ledger_api_v2_CreatedEvent_template_id_MSGTYPE com_daml_ledger_api_v2_Identifier @@ -398,7 +451,8 @@ X(a, STATIC, SINGULAR, STRING, representative_package_id, 15) #define com_daml_ledger_api_v2_InterfaceView_FIELDLIST(X, a) \ X(a, STATIC, OPTIONAL, MESSAGE, interface_id, 1) \ X(a, STATIC, OPTIONAL, MESSAGE, view_status, 2) \ -X(a, STATIC, OPTIONAL, MESSAGE, view_value, 3) +X(a, STATIC, OPTIONAL, MESSAGE, view_value, 3) \ +X(a, STATIC, SINGULAR, STRING, implementation_package_id, 4) #define com_daml_ledger_api_v2_InterfaceView_CALLBACK NULL #define com_daml_ledger_api_v2_InterfaceView_DEFAULT NULL #define com_daml_ledger_api_v2_InterfaceView_interface_id_MSGTYPE com_daml_ledger_api_v2_Identifier @@ -462,7 +516,7 @@ extern const pb_msgdesc_t com_daml_ledger_api_v2_ExercisedEvent_msg; /* com_daml_ledger_api_v2_ExercisedEvent_size depends on runtime parameters */ #if defined(google_rpc_Status_size) && defined(com_daml_ledger_api_v2_Record_size) #define COM_DAML_LEDGER_API_V2_COM_DAML_LEDGER_API_V2_EVENT_PB_H_MAX_SIZE com_daml_ledger_api_v2_InterfaceView_size -#define com_daml_ledger_api_v2_InterfaceView_size (3093 + google_rpc_Status_size + com_daml_ledger_api_v2_Record_size) +#define com_daml_ledger_api_v2_InterfaceView_size (4119 + google_rpc_Status_size + com_daml_ledger_api_v2_Record_size) #endif #ifdef __cplusplus diff --git a/proto/com/daml/ledger/api/v2/event_pb2.py b/proto/com/daml/ledger/api/v2/event_pb2.py index 3b9b55b..c88980d 100644 --- a/proto/com/daml/ledger/api/v2/event_pb2.py +++ b/proto/com/daml/ledger/api/v2/event_pb2.py @@ -17,7 +17,7 @@ from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"com/daml/ledger/api/v2/event.proto\x12\x16\x63om.daml.ledger.api.v2\x1a\"com/daml/ledger/api/v2/value.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xc1\x01\n\x05\x45vent\x12\x37\n\x07\x63reated\x18\x01 \x01(\x0b\x32$.com.daml.ledger.api.v2.CreatedEventH\x00\x12\x39\n\x08\x61rchived\x18\x02 \x01(\x0b\x32%.com.daml.ledger.api.v2.ArchivedEventH\x00\x12;\n\texercised\x18\x03 \x01(\x0b\x32&.com.daml.ledger.api.v2.ExercisedEventH\x00\x42\x07\n\x05\x65vent\"\x85\x04\n\x0c\x43reatedEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0f\n\x07node_id\x18\x02 \x01(\x05\x12\x13\n\x0b\x63ontract_id\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x33\n\x0c\x63ontract_key\x18\x05 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x38\n\x10\x63reate_arguments\x18\x06 \x01(\x0b\x32\x1e.com.daml.ledger.api.v2.Record\x12\x1a\n\x12\x63reated_event_blob\x18\x07 \x01(\x0c\x12>\n\x0finterface_views\x18\x08 \x03(\x0b\x32%.com.daml.ledger.api.v2.InterfaceView\x12\x17\n\x0fwitness_parties\x18\t \x03(\t\x12\x13\n\x0bsignatories\x18\n \x03(\t\x12\x11\n\tobservers\x18\x0b \x03(\t\x12.\n\ncreated_at\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0cpackage_name\x18\r \x01(\t\x12\x11\n\tacs_delta\x18\x0e \x01(\x08\x12!\n\x19representative_package_id\x18\x0f \x01(\t\"\xa6\x01\n\rInterfaceView\x12\x38\n\x0cinterface_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\'\n\x0bview_status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x32\n\nview_value\x18\x03 \x01(\x0b\x32\x1e.com.daml.ledger.api.v2.Record\"\xf1\x01\n\rArchivedEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0f\n\x07node_id\x18\x02 \x01(\x05\x12\x13\n\x0b\x63ontract_id\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x17\n\x0fwitness_parties\x18\x05 \x03(\t\x12\x14\n\x0cpackage_name\x18\x06 \x01(\t\x12\x42\n\x16implemented_interfaces\x18\x07 \x03(\x0b\x32\".com.daml.ledger.api.v2.Identifier\"\x8b\x04\n\x0e\x45xercisedEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0f\n\x07node_id\x18\x02 \x01(\x05\x12\x13\n\x0b\x63ontract_id\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x38\n\x0cinterface_id\x18\x05 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x0e\n\x06\x63hoice\x18\x06 \x01(\t\x12\x36\n\x0f\x63hoice_argument\x18\x07 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x16\n\x0e\x61\x63ting_parties\x18\x08 \x03(\t\x12\x11\n\tconsuming\x18\t \x01(\x08\x12\x17\n\x0fwitness_parties\x18\n \x03(\t\x12\x1f\n\x17last_descendant_node_id\x18\x0b \x01(\x05\x12\x36\n\x0f\x65xercise_result\x18\x0c \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x14\n\x0cpackage_name\x18\r \x01(\t\x12\x42\n\x16implemented_interfaces\x18\x0e \x03(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x11\n\tacs_delta\x18\x0f \x01(\x08\x42\x42\n\x16\x63om.daml.ledger.api.v2B\x0f\x45ventOuterClass\xaa\x02\x16\x43om.Daml.Ledger.Api.V2b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"com/daml/ledger/api/v2/event.proto\x12\x16\x63om.daml.ledger.api.v2\x1a\"com/daml/ledger/api/v2/value.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xc1\x01\n\x05\x45vent\x12\x37\n\x07\x63reated\x18\x01 \x01(\x0b\x32$.com.daml.ledger.api.v2.CreatedEventH\x00\x12\x39\n\x08\x61rchived\x18\x02 \x01(\x0b\x32%.com.daml.ledger.api.v2.ArchivedEventH\x00\x12;\n\texercised\x18\x03 \x01(\x0b\x32&.com.daml.ledger.api.v2.ExercisedEventH\x00\x42\x07\n\x05\x65vent\"\xa0\x04\n\x0c\x43reatedEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0f\n\x07node_id\x18\x02 \x01(\x05\x12\x13\n\x0b\x63ontract_id\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x33\n\x0c\x63ontract_key\x18\x05 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x19\n\x11\x63ontract_key_hash\x18\x10 \x01(\x0c\x12\x38\n\x10\x63reate_arguments\x18\x06 \x01(\x0b\x32\x1e.com.daml.ledger.api.v2.Record\x12\x1a\n\x12\x63reated_event_blob\x18\x07 \x01(\x0c\x12>\n\x0finterface_views\x18\x08 \x03(\x0b\x32%.com.daml.ledger.api.v2.InterfaceView\x12\x17\n\x0fwitness_parties\x18\t \x03(\t\x12\x13\n\x0bsignatories\x18\n \x03(\t\x12\x11\n\tobservers\x18\x0b \x03(\t\x12.\n\ncreated_at\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0cpackage_name\x18\r \x01(\t\x12\x11\n\tacs_delta\x18\x0e \x01(\x08\x12!\n\x19representative_package_id\x18\x0f \x01(\t\"\xc9\x01\n\rInterfaceView\x12\x38\n\x0cinterface_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\'\n\x0bview_status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x32\n\nview_value\x18\x03 \x01(\x0b\x32\x1e.com.daml.ledger.api.v2.Record\x12!\n\x19implementation_package_id\x18\x04 \x01(\t\"\xf1\x01\n\rArchivedEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0f\n\x07node_id\x18\x02 \x01(\x05\x12\x13\n\x0b\x63ontract_id\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x17\n\x0fwitness_parties\x18\x05 \x03(\t\x12\x14\n\x0cpackage_name\x18\x06 \x01(\t\x12\x42\n\x16implemented_interfaces\x18\x07 \x03(\x0b\x32\".com.daml.ledger.api.v2.Identifier\"\x8b\x04\n\x0e\x45xercisedEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0f\n\x07node_id\x18\x02 \x01(\x05\x12\x13\n\x0b\x63ontract_id\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x38\n\x0cinterface_id\x18\x05 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x0e\n\x06\x63hoice\x18\x06 \x01(\t\x12\x36\n\x0f\x63hoice_argument\x18\x07 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x16\n\x0e\x61\x63ting_parties\x18\x08 \x03(\t\x12\x11\n\tconsuming\x18\t \x01(\x08\x12\x17\n\x0fwitness_parties\x18\n \x03(\t\x12\x1f\n\x17last_descendant_node_id\x18\x0b \x01(\x05\x12\x36\n\x0f\x65xercise_result\x18\x0c \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x14\n\x0cpackage_name\x18\r \x01(\t\x12\x42\n\x16implemented_interfaces\x18\x0e \x03(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x11\n\tacs_delta\x18\x0f \x01(\x08\x42\x42\n\x16\x63om.daml.ledger.api.v2B\x0f\x45ventOuterClass\xaa\x02\x16\x43om.Daml.Ledger.Api.V2b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -28,11 +28,11 @@ _globals['_EVENT']._serialized_start=157 _globals['_EVENT']._serialized_end=350 _globals['_CREATEDEVENT']._serialized_start=353 - _globals['_CREATEDEVENT']._serialized_end=870 - _globals['_INTERFACEVIEW']._serialized_start=873 - _globals['_INTERFACEVIEW']._serialized_end=1039 - _globals['_ARCHIVEDEVENT']._serialized_start=1042 - _globals['_ARCHIVEDEVENT']._serialized_end=1283 - _globals['_EXERCISEDEVENT']._serialized_start=1286 - _globals['_EXERCISEDEVENT']._serialized_end=1809 + _globals['_CREATEDEVENT']._serialized_end=897 + _globals['_INTERFACEVIEW']._serialized_start=900 + _globals['_INTERFACEVIEW']._serialized_end=1101 + _globals['_ARCHIVEDEVENT']._serialized_start=1104 + _globals['_ARCHIVEDEVENT']._serialized_end=1345 + _globals['_EXERCISEDEVENT']._serialized_start=1348 + _globals['_EXERCISEDEVENT']._serialized_end=1871 # @@protoc_insertion_point(module_scope) diff --git a/proto/com/daml/ledger/api/v2/event_pb2.pyi b/proto/com/daml/ledger/api/v2/event_pb2.pyi index a2064a3..b191884 100644 --- a/proto/com/daml/ledger/api/v2/event_pb2.pyi +++ b/proto/com/daml/ledger/api/v2/event_pb2.pyi @@ -19,12 +19,13 @@ class Event(_message.Message): def __init__(self, created: _Optional[_Union[CreatedEvent, _Mapping]] = ..., archived: _Optional[_Union[ArchivedEvent, _Mapping]] = ..., exercised: _Optional[_Union[ExercisedEvent, _Mapping]] = ...) -> None: ... class CreatedEvent(_message.Message): - __slots__ = ("offset", "node_id", "contract_id", "template_id", "contract_key", "create_arguments", "created_event_blob", "interface_views", "witness_parties", "signatories", "observers", "created_at", "package_name", "acs_delta", "representative_package_id") + __slots__ = ("offset", "node_id", "contract_id", "template_id", "contract_key", "contract_key_hash", "create_arguments", "created_event_blob", "interface_views", "witness_parties", "signatories", "observers", "created_at", "package_name", "acs_delta", "representative_package_id") OFFSET_FIELD_NUMBER: _ClassVar[int] NODE_ID_FIELD_NUMBER: _ClassVar[int] CONTRACT_ID_FIELD_NUMBER: _ClassVar[int] TEMPLATE_ID_FIELD_NUMBER: _ClassVar[int] CONTRACT_KEY_FIELD_NUMBER: _ClassVar[int] + CONTRACT_KEY_HASH_FIELD_NUMBER: _ClassVar[int] CREATE_ARGUMENTS_FIELD_NUMBER: _ClassVar[int] CREATED_EVENT_BLOB_FIELD_NUMBER: _ClassVar[int] INTERFACE_VIEWS_FIELD_NUMBER: _ClassVar[int] @@ -40,6 +41,7 @@ class CreatedEvent(_message.Message): contract_id: str template_id: _value_pb2.Identifier contract_key: _value_pb2.Value + contract_key_hash: bytes create_arguments: _value_pb2.Record created_event_blob: bytes interface_views: _containers.RepeatedCompositeFieldContainer[InterfaceView] @@ -50,17 +52,19 @@ class CreatedEvent(_message.Message): package_name: str acs_delta: bool representative_package_id: str - def __init__(self, offset: _Optional[int] = ..., node_id: _Optional[int] = ..., contract_id: _Optional[str] = ..., template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., contract_key: _Optional[_Union[_value_pb2.Value, _Mapping]] = ..., create_arguments: _Optional[_Union[_value_pb2.Record, _Mapping]] = ..., created_event_blob: _Optional[bytes] = ..., interface_views: _Optional[_Iterable[_Union[InterfaceView, _Mapping]]] = ..., witness_parties: _Optional[_Iterable[str]] = ..., signatories: _Optional[_Iterable[str]] = ..., observers: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., package_name: _Optional[str] = ..., acs_delta: bool = ..., representative_package_id: _Optional[str] = ...) -> None: ... + def __init__(self, offset: _Optional[int] = ..., node_id: _Optional[int] = ..., contract_id: _Optional[str] = ..., template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., contract_key: _Optional[_Union[_value_pb2.Value, _Mapping]] = ..., contract_key_hash: _Optional[bytes] = ..., create_arguments: _Optional[_Union[_value_pb2.Record, _Mapping]] = ..., created_event_blob: _Optional[bytes] = ..., interface_views: _Optional[_Iterable[_Union[InterfaceView, _Mapping]]] = ..., witness_parties: _Optional[_Iterable[str]] = ..., signatories: _Optional[_Iterable[str]] = ..., observers: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., package_name: _Optional[str] = ..., acs_delta: bool = ..., representative_package_id: _Optional[str] = ...) -> None: ... class InterfaceView(_message.Message): - __slots__ = ("interface_id", "view_status", "view_value") + __slots__ = ("interface_id", "view_status", "view_value", "implementation_package_id") INTERFACE_ID_FIELD_NUMBER: _ClassVar[int] VIEW_STATUS_FIELD_NUMBER: _ClassVar[int] VIEW_VALUE_FIELD_NUMBER: _ClassVar[int] + IMPLEMENTATION_PACKAGE_ID_FIELD_NUMBER: _ClassVar[int] interface_id: _value_pb2.Identifier view_status: _status_pb2.Status view_value: _value_pb2.Record - def __init__(self, interface_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., view_status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., view_value: _Optional[_Union[_value_pb2.Record, _Mapping]] = ...) -> None: ... + implementation_package_id: str + def __init__(self, interface_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., view_status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., view_value: _Optional[_Union[_value_pb2.Record, _Mapping]] = ..., implementation_package_id: _Optional[str] = ...) -> None: ... class ArchivedEvent(_message.Message): __slots__ = ("offset", "node_id", "contract_id", "template_id", "witness_parties", "package_name", "implemented_interfaces") diff --git a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data.pb.c b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data.pb.c index a67efb3..43deeac 100644 --- a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data.pb.c +++ b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data.pb.c @@ -9,4 +9,7 @@ PB_BIND(com_daml_ledger_api_v2_interactive_GlobalKey, com_daml_ledger_api_v2_interactive_GlobalKey, 4) +PB_BIND(com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers, com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers, 4) + + diff --git a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data.pb.h b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data.pb.h index da1aada..0c864f7 100644 --- a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data.pb.h +++ b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data.pb.h @@ -13,15 +13,32 @@ /* Struct definitions */ typedef PB_BYTES_ARRAY_T(1024) com_daml_ledger_api_v2_interactive_GlobalKey_hash_t; typedef struct _com_daml_ledger_api_v2_interactive_GlobalKey { - /* The identifier uses the package-id reference format. */ + /* The identifier uses the package-id reference format. + + Required */ bool has_template_id; com_daml_ledger_api_v2_Identifier template_id; + /* Required */ char package_name[1024]; + /* Required */ bool has_key; com_daml_ledger_api_v2_Value key; + /* Required: must be non-empty */ com_daml_ledger_api_v2_interactive_GlobalKey_hash_t hash; } com_daml_ledger_api_v2_interactive_GlobalKey; +typedef struct _com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers { + /* The key + + Required */ + bool has_key; + com_daml_ledger_api_v2_interactive_GlobalKey key; + /* Key maintainers + + Required: must be non-empty */ + pb_callback_t maintainers; +} com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers; + #ifdef __cplusplus extern "C" { @@ -29,13 +46,17 @@ extern "C" { /* Initializer values for message structs */ #define com_daml_ledger_api_v2_interactive_GlobalKey_init_default {false, com_daml_ledger_api_v2_Identifier_init_default, "", false, com_daml_ledger_api_v2_Value_init_default, {0, {0}}} +#define com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_init_default {false, com_daml_ledger_api_v2_interactive_GlobalKey_init_default, {{NULL}, NULL}} #define com_daml_ledger_api_v2_interactive_GlobalKey_init_zero {false, com_daml_ledger_api_v2_Identifier_init_zero, "", false, com_daml_ledger_api_v2_Value_init_zero, {0, {0}}} +#define com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_init_zero {false, com_daml_ledger_api_v2_interactive_GlobalKey_init_zero, {{NULL}, NULL}} /* Field tags (for use in manual encoding/decoding) */ #define com_daml_ledger_api_v2_interactive_GlobalKey_template_id_tag 1 #define com_daml_ledger_api_v2_interactive_GlobalKey_package_name_tag 2 #define com_daml_ledger_api_v2_interactive_GlobalKey_key_tag 3 #define com_daml_ledger_api_v2_interactive_GlobalKey_hash_tag 4 +#define com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_key_tag 1 +#define com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_maintainers_tag 2 /* Struct field encoding specification for nanopb */ #define com_daml_ledger_api_v2_interactive_GlobalKey_FIELDLIST(X, a) \ @@ -48,12 +69,22 @@ X(a, STATIC, SINGULAR, BYTES, hash, 4) #define com_daml_ledger_api_v2_interactive_GlobalKey_template_id_MSGTYPE com_daml_ledger_api_v2_Identifier #define com_daml_ledger_api_v2_interactive_GlobalKey_key_MSGTYPE com_daml_ledger_api_v2_Value +#define com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_FIELDLIST(X, a) \ +X(a, STATIC, OPTIONAL, MESSAGE, key, 1) \ +X(a, CALLBACK, REPEATED, STRING, maintainers, 2) +#define com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_CALLBACK pb_default_field_callback +#define com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_DEFAULT NULL +#define com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_key_MSGTYPE com_daml_ledger_api_v2_interactive_GlobalKey + extern const pb_msgdesc_t com_daml_ledger_api_v2_interactive_GlobalKey_msg; +extern const pb_msgdesc_t com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_msg; /* Defines for backwards compatibility with code written before nanopb-0.4.0 */ #define com_daml_ledger_api_v2_interactive_GlobalKey_fields &com_daml_ledger_api_v2_interactive_GlobalKey_msg +#define com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_fields &com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_msg /* Maximum encoded size of messages (where known) */ +/* com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_size depends on runtime parameters */ #if defined(com_daml_ledger_api_v2_Value_size) #define COM_DAML_LEDGER_API_V2_INTERACTIVE_COM_DAML_LEDGER_API_V2_INTERACTIVE_INTERACTIVE_SUBMISSION_COMMON_DATA_PB_H_MAX_SIZE com_daml_ledger_api_v2_interactive_GlobalKey_size #define com_daml_ledger_api_v2_interactive_GlobalKey_size (5140 + com_daml_ledger_api_v2_Value_size) diff --git a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data_pb2.py b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data_pb2.py index 3194f0a..2dfaf09 100644 --- a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data_pb2.py +++ b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data_pb2.py @@ -15,7 +15,7 @@ from com.daml.ledger.api.v2 import value_pb2 as com_dot_daml_dot_ledger_dot_api_dot_v2_dot_value__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nKcom/daml/ledger/api/v2/interactive/interactive_submission_common_data.proto\x12\"com.daml.ledger.api.v2.interactive\x1a\"com/daml/ledger/api/v2/value.proto\"\x94\x01\n\tGlobalKey\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x14\n\x0cpackage_name\x18\x02 \x01(\t\x12*\n\x03key\x18\x03 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x0c\n\x04hash\x18\x04 \x01(\x0c\x42t\n\"com.daml.ledger.api.v2.interactiveB)InteractiveSubmissionCommonDataOuterClass\xaa\x02\"Com.Daml.Ledger.Api.V2.Interactiveb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nKcom/daml/ledger/api/v2/interactive/interactive_submission_common_data.proto\x12\"com.daml.ledger.api.v2.interactive\x1a\"com/daml/ledger/api/v2/value.proto\"\x94\x01\n\tGlobalKey\x12\x37\n\x0btemplate_id\x18\x01 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x14\n\x0cpackage_name\x18\x02 \x01(\t\x12*\n\x03key\x18\x03 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x0c\n\x04hash\x18\x04 \x01(\x0c\"k\n\x18GlobalKeyWithMaintainers\x12:\n\x03key\x18\x01 \x01(\x0b\x32-.com.daml.ledger.api.v2.interactive.GlobalKey\x12\x13\n\x0bmaintainers\x18\x02 \x03(\tBt\n\"com.daml.ledger.api.v2.interactiveB)InteractiveSubmissionCommonDataOuterClass\xaa\x02\"Com.Daml.Ledger.Api.V2.Interactiveb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -25,4 +25,6 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\"com.daml.ledger.api.v2.interactiveB)InteractiveSubmissionCommonDataOuterClass\252\002\"Com.Daml.Ledger.Api.V2.Interactive' _globals['_GLOBALKEY']._serialized_start=152 _globals['_GLOBALKEY']._serialized_end=300 + _globals['_GLOBALKEYWITHMAINTAINERS']._serialized_start=302 + _globals['_GLOBALKEYWITHMAINTAINERS']._serialized_end=409 # @@protoc_insertion_point(module_scope) diff --git a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data_pb2.pyi b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data_pb2.pyi index 83f2825..1de4a03 100644 --- a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data_pb2.pyi +++ b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_common_data_pb2.pyi @@ -1,7 +1,8 @@ from com.daml.ledger.api.v2 import value_pb2 as _value_pb2 +from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -16,3 +17,11 @@ class GlobalKey(_message.Message): key: _value_pb2.Value hash: bytes def __init__(self, template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., package_name: _Optional[str] = ..., key: _Optional[_Union[_value_pb2.Value, _Mapping]] = ..., hash: _Optional[bytes] = ...) -> None: ... + +class GlobalKeyWithMaintainers(_message.Message): + __slots__ = ("key", "maintainers") + KEY_FIELD_NUMBER: _ClassVar[int] + MAINTAINERS_FIELD_NUMBER: _ClassVar[int] + key: GlobalKey + maintainers: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, key: _Optional[_Union[GlobalKey, _Mapping]] = ..., maintainers: _Optional[_Iterable[str]] = ...) -> None: ... diff --git a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service.pb.h b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service.pb.h index 7283980..28394ae 100644 --- a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service.pb.h +++ b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service.pb.h @@ -24,20 +24,25 @@ The hashing scheme version used when building the hash of the PreparedTransaction */ typedef enum _com_daml_ledger_api_v2_interactive_HashingSchemeVersion { com_daml_ledger_api_v2_interactive_HashingSchemeVersion_HASHING_SCHEME_VERSION_UNSPECIFIED = 0, - com_daml_ledger_api_v2_interactive_HashingSchemeVersion_HASHING_SCHEME_VERSION_V2 = 2 + com_daml_ledger_api_v2_interactive_HashingSchemeVersion_HASHING_SCHEME_VERSION_V2 = 2, + com_daml_ledger_api_v2_interactive_HashingSchemeVersion_HASHING_SCHEME_VERSION_V3 = 3 } com_daml_ledger_api_v2_interactive_HashingSchemeVersion; /* Struct definitions */ /* Hints to improve cost estimation precision of a prepared transaction */ typedef struct _com_daml_ledger_api_v2_interactive_CostEstimationHints { /* Disable cost estimation - Default (not set) is false */ + Default (not set) is false + + Optional */ bool disabled; /* Details on the keys that will be used to sign the transaction (how many and of which type). Signature size impacts the cost of the transaction. If empty, the signature sizes will be approximated with threshold-many signatures (where threshold is defined - in the PartyToKeyMapping of the external party), using keys in the order they are registered. - Optional (empty list is equivalent to not providing this field) */ + in the PartyToParticipant of the external party), using keys in the order they are registered. + Empty list is equivalent to not providing this field + + Optional: can be empty */ pb_callback_t expected_signatures; } com_daml_ledger_api_v2_interactive_CostEstimationHints; @@ -46,33 +51,44 @@ typedef struct _com_daml_ledger_api_v2_interactive_CostEstimationHints { (or the one explicitly requested). The cost of re-assigning contracts to another synchronizer when necessary is not included in the estimation. */ typedef struct _com_daml_ledger_api_v2_interactive_CostEstimation { - /* Timestamp at which the estimation was made */ + /* Timestamp at which the estimation was made + + Required */ bool has_estimation_timestamp; google_protobuf_Timestamp estimation_timestamp; - /* Estimated traffic cost of the confirmation request associated with the transaction */ + /* Estimated traffic cost of the confirmation request associated with the transaction + + Required */ uint64_t confirmation_request_traffic_cost_estimation; /* Estimated traffic cost of the confirmation response associated with the transaction This field can also be used as an indication of the cost that other potential confirming nodes - of the party will incur to approve or reject the transaction */ + of the party will incur to approve or reject the transaction + + Required */ uint64_t confirmation_response_traffic_cost_estimation; - /* Sum of the fields above */ + /* Sum of the fields above + + Required */ uint64_t total_traffic_cost_estimation; } com_daml_ledger_api_v2_interactive_CostEstimation; /* Signatures provided by a single party */ typedef struct _com_daml_ledger_api_v2_interactive_SinglePartySignatures { /* Submitting party + Required */ char party[1024]; /* Signatures - Required */ + + Required: must be non-empty */ pb_callback_t signatures; } com_daml_ledger_api_v2_interactive_SinglePartySignatures; /* Additional signatures provided by the submitting parties */ typedef struct _com_daml_ledger_api_v2_interactive_PartySignatures { /* Additional signatures provided by all individual parties - Required */ + + Required: must be non-empty */ pb_callback_t signatures; } com_daml_ledger_api_v2_interactive_PartySignatures; @@ -83,9 +99,11 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionResponse { typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitResponse { /* The id of the transaction that resulted from the submitted command. Must be a valid LedgerString (as described in ``value.proto``). + Required */ char update_id[1024]; /* The details of the offset field are described in ``community/ledger-api/README.md``. + Required */ int64_t completion_offset; } com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitResponse; @@ -93,6 +111,7 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitRespo typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitForTransactionResponse { /* The transaction that resulted from the submitted command. The transaction might contain no events (request conditions result in filtering out all of them). + Required */ bool has_transaction; com_daml_ledger_api_v2_Transaction transaction; @@ -124,6 +143,7 @@ typedef struct _com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest { Must be a valid UserIdString (as described in ``value.proto``). Required unless authentication is used with a user token. In that case, the token's user-id will be used for the request's user_id. + Optional */ char user_id[1024]; /* Uniquely identifies the command. @@ -131,12 +151,14 @@ typedef struct _com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest { where act_as is interpreted as a set of party names. The change ID can be used for matching the intended ledger changes with all their completions. Must be a valid LedgerString (as described in ``value.proto``). + Required */ char command_id[1024]; /* Individual elements of this atomic command. Must be non-empty. Limitation: Only single command transaction are currently supported by the API. The field is marked as repeated in preparation for future support of multiple commands. - Required */ + + Required: must be non-empty */ pb_callback_t commands; /* Optional */ bool has_min_ledger_time; @@ -147,7 +169,8 @@ typedef struct _com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest { and does not execute it. Therefore read authorization is sufficient even for actAs parties. Note: This may change, and more specific authorization scope may be introduced in the future. Each element must be a valid PartyIdString (as described in ``value.proto``). - Required, must be non-empty. */ + + Required: must be non-empty */ pb_callback_t act_as; /* Set of parties on whose behalf (in addition to all parties listed in ``act_as``) contracts can be retrieved. This affects Daml operations such as ``fetch``, ``fetchByKey``, ``lookupByKey``, ``exercise``, and ``exerciseByKey``. @@ -156,22 +179,28 @@ typedef struct _com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest { rules for fetch operations. If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request to read contract data on behalf of each of the given parties. - Optional */ + + Optional: can be empty */ pb_callback_t read_as; /* Additional contracts used to resolve contract & contract key lookups. - Optional */ + + Optional: can be empty */ pb_callback_t disclosed_contracts; /* Must be a valid synchronizer id If not set, a suitable synchronizer that this node is connected to will be chosen + Optional */ char synchronizer_id[1024]; /* The package-id selection preference of the client for resolving package names and interface instances in command submission and interpretation - Optional */ + + Optional: can be empty */ pb_callback_t package_id_selection_preference; /* When true, the response will contain additional details on how the transaction was encoded and hashed This can be useful for troubleshooting of hash mismatches. Should only be used for debugging. - Optional, default to false */ + Defaults to false + + Optional */ bool verbose_hashing; /* Maximum timestamp at which the transaction can be recorded onto the ledger via the synchronizer specified in the `PrepareSubmissionResponse`. If submitted after it will be rejected even if otherwise valid, in which case it needs to be prepared and signed again @@ -180,6 +209,7 @@ typedef struct _com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest { which is useful to know when it can definitely not be accepted anymore and resorting to preparing another transaction for the same intent is safe again. + Optional */ bool has_max_record_time; google_protobuf_Timestamp max_record_time; @@ -187,7 +217,7 @@ typedef struct _com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest { Should only contain contract keys that are expected to be resolved during interpretation of the commands. Keys of disclosed contracts do not need prefetching. - Optional */ + Optional: can be empty */ pb_callback_t prefetch_contract_keys; /* Hints to improve the accuracy of traffic cost estimation. The estimation logic assumes that this node will be used for the execution of the transaction @@ -195,53 +225,80 @@ typedef struct _com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest { Request amplification is not accounted for in the estimation: each amplified request will result in the cost of the confirmation request to be charged additionally. - Optional - Traffic cost estimation is enabled by default if this field is not set - To turn off cost estimation, set the CostEstimationHints#disabled field to true */ + Traffic cost estimation is enabled by default if this field is not set + To turn off cost estimation, set the CostEstimationHints#disabled field to true + + Optional */ bool has_estimate_traffic_cost; com_daml_ledger_api_v2_interactive_CostEstimationHints estimate_traffic_cost; + /* The hashing scheme version to be used when building the hash. + Defaults to HASHING_SCHEME_VERSION_V2. + + Optional */ + bool has_hashing_scheme_version; + com_daml_ledger_api_v2_interactive_HashingSchemeVersion hashing_scheme_version; + /* The maximum number of passes for the Topology-Aware Package Selection (TAPS). + Higher values can increase the chance of successful package selection for routing of interpreted transactions. + If unset, this defaults to the value defined in the participant configuration. + The provided value must not exceed the limit specified in the participant configuration. + + Optional */ + bool has_taps_max_passes; + uint32_t taps_max_passes; } com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest; typedef struct _com_daml_ledger_api_v2_interactive_Metadata_SubmitterInfo { + /* Required: must be non-empty */ pb_callback_t act_as; + /* Required */ char command_id[1024]; } com_daml_ledger_api_v2_interactive_Metadata_SubmitterInfo; /* Transaction Metadata Refer to the hashing documentation for information on how it should be hashed. */ typedef struct _com_daml_ledger_api_v2_interactive_Metadata { + /* Required */ bool has_submitter_info; com_daml_ledger_api_v2_interactive_Metadata_SubmitterInfo submitter_info; + /* Required */ char synchronizer_id[1024]; + /* Required */ uint32_t mediator_group; + /* Required */ char transaction_uuid[1024]; + /* Required */ uint64_t preparation_time; + /* Not populated if the transaction has no input contracts + + Optional: can be empty */ pb_callback_t input_contracts; - /* Contextual information needed to process the transaction but not signed, either because it's already indirectly - signed by signing the transaction, or because it doesn't impact the ledger state */ + /* This fields is deprecated and will always be empty. + Keys and associated contracts are already present and signed within the transaction nodes where they're used + + Optional: can be empty */ pb_callback_t global_key_mapping; - /* Where ledger time constraints are imposed during the execution of the contract they will be populated - in the fields below. These are optional because if the transaction does NOT depend on time, these values - do not need to be set. - The final ledger effective time used will be chosen when the command is submitted through the [execute] RPC. - If the ledger effective time is outside of any populated min/max bounds then a different transaction - can result, that will cause a confirmation message rejection. */ + /* Optional */ bool has_min_ledger_effective_time; uint64_t min_ledger_effective_time; + /* Optional */ bool has_max_ledger_effective_time; uint64_t max_ledger_effective_time; /* Maximum timestamp at which the transaction can be recorded onto the ledger via the synchronizer `synchronizer_id`. If submitted after it will be rejected even if otherwise valid, in which case it needs to be prepared and signed again with a new valid max_record_time. - Unsigned in 3.3 to avoid a breaking protocol change - Will be signed in 3.4+ - Set max_record_time in the PreparedTransactionRequest to get this field set accordingly */ + Set max_record_time in the PreparedTransactionRequest to get this field set accordingly + + Optional */ bool has_max_record_time; uint64_t max_record_time; } com_daml_ledger_api_v2_interactive_Metadata; +/* This message is deprecated and may be removed in future releases */ typedef struct _com_daml_ledger_api_v2_interactive_Metadata_GlobalKeyMappingEntry { + /* Required */ bool has_key; com_daml_ledger_api_v2_interactive_GlobalKey key; + /* Optional */ bool has_value; com_daml_ledger_api_v2_Value value; } com_daml_ledger_api_v2_interactive_Metadata_GlobalKeyMappingEntry; @@ -253,30 +310,44 @@ typedef struct _com_daml_ledger_api_v2_interactive_Metadata_InputContract { /* When new versions will be added, they will show here */ com_daml_ledger_api_v2_interactive_transaction_v1_Create v1; }; + /* Required */ uint64_t created_at; + /* Required: must be non-empty */ com_daml_ledger_api_v2_interactive_Metadata_InputContract_event_blob_t event_blob; } com_daml_ledger_api_v2_interactive_Metadata_InputContract; /* Daml Transaction. This represents the effect on the ledger if this transaction is successfully committed. */ typedef struct _com_daml_ledger_api_v2_interactive_DamlTransaction { - /* serialization version, will be >= max(nodes version) */ + /* serialization version, will be >= max(nodes version) + + Required */ char version[1024]; - /* Root nodes of the transaction */ + /* Root nodes of the transaction + + Required: must be non-empty */ pb_callback_t roots; - /* List of nodes in the transaction */ + /* List of nodes in the transaction + + Required: must be non-empty */ pb_callback_t nodes; - /* Node seeds are values associated with certain nodes used for generating cryptographic salts */ + /* Node seeds are values associated with certain nodes used for generating cryptographic salts + + Required: must be non-empty */ pb_callback_t node_seeds; } com_daml_ledger_api_v2_interactive_DamlTransaction; /* * Prepared Transaction Message */ typedef struct _com_daml_ledger_api_v2_interactive_PreparedTransaction { - /* Daml Transaction representing the ledger effect if executed. See below */ + /* Daml Transaction representing the ledger effect if executed. See below + + Required */ bool has_transaction; com_daml_ledger_api_v2_interactive_DamlTransaction transaction; - /* Metadata context necessary to execute the transaction */ + /* Metadata context necessary to execute the transaction + + Required */ bool has_metadata; com_daml_ledger_api_v2_interactive_Metadata metadata; } com_daml_ledger_api_v2_interactive_PreparedTransaction; @@ -284,20 +355,29 @@ typedef struct _com_daml_ledger_api_v2_interactive_PreparedTransaction { typedef PB_BYTES_ARRAY_T(32) com_daml_ledger_api_v2_interactive_PrepareSubmissionResponse_prepared_transaction_hash_t; typedef struct _com_daml_ledger_api_v2_interactive_PrepareSubmissionResponse { /* The interpreted transaction, it represents the ledger changes necessary to execute the commands specified in the request. - Clients MUST display the content of the transaction to the user for them to validate before signing the hash if the preparing participant is not trusted. */ + Clients MUST display the content of the transaction to the user for them to validate before signing the hash if the preparing participant is not trusted. + + Required */ bool has_prepared_transaction; com_daml_ledger_api_v2_interactive_PreparedTransaction prepared_transaction; /* Hash of the transaction, this is what needs to be signed by the party to authorize the transaction. Only provided for convenience, clients MUST recompute the hash from the raw transaction if the preparing participant is not trusted. - May be removed in future versions */ + May be removed in future versions + + Required: must be non-empty */ com_daml_ledger_api_v2_interactive_PrepareSubmissionResponse_prepared_transaction_hash_t prepared_transaction_hash; - /* The hashing scheme version used when building the hash */ + /* The hashing scheme version used when building the hash + + Required */ com_daml_ledger_api_v2_interactive_HashingSchemeVersion hashing_scheme_version; /* Optional additional details on how the transaction was encoded and hashed. Only set if verbose_hashing = true in the request Note that there are no guarantees on the stability of the format or content of this field. - Its content should NOT be parsed and should only be used for troubleshooting purposes. */ + Its content should NOT be parsed and should only be used for troubleshooting purposes. + + Optional */ char *hashing_details; /* Traffic cost estimation of the prepared transaction + Optional */ bool has_cost_estimation; com_daml_ledger_api_v2_interactive_CostEstimation cost_estimation; @@ -307,6 +387,7 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionRequest { /* the prepared transaction Typically this is the value of the `prepared_transaction` field in `PrepareSubmissionResponse` obtained from calling `prepareSubmission`. + Required */ bool has_prepared_transaction; com_daml_ledger_api_v2_interactive_PreparedTransaction prepared_transaction; @@ -314,6 +395,7 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionRequest { Each party can provide one or more signatures.. and one or more parties can sign. Note that currently, only single party submissions are supported. + Required */ bool has_party_signatures; com_daml_ledger_api_v2_interactive_PartySignatures party_signatures; @@ -335,13 +417,16 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionRequest { Required */ char *submission_id; /* See [PrepareSubmissionRequest.user_id] + Optional */ char *user_id; /* The hashing scheme version used when building the hash + Required */ com_daml_ledger_api_v2_interactive_HashingSchemeVersion hashing_scheme_version; /* If set will influence the chosen ledger effective time but will not result in a submission delay so any override should be scheduled to executed within the window allowed by synchronizer. + Optional */ bool has_min_ledger_time; com_daml_ledger_api_v2_interactive_MinLedgerTime min_ledger_time; @@ -351,6 +436,7 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitReque /* the prepared transaction Typically this is the value of the `prepared_transaction` field in `PrepareSubmissionResponse` obtained from calling `prepareSubmission`. + Required */ bool has_prepared_transaction; com_daml_ledger_api_v2_interactive_PreparedTransaction prepared_transaction; @@ -358,6 +444,7 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitReque Each party can provide one or more signatures.. and one or more parties can sign. Note that currently, only single party submissions are supported. + Required */ bool has_party_signatures; com_daml_ledger_api_v2_interactive_PartySignatures party_signatures; @@ -379,13 +466,16 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitReque Required */ char submission_id[1024]; /* See [PrepareSubmissionRequest.user_id] + Optional */ char user_id[1024]; /* The hashing scheme version used when building the hash + Required */ com_daml_ledger_api_v2_interactive_HashingSchemeVersion hashing_scheme_version; /* If set will influence the chosen ledger effective time but will not result in a submission delay so any override should be scheduled to executed within the window allowed by synchronizer. + Optional */ bool has_min_ledger_time; com_daml_ledger_api_v2_interactive_MinLedgerTime min_ledger_time; @@ -395,6 +485,7 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitForTr /* the prepared transaction Typically this is the value of the `prepared_transaction` field in `PrepareSubmissionResponse` obtained from calling `prepareSubmission`. + Required */ bool has_prepared_transaction; com_daml_ledger_api_v2_interactive_PreparedTransaction prepared_transaction; @@ -402,6 +493,7 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitForTr Each party can provide one or more signatures.. and one or more parties can sign. Note that currently, only single party submissions are supported. + Required */ bool has_party_signatures; com_daml_ledger_api_v2_interactive_PartySignatures party_signatures; @@ -423,13 +515,16 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitForTr Required */ char submission_id[1024]; /* See [PrepareSubmissionRequest.user_id] + Optional */ char user_id[1024]; /* The hashing scheme version used when building the hash + Required */ com_daml_ledger_api_v2_interactive_HashingSchemeVersion hashing_scheme_version; /* If set will influence the chosen ledger effective time but will not result in a submission delay so any override should be scheduled to executed within the window allowed by synchronizer. + Optional */ bool has_min_ledger_time; com_daml_ledger_api_v2_interactive_MinLedgerTime min_ledger_time; @@ -438,6 +533,7 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitForTr filter for all original ``act_as`` and ``read_as`` parties and the ``verbose`` flag is set. When the ``transaction_shape`` TRANSACTION_SHAPE_ACS_DELTA shape is used (explicitly or is defaulted to as explained above), events will only be returned if the submitting party is hosted on this node. + Optional */ bool has_transaction_format; com_daml_ledger_api_v2_TransactionFormat transaction_format; @@ -445,7 +541,9 @@ typedef struct _com_daml_ledger_api_v2_interactive_ExecuteSubmissionAndWaitForTr typedef PB_BYTES_ARRAY_T(1024) com_daml_ledger_api_v2_interactive_DamlTransaction_NodeSeed_seed_t; typedef struct _com_daml_ledger_api_v2_interactive_DamlTransaction_NodeSeed { + /* Required */ int32_t node_id; + /* Required: must be non-empty */ com_daml_ledger_api_v2_interactive_DamlTransaction_NodeSeed_seed_t seed; } com_daml_ledger_api_v2_interactive_DamlTransaction_NodeSeed; @@ -453,29 +551,36 @@ typedef struct _com_daml_ledger_api_v2_interactive_DamlTransaction_NodeSeed { Each node must be hashed using the hashing algorithm corresponding to its specific version. [docs-entry-start: DamlTransaction.Node] */ typedef struct _com_daml_ledger_api_v2_interactive_DamlTransaction_Node { + /* Required */ char node_id[1024]; pb_size_t which_versioned_node; union { /* Start at 1000 so we can add more fields before if necessary - When new versions will be added, they will show here */ + When new versions will be added, they will show here + + Required */ com_daml_ledger_api_v2_interactive_transaction_v1_Node v1; }; } com_daml_ledger_api_v2_interactive_DamlTransaction_Node; typedef struct _com_daml_ledger_api_v2_interactive_GetPreferredPackageVersionRequest { /* The parties whose participants' vetting state should be considered when resolving the preferred package. - Required */ + + Required: must be non-empty */ pb_callback_t parties; /* The package-name for which the preferred package should be resolved. + Required */ char package_name[1024]; /* The synchronizer whose vetting state should be used for resolving this query. If not specified, the vetting states of all synchronizers to which the participant is connected are used. + Optional */ char synchronizer_id[1024]; /* The timestamp at which the package vetting validity should be computed on the latest topology snapshot as seen by the participant. If not provided, the participant's current clock time is used. + Optional */ bool has_vetting_valid_at; google_protobuf_Timestamp vetting_valid_at; @@ -483,17 +588,20 @@ typedef struct _com_daml_ledger_api_v2_interactive_GetPreferredPackageVersionReq typedef struct _com_daml_ledger_api_v2_interactive_PackagePreference { /* The package reference of the preferred package. + Required */ bool has_package_reference; com_daml_ledger_api_v2_PackageReference package_reference; /* The synchronizer for which the preferred package was computed. If the synchronizer_id was specified in the request, then it matches the request synchronizer_id. + Required */ char synchronizer_id[1024]; } com_daml_ledger_api_v2_interactive_PackagePreference; typedef struct _com_daml_ledger_api_v2_interactive_GetPreferredPackageVersionResponse { /* Not populated when no preferred package is found + Optional */ bool has_package_preference; com_daml_ledger_api_v2_interactive_PackagePreference package_preference; @@ -502,9 +610,11 @@ typedef struct _com_daml_ledger_api_v2_interactive_GetPreferredPackageVersionRes /* Defines a package-name for which the commonly vetted package with the highest version must be found. */ typedef struct _com_daml_ledger_api_v2_interactive_PackageVettingRequirement { /* The parties whose participants' vetting state should be considered when resolving the preferred package. - Required */ + + Required: must be non-empty */ pb_callback_t parties; /* The package-name for which the preferred package should be resolved. + Required */ char package_name[1024]; } com_daml_ledger_api_v2_interactive_PackageVettingRequirement; @@ -516,15 +626,17 @@ typedef struct _com_daml_ledger_api_v2_interactive_GetPreferredPackagesRequest { Additional package-name requirements can be provided when additional Daml transaction informees need to use package dependencies of the command's root packages. - Required */ + Required: must be non-empty */ pb_callback_t package_vetting_requirements; /* The synchronizer whose vetting state should be used for resolving this query. If not specified, the vetting states of all synchronizers to which the participant is connected are used. + Optional */ char synchronizer_id[1024]; /* The timestamp at which the package vetting validity should be computed on the latest topology snapshot as seen by the participant. If not provided, the participant's current clock time is used. + Optional */ bool has_vetting_valid_at; google_protobuf_Timestamp vetting_valid_at; @@ -539,10 +651,11 @@ typedef struct _com_daml_ledger_api_v2_interactive_GetPreferredPackagesResponse in the ``package_id_selection_preference`` of the command submission to avoid race conditions with concurrent changes of the on-ledger package vetting state. - Required */ + Required: must be non-empty */ pb_callback_t package_references; /* The synchronizer for which the package preferences are computed. If the synchronizer_id was specified in the request, then it matches the request synchronizer_id. + Required */ char synchronizer_id[1024]; } com_daml_ledger_api_v2_interactive_GetPreferredPackagesResponse; @@ -554,12 +667,13 @@ extern "C" { /* Helper constants for enums */ #define _com_daml_ledger_api_v2_interactive_HashingSchemeVersion_MIN com_daml_ledger_api_v2_interactive_HashingSchemeVersion_HASHING_SCHEME_VERSION_UNSPECIFIED -#define _com_daml_ledger_api_v2_interactive_HashingSchemeVersion_MAX com_daml_ledger_api_v2_interactive_HashingSchemeVersion_HASHING_SCHEME_VERSION_V2 -#define _com_daml_ledger_api_v2_interactive_HashingSchemeVersion_ARRAYSIZE ((com_daml_ledger_api_v2_interactive_HashingSchemeVersion)(com_daml_ledger_api_v2_interactive_HashingSchemeVersion_HASHING_SCHEME_VERSION_V2+1)) +#define _com_daml_ledger_api_v2_interactive_HashingSchemeVersion_MAX com_daml_ledger_api_v2_interactive_HashingSchemeVersion_HASHING_SCHEME_VERSION_V3 +#define _com_daml_ledger_api_v2_interactive_HashingSchemeVersion_ARRAYSIZE ((com_daml_ledger_api_v2_interactive_HashingSchemeVersion)(com_daml_ledger_api_v2_interactive_HashingSchemeVersion_HASHING_SCHEME_VERSION_V3+1)) #define com_daml_ledger_api_v2_interactive_CostEstimationHints_expected_signatures_ENUMTYPE com_daml_ledger_api_v2_SigningAlgorithmSpec +#define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_hashing_scheme_version_ENUMTYPE com_daml_ledger_api_v2_interactive_HashingSchemeVersion #define com_daml_ledger_api_v2_interactive_PrepareSubmissionResponse_hashing_scheme_version_ENUMTYPE com_daml_ledger_api_v2_interactive_HashingSchemeVersion @@ -593,7 +707,7 @@ extern "C" { /* Initializer values for message structs */ #define com_daml_ledger_api_v2_interactive_CostEstimationHints_init_default {0, {{NULL}, NULL}} #define com_daml_ledger_api_v2_interactive_CostEstimation_init_default {false, google_protobuf_Timestamp_init_default, 0, 0, 0} -#define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_init_default {"", "", {{NULL}, NULL}, false, com_daml_ledger_api_v2_interactive_MinLedgerTime_init_default, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, "", {{NULL}, NULL}, 0, false, google_protobuf_Timestamp_init_default, {{NULL}, NULL}, false, com_daml_ledger_api_v2_interactive_CostEstimationHints_init_default} +#define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_init_default {"", "", {{NULL}, NULL}, false, com_daml_ledger_api_v2_interactive_MinLedgerTime_init_default, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, "", {{NULL}, NULL}, 0, false, google_protobuf_Timestamp_init_default, {{NULL}, NULL}, false, com_daml_ledger_api_v2_interactive_CostEstimationHints_init_default, false, _com_daml_ledger_api_v2_interactive_HashingSchemeVersion_MIN, false, 0} #define com_daml_ledger_api_v2_interactive_PrepareSubmissionResponse_init_default {false, com_daml_ledger_api_v2_interactive_PreparedTransaction_init_default, {0, {0}}, _com_daml_ledger_api_v2_interactive_HashingSchemeVersion_MIN, NULL, false, com_daml_ledger_api_v2_interactive_CostEstimation_init_default} #define com_daml_ledger_api_v2_interactive_SinglePartySignatures_init_default {"", {{NULL}, NULL}} #define com_daml_ledger_api_v2_interactive_PartySignatures_init_default {{{NULL}, NULL}} @@ -620,7 +734,7 @@ extern "C" { #define com_daml_ledger_api_v2_interactive_GetPreferredPackagesResponse_init_default {{{NULL}, NULL}, ""} #define com_daml_ledger_api_v2_interactive_CostEstimationHints_init_zero {0, {{NULL}, NULL}} #define com_daml_ledger_api_v2_interactive_CostEstimation_init_zero {false, google_protobuf_Timestamp_init_zero, 0, 0, 0} -#define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_init_zero {"", "", {{NULL}, NULL}, false, com_daml_ledger_api_v2_interactive_MinLedgerTime_init_zero, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, "", {{NULL}, NULL}, 0, false, google_protobuf_Timestamp_init_zero, {{NULL}, NULL}, false, com_daml_ledger_api_v2_interactive_CostEstimationHints_init_zero} +#define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_init_zero {"", "", {{NULL}, NULL}, false, com_daml_ledger_api_v2_interactive_MinLedgerTime_init_zero, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, "", {{NULL}, NULL}, 0, false, google_protobuf_Timestamp_init_zero, {{NULL}, NULL}, false, com_daml_ledger_api_v2_interactive_CostEstimationHints_init_zero, false, _com_daml_ledger_api_v2_interactive_HashingSchemeVersion_MIN, false, 0} #define com_daml_ledger_api_v2_interactive_PrepareSubmissionResponse_init_zero {false, com_daml_ledger_api_v2_interactive_PreparedTransaction_init_zero, {0, {0}}, _com_daml_ledger_api_v2_interactive_HashingSchemeVersion_MIN, NULL, false, com_daml_ledger_api_v2_interactive_CostEstimation_init_zero} #define com_daml_ledger_api_v2_interactive_SinglePartySignatures_init_zero {"", {{NULL}, NULL}} #define com_daml_ledger_api_v2_interactive_PartySignatures_init_zero {{{NULL}, NULL}} @@ -674,6 +788,8 @@ extern "C" { #define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_max_record_time_tag 11 #define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_prefetch_contract_keys_tag 15 #define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_estimate_traffic_cost_tag 16 +#define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_hashing_scheme_version_tag 17 +#define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_taps_max_passes_tag 18 #define com_daml_ledger_api_v2_interactive_Metadata_SubmitterInfo_act_as_tag 1 #define com_daml_ledger_api_v2_interactive_Metadata_SubmitterInfo_command_id_tag 2 #define com_daml_ledger_api_v2_interactive_Metadata_submitter_info_tag 2 @@ -775,7 +891,9 @@ X(a, CALLBACK, REPEATED, STRING, package_id_selection_preference, 9) \ X(a, STATIC, SINGULAR, BOOL, verbose_hashing, 10) \ X(a, STATIC, OPTIONAL, MESSAGE, max_record_time, 11) \ X(a, CALLBACK, REPEATED, MESSAGE, prefetch_contract_keys, 15) \ -X(a, STATIC, OPTIONAL, MESSAGE, estimate_traffic_cost, 16) +X(a, STATIC, OPTIONAL, MESSAGE, estimate_traffic_cost, 16) \ +X(a, STATIC, OPTIONAL, UENUM, hashing_scheme_version, 17) \ +X(a, STATIC, OPTIONAL, UINT32, taps_max_passes, 18) #define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_CALLBACK pb_default_field_callback #define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_DEFAULT NULL #define com_daml_ledger_api_v2_interactive_PrepareSubmissionRequest_commands_MSGTYPE com_daml_ledger_api_v2_Command diff --git a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service_pb2.py b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service_pb2.py index bd91024..7bb8056 100644 --- a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service_pb2.py +++ b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service_pb2.py @@ -24,7 +24,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nGcom/daml/ledger/api/v2/interactive/interactive_submission_service.proto\x12\"com.daml.ledger.api.v2.interactive\x1a%com/daml/ledger/api/v2/commands.proto\x1a#com/daml/ledger/api/v2/crypto.proto\x1aKcom/daml/ledger/api/v2/interactive/interactive_submission_common_data.proto\x1aScom/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.proto\x1a.com/daml/ledger/api/v2/package_reference.proto\x1a(com/daml/ledger/api/v2/transaction.proto\x1a/com/daml/ledger/api/v2/transaction_filter.proto\x1a\"com/daml/ledger/api/v2/value.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"r\n\x13\x43ostEstimationHints\x12\x10\n\x08\x64isabled\x18\x01 \x01(\x08\x12I\n\x13\x65xpected_signatures\x18\x02 \x03(\x0e\x32,.com.daml.ledger.api.v2.SigningAlgorithmSpec\"\xde\x01\n\x0e\x43ostEstimation\x12\x38\n\x14\x65stimation_timestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n,confirmation_request_traffic_cost_estimation\x18\x02 \x01(\x04\x12\x35\n-confirmation_response_traffic_cost_estimation\x18\x03 \x01(\x04\x12%\n\x1dtotal_traffic_cost_estimation\x18\x04 \x01(\x04\"\x94\x05\n\x18PrepareSubmissionRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x12\n\ncommand_id\x18\x02 \x01(\t\x12\x31\n\x08\x63ommands\x18\x03 \x03(\x0b\x32\x1f.com.daml.ledger.api.v2.Command\x12J\n\x0fmin_ledger_time\x18\x04 \x01(\x0b\x32\x31.com.daml.ledger.api.v2.interactive.MinLedgerTime\x12\x38\n\x0fmax_record_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x0e\n\x06\x61\x63t_as\x18\x05 \x03(\t\x12\x0f\n\x07read_as\x18\x06 \x03(\t\x12\x46\n\x13\x64isclosed_contracts\x18\x07 \x03(\x0b\x32).com.daml.ledger.api.v2.DisclosedContract\x12\x17\n\x0fsynchronizer_id\x18\x08 \x01(\t\x12\'\n\x1fpackage_id_selection_preference\x18\t \x03(\t\x12\x17\n\x0fverbose_hashing\x18\n \x01(\x08\x12K\n\x16prefetch_contract_keys\x18\x0f \x03(\x0b\x32+.com.daml.ledger.api.v2.PrefetchContractKey\x12[\n\x15\x65stimate_traffic_cost\x18\x10 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.CostEstimationHintsH\x01\x88\x01\x01\x42\x12\n\x10_max_record_timeB\x18\n\x16_estimate_traffic_cost\"\x87\x03\n\x19PrepareSubmissionResponse\x12U\n\x14prepared_transaction\x18\x01 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.PreparedTransaction\x12!\n\x19prepared_transaction_hash\x18\x02 \x01(\x0c\x12X\n\x16hashing_scheme_version\x18\x03 \x01(\x0e\x32\x38.com.daml.ledger.api.v2.interactive.HashingSchemeVersion\x12\x1c\n\x0fhashing_details\x18\x04 \x01(\tH\x00\x88\x01\x01\x12P\n\x0f\x63ost_estimation\x18\x05 \x01(\x0b\x32\x32.com.daml.ledger.api.v2.interactive.CostEstimationH\x01\x88\x01\x01\x42\x12\n\x10_hashing_detailsB\x12\n\x10_cost_estimation\"]\n\x15SinglePartySignatures\x12\r\n\x05party\x18\x01 \x01(\t\x12\x35\n\nsignatures\x18\x02 \x03(\x0b\x32!.com.daml.ledger.api.v2.Signature\"`\n\x0fPartySignatures\x12M\n\nsignatures\x18\x01 \x03(\x0b\x32\x39.com.daml.ledger.api.v2.interactive.SinglePartySignatures\"\x83\x04\n\x18\x45xecuteSubmissionRequest\x12U\n\x14prepared_transaction\x18\x01 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.PreparedTransaction\x12M\n\x10party_signatures\x18\x02 \x01(\x0b\x32\x33.com.daml.ledger.api.v2.interactive.PartySignatures\x12;\n\x16\x64\x65\x64uplication_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1e\n\x14\x64\x65\x64uplication_offset\x18\x04 \x01(\x03H\x00\x12\x15\n\rsubmission_id\x18\x05 \x01(\t\x12\x0f\n\x07user_id\x18\x06 \x01(\t\x12X\n\x16hashing_scheme_version\x18\x07 \x01(\x0e\x32\x38.com.daml.ledger.api.v2.interactive.HashingSchemeVersion\x12J\n\x0fmin_ledger_time\x18\x08 \x01(\x0b\x32\x31.com.daml.ledger.api.v2.interactive.MinLedgerTimeB\x16\n\x14\x64\x65\x64uplication_period\"\x1b\n\x19\x45xecuteSubmissionResponse\"\x8a\x04\n\x1f\x45xecuteSubmissionAndWaitRequest\x12U\n\x14prepared_transaction\x18\x01 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.PreparedTransaction\x12M\n\x10party_signatures\x18\x02 \x01(\x0b\x32\x33.com.daml.ledger.api.v2.interactive.PartySignatures\x12;\n\x16\x64\x65\x64uplication_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1e\n\x14\x64\x65\x64uplication_offset\x18\x04 \x01(\x03H\x00\x12\x15\n\rsubmission_id\x18\x05 \x01(\t\x12\x0f\n\x07user_id\x18\x06 \x01(\t\x12X\n\x16hashing_scheme_version\x18\x07 \x01(\x0e\x32\x38.com.daml.ledger.api.v2.interactive.HashingSchemeVersion\x12J\n\x0fmin_ledger_time\x18\x08 \x01(\x0b\x32\x31.com.daml.ledger.api.v2.interactive.MinLedgerTimeB\x16\n\x14\x64\x65\x64uplication_period\"P\n ExecuteSubmissionAndWaitResponse\x12\x11\n\tupdate_id\x18\x01 \x01(\t\x12\x19\n\x11\x63ompletion_offset\x18\x02 \x01(\x03\"\xdf\x04\n-ExecuteSubmissionAndWaitForTransactionRequest\x12U\n\x14prepared_transaction\x18\x01 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.PreparedTransaction\x12M\n\x10party_signatures\x18\x02 \x01(\x0b\x32\x33.com.daml.ledger.api.v2.interactive.PartySignatures\x12;\n\x16\x64\x65\x64uplication_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1e\n\x14\x64\x65\x64uplication_offset\x18\x04 \x01(\x03H\x00\x12\x15\n\rsubmission_id\x18\x05 \x01(\t\x12\x0f\n\x07user_id\x18\x06 \x01(\t\x12X\n\x16hashing_scheme_version\x18\x07 \x01(\x0e\x32\x38.com.daml.ledger.api.v2.interactive.HashingSchemeVersion\x12J\n\x0fmin_ledger_time\x18\x08 \x01(\x0b\x32\x31.com.daml.ledger.api.v2.interactive.MinLedgerTime\x12\x45\n\x12transaction_format\x18\t \x01(\x0b\x32).com.daml.ledger.api.v2.TransactionFormatB\x16\n\x14\x64\x65\x64uplication_period\"j\n.ExecuteSubmissionAndWaitForTransactionResponse\x12\x38\n\x0btransaction\x18\x01 \x01(\x0b\x32#.com.daml.ledger.api.v2.Transaction\"\x8c\x01\n\rMinLedgerTime\x12\x39\n\x13min_ledger_time_abs\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x38\n\x13min_ledger_time_rel\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x42\x06\n\x04time\"\x9f\x01\n\x13PreparedTransaction\x12H\n\x0btransaction\x18\x01 \x01(\x0b\x32\x33.com.daml.ledger.api.v2.interactive.DamlTransaction\x12>\n\x08metadata\x18\x02 \x01(\x0b\x32,.com.daml.ledger.api.v2.interactive.Metadata\"\x9d\x07\n\x08Metadata\x12R\n\x0esubmitter_info\x18\x02 \x01(\x0b\x32:.com.daml.ledger.api.v2.interactive.Metadata.SubmitterInfo\x12\x17\n\x0fsynchronizer_id\x18\x03 \x01(\t\x12\x16\n\x0emediator_group\x18\x04 \x01(\r\x12\x18\n\x10transaction_uuid\x18\x05 \x01(\t\x12\x18\n\x10preparation_time\x18\x06 \x01(\x04\x12S\n\x0finput_contracts\x18\x07 \x03(\x0b\x32:.com.daml.ledger.api.v2.interactive.Metadata.InputContract\x12&\n\x19min_ledger_effective_time\x18\t \x01(\x04H\x00\x88\x01\x01\x12&\n\x19max_ledger_effective_time\x18\n \x01(\x04H\x01\x88\x01\x01\x12^\n\x12global_key_mapping\x18\x08 \x03(\x0b\x32\x42.com.daml.ledger.api.v2.interactive.Metadata.GlobalKeyMappingEntry\x12\x1c\n\x0fmax_record_time\x18\x0b \x01(\x04H\x02\x88\x01\x01\x1a\x33\n\rSubmitterInfo\x12\x0e\n\x06\x61\x63t_as\x18\x01 \x03(\t\x12\x12\n\ncommand_id\x18\x02 \x01(\t\x1a\x90\x01\n\x15GlobalKeyMappingEntry\x12:\n\x03key\x18\x01 \x01(\x0b\x32-.com.daml.ledger.api.v2.interactive.GlobalKey\x12\x31\n\x05value\x18\x02 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.ValueH\x00\x88\x01\x01\x42\x08\n\x06_value\x1a\x96\x01\n\rInputContract\x12G\n\x02v1\x18\x01 \x01(\x0b\x32\x39.com.daml.ledger.api.v2.interactive.transaction.v1.CreateH\x00\x12\x13\n\ncreated_at\x18\xe8\x07 \x01(\x04\x12\x13\n\nevent_blob\x18\xea\x07 \x01(\x0c\x42\n\n\x08\x63ontractJ\x06\x08\xe9\x07\x10\xea\x07\x42\x1c\n\x1a_min_ledger_effective_timeB\x1c\n\x1a_max_ledger_effective_timeB\x12\n\x10_max_record_timeJ\x04\x08\x01\x10\x02\"\xea\x02\n\x0f\x44\x61mlTransaction\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\r\n\x05roots\x18\x02 \x03(\t\x12G\n\x05nodes\x18\x03 \x03(\x0b\x32\x38.com.daml.ledger.api.v2.interactive.DamlTransaction.Node\x12P\n\nnode_seeds\x18\x04 \x03(\x0b\x32<.com.daml.ledger.api.v2.interactive.DamlTransaction.NodeSeed\x1a)\n\x08NodeSeed\x12\x0f\n\x07node_id\x18\x01 \x01(\x05\x12\x0c\n\x04seed\x18\x02 \x01(\x0c\x1aq\n\x04Node\x12\x0f\n\x07node_id\x18\x01 \x01(\t\x12\x46\n\x02v1\x18\xe8\x07 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.transaction.v1.NodeH\x00\x42\x10\n\x0eversioned_node\"\x99\x01\n!GetPreferredPackageVersionRequest\x12\x0f\n\x07parties\x18\x01 \x03(\t\x12\x14\n\x0cpackage_name\x18\x02 \x01(\t\x12\x17\n\x0fsynchronizer_id\x18\x03 \x01(\t\x12\x34\n\x10vetting_valid_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"w\n\"GetPreferredPackageVersionResponse\x12Q\n\x12package_preference\x18\x01 \x01(\x0b\x32\x35.com.daml.ledger.api.v2.interactive.PackagePreference\"q\n\x11PackagePreference\x12\x43\n\x11package_reference\x18\x01 \x01(\x0b\x32(.com.daml.ledger.api.v2.PackageReference\x12\x17\n\x0fsynchronizer_id\x18\x02 \x01(\t\"B\n\x19PackageVettingRequirement\x12\x0f\n\x07parties\x18\x01 \x03(\t\x12\x14\n\x0cpackage_name\x18\x02 \x01(\t\"\xd1\x01\n\x1bGetPreferredPackagesRequest\x12\x63\n\x1cpackage_vetting_requirements\x18\x01 \x03(\x0b\x32=.com.daml.ledger.api.v2.interactive.PackageVettingRequirement\x12\x17\n\x0fsynchronizer_id\x18\x02 \x01(\t\x12\x34\n\x10vetting_valid_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"}\n\x1cGetPreferredPackagesResponse\x12\x44\n\x12package_references\x18\x01 \x03(\x0b\x32(.com.daml.ledger.api.v2.PackageReference\x12\x17\n\x0fsynchronizer_id\x18\x02 \x01(\t*c\n\x14HashingSchemeVersion\x12&\n\"HASHING_SCHEME_VERSION_UNSPECIFIED\x10\x00\x12\x1d\n\x19HASHING_SCHEME_VERSION_V2\x10\x02\"\x04\x08\x01\x10\x01\x32\x88\x08\n\x1cInteractiveSubmissionService\x12\x90\x01\n\x11PrepareSubmission\x12<.com.daml.ledger.api.v2.interactive.PrepareSubmissionRequest\x1a=.com.daml.ledger.api.v2.interactive.PrepareSubmissionResponse\x12\x90\x01\n\x11\x45xecuteSubmission\x12<.com.daml.ledger.api.v2.interactive.ExecuteSubmissionRequest\x1a=.com.daml.ledger.api.v2.interactive.ExecuteSubmissionResponse\x12\xa5\x01\n\x18\x45xecuteSubmissionAndWait\x12\x43.com.daml.ledger.api.v2.interactive.ExecuteSubmissionAndWaitRequest\x1a\x44.com.daml.ledger.api.v2.interactive.ExecuteSubmissionAndWaitResponse\x12\xcf\x01\n&ExecuteSubmissionAndWaitForTransaction\x12Q.com.daml.ledger.api.v2.interactive.ExecuteSubmissionAndWaitForTransactionRequest\x1aR.com.daml.ledger.api.v2.interactive.ExecuteSubmissionAndWaitForTransactionResponse\x12\xab\x01\n\x1aGetPreferredPackageVersion\x12\x45.com.daml.ledger.api.v2.interactive.GetPreferredPackageVersionRequest\x1a\x46.com.daml.ledger.api.v2.interactive.GetPreferredPackageVersionResponse\x12\x99\x01\n\x14GetPreferredPackages\x12?.com.daml.ledger.api.v2.interactive.GetPreferredPackagesRequest\x1a@.com.daml.ledger.api.v2.interactive.GetPreferredPackagesResponseBq\n\"com.daml.ledger.api.v2.interactiveB&InteractiveSubmissionServiceOuterClass\xaa\x02\"Com.Daml.Ledger.Api.V2.Interactiveb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nGcom/daml/ledger/api/v2/interactive/interactive_submission_service.proto\x12\"com.daml.ledger.api.v2.interactive\x1a%com/daml/ledger/api/v2/commands.proto\x1a#com/daml/ledger/api/v2/crypto.proto\x1aKcom/daml/ledger/api/v2/interactive/interactive_submission_common_data.proto\x1aScom/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.proto\x1a.com/daml/ledger/api/v2/package_reference.proto\x1a(com/daml/ledger/api/v2/transaction.proto\x1a/com/daml/ledger/api/v2/transaction_filter.proto\x1a\"com/daml/ledger/api/v2/value.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"r\n\x13\x43ostEstimationHints\x12\x10\n\x08\x64isabled\x18\x01 \x01(\x08\x12I\n\x13\x65xpected_signatures\x18\x02 \x03(\x0e\x32,.com.daml.ledger.api.v2.SigningAlgorithmSpec\"\xde\x01\n\x0e\x43ostEstimation\x12\x38\n\x14\x65stimation_timestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n,confirmation_request_traffic_cost_estimation\x18\x02 \x01(\x04\x12\x35\n-confirmation_response_traffic_cost_estimation\x18\x03 \x01(\x04\x12%\n\x1dtotal_traffic_cost_estimation\x18\x04 \x01(\x04\"\xc0\x06\n\x18PrepareSubmissionRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x12\n\ncommand_id\x18\x02 \x01(\t\x12\x31\n\x08\x63ommands\x18\x03 \x03(\x0b\x32\x1f.com.daml.ledger.api.v2.Command\x12J\n\x0fmin_ledger_time\x18\x04 \x01(\x0b\x32\x31.com.daml.ledger.api.v2.interactive.MinLedgerTime\x12\x38\n\x0fmax_record_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x0e\n\x06\x61\x63t_as\x18\x05 \x03(\t\x12\x0f\n\x07read_as\x18\x06 \x03(\t\x12\x46\n\x13\x64isclosed_contracts\x18\x07 \x03(\x0b\x32).com.daml.ledger.api.v2.DisclosedContract\x12\x17\n\x0fsynchronizer_id\x18\x08 \x01(\t\x12\'\n\x1fpackage_id_selection_preference\x18\t \x03(\t\x12\x17\n\x0fverbose_hashing\x18\n \x01(\x08\x12K\n\x16prefetch_contract_keys\x18\x0f \x03(\x0b\x32+.com.daml.ledger.api.v2.PrefetchContractKey\x12[\n\x15\x65stimate_traffic_cost\x18\x10 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.CostEstimationHintsH\x01\x88\x01\x01\x12]\n\x16hashing_scheme_version\x18\x11 \x01(\x0e\x32\x38.com.daml.ledger.api.v2.interactive.HashingSchemeVersionH\x02\x88\x01\x01\x12\x1c\n\x0ftaps_max_passes\x18\x12 \x01(\rH\x03\x88\x01\x01\x42\x12\n\x10_max_record_timeB\x18\n\x16_estimate_traffic_costB\x19\n\x17_hashing_scheme_versionB\x12\n\x10_taps_max_passes\"\x87\x03\n\x19PrepareSubmissionResponse\x12U\n\x14prepared_transaction\x18\x01 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.PreparedTransaction\x12!\n\x19prepared_transaction_hash\x18\x02 \x01(\x0c\x12X\n\x16hashing_scheme_version\x18\x03 \x01(\x0e\x32\x38.com.daml.ledger.api.v2.interactive.HashingSchemeVersion\x12\x1c\n\x0fhashing_details\x18\x04 \x01(\tH\x00\x88\x01\x01\x12P\n\x0f\x63ost_estimation\x18\x05 \x01(\x0b\x32\x32.com.daml.ledger.api.v2.interactive.CostEstimationH\x01\x88\x01\x01\x42\x12\n\x10_hashing_detailsB\x12\n\x10_cost_estimation\"]\n\x15SinglePartySignatures\x12\r\n\x05party\x18\x01 \x01(\t\x12\x35\n\nsignatures\x18\x02 \x03(\x0b\x32!.com.daml.ledger.api.v2.Signature\"`\n\x0fPartySignatures\x12M\n\nsignatures\x18\x01 \x03(\x0b\x32\x39.com.daml.ledger.api.v2.interactive.SinglePartySignatures\"\x83\x04\n\x18\x45xecuteSubmissionRequest\x12U\n\x14prepared_transaction\x18\x01 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.PreparedTransaction\x12M\n\x10party_signatures\x18\x02 \x01(\x0b\x32\x33.com.daml.ledger.api.v2.interactive.PartySignatures\x12;\n\x16\x64\x65\x64uplication_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1e\n\x14\x64\x65\x64uplication_offset\x18\x04 \x01(\x03H\x00\x12\x15\n\rsubmission_id\x18\x05 \x01(\t\x12\x0f\n\x07user_id\x18\x06 \x01(\t\x12X\n\x16hashing_scheme_version\x18\x07 \x01(\x0e\x32\x38.com.daml.ledger.api.v2.interactive.HashingSchemeVersion\x12J\n\x0fmin_ledger_time\x18\x08 \x01(\x0b\x32\x31.com.daml.ledger.api.v2.interactive.MinLedgerTimeB\x16\n\x14\x64\x65\x64uplication_period\"\x1b\n\x19\x45xecuteSubmissionResponse\"\x8a\x04\n\x1f\x45xecuteSubmissionAndWaitRequest\x12U\n\x14prepared_transaction\x18\x01 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.PreparedTransaction\x12M\n\x10party_signatures\x18\x02 \x01(\x0b\x32\x33.com.daml.ledger.api.v2.interactive.PartySignatures\x12;\n\x16\x64\x65\x64uplication_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1e\n\x14\x64\x65\x64uplication_offset\x18\x04 \x01(\x03H\x00\x12\x15\n\rsubmission_id\x18\x05 \x01(\t\x12\x0f\n\x07user_id\x18\x06 \x01(\t\x12X\n\x16hashing_scheme_version\x18\x07 \x01(\x0e\x32\x38.com.daml.ledger.api.v2.interactive.HashingSchemeVersion\x12J\n\x0fmin_ledger_time\x18\x08 \x01(\x0b\x32\x31.com.daml.ledger.api.v2.interactive.MinLedgerTimeB\x16\n\x14\x64\x65\x64uplication_period\"P\n ExecuteSubmissionAndWaitResponse\x12\x11\n\tupdate_id\x18\x01 \x01(\t\x12\x19\n\x11\x63ompletion_offset\x18\x02 \x01(\x03\"\xdf\x04\n-ExecuteSubmissionAndWaitForTransactionRequest\x12U\n\x14prepared_transaction\x18\x01 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.PreparedTransaction\x12M\n\x10party_signatures\x18\x02 \x01(\x0b\x32\x33.com.daml.ledger.api.v2.interactive.PartySignatures\x12;\n\x16\x64\x65\x64uplication_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1e\n\x14\x64\x65\x64uplication_offset\x18\x04 \x01(\x03H\x00\x12\x15\n\rsubmission_id\x18\x05 \x01(\t\x12\x0f\n\x07user_id\x18\x06 \x01(\t\x12X\n\x16hashing_scheme_version\x18\x07 \x01(\x0e\x32\x38.com.daml.ledger.api.v2.interactive.HashingSchemeVersion\x12J\n\x0fmin_ledger_time\x18\x08 \x01(\x0b\x32\x31.com.daml.ledger.api.v2.interactive.MinLedgerTime\x12\x45\n\x12transaction_format\x18\t \x01(\x0b\x32).com.daml.ledger.api.v2.TransactionFormatB\x16\n\x14\x64\x65\x64uplication_period\"j\n.ExecuteSubmissionAndWaitForTransactionResponse\x12\x38\n\x0btransaction\x18\x01 \x01(\x0b\x32#.com.daml.ledger.api.v2.Transaction\"\x8c\x01\n\rMinLedgerTime\x12\x39\n\x13min_ledger_time_abs\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x38\n\x13min_ledger_time_rel\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x42\x06\n\x04time\"\x9f\x01\n\x13PreparedTransaction\x12H\n\x0btransaction\x18\x01 \x01(\x0b\x32\x33.com.daml.ledger.api.v2.interactive.DamlTransaction\x12>\n\x08metadata\x18\x02 \x01(\x0b\x32,.com.daml.ledger.api.v2.interactive.Metadata\"\xa9\x07\n\x08Metadata\x12R\n\x0esubmitter_info\x18\x02 \x01(\x0b\x32:.com.daml.ledger.api.v2.interactive.Metadata.SubmitterInfo\x12\x17\n\x0fsynchronizer_id\x18\x03 \x01(\t\x12\x16\n\x0emediator_group\x18\x04 \x01(\r\x12\x18\n\x10transaction_uuid\x18\x05 \x01(\t\x12\x18\n\x10preparation_time\x18\x06 \x01(\x04\x12S\n\x0finput_contracts\x18\x07 \x03(\x0b\x32:.com.daml.ledger.api.v2.interactive.Metadata.InputContract\x12&\n\x19min_ledger_effective_time\x18\t \x01(\x04H\x00\x88\x01\x01\x12&\n\x19max_ledger_effective_time\x18\n \x01(\x04H\x01\x88\x01\x01\x12\x1c\n\x0fmax_record_time\x18\x0b \x01(\x04H\x02\x88\x01\x01\x12\x62\n\x12global_key_mapping\x18\x08 \x03(\x0b\x32\x42.com.daml.ledger.api.v2.interactive.Metadata.GlobalKeyMappingEntryB\x02\x18\x01\x1a\x33\n\rSubmitterInfo\x12\x0e\n\x06\x61\x63t_as\x18\x01 \x03(\t\x12\x12\n\ncommand_id\x18\x02 \x01(\t\x1a\x98\x01\n\x15GlobalKeyMappingEntry\x12>\n\x03key\x18\x01 \x01(\x0b\x32-.com.daml.ledger.api.v2.interactive.GlobalKeyB\x02\x18\x01\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.ValueB\x02\x18\x01H\x00\x88\x01\x01\x42\x08\n\x06_value\x1a\x96\x01\n\rInputContract\x12G\n\x02v1\x18\x01 \x01(\x0b\x32\x39.com.daml.ledger.api.v2.interactive.transaction.v1.CreateH\x00\x12\x13\n\ncreated_at\x18\xe8\x07 \x01(\x04\x12\x13\n\nevent_blob\x18\xea\x07 \x01(\x0c\x42\n\n\x08\x63ontractJ\x06\x08\xe9\x07\x10\xea\x07\x42\x1c\n\x1a_min_ledger_effective_timeB\x1c\n\x1a_max_ledger_effective_timeB\x12\n\x10_max_record_timeJ\x04\x08\x01\x10\x02\"\xea\x02\n\x0f\x44\x61mlTransaction\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\r\n\x05roots\x18\x02 \x03(\t\x12G\n\x05nodes\x18\x03 \x03(\x0b\x32\x38.com.daml.ledger.api.v2.interactive.DamlTransaction.Node\x12P\n\nnode_seeds\x18\x04 \x03(\x0b\x32<.com.daml.ledger.api.v2.interactive.DamlTransaction.NodeSeed\x1a)\n\x08NodeSeed\x12\x0f\n\x07node_id\x18\x01 \x01(\x05\x12\x0c\n\x04seed\x18\x02 \x01(\x0c\x1aq\n\x04Node\x12\x0f\n\x07node_id\x18\x01 \x01(\t\x12\x46\n\x02v1\x18\xe8\x07 \x01(\x0b\x32\x37.com.daml.ledger.api.v2.interactive.transaction.v1.NodeH\x00\x42\x10\n\x0eversioned_node\"\x99\x01\n!GetPreferredPackageVersionRequest\x12\x0f\n\x07parties\x18\x01 \x03(\t\x12\x14\n\x0cpackage_name\x18\x02 \x01(\t\x12\x17\n\x0fsynchronizer_id\x18\x03 \x01(\t\x12\x34\n\x10vetting_valid_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"w\n\"GetPreferredPackageVersionResponse\x12Q\n\x12package_preference\x18\x01 \x01(\x0b\x32\x35.com.daml.ledger.api.v2.interactive.PackagePreference\"q\n\x11PackagePreference\x12\x43\n\x11package_reference\x18\x01 \x01(\x0b\x32(.com.daml.ledger.api.v2.PackageReference\x12\x17\n\x0fsynchronizer_id\x18\x02 \x01(\t\"B\n\x19PackageVettingRequirement\x12\x0f\n\x07parties\x18\x01 \x03(\t\x12\x14\n\x0cpackage_name\x18\x02 \x01(\t\"\xd1\x01\n\x1bGetPreferredPackagesRequest\x12\x63\n\x1cpackage_vetting_requirements\x18\x01 \x03(\x0b\x32=.com.daml.ledger.api.v2.interactive.PackageVettingRequirement\x12\x17\n\x0fsynchronizer_id\x18\x02 \x01(\t\x12\x34\n\x10vetting_valid_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"}\n\x1cGetPreferredPackagesResponse\x12\x44\n\x12package_references\x18\x01 \x03(\x0b\x32(.com.daml.ledger.api.v2.PackageReference\x12\x17\n\x0fsynchronizer_id\x18\x02 \x01(\t*\x82\x01\n\x14HashingSchemeVersion\x12&\n\"HASHING_SCHEME_VERSION_UNSPECIFIED\x10\x00\x12\x1d\n\x19HASHING_SCHEME_VERSION_V2\x10\x02\x12\x1d\n\x19HASHING_SCHEME_VERSION_V3\x10\x03\"\x04\x08\x01\x10\x01\x32\x88\x08\n\x1cInteractiveSubmissionService\x12\x90\x01\n\x11PrepareSubmission\x12<.com.daml.ledger.api.v2.interactive.PrepareSubmissionRequest\x1a=.com.daml.ledger.api.v2.interactive.PrepareSubmissionResponse\x12\x90\x01\n\x11\x45xecuteSubmission\x12<.com.daml.ledger.api.v2.interactive.ExecuteSubmissionRequest\x1a=.com.daml.ledger.api.v2.interactive.ExecuteSubmissionResponse\x12\xa5\x01\n\x18\x45xecuteSubmissionAndWait\x12\x43.com.daml.ledger.api.v2.interactive.ExecuteSubmissionAndWaitRequest\x1a\x44.com.daml.ledger.api.v2.interactive.ExecuteSubmissionAndWaitResponse\x12\xcf\x01\n&ExecuteSubmissionAndWaitForTransaction\x12Q.com.daml.ledger.api.v2.interactive.ExecuteSubmissionAndWaitForTransactionRequest\x1aR.com.daml.ledger.api.v2.interactive.ExecuteSubmissionAndWaitForTransactionResponse\x12\xab\x01\n\x1aGetPreferredPackageVersion\x12\x45.com.daml.ledger.api.v2.interactive.GetPreferredPackageVersionRequest\x1a\x46.com.daml.ledger.api.v2.interactive.GetPreferredPackageVersionResponse\x12\x99\x01\n\x14GetPreferredPackages\x12?.com.daml.ledger.api.v2.interactive.GetPreferredPackagesRequest\x1a@.com.daml.ledger.api.v2.interactive.GetPreferredPackagesResponseBq\n\"com.daml.ledger.api.v2.interactiveB&InteractiveSubmissionServiceOuterClass\xaa\x02\"Com.Daml.Ledger.Api.V2.Interactiveb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -32,62 +32,68 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'\n\"com.daml.ledger.api.v2.interactiveB&InteractiveSubmissionServiceOuterClass\252\002\"Com.Daml.Ledger.Api.V2.Interactive' - _globals['_HASHINGSCHEMEVERSION']._serialized_start=6449 - _globals['_HASHINGSCHEMEVERSION']._serialized_end=6548 + _globals['_METADATA_GLOBALKEYMAPPINGENTRY'].fields_by_name['key']._options = None + _globals['_METADATA_GLOBALKEYMAPPINGENTRY'].fields_by_name['key']._serialized_options = b'\030\001' + _globals['_METADATA_GLOBALKEYMAPPINGENTRY'].fields_by_name['value']._options = None + _globals['_METADATA_GLOBALKEYMAPPINGENTRY'].fields_by_name['value']._serialized_options = b'\030\001' + _globals['_METADATA'].fields_by_name['global_key_mapping']._options = None + _globals['_METADATA'].fields_by_name['global_key_mapping']._serialized_options = b'\030\001' + _globals['_HASHINGSCHEMEVERSION']._serialized_start=6634 + _globals['_HASHINGSCHEMEVERSION']._serialized_end=6764 _globals['_COSTESTIMATIONHINTS']._serialized_start=589 _globals['_COSTESTIMATIONHINTS']._serialized_end=703 _globals['_COSTESTIMATION']._serialized_start=706 _globals['_COSTESTIMATION']._serialized_end=928 _globals['_PREPARESUBMISSIONREQUEST']._serialized_start=931 - _globals['_PREPARESUBMISSIONREQUEST']._serialized_end=1591 - _globals['_PREPARESUBMISSIONRESPONSE']._serialized_start=1594 - _globals['_PREPARESUBMISSIONRESPONSE']._serialized_end=1985 - _globals['_SINGLEPARTYSIGNATURES']._serialized_start=1987 - _globals['_SINGLEPARTYSIGNATURES']._serialized_end=2080 - _globals['_PARTYSIGNATURES']._serialized_start=2082 - _globals['_PARTYSIGNATURES']._serialized_end=2178 - _globals['_EXECUTESUBMISSIONREQUEST']._serialized_start=2181 - _globals['_EXECUTESUBMISSIONREQUEST']._serialized_end=2696 - _globals['_EXECUTESUBMISSIONRESPONSE']._serialized_start=2698 - _globals['_EXECUTESUBMISSIONRESPONSE']._serialized_end=2725 - _globals['_EXECUTESUBMISSIONANDWAITREQUEST']._serialized_start=2728 - _globals['_EXECUTESUBMISSIONANDWAITREQUEST']._serialized_end=3250 - _globals['_EXECUTESUBMISSIONANDWAITRESPONSE']._serialized_start=3252 - _globals['_EXECUTESUBMISSIONANDWAITRESPONSE']._serialized_end=3332 - _globals['_EXECUTESUBMISSIONANDWAITFORTRANSACTIONREQUEST']._serialized_start=3335 - _globals['_EXECUTESUBMISSIONANDWAITFORTRANSACTIONREQUEST']._serialized_end=3942 - _globals['_EXECUTESUBMISSIONANDWAITFORTRANSACTIONRESPONSE']._serialized_start=3944 - _globals['_EXECUTESUBMISSIONANDWAITFORTRANSACTIONRESPONSE']._serialized_end=4050 - _globals['_MINLEDGERTIME']._serialized_start=4053 - _globals['_MINLEDGERTIME']._serialized_end=4193 - _globals['_PREPAREDTRANSACTION']._serialized_start=4196 - _globals['_PREPAREDTRANSACTION']._serialized_end=4355 - _globals['_METADATA']._serialized_start=4358 - _globals['_METADATA']._serialized_end=5283 - _globals['_METADATA_SUBMITTERINFO']._serialized_start=4846 - _globals['_METADATA_SUBMITTERINFO']._serialized_end=4897 - _globals['_METADATA_GLOBALKEYMAPPINGENTRY']._serialized_start=4900 - _globals['_METADATA_GLOBALKEYMAPPINGENTRY']._serialized_end=5044 - _globals['_METADATA_INPUTCONTRACT']._serialized_start=5047 - _globals['_METADATA_INPUTCONTRACT']._serialized_end=5197 - _globals['_DAMLTRANSACTION']._serialized_start=5286 - _globals['_DAMLTRANSACTION']._serialized_end=5648 - _globals['_DAMLTRANSACTION_NODESEED']._serialized_start=5492 - _globals['_DAMLTRANSACTION_NODESEED']._serialized_end=5533 - _globals['_DAMLTRANSACTION_NODE']._serialized_start=5535 - _globals['_DAMLTRANSACTION_NODE']._serialized_end=5648 - _globals['_GETPREFERREDPACKAGEVERSIONREQUEST']._serialized_start=5651 - _globals['_GETPREFERREDPACKAGEVERSIONREQUEST']._serialized_end=5804 - _globals['_GETPREFERREDPACKAGEVERSIONRESPONSE']._serialized_start=5806 - _globals['_GETPREFERREDPACKAGEVERSIONRESPONSE']._serialized_end=5925 - _globals['_PACKAGEPREFERENCE']._serialized_start=5927 - _globals['_PACKAGEPREFERENCE']._serialized_end=6040 - _globals['_PACKAGEVETTINGREQUIREMENT']._serialized_start=6042 - _globals['_PACKAGEVETTINGREQUIREMENT']._serialized_end=6108 - _globals['_GETPREFERREDPACKAGESREQUEST']._serialized_start=6111 - _globals['_GETPREFERREDPACKAGESREQUEST']._serialized_end=6320 - _globals['_GETPREFERREDPACKAGESRESPONSE']._serialized_start=6322 - _globals['_GETPREFERREDPACKAGESRESPONSE']._serialized_end=6447 - _globals['_INTERACTIVESUBMISSIONSERVICE']._serialized_start=6551 - _globals['_INTERACTIVESUBMISSIONSERVICE']._serialized_end=7583 + _globals['_PREPARESUBMISSIONREQUEST']._serialized_end=1763 + _globals['_PREPARESUBMISSIONRESPONSE']._serialized_start=1766 + _globals['_PREPARESUBMISSIONRESPONSE']._serialized_end=2157 + _globals['_SINGLEPARTYSIGNATURES']._serialized_start=2159 + _globals['_SINGLEPARTYSIGNATURES']._serialized_end=2252 + _globals['_PARTYSIGNATURES']._serialized_start=2254 + _globals['_PARTYSIGNATURES']._serialized_end=2350 + _globals['_EXECUTESUBMISSIONREQUEST']._serialized_start=2353 + _globals['_EXECUTESUBMISSIONREQUEST']._serialized_end=2868 + _globals['_EXECUTESUBMISSIONRESPONSE']._serialized_start=2870 + _globals['_EXECUTESUBMISSIONRESPONSE']._serialized_end=2897 + _globals['_EXECUTESUBMISSIONANDWAITREQUEST']._serialized_start=2900 + _globals['_EXECUTESUBMISSIONANDWAITREQUEST']._serialized_end=3422 + _globals['_EXECUTESUBMISSIONANDWAITRESPONSE']._serialized_start=3424 + _globals['_EXECUTESUBMISSIONANDWAITRESPONSE']._serialized_end=3504 + _globals['_EXECUTESUBMISSIONANDWAITFORTRANSACTIONREQUEST']._serialized_start=3507 + _globals['_EXECUTESUBMISSIONANDWAITFORTRANSACTIONREQUEST']._serialized_end=4114 + _globals['_EXECUTESUBMISSIONANDWAITFORTRANSACTIONRESPONSE']._serialized_start=4116 + _globals['_EXECUTESUBMISSIONANDWAITFORTRANSACTIONRESPONSE']._serialized_end=4222 + _globals['_MINLEDGERTIME']._serialized_start=4225 + _globals['_MINLEDGERTIME']._serialized_end=4365 + _globals['_PREPAREDTRANSACTION']._serialized_start=4368 + _globals['_PREPAREDTRANSACTION']._serialized_end=4527 + _globals['_METADATA']._serialized_start=4530 + _globals['_METADATA']._serialized_end=5467 + _globals['_METADATA_SUBMITTERINFO']._serialized_start=5022 + _globals['_METADATA_SUBMITTERINFO']._serialized_end=5073 + _globals['_METADATA_GLOBALKEYMAPPINGENTRY']._serialized_start=5076 + _globals['_METADATA_GLOBALKEYMAPPINGENTRY']._serialized_end=5228 + _globals['_METADATA_INPUTCONTRACT']._serialized_start=5231 + _globals['_METADATA_INPUTCONTRACT']._serialized_end=5381 + _globals['_DAMLTRANSACTION']._serialized_start=5470 + _globals['_DAMLTRANSACTION']._serialized_end=5832 + _globals['_DAMLTRANSACTION_NODESEED']._serialized_start=5676 + _globals['_DAMLTRANSACTION_NODESEED']._serialized_end=5717 + _globals['_DAMLTRANSACTION_NODE']._serialized_start=5719 + _globals['_DAMLTRANSACTION_NODE']._serialized_end=5832 + _globals['_GETPREFERREDPACKAGEVERSIONREQUEST']._serialized_start=5835 + _globals['_GETPREFERREDPACKAGEVERSIONREQUEST']._serialized_end=5988 + _globals['_GETPREFERREDPACKAGEVERSIONRESPONSE']._serialized_start=5990 + _globals['_GETPREFERREDPACKAGEVERSIONRESPONSE']._serialized_end=6109 + _globals['_PACKAGEPREFERENCE']._serialized_start=6111 + _globals['_PACKAGEPREFERENCE']._serialized_end=6224 + _globals['_PACKAGEVETTINGREQUIREMENT']._serialized_start=6226 + _globals['_PACKAGEVETTINGREQUIREMENT']._serialized_end=6292 + _globals['_GETPREFERREDPACKAGESREQUEST']._serialized_start=6295 + _globals['_GETPREFERREDPACKAGESREQUEST']._serialized_end=6504 + _globals['_GETPREFERREDPACKAGESRESPONSE']._serialized_start=6506 + _globals['_GETPREFERREDPACKAGESRESPONSE']._serialized_end=6631 + _globals['_INTERACTIVESUBMISSIONSERVICE']._serialized_start=6767 + _globals['_INTERACTIVESUBMISSIONSERVICE']._serialized_end=7799 # @@protoc_insertion_point(module_scope) diff --git a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service_pb2.pyi b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service_pb2.pyi index a9411ec..e6b6028 100644 --- a/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service_pb2.pyi +++ b/proto/com/daml/ledger/api/v2/interactive/interactive_submission_service_pb2.pyi @@ -20,8 +20,10 @@ class HashingSchemeVersion(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () HASHING_SCHEME_VERSION_UNSPECIFIED: _ClassVar[HashingSchemeVersion] HASHING_SCHEME_VERSION_V2: _ClassVar[HashingSchemeVersion] + HASHING_SCHEME_VERSION_V3: _ClassVar[HashingSchemeVersion] HASHING_SCHEME_VERSION_UNSPECIFIED: HashingSchemeVersion HASHING_SCHEME_VERSION_V2: HashingSchemeVersion +HASHING_SCHEME_VERSION_V3: HashingSchemeVersion class CostEstimationHints(_message.Message): __slots__ = ("disabled", "expected_signatures") @@ -44,7 +46,7 @@ class CostEstimation(_message.Message): def __init__(self, estimation_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., confirmation_request_traffic_cost_estimation: _Optional[int] = ..., confirmation_response_traffic_cost_estimation: _Optional[int] = ..., total_traffic_cost_estimation: _Optional[int] = ...) -> None: ... class PrepareSubmissionRequest(_message.Message): - __slots__ = ("user_id", "command_id", "commands", "min_ledger_time", "max_record_time", "act_as", "read_as", "disclosed_contracts", "synchronizer_id", "package_id_selection_preference", "verbose_hashing", "prefetch_contract_keys", "estimate_traffic_cost") + __slots__ = ("user_id", "command_id", "commands", "min_ledger_time", "max_record_time", "act_as", "read_as", "disclosed_contracts", "synchronizer_id", "package_id_selection_preference", "verbose_hashing", "prefetch_contract_keys", "estimate_traffic_cost", "hashing_scheme_version", "taps_max_passes") USER_ID_FIELD_NUMBER: _ClassVar[int] COMMAND_ID_FIELD_NUMBER: _ClassVar[int] COMMANDS_FIELD_NUMBER: _ClassVar[int] @@ -58,6 +60,8 @@ class PrepareSubmissionRequest(_message.Message): VERBOSE_HASHING_FIELD_NUMBER: _ClassVar[int] PREFETCH_CONTRACT_KEYS_FIELD_NUMBER: _ClassVar[int] ESTIMATE_TRAFFIC_COST_FIELD_NUMBER: _ClassVar[int] + HASHING_SCHEME_VERSION_FIELD_NUMBER: _ClassVar[int] + TAPS_MAX_PASSES_FIELD_NUMBER: _ClassVar[int] user_id: str command_id: str commands: _containers.RepeatedCompositeFieldContainer[_commands_pb2.Command] @@ -71,7 +75,9 @@ class PrepareSubmissionRequest(_message.Message): verbose_hashing: bool prefetch_contract_keys: _containers.RepeatedCompositeFieldContainer[_commands_pb2.PrefetchContractKey] estimate_traffic_cost: CostEstimationHints - def __init__(self, user_id: _Optional[str] = ..., command_id: _Optional[str] = ..., commands: _Optional[_Iterable[_Union[_commands_pb2.Command, _Mapping]]] = ..., min_ledger_time: _Optional[_Union[MinLedgerTime, _Mapping]] = ..., max_record_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., act_as: _Optional[_Iterable[str]] = ..., read_as: _Optional[_Iterable[str]] = ..., disclosed_contracts: _Optional[_Iterable[_Union[_commands_pb2.DisclosedContract, _Mapping]]] = ..., synchronizer_id: _Optional[str] = ..., package_id_selection_preference: _Optional[_Iterable[str]] = ..., verbose_hashing: bool = ..., prefetch_contract_keys: _Optional[_Iterable[_Union[_commands_pb2.PrefetchContractKey, _Mapping]]] = ..., estimate_traffic_cost: _Optional[_Union[CostEstimationHints, _Mapping]] = ...) -> None: ... + hashing_scheme_version: HashingSchemeVersion + taps_max_passes: int + def __init__(self, user_id: _Optional[str] = ..., command_id: _Optional[str] = ..., commands: _Optional[_Iterable[_Union[_commands_pb2.Command, _Mapping]]] = ..., min_ledger_time: _Optional[_Union[MinLedgerTime, _Mapping]] = ..., max_record_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., act_as: _Optional[_Iterable[str]] = ..., read_as: _Optional[_Iterable[str]] = ..., disclosed_contracts: _Optional[_Iterable[_Union[_commands_pb2.DisclosedContract, _Mapping]]] = ..., synchronizer_id: _Optional[str] = ..., package_id_selection_preference: _Optional[_Iterable[str]] = ..., verbose_hashing: bool = ..., prefetch_contract_keys: _Optional[_Iterable[_Union[_commands_pb2.PrefetchContractKey, _Mapping]]] = ..., estimate_traffic_cost: _Optional[_Union[CostEstimationHints, _Mapping]] = ..., hashing_scheme_version: _Optional[_Union[HashingSchemeVersion, str]] = ..., taps_max_passes: _Optional[int] = ...) -> None: ... class PrepareSubmissionResponse(_message.Message): __slots__ = ("prepared_transaction", "prepared_transaction_hash", "hashing_scheme_version", "hashing_details", "cost_estimation") @@ -198,7 +204,7 @@ class PreparedTransaction(_message.Message): def __init__(self, transaction: _Optional[_Union[DamlTransaction, _Mapping]] = ..., metadata: _Optional[_Union[Metadata, _Mapping]] = ...) -> None: ... class Metadata(_message.Message): - __slots__ = ("submitter_info", "synchronizer_id", "mediator_group", "transaction_uuid", "preparation_time", "input_contracts", "min_ledger_effective_time", "max_ledger_effective_time", "global_key_mapping", "max_record_time") + __slots__ = ("submitter_info", "synchronizer_id", "mediator_group", "transaction_uuid", "preparation_time", "input_contracts", "min_ledger_effective_time", "max_ledger_effective_time", "max_record_time", "global_key_mapping") class SubmitterInfo(_message.Message): __slots__ = ("act_as", "command_id") ACT_AS_FIELD_NUMBER: _ClassVar[int] @@ -230,8 +236,8 @@ class Metadata(_message.Message): INPUT_CONTRACTS_FIELD_NUMBER: _ClassVar[int] MIN_LEDGER_EFFECTIVE_TIME_FIELD_NUMBER: _ClassVar[int] MAX_LEDGER_EFFECTIVE_TIME_FIELD_NUMBER: _ClassVar[int] - GLOBAL_KEY_MAPPING_FIELD_NUMBER: _ClassVar[int] MAX_RECORD_TIME_FIELD_NUMBER: _ClassVar[int] + GLOBAL_KEY_MAPPING_FIELD_NUMBER: _ClassVar[int] submitter_info: Metadata.SubmitterInfo synchronizer_id: str mediator_group: int @@ -240,9 +246,9 @@ class Metadata(_message.Message): input_contracts: _containers.RepeatedCompositeFieldContainer[Metadata.InputContract] min_ledger_effective_time: int max_ledger_effective_time: int - global_key_mapping: _containers.RepeatedCompositeFieldContainer[Metadata.GlobalKeyMappingEntry] max_record_time: int - def __init__(self, submitter_info: _Optional[_Union[Metadata.SubmitterInfo, _Mapping]] = ..., synchronizer_id: _Optional[str] = ..., mediator_group: _Optional[int] = ..., transaction_uuid: _Optional[str] = ..., preparation_time: _Optional[int] = ..., input_contracts: _Optional[_Iterable[_Union[Metadata.InputContract, _Mapping]]] = ..., min_ledger_effective_time: _Optional[int] = ..., max_ledger_effective_time: _Optional[int] = ..., global_key_mapping: _Optional[_Iterable[_Union[Metadata.GlobalKeyMappingEntry, _Mapping]]] = ..., max_record_time: _Optional[int] = ...) -> None: ... + global_key_mapping: _containers.RepeatedCompositeFieldContainer[Metadata.GlobalKeyMappingEntry] + def __init__(self, submitter_info: _Optional[_Union[Metadata.SubmitterInfo, _Mapping]] = ..., synchronizer_id: _Optional[str] = ..., mediator_group: _Optional[int] = ..., transaction_uuid: _Optional[str] = ..., preparation_time: _Optional[int] = ..., input_contracts: _Optional[_Iterable[_Union[Metadata.InputContract, _Mapping]]] = ..., min_ledger_effective_time: _Optional[int] = ..., max_ledger_effective_time: _Optional[int] = ..., max_record_time: _Optional[int] = ..., global_key_mapping: _Optional[_Iterable[_Union[Metadata.GlobalKeyMappingEntry, _Mapping]]] = ...) -> None: ... class DamlTransaction(_message.Message): __slots__ = ("version", "roots", "nodes", "node_seeds") diff --git a/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.pb.c b/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.pb.c index b843f33..938d611 100644 --- a/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.pb.c +++ b/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.pb.c @@ -6,7 +6,7 @@ #error Regenerate this file with the current version of nanopb generator. #endif -PB_BIND(com_daml_ledger_api_v2_interactive_transaction_v1_Fetch, com_daml_ledger_api_v2_interactive_transaction_v1_Fetch, 2) +PB_BIND(com_daml_ledger_api_v2_interactive_transaction_v1_Fetch, com_daml_ledger_api_v2_interactive_transaction_v1_Fetch, 4) PB_BIND(com_daml_ledger_api_v2_interactive_transaction_v1_Exercise, com_daml_ledger_api_v2_interactive_transaction_v1_Exercise, 4) @@ -18,6 +18,9 @@ PB_BIND(com_daml_ledger_api_v2_interactive_transaction_v1_Create, com_daml_ledge PB_BIND(com_daml_ledger_api_v2_interactive_transaction_v1_Rollback, com_daml_ledger_api_v2_interactive_transaction_v1_Rollback, AUTO) +PB_BIND(com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey, com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey, 4) + + PB_BIND(com_daml_ledger_api_v2_interactive_transaction_v1_Node, com_daml_ledger_api_v2_interactive_transaction_v1_Node, 4) diff --git a/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.pb.h b/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.pb.h index e0682cf..b856d70 100644 --- a/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.pb.h +++ b/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.pb.h @@ -4,6 +4,7 @@ #ifndef PB_COM_DAML_LEDGER_API_V2_INTERACTIVE_TRANSACTION_V1_COM_DAML_LEDGER_API_V2_INTERACTIVE_TRANSACTION_V1_INTERACTIVE_SUBMISSION_DATA_PB_H_INCLUDED #define PB_COM_DAML_LEDGER_API_V2_INTERACTIVE_TRANSACTION_V1_COM_DAML_LEDGER_API_V2_INTERACTIVE_TRANSACTION_V1_INTERACTIVE_SUBMISSION_DATA_PB_H_INCLUDED #include +#include "com/daml/ledger/api/v2/interactive/interactive_submission_common_data.pb.h" #include "com/daml/ledger/api/v2/value.pb.h" #if PB_PROTO_HEADER_VERSION != 40 @@ -13,75 +14,159 @@ /* Struct definitions */ /* Fetch node */ typedef struct _com_daml_ledger_api_v2_interactive_transaction_v1_Fetch { - /* Specific LF version of the node */ + /* Specific LF serialization version of the node + + Required */ char *lf_version; + /* Required */ char *contract_id; + /* Required */ char *package_name; - /* The identifier uses the package-id reference format. */ + /* The identifier uses the package-id reference format. + + Required */ bool has_template_id; com_daml_ledger_api_v2_Identifier template_id; + /* Required: must be non-empty */ pb_size_t signatories_count; char **signatories; + /* Required: must be non-empty */ pb_size_t stakeholders_count; char **stakeholders; + /* Required: must be non-empty */ pb_size_t acting_parties_count; char **acting_parties; /* Optional */ struct _com_daml_ledger_api_v2_Identifier *interface_id; + /* Can only be populated from lf_version >= 2 + + Optional */ + bool has_key; + com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers key; + /* Can only be true from lf_version >= 2 + + Required */ + bool by_key; } com_daml_ledger_api_v2_interactive_transaction_v1_Fetch; /* Exercise node */ typedef struct _com_daml_ledger_api_v2_interactive_transaction_v1_Exercise { - /* Specific LF version of the node */ + /* Specific LF serialization version of the node + + Required */ char *lf_version; + /* Required */ char *contract_id; + /* Required */ char *package_name; - /* The identifier uses the package-id reference format. */ + /* The identifier uses the package-id reference format. + + Required */ bool has_template_id; com_daml_ledger_api_v2_Identifier template_id; + /* Required: must be non-empty */ pb_size_t signatories_count; char **signatories; + /* Required: must be non-empty */ pb_size_t stakeholders_count; char **stakeholders; + /* Required: must be non-empty */ pb_size_t acting_parties_count; char **acting_parties; - /* The identifier uses the package-id reference format. */ + /* The identifier uses the package-id reference format. + + Optional */ struct _com_daml_ledger_api_v2_Identifier *interface_id; + /* Required */ char *choice_id; + /* Required */ bool has_chosen_value; com_daml_ledger_api_v2_Value chosen_value; + /* Required */ bool consuming; + /* Optional: can be empty */ pb_size_t children_count; char **children; + /* Optional */ bool has_exercise_result; com_daml_ledger_api_v2_Value exercise_result; + /* Optional: can be empty */ pb_size_t choice_observers_count; char **choice_observers; + /* Can only be populated from lf_version >= 2 + + Optional */ + bool has_key; + com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers key; + /* Can only be true from lf_version >= 2 + + Required */ + bool by_key; } com_daml_ledger_api_v2_interactive_transaction_v1_Exercise; /* Create Node */ typedef struct _com_daml_ledger_api_v2_interactive_transaction_v1_Create { - /* Specific LF version of the node */ + /* Specific LF serialization version of the node + + Required */ char *lf_version; + /* Required */ char *contract_id; + /* Required */ char *package_name; - /* The identifier uses the package-id reference format. */ + /* The identifier uses the package-id reference format. + + Required */ bool has_template_id; com_daml_ledger_api_v2_Identifier template_id; + /* Required */ bool has_argument; com_daml_ledger_api_v2_Value argument; + /* Required: must be non-empty */ pb_size_t signatories_count; char **signatories; + /* Required: must be non-empty */ pb_size_t stakeholders_count; char **stakeholders; + /* Only populated from lf_version >= 2 + + Optional */ + bool has_key; + com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers key; } com_daml_ledger_api_v2_interactive_transaction_v1_Create; /* Rollback Node */ typedef struct _com_daml_ledger_api_v2_interactive_transaction_v1_Rollback { + /* Required: must be non-empty */ pb_size_t children_count; char **children; } com_daml_ledger_api_v2_interactive_transaction_v1_Rollback; +typedef struct _com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey { + /* Specific LF serialization version of the node + + Required */ + char lf_version[1024]; + /* Required */ + char package_name[1024]; + /* The identifier uses the package-id reference format. + + Required */ + bool has_template_id; + com_daml_ledger_api_v2_Identifier template_id; + /* Required */ + bool exhaustive; + /* key to query for + + Required */ + bool has_key; + com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers key; + /* Result of the query: list of contract Ids matching the query + + Optional: can be empty */ + pb_callback_t result; +} com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey; + typedef struct _com_daml_ledger_api_v2_interactive_transaction_v1_Node { pb_callback_t cb_node_type; pb_size_t which_node_type; @@ -90,6 +175,8 @@ typedef struct _com_daml_ledger_api_v2_interactive_transaction_v1_Node { com_daml_ledger_api_v2_interactive_transaction_v1_Fetch fetch; com_daml_ledger_api_v2_interactive_transaction_v1_Exercise exercise; com_daml_ledger_api_v2_interactive_transaction_v1_Rollback rollback; + /* Only from PV 35 */ + com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey query_by_key; }; } com_daml_ledger_api_v2_interactive_transaction_v1_Node; @@ -99,15 +186,17 @@ extern "C" { #endif /* Initializer values for message structs */ -#define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_init_default {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_default, 0, NULL, 0, NULL, 0, NULL, NULL} -#define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_init_default {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_default, 0, NULL, 0, NULL, 0, NULL, NULL, NULL, false, com_daml_ledger_api_v2_Value_init_default, 0, 0, NULL, false, com_daml_ledger_api_v2_Value_init_default, 0, NULL} -#define com_daml_ledger_api_v2_interactive_transaction_v1_Create_init_default {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_default, false, com_daml_ledger_api_v2_Value_init_default, 0, NULL, 0, NULL} +#define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_init_default {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_default, 0, NULL, 0, NULL, 0, NULL, NULL, false, com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_init_default, 0} +#define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_init_default {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_default, 0, NULL, 0, NULL, 0, NULL, NULL, NULL, false, com_daml_ledger_api_v2_Value_init_default, 0, 0, NULL, false, com_daml_ledger_api_v2_Value_init_default, 0, NULL, false, com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_init_default, 0} +#define com_daml_ledger_api_v2_interactive_transaction_v1_Create_init_default {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_default, false, com_daml_ledger_api_v2_Value_init_default, 0, NULL, 0, NULL, false, com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_init_default} #define com_daml_ledger_api_v2_interactive_transaction_v1_Rollback_init_default {0, NULL} +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_init_default {"", "", false, com_daml_ledger_api_v2_Identifier_init_default, 0, false, com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_init_default, {{NULL}, NULL}} #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_init_default {{{NULL}, NULL}, 0, {com_daml_ledger_api_v2_interactive_transaction_v1_Create_init_default}} -#define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_init_zero {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_zero, 0, NULL, 0, NULL, 0, NULL, NULL} -#define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_init_zero {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_zero, 0, NULL, 0, NULL, 0, NULL, NULL, NULL, false, com_daml_ledger_api_v2_Value_init_zero, 0, 0, NULL, false, com_daml_ledger_api_v2_Value_init_zero, 0, NULL} -#define com_daml_ledger_api_v2_interactive_transaction_v1_Create_init_zero {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_zero, false, com_daml_ledger_api_v2_Value_init_zero, 0, NULL, 0, NULL} +#define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_init_zero {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_zero, 0, NULL, 0, NULL, 0, NULL, NULL, false, com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_init_zero, 0} +#define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_init_zero {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_zero, 0, NULL, 0, NULL, 0, NULL, NULL, NULL, false, com_daml_ledger_api_v2_Value_init_zero, 0, 0, NULL, false, com_daml_ledger_api_v2_Value_init_zero, 0, NULL, false, com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_init_zero, 0} +#define com_daml_ledger_api_v2_interactive_transaction_v1_Create_init_zero {NULL, NULL, NULL, false, com_daml_ledger_api_v2_Identifier_init_zero, false, com_daml_ledger_api_v2_Value_init_zero, 0, NULL, 0, NULL, false, com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_init_zero} #define com_daml_ledger_api_v2_interactive_transaction_v1_Rollback_init_zero {0, NULL} +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_init_zero {"", "", false, com_daml_ledger_api_v2_Identifier_init_zero, 0, false, com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers_init_zero, {{NULL}, NULL}} #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_init_zero {{{NULL}, NULL}, 0, {com_daml_ledger_api_v2_interactive_transaction_v1_Create_init_zero}} /* Field tags (for use in manual encoding/decoding) */ @@ -119,6 +208,8 @@ extern "C" { #define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_stakeholders_tag 6 #define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_acting_parties_tag 7 #define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_interface_id_tag 8 +#define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_key_tag 9 +#define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_by_key_tag 10 #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_lf_version_tag 1 #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_contract_id_tag 2 #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_package_name_tag 3 @@ -133,6 +224,8 @@ extern "C" { #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_children_tag 12 #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_exercise_result_tag 13 #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_choice_observers_tag 14 +#define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_key_tag 15 +#define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_by_key_tag 16 #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_lf_version_tag 1 #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_contract_id_tag 2 #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_package_name_tag 3 @@ -140,11 +233,19 @@ extern "C" { #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_argument_tag 5 #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_signatories_tag 6 #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_stakeholders_tag 7 +#define com_daml_ledger_api_v2_interactive_transaction_v1_Create_key_tag 8 #define com_daml_ledger_api_v2_interactive_transaction_v1_Rollback_children_tag 1 +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_lf_version_tag 1 +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_package_name_tag 2 +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_template_id_tag 3 +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_exhaustive_tag 4 +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_key_tag 5 +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_result_tag 6 #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_create_tag 1 #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_fetch_tag 2 #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_exercise_tag 3 #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_rollback_tag 4 +#define com_daml_ledger_api_v2_interactive_transaction_v1_Node_query_by_key_tag 5 /* Struct field encoding specification for nanopb */ #define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_FIELDLIST(X, a) \ @@ -155,11 +256,14 @@ X(a, STATIC, OPTIONAL, MESSAGE, template_id, 4) \ X(a, POINTER, REPEATED, STRING, signatories, 5) \ X(a, POINTER, REPEATED, STRING, stakeholders, 6) \ X(a, POINTER, REPEATED, STRING, acting_parties, 7) \ -X(a, POINTER, OPTIONAL, MESSAGE, interface_id, 8) +X(a, POINTER, OPTIONAL, MESSAGE, interface_id, 8) \ +X(a, STATIC, OPTIONAL, MESSAGE, key, 9) \ +X(a, STATIC, SINGULAR, BOOL, by_key, 10) #define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_CALLBACK NULL #define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_DEFAULT NULL #define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_template_id_MSGTYPE com_daml_ledger_api_v2_Identifier #define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_interface_id_MSGTYPE com_daml_ledger_api_v2_Identifier +#define com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_key_MSGTYPE com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_FIELDLIST(X, a) \ X(a, POINTER, SINGULAR, STRING, lf_version, 1) \ @@ -175,13 +279,16 @@ X(a, STATIC, OPTIONAL, MESSAGE, chosen_value, 10) \ X(a, STATIC, SINGULAR, BOOL, consuming, 11) \ X(a, POINTER, REPEATED, STRING, children, 12) \ X(a, STATIC, OPTIONAL, MESSAGE, exercise_result, 13) \ -X(a, POINTER, REPEATED, STRING, choice_observers, 14) +X(a, POINTER, REPEATED, STRING, choice_observers, 14) \ +X(a, STATIC, OPTIONAL, MESSAGE, key, 15) \ +X(a, STATIC, SINGULAR, BOOL, by_key, 16) #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_CALLBACK NULL #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_DEFAULT NULL #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_template_id_MSGTYPE com_daml_ledger_api_v2_Identifier #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_interface_id_MSGTYPE com_daml_ledger_api_v2_Identifier #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_chosen_value_MSGTYPE com_daml_ledger_api_v2_Value #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_exercise_result_MSGTYPE com_daml_ledger_api_v2_Value +#define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_key_MSGTYPE com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_FIELDLIST(X, a) \ X(a, POINTER, SINGULAR, STRING, lf_version, 1) \ @@ -190,33 +297,50 @@ X(a, POINTER, SINGULAR, STRING, package_name, 3) \ X(a, STATIC, OPTIONAL, MESSAGE, template_id, 4) \ X(a, STATIC, OPTIONAL, MESSAGE, argument, 5) \ X(a, POINTER, REPEATED, STRING, signatories, 6) \ -X(a, POINTER, REPEATED, STRING, stakeholders, 7) +X(a, POINTER, REPEATED, STRING, stakeholders, 7) \ +X(a, STATIC, OPTIONAL, MESSAGE, key, 8) #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_CALLBACK NULL #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_DEFAULT NULL #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_template_id_MSGTYPE com_daml_ledger_api_v2_Identifier #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_argument_MSGTYPE com_daml_ledger_api_v2_Value +#define com_daml_ledger_api_v2_interactive_transaction_v1_Create_key_MSGTYPE com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers #define com_daml_ledger_api_v2_interactive_transaction_v1_Rollback_FIELDLIST(X, a) \ X(a, POINTER, REPEATED, STRING, children, 1) #define com_daml_ledger_api_v2_interactive_transaction_v1_Rollback_CALLBACK NULL #define com_daml_ledger_api_v2_interactive_transaction_v1_Rollback_DEFAULT NULL +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_FIELDLIST(X, a) \ +X(a, STATIC, SINGULAR, STRING, lf_version, 1) \ +X(a, STATIC, SINGULAR, STRING, package_name, 2) \ +X(a, STATIC, OPTIONAL, MESSAGE, template_id, 3) \ +X(a, STATIC, SINGULAR, BOOL, exhaustive, 4) \ +X(a, STATIC, OPTIONAL, MESSAGE, key, 5) \ +X(a, CALLBACK, REPEATED, STRING, result, 6) +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_CALLBACK pb_default_field_callback +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_DEFAULT NULL +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_template_id_MSGTYPE com_daml_ledger_api_v2_Identifier +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_key_MSGTYPE com_daml_ledger_api_v2_interactive_GlobalKeyWithMaintainers + #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_FIELDLIST(X, a) \ X(a, STATIC, ONEOF, MSG_W_CB, (node_type,create,create), 1) \ X(a, STATIC, ONEOF, MSG_W_CB, (node_type,fetch,fetch), 2) \ X(a, STATIC, ONEOF, MSG_W_CB, (node_type,exercise,exercise), 3) \ -X(a, STATIC, ONEOF, MSG_W_CB, (node_type,rollback,rollback), 4) +X(a, STATIC, ONEOF, MSG_W_CB, (node_type,rollback,rollback), 4) \ +X(a, STATIC, ONEOF, MSG_W_CB, (node_type,query_by_key,query_by_key), 5) #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_CALLBACK NULL #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_DEFAULT NULL #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_node_type_create_MSGTYPE com_daml_ledger_api_v2_interactive_transaction_v1_Create #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_node_type_fetch_MSGTYPE com_daml_ledger_api_v2_interactive_transaction_v1_Fetch #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_node_type_exercise_MSGTYPE com_daml_ledger_api_v2_interactive_transaction_v1_Exercise #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_node_type_rollback_MSGTYPE com_daml_ledger_api_v2_interactive_transaction_v1_Rollback +#define com_daml_ledger_api_v2_interactive_transaction_v1_Node_node_type_query_by_key_MSGTYPE com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey extern const pb_msgdesc_t com_daml_ledger_api_v2_interactive_transaction_v1_Fetch_msg; extern const pb_msgdesc_t com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_msg; extern const pb_msgdesc_t com_daml_ledger_api_v2_interactive_transaction_v1_Create_msg; extern const pb_msgdesc_t com_daml_ledger_api_v2_interactive_transaction_v1_Rollback_msg; +extern const pb_msgdesc_t com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_msg; extern const pb_msgdesc_t com_daml_ledger_api_v2_interactive_transaction_v1_Node_msg; /* Defines for backwards compatibility with code written before nanopb-0.4.0 */ @@ -224,6 +348,7 @@ extern const pb_msgdesc_t com_daml_ledger_api_v2_interactive_transaction_v1_Node #define com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_fields &com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_msg #define com_daml_ledger_api_v2_interactive_transaction_v1_Create_fields &com_daml_ledger_api_v2_interactive_transaction_v1_Create_msg #define com_daml_ledger_api_v2_interactive_transaction_v1_Rollback_fields &com_daml_ledger_api_v2_interactive_transaction_v1_Rollback_msg +#define com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_fields &com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_msg #define com_daml_ledger_api_v2_interactive_transaction_v1_Node_fields &com_daml_ledger_api_v2_interactive_transaction_v1_Node_msg /* Maximum encoded size of messages (where known) */ @@ -231,6 +356,7 @@ extern const pb_msgdesc_t com_daml_ledger_api_v2_interactive_transaction_v1_Node /* com_daml_ledger_api_v2_interactive_transaction_v1_Exercise_size depends on runtime parameters */ /* com_daml_ledger_api_v2_interactive_transaction_v1_Create_size depends on runtime parameters */ /* com_daml_ledger_api_v2_interactive_transaction_v1_Rollback_size depends on runtime parameters */ +/* com_daml_ledger_api_v2_interactive_transaction_v1_QueryByKey_size depends on runtime parameters */ /* com_daml_ledger_api_v2_interactive_transaction_v1_Node_size depends on runtime parameters */ #ifdef __cplusplus diff --git a/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data_pb2.py b/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data_pb2.py index 6dd2047..e797640 100644 --- a/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data_pb2.py +++ b/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data_pb2.py @@ -12,10 +12,11 @@ _sym_db = _symbol_database.Default() +from com.daml.ledger.api.v2.interactive import interactive_submission_common_data_pb2 as com_dot_daml_dot_ledger_dot_api_dot_v2_dot_interactive_dot_interactive__submission__common__data__pb2 from com.daml.ledger.api.v2 import value_pb2 as com_dot_daml_dot_ledger_dot_api_dot_v2_dot_value__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nScom/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.proto\x12\x31\x63om.daml.ledger.api.v2.interactive.transaction.v1\x1a\"com/daml/ledger/api/v2/value.proto\"\xfc\x01\n\x05\x46\x65tch\x12\x12\n\nlf_version\x18\x01 \x01(\t\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\t\x12\x14\n\x0cpackage_name\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x13\n\x0bsignatories\x18\x05 \x03(\t\x12\x14\n\x0cstakeholders\x18\x06 \x03(\t\x12\x16\n\x0e\x61\x63ting_parties\x18\x07 \x03(\t\x12\x38\n\x0cinterface_id\x18\x08 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\"\xbe\x03\n\x08\x45xercise\x12\x12\n\nlf_version\x18\x01 \x01(\t\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\t\x12\x14\n\x0cpackage_name\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x13\n\x0bsignatories\x18\x05 \x03(\t\x12\x14\n\x0cstakeholders\x18\x06 \x03(\t\x12\x16\n\x0e\x61\x63ting_parties\x18\x07 \x03(\t\x12\x38\n\x0cinterface_id\x18\x08 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x11\n\tchoice_id\x18\t \x01(\t\x12\x33\n\x0c\x63hosen_value\x18\n \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x11\n\tconsuming\x18\x0b \x01(\x08\x12\x10\n\x08\x63hildren\x18\x0c \x03(\t\x12\x36\n\x0f\x65xercise_result\x18\r \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x18\n\x10\x63hoice_observers\x18\x0e \x03(\t\"\xdc\x01\n\x06\x43reate\x12\x12\n\nlf_version\x18\x01 \x01(\t\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\t\x12\x14\n\x0cpackage_name\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12/\n\x08\x61rgument\x18\x05 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x13\n\x0bsignatories\x18\x06 \x03(\t\x12\x14\n\x0cstakeholders\x18\x07 \x03(\t\"\x1c\n\x08Rollback\x12\x10\n\x08\x63hildren\x18\x01 \x03(\t\"\xcd\x02\n\x04Node\x12K\n\x06\x63reate\x18\x01 \x01(\x0b\x32\x39.com.daml.ledger.api.v2.interactive.transaction.v1.CreateH\x00\x12I\n\x05\x66\x65tch\x18\x02 \x01(\x0b\x32\x38.com.daml.ledger.api.v2.interactive.transaction.v1.FetchH\x00\x12O\n\x08\x65xercise\x18\x03 \x01(\x0b\x32;.com.daml.ledger.api.v2.interactive.transaction.v1.ExerciseH\x00\x12O\n\x08rollback\x18\x04 \x01(\x0b\x32;.com.daml.ledger.api.v2.interactive.transaction.v1.RollbackH\x00\x42\x0b\n\tnode_typeB\x8c\x01\n1com.daml.ledger.api.v2.interactive.transaction.v1B#InteractiveSubmissionDataOuterClass\xaa\x02\x31\x43om.Daml.Ledger.Api.V2.Interactive.Transaction.V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nScom/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.proto\x12\x31\x63om.daml.ledger.api.v2.interactive.transaction.v1\x1aKcom/daml/ledger/api/v2/interactive/interactive_submission_common_data.proto\x1a\"com/daml/ledger/api/v2/value.proto\"\xe4\x02\n\x05\x46\x65tch\x12\x12\n\nlf_version\x18\x01 \x01(\t\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\t\x12\x14\n\x0cpackage_name\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x13\n\x0bsignatories\x18\x05 \x03(\t\x12\x14\n\x0cstakeholders\x18\x06 \x03(\t\x12\x16\n\x0e\x61\x63ting_parties\x18\x07 \x03(\t\x12\x38\n\x0cinterface_id\x18\x08 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12N\n\x03key\x18\t \x01(\x0b\x32<.com.daml.ledger.api.v2.interactive.GlobalKeyWithMaintainersH\x00\x88\x01\x01\x12\x0e\n\x06\x62y_key\x18\n \x01(\x08\x42\x06\n\x04_key\"\xa6\x04\n\x08\x45xercise\x12\x12\n\nlf_version\x18\x01 \x01(\t\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\t\x12\x14\n\x0cpackage_name\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x13\n\x0bsignatories\x18\x05 \x03(\t\x12\x14\n\x0cstakeholders\x18\x06 \x03(\t\x12\x16\n\x0e\x61\x63ting_parties\x18\x07 \x03(\t\x12\x38\n\x0cinterface_id\x18\x08 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x11\n\tchoice_id\x18\t \x01(\t\x12\x33\n\x0c\x63hosen_value\x18\n \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x11\n\tconsuming\x18\x0b \x01(\x08\x12\x10\n\x08\x63hildren\x18\x0c \x03(\t\x12\x36\n\x0f\x65xercise_result\x18\r \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x18\n\x10\x63hoice_observers\x18\x0e \x03(\t\x12N\n\x03key\x18\x0f \x01(\x0b\x32<.com.daml.ledger.api.v2.interactive.GlobalKeyWithMaintainersH\x00\x88\x01\x01\x12\x0e\n\x06\x62y_key\x18\x10 \x01(\x08\x42\x06\n\x04_key\"\xb4\x02\n\x06\x43reate\x12\x12\n\nlf_version\x18\x01 \x01(\t\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\t\x12\x14\n\x0cpackage_name\x18\x03 \x01(\t\x12\x37\n\x0btemplate_id\x18\x04 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12/\n\x08\x61rgument\x18\x05 \x01(\x0b\x32\x1d.com.daml.ledger.api.v2.Value\x12\x13\n\x0bsignatories\x18\x06 \x03(\t\x12\x14\n\x0cstakeholders\x18\x07 \x03(\t\x12N\n\x03key\x18\x08 \x01(\x0b\x32<.com.daml.ledger.api.v2.interactive.GlobalKeyWithMaintainersH\x00\x88\x01\x01\x42\x06\n\x04_key\"\x1c\n\x08Rollback\x12\x10\n\x08\x63hildren\x18\x01 \x03(\t\"\xde\x01\n\nQueryByKey\x12\x12\n\nlf_version\x18\x01 \x01(\t\x12\x14\n\x0cpackage_name\x18\x02 \x01(\t\x12\x37\n\x0btemplate_id\x18\x03 \x01(\x0b\x32\".com.daml.ledger.api.v2.Identifier\x12\x12\n\nexhaustive\x18\x04 \x01(\x08\x12I\n\x03key\x18\x05 \x01(\x0b\x32<.com.daml.ledger.api.v2.interactive.GlobalKeyWithMaintainers\x12\x0e\n\x06result\x18\x06 \x03(\t\"\xa4\x03\n\x04Node\x12K\n\x06\x63reate\x18\x01 \x01(\x0b\x32\x39.com.daml.ledger.api.v2.interactive.transaction.v1.CreateH\x00\x12I\n\x05\x66\x65tch\x18\x02 \x01(\x0b\x32\x38.com.daml.ledger.api.v2.interactive.transaction.v1.FetchH\x00\x12O\n\x08\x65xercise\x18\x03 \x01(\x0b\x32;.com.daml.ledger.api.v2.interactive.transaction.v1.ExerciseH\x00\x12O\n\x08rollback\x18\x04 \x01(\x0b\x32;.com.daml.ledger.api.v2.interactive.transaction.v1.RollbackH\x00\x12U\n\x0cquery_by_key\x18\x05 \x01(\x0b\x32=.com.daml.ledger.api.v2.interactive.transaction.v1.QueryByKeyH\x00\x42\x0b\n\tnode_typeB\x8c\x01\n1com.daml.ledger.api.v2.interactive.transaction.v1B#InteractiveSubmissionDataOuterClass\xaa\x02\x31\x43om.Daml.Ledger.Api.V2.Interactive.Transaction.V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,14 +24,16 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'\n1com.daml.ledger.api.v2.interactive.transaction.v1B#InteractiveSubmissionDataOuterClass\252\0021Com.Daml.Ledger.Api.V2.Interactive.Transaction.V1' - _globals['_FETCH']._serialized_start=175 - _globals['_FETCH']._serialized_end=427 - _globals['_EXERCISE']._serialized_start=430 - _globals['_EXERCISE']._serialized_end=876 - _globals['_CREATE']._serialized_start=879 - _globals['_CREATE']._serialized_end=1099 - _globals['_ROLLBACK']._serialized_start=1101 - _globals['_ROLLBACK']._serialized_end=1129 - _globals['_NODE']._serialized_start=1132 - _globals['_NODE']._serialized_end=1465 + _globals['_FETCH']._serialized_start=252 + _globals['_FETCH']._serialized_end=608 + _globals['_EXERCISE']._serialized_start=611 + _globals['_EXERCISE']._serialized_end=1161 + _globals['_CREATE']._serialized_start=1164 + _globals['_CREATE']._serialized_end=1472 + _globals['_ROLLBACK']._serialized_start=1474 + _globals['_ROLLBACK']._serialized_end=1502 + _globals['_QUERYBYKEY']._serialized_start=1505 + _globals['_QUERYBYKEY']._serialized_end=1727 + _globals['_NODE']._serialized_start=1730 + _globals['_NODE']._serialized_end=2150 # @@protoc_insertion_point(module_scope) diff --git a/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data_pb2.pyi b/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data_pb2.pyi index 5561619..2c1e5c2 100644 --- a/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data_pb2.pyi +++ b/proto/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data_pb2.pyi @@ -1,3 +1,4 @@ +from com.daml.ledger.api.v2.interactive import interactive_submission_common_data_pb2 as _interactive_submission_common_data_pb2 from com.daml.ledger.api.v2 import value_pb2 as _value_pb2 from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor @@ -7,7 +8,7 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor class Fetch(_message.Message): - __slots__ = ("lf_version", "contract_id", "package_name", "template_id", "signatories", "stakeholders", "acting_parties", "interface_id") + __slots__ = ("lf_version", "contract_id", "package_name", "template_id", "signatories", "stakeholders", "acting_parties", "interface_id", "key", "by_key") LF_VERSION_FIELD_NUMBER: _ClassVar[int] CONTRACT_ID_FIELD_NUMBER: _ClassVar[int] PACKAGE_NAME_FIELD_NUMBER: _ClassVar[int] @@ -16,6 +17,8 @@ class Fetch(_message.Message): STAKEHOLDERS_FIELD_NUMBER: _ClassVar[int] ACTING_PARTIES_FIELD_NUMBER: _ClassVar[int] INTERFACE_ID_FIELD_NUMBER: _ClassVar[int] + KEY_FIELD_NUMBER: _ClassVar[int] + BY_KEY_FIELD_NUMBER: _ClassVar[int] lf_version: str contract_id: str package_name: str @@ -24,10 +27,12 @@ class Fetch(_message.Message): stakeholders: _containers.RepeatedScalarFieldContainer[str] acting_parties: _containers.RepeatedScalarFieldContainer[str] interface_id: _value_pb2.Identifier - def __init__(self, lf_version: _Optional[str] = ..., contract_id: _Optional[str] = ..., package_name: _Optional[str] = ..., template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., signatories: _Optional[_Iterable[str]] = ..., stakeholders: _Optional[_Iterable[str]] = ..., acting_parties: _Optional[_Iterable[str]] = ..., interface_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ...) -> None: ... + key: _interactive_submission_common_data_pb2.GlobalKeyWithMaintainers + by_key: bool + def __init__(self, lf_version: _Optional[str] = ..., contract_id: _Optional[str] = ..., package_name: _Optional[str] = ..., template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., signatories: _Optional[_Iterable[str]] = ..., stakeholders: _Optional[_Iterable[str]] = ..., acting_parties: _Optional[_Iterable[str]] = ..., interface_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., key: _Optional[_Union[_interactive_submission_common_data_pb2.GlobalKeyWithMaintainers, _Mapping]] = ..., by_key: bool = ...) -> None: ... class Exercise(_message.Message): - __slots__ = ("lf_version", "contract_id", "package_name", "template_id", "signatories", "stakeholders", "acting_parties", "interface_id", "choice_id", "chosen_value", "consuming", "children", "exercise_result", "choice_observers") + __slots__ = ("lf_version", "contract_id", "package_name", "template_id", "signatories", "stakeholders", "acting_parties", "interface_id", "choice_id", "chosen_value", "consuming", "children", "exercise_result", "choice_observers", "key", "by_key") LF_VERSION_FIELD_NUMBER: _ClassVar[int] CONTRACT_ID_FIELD_NUMBER: _ClassVar[int] PACKAGE_NAME_FIELD_NUMBER: _ClassVar[int] @@ -42,6 +47,8 @@ class Exercise(_message.Message): CHILDREN_FIELD_NUMBER: _ClassVar[int] EXERCISE_RESULT_FIELD_NUMBER: _ClassVar[int] CHOICE_OBSERVERS_FIELD_NUMBER: _ClassVar[int] + KEY_FIELD_NUMBER: _ClassVar[int] + BY_KEY_FIELD_NUMBER: _ClassVar[int] lf_version: str contract_id: str package_name: str @@ -56,10 +63,12 @@ class Exercise(_message.Message): children: _containers.RepeatedScalarFieldContainer[str] exercise_result: _value_pb2.Value choice_observers: _containers.RepeatedScalarFieldContainer[str] - def __init__(self, lf_version: _Optional[str] = ..., contract_id: _Optional[str] = ..., package_name: _Optional[str] = ..., template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., signatories: _Optional[_Iterable[str]] = ..., stakeholders: _Optional[_Iterable[str]] = ..., acting_parties: _Optional[_Iterable[str]] = ..., interface_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., choice_id: _Optional[str] = ..., chosen_value: _Optional[_Union[_value_pb2.Value, _Mapping]] = ..., consuming: bool = ..., children: _Optional[_Iterable[str]] = ..., exercise_result: _Optional[_Union[_value_pb2.Value, _Mapping]] = ..., choice_observers: _Optional[_Iterable[str]] = ...) -> None: ... + key: _interactive_submission_common_data_pb2.GlobalKeyWithMaintainers + by_key: bool + def __init__(self, lf_version: _Optional[str] = ..., contract_id: _Optional[str] = ..., package_name: _Optional[str] = ..., template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., signatories: _Optional[_Iterable[str]] = ..., stakeholders: _Optional[_Iterable[str]] = ..., acting_parties: _Optional[_Iterable[str]] = ..., interface_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., choice_id: _Optional[str] = ..., chosen_value: _Optional[_Union[_value_pb2.Value, _Mapping]] = ..., consuming: bool = ..., children: _Optional[_Iterable[str]] = ..., exercise_result: _Optional[_Union[_value_pb2.Value, _Mapping]] = ..., choice_observers: _Optional[_Iterable[str]] = ..., key: _Optional[_Union[_interactive_submission_common_data_pb2.GlobalKeyWithMaintainers, _Mapping]] = ..., by_key: bool = ...) -> None: ... class Create(_message.Message): - __slots__ = ("lf_version", "contract_id", "package_name", "template_id", "argument", "signatories", "stakeholders") + __slots__ = ("lf_version", "contract_id", "package_name", "template_id", "argument", "signatories", "stakeholders", "key") LF_VERSION_FIELD_NUMBER: _ClassVar[int] CONTRACT_ID_FIELD_NUMBER: _ClassVar[int] PACKAGE_NAME_FIELD_NUMBER: _ClassVar[int] @@ -67,6 +76,7 @@ class Create(_message.Message): ARGUMENT_FIELD_NUMBER: _ClassVar[int] SIGNATORIES_FIELD_NUMBER: _ClassVar[int] STAKEHOLDERS_FIELD_NUMBER: _ClassVar[int] + KEY_FIELD_NUMBER: _ClassVar[int] lf_version: str contract_id: str package_name: str @@ -74,7 +84,8 @@ class Create(_message.Message): argument: _value_pb2.Value signatories: _containers.RepeatedScalarFieldContainer[str] stakeholders: _containers.RepeatedScalarFieldContainer[str] - def __init__(self, lf_version: _Optional[str] = ..., contract_id: _Optional[str] = ..., package_name: _Optional[str] = ..., template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., argument: _Optional[_Union[_value_pb2.Value, _Mapping]] = ..., signatories: _Optional[_Iterable[str]] = ..., stakeholders: _Optional[_Iterable[str]] = ...) -> None: ... + key: _interactive_submission_common_data_pb2.GlobalKeyWithMaintainers + def __init__(self, lf_version: _Optional[str] = ..., contract_id: _Optional[str] = ..., package_name: _Optional[str] = ..., template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., argument: _Optional[_Union[_value_pb2.Value, _Mapping]] = ..., signatories: _Optional[_Iterable[str]] = ..., stakeholders: _Optional[_Iterable[str]] = ..., key: _Optional[_Union[_interactive_submission_common_data_pb2.GlobalKeyWithMaintainers, _Mapping]] = ...) -> None: ... class Rollback(_message.Message): __slots__ = ("children",) @@ -82,14 +93,32 @@ class Rollback(_message.Message): children: _containers.RepeatedScalarFieldContainer[str] def __init__(self, children: _Optional[_Iterable[str]] = ...) -> None: ... +class QueryByKey(_message.Message): + __slots__ = ("lf_version", "package_name", "template_id", "exhaustive", "key", "result") + LF_VERSION_FIELD_NUMBER: _ClassVar[int] + PACKAGE_NAME_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_ID_FIELD_NUMBER: _ClassVar[int] + EXHAUSTIVE_FIELD_NUMBER: _ClassVar[int] + KEY_FIELD_NUMBER: _ClassVar[int] + RESULT_FIELD_NUMBER: _ClassVar[int] + lf_version: str + package_name: str + template_id: _value_pb2.Identifier + exhaustive: bool + key: _interactive_submission_common_data_pb2.GlobalKeyWithMaintainers + result: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, lf_version: _Optional[str] = ..., package_name: _Optional[str] = ..., template_id: _Optional[_Union[_value_pb2.Identifier, _Mapping]] = ..., exhaustive: bool = ..., key: _Optional[_Union[_interactive_submission_common_data_pb2.GlobalKeyWithMaintainers, _Mapping]] = ..., result: _Optional[_Iterable[str]] = ...) -> None: ... + class Node(_message.Message): - __slots__ = ("create", "fetch", "exercise", "rollback") + __slots__ = ("create", "fetch", "exercise", "rollback", "query_by_key") CREATE_FIELD_NUMBER: _ClassVar[int] FETCH_FIELD_NUMBER: _ClassVar[int] EXERCISE_FIELD_NUMBER: _ClassVar[int] ROLLBACK_FIELD_NUMBER: _ClassVar[int] + QUERY_BY_KEY_FIELD_NUMBER: _ClassVar[int] create: Create fetch: Fetch exercise: Exercise rollback: Rollback - def __init__(self, create: _Optional[_Union[Create, _Mapping]] = ..., fetch: _Optional[_Union[Fetch, _Mapping]] = ..., exercise: _Optional[_Union[Exercise, _Mapping]] = ..., rollback: _Optional[_Union[Rollback, _Mapping]] = ...) -> None: ... + query_by_key: QueryByKey + def __init__(self, create: _Optional[_Union[Create, _Mapping]] = ..., fetch: _Optional[_Union[Fetch, _Mapping]] = ..., exercise: _Optional[_Union[Exercise, _Mapping]] = ..., rollback: _Optional[_Union[Rollback, _Mapping]] = ..., query_by_key: _Optional[_Union[QueryByKey, _Mapping]] = ...) -> None: ... diff --git a/proto/com/daml/ledger/api/v2/offset_checkpoint.pb.h b/proto/com/daml/ledger/api/v2/offset_checkpoint.pb.h index ceb175d..81971b7 100644 --- a/proto/com/daml/ledger/api/v2/offset_checkpoint.pb.h +++ b/proto/com/daml/ledger/api/v2/offset_checkpoint.pb.h @@ -17,16 +17,23 @@ - provide an offset which can be used to restart consumption. */ typedef struct _com_daml_ledger_api_v2_OffsetCheckpoint { /* The participant's offset, the details of the offset field are described in ``community/ledger-api/README.md``. - Required, must be a valid absolute offset (positive integer). */ + Must be a valid absolute offset (positive integer). + + Required */ int64_t offset; + /* The times associated with each synchronizer at this offset. + + Optional: can be empty */ pb_callback_t synchronizer_times; } com_daml_ledger_api_v2_OffsetCheckpoint; typedef struct _com_daml_ledger_api_v2_SynchronizerTime { /* The id of the synchronizer. + Required */ char synchronizer_id[1024]; /* All commands with a maximum record time below this value MUST be considered lost if their completion has not arrived before this checkpoint. + Required */ bool has_record_time; google_protobuf_Timestamp record_time; diff --git a/proto/com/daml/ledger/api/v2/package_reference.pb.h b/proto/com/daml/ledger/api/v2/package_reference.pb.h index 76f412e..47b10f0 100644 --- a/proto/com/daml/ledger/api/v2/package_reference.pb.h +++ b/proto/com/daml/ledger/api/v2/package_reference.pb.h @@ -25,23 +25,31 @@ typedef struct _com_daml_ledger_api_v2_PackageReference { modelled after ``VettedPackage`` in `topology.proto `_, enriched with the package name and version. */ typedef struct _com_daml_ledger_api_v2_VettedPackage { - /* Package ID of this package. Always present. */ + /* Package ID of this package + + Required */ char package_id[1024]; /* The time from which this package is vetted. Empty if vetting time has no - lower bound. */ + lower bound. + + Optional */ bool has_valid_from_inclusive; google_protobuf_Timestamp valid_from_inclusive; /* The time until which this package is vetted. Empty if vetting time has no - upper bound. */ + upper bound. + + Optional */ bool has_valid_until_exclusive; google_protobuf_Timestamp valid_until_exclusive; /* Name of this package. Only available if the package has been uploaded to the current participant. - If unavailable, is empty string. */ + + Optional */ char package_name[1024]; /* Version of this package. Only available if the package has been uploaded to the current participant. - If unavailable, is empty string. */ + + Optional */ char package_version[1024]; } com_daml_ledger_api_v2_VettedPackage; @@ -51,14 +59,22 @@ typedef struct _com_daml_ledger_api_v2_VettedPackage { originated it. */ typedef struct _com_daml_ledger_api_v2_VettedPackages { /* Sorted by package_name and package_version where known, and package_id as a - last resort. */ + last resort. + + Required: must be non-empty */ pb_callback_t packages; - /* Participant on which these packages are vetted. Always present. */ + /* Participant on which these packages are vetted. + + Required */ char participant_id[1024]; - /* Synchronizer on which these packages are vetted. Always present. */ + /* Synchronizer on which these packages are vetted. + + Required */ char synchronizer_id[1024]; /* Serial of last ``VettedPackages`` topology transaction of this participant - and on this synchronizer. Always present. */ + and on this synchronizer. + + Required */ uint32_t topology_serial; } com_daml_ledger_api_v2_VettedPackages; diff --git a/proto/com/daml/ledger/api/v2/trace_context.pb.h b/proto/com/daml/ledger/api/v2/trace_context.pb.h index b1f61bc..27ff3ec 100644 --- a/proto/com/daml/ledger/api/v2/trace_context.pb.h +++ b/proto/com/daml/ledger/api/v2/trace_context.pb.h @@ -11,9 +11,12 @@ /* Struct definitions */ typedef struct _com_daml_ledger_api_v2_TraceContext { - /* https://www.w3.org/TR/trace-context/ */ + /* https://www.w3.org/TR/trace-context/ + + Optional */ bool has_traceparent; char traceparent[1024]; + /* Optional */ bool has_tracestate; char tracestate[1024]; } com_daml_ledger_api_v2_TraceContext; diff --git a/proto/com/daml/ledger/api/v2/transaction.pb.h b/proto/com/daml/ledger/api/v2/transaction.pb.h index 7f66fcd..001eaf3 100644 --- a/proto/com/daml/ledger/api/v2/transaction.pb.h +++ b/proto/com/daml/ledger/api/v2/transaction.pb.h @@ -18,17 +18,21 @@ typedef PB_BYTES_ARRAY_T(1024) com_daml_ledger_api_v2_Transaction_external_trans typedef struct _com_daml_ledger_api_v2_Transaction { /* Assigned by the server. Useful for correlating logs. Must be a valid LedgerString (as described in ``value.proto``). + Required */ char update_id[1024]; /* The ID of the command which resulted in this transaction. Missing for everyone except the submitting party. Must be a valid LedgerString (as described in ``value.proto``). + Optional */ char command_id[1024]; /* The workflow ID used in command submission. Must be a valid LedgerString (as described in ``value.proto``). + Optional */ char workflow_id[1024]; /* Ledger effective time. + Required */ bool has_effective_at; google_protobuf_Timestamp effective_at; @@ -38,16 +42,19 @@ typedef struct _com_daml_ledger_api_v2_Transaction { - ``CreatedEvent`` or ``ArchivedEvent`` in case of ACS_DELTA transaction shape - ``CreatedEvent`` or ``ExercisedEvent`` in case of LEDGER_EFFECTS transaction shape - Required */ + Required: must be non-empty */ pb_callback_t events; /* The absolute offset. The details of this field are described in ``community/ledger-api/README.md``. - Required, it is a valid absolute offset (positive integer). */ + It is a valid absolute offset (positive integer). + + Required */ int64_t offset; /* A valid synchronizer id. Identifies the synchronizer that synchronized the transaction. + Required */ char synchronizer_id[1024]; - /* Optional; ledger API trace context + /* Ledger API trace context The trace context transported in this message corresponds to the trace context supplied by the client application in a HTTP2 header of the original command submission. @@ -55,19 +62,35 @@ typedef struct _com_daml_ledger_api_v2_Transaction { body, because it is used in gRPC streams which do not support per message headers. This field will be populated with the trace context contained in the original submission. If that was not provided, a unique ledger-api-server generated trace context will be used - instead. */ + instead. + + Optional */ bool has_trace_context; com_daml_ledger_api_v2_TraceContext trace_context; /* The time at which the transaction was recorded. The record time refers to the synchronizer which synchronized the transaction. + Required */ bool has_record_time; google_protobuf_Timestamp record_time; /* For transaction externally signed, contains the external transaction hash signed by the external party. Can be used to correlate an external submission with a committed transaction. - Optional */ + + Optional: can be empty */ bool has_external_transaction_hash; com_daml_ledger_api_v2_Transaction_external_transaction_hash_t external_transaction_hash; + /* The traffic cost that this participant node paid for the confirmation + request for this transaction. + + Not set for transactions that were + - initiated by another participant + - initiated offline via the repair service + - processed before the participant started serving traffic cost on the Ledger API + - returned as part of a query filtering for a non submitting party + + Optional */ + bool has_paid_traffic_cost; + int64_t paid_traffic_cost; } com_daml_ledger_api_v2_Transaction; @@ -76,8 +99,8 @@ extern "C" { #endif /* Initializer values for message structs */ -#define com_daml_ledger_api_v2_Transaction_init_default {"", "", "", false, google_protobuf_Timestamp_init_default, {{NULL}, NULL}, 0, "", false, com_daml_ledger_api_v2_TraceContext_init_default, false, google_protobuf_Timestamp_init_default, false, {0, {0}}} -#define com_daml_ledger_api_v2_Transaction_init_zero {"", "", "", false, google_protobuf_Timestamp_init_zero, {{NULL}, NULL}, 0, "", false, com_daml_ledger_api_v2_TraceContext_init_zero, false, google_protobuf_Timestamp_init_zero, false, {0, {0}}} +#define com_daml_ledger_api_v2_Transaction_init_default {"", "", "", false, google_protobuf_Timestamp_init_default, {{NULL}, NULL}, 0, "", false, com_daml_ledger_api_v2_TraceContext_init_default, false, google_protobuf_Timestamp_init_default, false, {0, {0}}, false, 0} +#define com_daml_ledger_api_v2_Transaction_init_zero {"", "", "", false, google_protobuf_Timestamp_init_zero, {{NULL}, NULL}, 0, "", false, com_daml_ledger_api_v2_TraceContext_init_zero, false, google_protobuf_Timestamp_init_zero, false, {0, {0}}, false, 0} /* Field tags (for use in manual encoding/decoding) */ #define com_daml_ledger_api_v2_Transaction_update_id_tag 1 @@ -90,6 +113,7 @@ extern "C" { #define com_daml_ledger_api_v2_Transaction_trace_context_tag 8 #define com_daml_ledger_api_v2_Transaction_record_time_tag 9 #define com_daml_ledger_api_v2_Transaction_external_transaction_hash_tag 10 +#define com_daml_ledger_api_v2_Transaction_paid_traffic_cost_tag 11 /* Struct field encoding specification for nanopb */ #define com_daml_ledger_api_v2_Transaction_FIELDLIST(X, a) \ @@ -102,7 +126,8 @@ X(a, STATIC, SINGULAR, INT64, offset, 6) \ X(a, STATIC, SINGULAR, STRING, synchronizer_id, 7) \ X(a, STATIC, OPTIONAL, MESSAGE, trace_context, 8) \ X(a, STATIC, OPTIONAL, MESSAGE, record_time, 9) \ -X(a, STATIC, OPTIONAL, BYTES, external_transaction_hash, 10) +X(a, STATIC, OPTIONAL, BYTES, external_transaction_hash, 10) \ +X(a, STATIC, OPTIONAL, INT64, paid_traffic_cost, 11) #define com_daml_ledger_api_v2_Transaction_CALLBACK pb_default_field_callback #define com_daml_ledger_api_v2_Transaction_DEFAULT NULL #define com_daml_ledger_api_v2_Transaction_effective_at_MSGTYPE google_protobuf_Timestamp diff --git a/proto/com/daml/ledger/api/v2/transaction_filter.pb.h b/proto/com/daml/ledger/api/v2/transaction_filter.pb.h index 7756c0e..2948576 100644 --- a/proto/com/daml/ledger/api/v2/transaction_filter.pb.h +++ b/proto/com/daml/ledger/api/v2/transaction_filter.pb.h @@ -36,8 +36,10 @@ typedef struct _com_daml_ledger_api_v2_Filters { also be accumulated. A template or an interface SHOULD NOT appear twice in the accumulative field. A wildcard filter SHOULD NOT be defined more than once in the accumulative field. - Optional, if no ``CumulativeFilter`` defined, the default of a single ``WildcardFilter`` with - include_created_event_blob unset is used. */ + If no ``CumulativeFilter`` defined, the default of a single ``WildcardFilter`` with + include_created_event_blob unset is used. + + Optional: can be empty */ pb_callback_t cumulative; } com_daml_ledger_api_v2_Filters; @@ -46,6 +48,7 @@ typedef struct _com_daml_ledger_api_v2_WildcardFilter { /* Whether to include a ``created_event_blob`` in the returned ``CreatedEvent``. Use this to access the contract create event payload in your API client for submitting it as a disclosed contract with future commands. + Optional */ bool include_created_event_blob; } com_daml_ledger_api_v2_WildcardFilter; @@ -63,11 +66,13 @@ typedef struct _com_daml_ledger_api_v2_InterfaceFilter { com_daml_ledger_api_v2_Identifier interface_id; /* Whether to include the interface view on the contract in the returned ``CreatedEvent``. Use this to access contract data in a uniform manner in your API client. + Optional */ bool include_interface_view; /* Whether to include a ``created_event_blob`` in the returned ``CreatedEvent``. Use this to access the contract create event payload in your API client for submitting it as a disclosed contract with future commands. + Optional */ bool include_created_event_blob; } com_daml_ledger_api_v2_InterfaceFilter; @@ -86,6 +91,7 @@ typedef struct _com_daml_ledger_api_v2_TemplateFilter { /* Whether to include a ``created_event_blob`` in the returned ``CreatedEvent``. Use this to access the contract event payload in your API client for submitting it as a disclosed contract with future commands. + Optional */ bool include_created_event_blob; } com_daml_ledger_api_v2_TemplateFilter; @@ -96,16 +102,19 @@ typedef struct _com_daml_ledger_api_v2_CumulativeFilter { pb_size_t which_identifier_filter; union { /* A wildcard filter that matches all templates + Optional */ com_daml_ledger_api_v2_WildcardFilter wildcard_filter; /* Include an ``InterfaceView`` for every ``InterfaceFilter`` matching a contract. The ``InterfaceFilter`` instances MUST each use a unique ``interface_id``. + Optional */ com_daml_ledger_api_v2_InterfaceFilter interface_filter; /* A template for which the data will be included in the ``create_arguments`` of a matching ``CreatedEvent``. If a contract is simultaneously selected by a template filter and one or more interface filters, the corresponding ``include_created_event_blob`` are consolidated using an OR operation. + Optional */ com_daml_ledger_api_v2_TemplateFilter template_filter; } identifier_filter; @@ -125,15 +134,17 @@ typedef struct _com_daml_ledger_api_v2_EventFormat { 2. For **transaction and active-contract-set streams** create and archive events are returned for all contracts whose stakeholders include at least one of the listed parties and match the per-party filter. - Optional */ + Optional: can be empty */ pb_callback_t filters_by_party; /* Wildcard filters that apply to all the parties existing on the participant. The interpretation of the filters is the same with the per-party filter as described above. + Optional */ bool has_filters_for_any_party; com_daml_ledger_api_v2_Filters filters_for_any_party; /* If enabled, values served over the API will contain more information than strictly necessary to interpret the data. In particular, setting the verbose flag to true triggers the ledger to include labels for record fields. + Optional */ bool verbose; } com_daml_ledger_api_v2_EventFormat; @@ -151,6 +162,7 @@ typedef struct _com_daml_ledger_api_v2_TransactionFormat { bool has_event_format; com_daml_ledger_api_v2_EventFormat event_format; /* What transaction shape to use for interpreting the filters of the event format. + Required */ com_daml_ledger_api_v2_TransactionShape transaction_shape; } com_daml_ledger_api_v2_TransactionFormat; @@ -158,14 +170,18 @@ typedef struct _com_daml_ledger_api_v2_TransactionFormat { /* A format specifying which participant authorization topology transactions to include and how to render them. */ typedef struct _com_daml_ledger_api_v2_ParticipantAuthorizationTopologyFormat { /* List of parties for which the topology transactions should be sent. - Empty means: for all parties. */ + Empty means: for all parties. + + Optional: can be empty */ pb_callback_t parties; } com_daml_ledger_api_v2_ParticipantAuthorizationTopologyFormat; /* A format specifying which topology transactions to include and how to render them. */ typedef struct _com_daml_ledger_api_v2_TopologyFormat { /* Include participant authorization topology events in streams. - Optional, if unset no participant authorization topology events are emitted in the stream. */ + If unset, no participant authorization topology events are emitted in the stream. + + Optional */ bool has_include_participant_authorization_events; com_daml_ledger_api_v2_ParticipantAuthorizationTopologyFormat include_participant_authorization_events; } com_daml_ledger_api_v2_TopologyFormat; @@ -173,16 +189,22 @@ typedef struct _com_daml_ledger_api_v2_TopologyFormat { /* A format specifying what updates to include and how to render them. */ typedef struct _com_daml_ledger_api_v2_UpdateFormat { /* Include Daml transactions in streams. - Optional, if unset, no transactions are emitted in the stream. */ + If unset, no transactions are emitted in the stream. + + Optional */ bool has_include_transactions; com_daml_ledger_api_v2_TransactionFormat include_transactions; /* Include (un)assignments in the stream. The events in the result take the shape TRANSACTION_SHAPE_ACS_DELTA. - Optional, if unset, no (un)assignments are emitted in the stream. */ + If unset, no (un)assignments are emitted in the stream. + + Optional */ bool has_include_reassignments; com_daml_ledger_api_v2_EventFormat include_reassignments; /* Include topology events in streams. - Optional, if unset no topology events are emitted in the stream. */ + If unset no topology events are emitted in the stream. + + Optional */ bool has_include_topology_events; com_daml_ledger_api_v2_TopologyFormat include_topology_events; } com_daml_ledger_api_v2_UpdateFormat; diff --git a/proto/com/daml/ledger/api/v2/transaction_pb2.py b/proto/com/daml/ledger/api/v2/transaction_pb2.py index b515d61..10d22b2 100644 --- a/proto/com/daml/ledger/api/v2/transaction_pb2.py +++ b/proto/com/daml/ledger/api/v2/transaction_pb2.py @@ -17,7 +17,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(com/daml/ledger/api/v2/transaction.proto\x12\x16\x63om.daml.ledger.api.v2\x1a\"com/daml/ledger/api/v2/event.proto\x1a*com/daml/ledger/api/v2/trace_context.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x87\x03\n\x0bTransaction\x12\x11\n\tupdate_id\x18\x01 \x01(\t\x12\x12\n\ncommand_id\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x30\n\x0c\x65\x66\x66\x65\x63tive_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\x06\x65vents\x18\x05 \x03(\x0b\x32\x1d.com.daml.ledger.api.v2.Event\x12\x0e\n\x06offset\x18\x06 \x01(\x03\x12\x17\n\x0fsynchronizer_id\x18\x07 \x01(\t\x12;\n\rtrace_context\x18\x08 \x01(\x0b\x32$.com.daml.ledger.api.v2.TraceContext\x12/\n\x0brecord_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x19\x65xternal_transaction_hash\x18\n \x01(\x0cH\x00\x88\x01\x01\x42\x1c\n\x1a_external_transaction_hashBH\n\x16\x63om.daml.ledger.api.v2B\x15TransactionOuterClass\xaa\x02\x16\x43om.Daml.Ledger.Api.V2b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(com/daml/ledger/api/v2/transaction.proto\x12\x16\x63om.daml.ledger.api.v2\x1a\"com/daml/ledger/api/v2/event.proto\x1a*com/daml/ledger/api/v2/trace_context.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xbd\x03\n\x0bTransaction\x12\x11\n\tupdate_id\x18\x01 \x01(\t\x12\x12\n\ncommand_id\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x30\n\x0c\x65\x66\x66\x65\x63tive_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\x06\x65vents\x18\x05 \x03(\x0b\x32\x1d.com.daml.ledger.api.v2.Event\x12\x0e\n\x06offset\x18\x06 \x01(\x03\x12\x17\n\x0fsynchronizer_id\x18\x07 \x01(\t\x12;\n\rtrace_context\x18\x08 \x01(\x0b\x32$.com.daml.ledger.api.v2.TraceContext\x12/\n\x0brecord_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x19\x65xternal_transaction_hash\x18\n \x01(\x0cH\x00\x88\x01\x01\x12\x1e\n\x11paid_traffic_cost\x18\x0b \x01(\x03H\x01\x88\x01\x01\x42\x1c\n\x1a_external_transaction_hashB\x14\n\x12_paid_traffic_costBH\n\x16\x63om.daml.ledger.api.v2B\x15TransactionOuterClass\xaa\x02\x16\x43om.Daml.Ledger.Api.V2b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,5 +26,5 @@ _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'\n\026com.daml.ledger.api.v2B\025TransactionOuterClass\252\002\026Com.Daml.Ledger.Api.V2' _globals['_TRANSACTION']._serialized_start=182 - _globals['_TRANSACTION']._serialized_end=573 + _globals['_TRANSACTION']._serialized_end=627 # @@protoc_insertion_point(module_scope) diff --git a/proto/com/daml/ledger/api/v2/transaction_pb2.pyi b/proto/com/daml/ledger/api/v2/transaction_pb2.pyi index e14a173..7678585 100644 --- a/proto/com/daml/ledger/api/v2/transaction_pb2.pyi +++ b/proto/com/daml/ledger/api/v2/transaction_pb2.pyi @@ -9,7 +9,7 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor class Transaction(_message.Message): - __slots__ = ("update_id", "command_id", "workflow_id", "effective_at", "events", "offset", "synchronizer_id", "trace_context", "record_time", "external_transaction_hash") + __slots__ = ("update_id", "command_id", "workflow_id", "effective_at", "events", "offset", "synchronizer_id", "trace_context", "record_time", "external_transaction_hash", "paid_traffic_cost") UPDATE_ID_FIELD_NUMBER: _ClassVar[int] COMMAND_ID_FIELD_NUMBER: _ClassVar[int] WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int] @@ -20,6 +20,7 @@ class Transaction(_message.Message): TRACE_CONTEXT_FIELD_NUMBER: _ClassVar[int] RECORD_TIME_FIELD_NUMBER: _ClassVar[int] EXTERNAL_TRANSACTION_HASH_FIELD_NUMBER: _ClassVar[int] + PAID_TRAFFIC_COST_FIELD_NUMBER: _ClassVar[int] update_id: str command_id: str workflow_id: str @@ -30,4 +31,5 @@ class Transaction(_message.Message): trace_context: _trace_context_pb2.TraceContext record_time: _timestamp_pb2.Timestamp external_transaction_hash: bytes - def __init__(self, update_id: _Optional[str] = ..., command_id: _Optional[str] = ..., workflow_id: _Optional[str] = ..., effective_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., events: _Optional[_Iterable[_Union[_event_pb2.Event, _Mapping]]] = ..., offset: _Optional[int] = ..., synchronizer_id: _Optional[str] = ..., trace_context: _Optional[_Union[_trace_context_pb2.TraceContext, _Mapping]] = ..., record_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., external_transaction_hash: _Optional[bytes] = ...) -> None: ... + paid_traffic_cost: int + def __init__(self, update_id: _Optional[str] = ..., command_id: _Optional[str] = ..., workflow_id: _Optional[str] = ..., effective_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., events: _Optional[_Iterable[_Union[_event_pb2.Event, _Mapping]]] = ..., offset: _Optional[int] = ..., synchronizer_id: _Optional[str] = ..., trace_context: _Optional[_Union[_trace_context_pb2.TraceContext, _Mapping]] = ..., record_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., external_transaction_hash: _Optional[bytes] = ..., paid_traffic_cost: _Optional[int] = ...) -> None: ... diff --git a/proto/com/daml/ledger/api/v2/value.proto b/proto/com/daml/ledger/api/v2/value.proto old mode 100755 new mode 100644 index 7a9a2a3..4a64a1d --- a/proto/com/daml/ledger/api/v2/value.proto +++ b/proto/com/daml/ledger/api/v2/value.proto @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved. +// Copyright (c) 2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved. // SPDX-License-Identifier: Apache-2.0 // IMPORTANT: The comments for the messages and fields are used to produce Sphinx documentation in Canton. diff --git a/proto/com/digitalasset/canton/protocol/v30/synchronizer_parameters.pb.h b/proto/com/digitalasset/canton/protocol/v30/synchronizer_parameters.pb.h index 52db7fd..f6a7a8f 100644 --- a/proto/com/digitalasset/canton/protocol/v30/synchronizer_parameters.pb.h +++ b/proto/com/digitalasset/canton/protocol/v30/synchronizer_parameters.pb.h @@ -52,6 +52,7 @@ typedef struct _com_digitalasset_canton_protocol_v30_DynamicSynchronizerParamete google_protobuf_Duration reconciliation_interval; bool has_mediator_deduplication_timeout; google_protobuf_Duration mediator_deduplication_timeout; + /* when updated, the new value is effective only after a restart */ uint32_t max_request_size; /* topology related validation parameters permissioned synchronizer: if true, only participants which have been explicitly @@ -162,7 +163,7 @@ extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_DynamicSynchroniz /* Maximum encoded size of messages (where known) */ #define COM_DIGITALASSET_CANTON_PROTOCOL_V30_COM_DIGITALASSET_CANTON_PROTOCOL_V30_SYNCHRONIZER_PARAMETERS_PB_H_MAX_SIZE com_digitalasset_canton_protocol_v30_DynamicSynchronizerParameters_size #define com_digitalasset_canton_protocol_v30_AcsCommitmentsCatchUpConfig_size 12 -#define com_digitalasset_canton_protocol_v30_DynamicSynchronizerParameters_size 305 +#define com_digitalasset_canton_protocol_v30_DynamicSynchronizerParameters_size 307 #define com_digitalasset_canton_protocol_v30_ParticipantSynchronizerLimits_size 6 #ifdef __cplusplus diff --git a/proto/com/digitalasset/canton/protocol/v30/topology.pb.c b/proto/com/digitalasset/canton/protocol/v30/topology.pb.c index 4728127..eaf07aa 100644 --- a/proto/com/digitalasset/canton/protocol/v30/topology.pb.c +++ b/proto/com/digitalasset/canton/protocol/v30/topology.pb.c @@ -66,16 +66,13 @@ PB_BIND(com_digitalasset_canton_protocol_v30_MediatorSynchronizerState, com_digi PB_BIND(com_digitalasset_canton_protocol_v30_SequencerSynchronizerState, com_digitalasset_canton_protocol_v30_SequencerSynchronizerState, AUTO) -PB_BIND(com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement, com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement, AUTO) +PB_BIND(com_digitalasset_canton_protocol_v30_LsuAnnouncement, com_digitalasset_canton_protocol_v30_LsuAnnouncement, 2) -PB_BIND(com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor, com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor, AUTO) +PB_BIND(com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor, com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor, 2) -PB_BIND(com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection, com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection, AUTO) - - -PB_BIND(com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc, com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc, AUTO) +PB_BIND(com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection, com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection, 2) PB_BIND(com_digitalasset_canton_protocol_v30_TopologyMapping, com_digitalasset_canton_protocol_v30_TopologyMapping, 2) diff --git a/proto/com/digitalasset/canton/protocol/v30/topology.pb.h b/proto/com/digitalasset/canton/protocol/v30/topology.pb.h index e11bcb9..fef67c8 100644 --- a/proto/com/digitalasset/canton/protocol/v30/topology.pb.h +++ b/proto/com/digitalasset/canton/protocol/v30/topology.pb.h @@ -49,7 +49,7 @@ typedef enum _com_digitalasset_canton_protocol_v30_Enums_TopologyMappingCode { com_digitalasset_canton_protocol_v30_Enums_TopologyMappingCode_TOPOLOGY_MAPPING_CODE_SEQUENCER_SYNCHRONIZER_STATE = 13, com_digitalasset_canton_protocol_v30_Enums_TopologyMappingCode_TOPOLOGY_MAPPING_CODE_SEQUENCING_DYNAMIC_PARAMETERS_STATE = 17, com_digitalasset_canton_protocol_v30_Enums_TopologyMappingCode_TOPOLOGY_MAPPING_CODE_PARTY_TO_KEY_MAPPING = 18, - com_digitalasset_canton_protocol_v30_Enums_TopologyMappingCode_TOPOLOGY_MAPPING_CODE_SYNCHRONIZER_MIGRATION_ANNOUNCEMENT = 19, + com_digitalasset_canton_protocol_v30_Enums_TopologyMappingCode_TOPOLOGY_MAPPING_CODE_LSU_ANNOUNCEMENT = 19, com_digitalasset_canton_protocol_v30_Enums_TopologyMappingCode_TOPOLOGY_MAPPING_CODE_SEQUENCER_CONNECTION_SUCCESSOR = 20 } com_digitalasset_canton_protocol_v30_Enums_TopologyMappingCode; @@ -57,7 +57,9 @@ typedef enum _com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_PARTICIPANT_FEATURE_FLAG_UNSPECIFIED = 0, /* UNUSED in PV >= 34 - Was meant to tactically fix a bug in the external signing hash computation in model conformance in PV 33 */ - com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_PARTICIPANT_FEATURE_FLAG_PV33_EXTERNAL_SIGNING_LOCAL_CONTRACT_IN_SUBVIEW = 1 + com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_PARTICIPANT_FEATURE_FLAG_PV33_EXTERNAL_SIGNING_LOCAL_CONTRACT_IN_SUBVIEW = 1, + /* This flag indicates that the participant supports reassignments between synchronizers. */ + com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_PARTICIPANT_FEATURE_FLAG_ENABLE_MULTI_SYNCHRONIZER = 2 } com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag; /* Struct definitions */ @@ -141,8 +143,7 @@ typedef struct _com_digitalasset_canton_protocol_v30_OwnerToKeyMapping { struct _com_digitalasset_canton_crypto_v30_PublicKey *public_keys; } com_digitalasset_canton_protocol_v30_OwnerToKeyMapping; -/* [doc-entry-start: PartyToKeyMapping] - mapping a party to a key +/* mapping a party to a key authorization: whoever controls the party uid UNIQUE(party) */ typedef struct _com_digitalasset_canton_protocol_v30_PartyToKeyMapping { @@ -179,8 +180,10 @@ typedef struct _com_digitalasset_canton_protocol_v30_ParticipantSynchronizerPerm /* optional individual limits for this participant */ bool has_limits; com_digitalasset_canton_protocol_v30_ParticipantSynchronizerLimits limits; - /* optional earliest time when participant can log in (again) - used to temporarily disable participants + /* Optional earliest time when participant can log in (again). + Used to temporarily disable participants. + A participant cannot login before the sequencer has reached login_after, i.e., + the sequencer must have produced an event with timestamp login_after. In microseconds of UTC time since Unix epoch */ bool has_login_after; int64_t login_after; @@ -225,7 +228,8 @@ typedef struct _com_digitalasset_canton_protocol_v30_VettedPackages_VettedPackag google_protobuf_Timestamp valid_until_exclusive; } com_digitalasset_canton_protocol_v30_VettedPackages_VettedPackage; -/* Mapping that maps a party to a participant +/* [doc-entry-start: PartyToParticipant] + Mapping that maps a party to a participant The PartyToParticipant mapping may also specify a list of signing keys for setting up an external party, in which case the keys and the threshold take precedence over any PartyToKeyMapping for the same party. Additionally, the list of signing keys may contain the public key of the party's namespace, which allows this @@ -343,41 +347,35 @@ typedef struct _com_digitalasset_canton_protocol_v30_SequencerSynchronizerState removing this mapping unfreezes the topology state again. authorization: whoever controls the synchronizer UNIQUE(successor_physical_synchronizer_id.logical) */ -typedef struct _com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement { +typedef struct _com_digitalasset_canton_protocol_v30_LsuAnnouncement { /* the physical synchronizer id of the successor synchronizer */ - char *successor_physical_synchronizer_id; + char successor_physical_synchronizer_id[1024]; /* when the upgrade happens */ bool has_upgrade_time; google_protobuf_Timestamp upgrade_time; -} com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement; +} com_digitalasset_canton_protocol_v30_LsuAnnouncement; -typedef struct _com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc { +typedef PB_BYTES_ARRAY_T(1024) com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_custom_trust_certificates_t; +typedef struct _com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection { /* connection information to sequencer (http[s]://:") all endpoints must agree on using HTTPS or HTTP */ - pb_size_t endpoints_count; - char **endpoints; - pb_bytes_array_t *custom_trust_certificates; -} com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc; - -typedef struct _com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection { - pb_size_t which_connection_type; - union { - com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc grpc; - } connection_type; -} com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection; + pb_callback_t endpoints; + bool has_custom_trust_certificates; + com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_custom_trust_certificates_t custom_trust_certificates; +} com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection; /* a sequencer can announce its connections on the successor synchronizer authorization: whoever controls the sequencer - UNIQUE(sequencer_id, synchronizer_id) */ -typedef struct _com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor { + UNIQUE(sequencer_id, successor_physical_synchronizer_id.logical) */ +typedef struct _com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor { /* the sequencer id */ - char *sequencer_id; - /* to synchronizer id */ - char *synchronizer_id; + char sequencer_id[1024]; + /* the physical synchronizer id of the successor synchronizer */ + char successor_physical_synchronizer_id[1024]; /* the connection details with which members can connect to the sequencer on the successor synchronizer */ bool has_connection; - com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection connection; -} com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor; + com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection connection; +} com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor; /* [docs-entry-start: topology mapping] */ typedef struct _com_digitalasset_canton_protocol_v30_TopologyMapping { @@ -395,9 +393,10 @@ typedef struct _com_digitalasset_canton_protocol_v30_TopologyMapping { com_digitalasset_canton_protocol_v30_MediatorSynchronizerState mediator_synchronizer_state; com_digitalasset_canton_protocol_v30_SequencerSynchronizerState sequencer_synchronizer_state; com_digitalasset_canton_protocol_v30_DynamicSequencingParametersState sequencing_dynamic_parameters_state; + /* Deprecated in favor of PartyToParticipant */ com_digitalasset_canton_protocol_v30_PartyToKeyMapping party_to_key_mapping; - com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement synchronizer_upgrade_announcement; - com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor sequencer_connection_successor; + com_digitalasset_canton_protocol_v30_LsuAnnouncement synchronizer_upgrade_announcement; + com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor sequencer_connection_successor; } mapping; } com_digitalasset_canton_protocol_v30_TopologyMapping; @@ -478,8 +477,8 @@ extern "C" { #define _com_digitalasset_canton_protocol_v30_Enums_TopologyMappingCode_ARRAYSIZE ((com_digitalasset_canton_protocol_v30_Enums_TopologyMappingCode)(com_digitalasset_canton_protocol_v30_Enums_TopologyMappingCode_TOPOLOGY_MAPPING_CODE_SEQUENCER_CONNECTION_SUCCESSOR+1)) #define _com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_MIN com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_PARTICIPANT_FEATURE_FLAG_UNSPECIFIED -#define _com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_MAX com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_PARTICIPANT_FEATURE_FLAG_PV33_EXTERNAL_SIGNING_LOCAL_CONTRACT_IN_SUBVIEW -#define _com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_ARRAYSIZE ((com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag)(com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_PARTICIPANT_FEATURE_FLAG_PV33_EXTERNAL_SIGNING_LOCAL_CONTRACT_IN_SUBVIEW+1)) +#define _com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_MAX com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_PARTICIPANT_FEATURE_FLAG_ENABLE_MULTI_SYNCHRONIZER +#define _com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_ARRAYSIZE ((com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag)(com_digitalasset_canton_protocol_v30_Enums_ParticipantFeatureFlag_PARTICIPANT_FEATURE_FLAG_ENABLE_MULTI_SYNCHRONIZER+1)) @@ -509,7 +508,6 @@ extern "C" { - #define com_digitalasset_canton_protocol_v30_TopologyTransaction_operation_ENUMTYPE com_digitalasset_canton_protocol_v30_Enums_TopologyChangeOp @@ -538,10 +536,9 @@ extern "C" { #define com_digitalasset_canton_protocol_v30_DynamicSequencingParametersState_init_default {NULL, false, com_digitalasset_canton_protocol_v30_DynamicSequencingParameters_init_default} #define com_digitalasset_canton_protocol_v30_MediatorSynchronizerState_init_default {NULL, 0, 0, 0, NULL, 0, NULL} #define com_digitalasset_canton_protocol_v30_SequencerSynchronizerState_init_default {NULL, 0, 0, NULL, 0, NULL} -#define com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_init_default {NULL, false, google_protobuf_Timestamp_init_default} -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_init_default {NULL, NULL, false, com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_init_default} -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_init_default {0, {com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_init_default}} -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_init_default {0, NULL, NULL} +#define com_digitalasset_canton_protocol_v30_LsuAnnouncement_init_default {"", false, google_protobuf_Timestamp_init_default} +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_init_default {"", "", false, com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_init_default} +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_init_default {{{NULL}, NULL}, false, {0, {0}}} #define com_digitalasset_canton_protocol_v30_TopologyMapping_init_default {0, {com_digitalasset_canton_protocol_v30_NamespaceDelegation_init_default}} #define com_digitalasset_canton_protocol_v30_TopologyTransaction_init_default {_com_digitalasset_canton_protocol_v30_Enums_TopologyChangeOp_MIN, 0, false, com_digitalasset_canton_protocol_v30_TopologyMapping_init_default} #define com_digitalasset_canton_protocol_v30_MultiTransactionSignatures_init_default {{{NULL}, NULL}, {{NULL}, NULL}} @@ -568,10 +565,9 @@ extern "C" { #define com_digitalasset_canton_protocol_v30_DynamicSequencingParametersState_init_zero {NULL, false, com_digitalasset_canton_protocol_v30_DynamicSequencingParameters_init_zero} #define com_digitalasset_canton_protocol_v30_MediatorSynchronizerState_init_zero {NULL, 0, 0, 0, NULL, 0, NULL} #define com_digitalasset_canton_protocol_v30_SequencerSynchronizerState_init_zero {NULL, 0, 0, NULL, 0, NULL} -#define com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_init_zero {NULL, false, google_protobuf_Timestamp_init_zero} -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_init_zero {NULL, NULL, false, com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_init_zero} -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_init_zero {0, {com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_init_zero}} -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_init_zero {0, NULL, NULL} +#define com_digitalasset_canton_protocol_v30_LsuAnnouncement_init_zero {"", false, google_protobuf_Timestamp_init_zero} +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_init_zero {"", "", false, com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_init_zero} +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_init_zero {{{NULL}, NULL}, false, {0, {0}}} #define com_digitalasset_canton_protocol_v30_TopologyMapping_init_zero {0, {com_digitalasset_canton_protocol_v30_NamespaceDelegation_init_zero}} #define com_digitalasset_canton_protocol_v30_TopologyTransaction_init_zero {_com_digitalasset_canton_protocol_v30_Enums_TopologyChangeOp_MIN, 0, false, com_digitalasset_canton_protocol_v30_TopologyMapping_init_zero} #define com_digitalasset_canton_protocol_v30_MultiTransactionSignatures_init_zero {{{NULL}, NULL}, {{NULL}, NULL}} @@ -631,14 +627,13 @@ extern "C" { #define com_digitalasset_canton_protocol_v30_SequencerSynchronizerState_threshold_tag 2 #define com_digitalasset_canton_protocol_v30_SequencerSynchronizerState_active_tag 3 #define com_digitalasset_canton_protocol_v30_SequencerSynchronizerState_observers_tag 4 -#define com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_successor_physical_synchronizer_id_tag 1 -#define com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_upgrade_time_tag 2 -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_endpoints_tag 1 -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_custom_trust_certificates_tag 2 -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_grpc_tag 1 -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_sequencer_id_tag 1 -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_synchronizer_id_tag 2 -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_connection_tag 3 +#define com_digitalasset_canton_protocol_v30_LsuAnnouncement_successor_physical_synchronizer_id_tag 1 +#define com_digitalasset_canton_protocol_v30_LsuAnnouncement_upgrade_time_tag 2 +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_endpoints_tag 1 +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_custom_trust_certificates_tag 2 +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_sequencer_id_tag 1 +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_successor_physical_synchronizer_id_tag 2 +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_connection_tag 3 #define com_digitalasset_canton_protocol_v30_TopologyMapping_namespace_delegation_tag 1 #define com_digitalasset_canton_protocol_v30_TopologyMapping_decentralized_namespace_definition_tag 3 #define com_digitalasset_canton_protocol_v30_TopologyMapping_owner_to_key_mapping_tag 4 @@ -818,32 +813,26 @@ X(a, POINTER, REPEATED, STRING, observers, 4) #define com_digitalasset_canton_protocol_v30_SequencerSynchronizerState_CALLBACK NULL #define com_digitalasset_canton_protocol_v30_SequencerSynchronizerState_DEFAULT NULL -#define com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_FIELDLIST(X, a) \ -X(a, POINTER, SINGULAR, STRING, successor_physical_synchronizer_id, 1) \ +#define com_digitalasset_canton_protocol_v30_LsuAnnouncement_FIELDLIST(X, a) \ +X(a, STATIC, SINGULAR, STRING, successor_physical_synchronizer_id, 1) \ X(a, STATIC, OPTIONAL, MESSAGE, upgrade_time, 2) -#define com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_CALLBACK NULL -#define com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_DEFAULT NULL -#define com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_upgrade_time_MSGTYPE google_protobuf_Timestamp +#define com_digitalasset_canton_protocol_v30_LsuAnnouncement_CALLBACK NULL +#define com_digitalasset_canton_protocol_v30_LsuAnnouncement_DEFAULT NULL +#define com_digitalasset_canton_protocol_v30_LsuAnnouncement_upgrade_time_MSGTYPE google_protobuf_Timestamp -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_FIELDLIST(X, a) \ -X(a, POINTER, SINGULAR, STRING, sequencer_id, 1) \ -X(a, POINTER, SINGULAR, STRING, synchronizer_id, 2) \ +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_FIELDLIST(X, a) \ +X(a, STATIC, SINGULAR, STRING, sequencer_id, 1) \ +X(a, STATIC, SINGULAR, STRING, successor_physical_synchronizer_id, 2) \ X(a, STATIC, OPTIONAL, MESSAGE, connection, 3) -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_CALLBACK NULL -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_DEFAULT NULL -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_connection_MSGTYPE com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection - -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_FIELDLIST(X, a) \ -X(a, STATIC, ONEOF, MESSAGE, (connection_type,grpc,connection_type.grpc), 1) -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_CALLBACK NULL -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_DEFAULT NULL -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_connection_type_grpc_MSGTYPE com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc - -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_FIELDLIST(X, a) \ -X(a, POINTER, REPEATED, STRING, endpoints, 1) \ -X(a, POINTER, OPTIONAL, BYTES, custom_trust_certificates, 2) -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_CALLBACK NULL -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_DEFAULT NULL +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_CALLBACK NULL +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_DEFAULT NULL +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_connection_MSGTYPE com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection + +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_FIELDLIST(X, a) \ +X(a, CALLBACK, REPEATED, STRING, endpoints, 1) \ +X(a, STATIC, OPTIONAL, BYTES, custom_trust_certificates, 2) +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_CALLBACK pb_default_field_callback +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_DEFAULT NULL #define com_digitalasset_canton_protocol_v30_TopologyMapping_FIELDLIST(X, a) \ X(a, STATIC, ONEOF, MESSAGE, (mapping,namespace_delegation,mapping.namespace_delegation), 1) \ @@ -876,8 +865,8 @@ X(a, STATIC, ONEOF, MESSAGE, (mapping,sequencer_connection_successor,mappi #define com_digitalasset_canton_protocol_v30_TopologyMapping_mapping_sequencer_synchronizer_state_MSGTYPE com_digitalasset_canton_protocol_v30_SequencerSynchronizerState #define com_digitalasset_canton_protocol_v30_TopologyMapping_mapping_sequencing_dynamic_parameters_state_MSGTYPE com_digitalasset_canton_protocol_v30_DynamicSequencingParametersState #define com_digitalasset_canton_protocol_v30_TopologyMapping_mapping_party_to_key_mapping_MSGTYPE com_digitalasset_canton_protocol_v30_PartyToKeyMapping -#define com_digitalasset_canton_protocol_v30_TopologyMapping_mapping_synchronizer_upgrade_announcement_MSGTYPE com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement -#define com_digitalasset_canton_protocol_v30_TopologyMapping_mapping_sequencer_connection_successor_MSGTYPE com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor +#define com_digitalasset_canton_protocol_v30_TopologyMapping_mapping_synchronizer_upgrade_announcement_MSGTYPE com_digitalasset_canton_protocol_v30_LsuAnnouncement +#define com_digitalasset_canton_protocol_v30_TopologyMapping_mapping_sequencer_connection_successor_MSGTYPE com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor #define com_digitalasset_canton_protocol_v30_TopologyTransaction_FIELDLIST(X, a) \ X(a, STATIC, SINGULAR, UENUM, operation, 1) \ @@ -936,10 +925,9 @@ extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_SynchronizerParam extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_DynamicSequencingParametersState_msg; extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_MediatorSynchronizerState_msg; extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_SequencerSynchronizerState_msg; -extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_msg; -extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_msg; -extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_msg; -extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_msg; +extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_LsuAnnouncement_msg; +extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_msg; +extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_msg; extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_TopologyMapping_msg; extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_TopologyTransaction_msg; extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_MultiTransactionSignatures_msg; @@ -968,10 +956,9 @@ extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_TopologyTransacti #define com_digitalasset_canton_protocol_v30_DynamicSequencingParametersState_fields &com_digitalasset_canton_protocol_v30_DynamicSequencingParametersState_msg #define com_digitalasset_canton_protocol_v30_MediatorSynchronizerState_fields &com_digitalasset_canton_protocol_v30_MediatorSynchronizerState_msg #define com_digitalasset_canton_protocol_v30_SequencerSynchronizerState_fields &com_digitalasset_canton_protocol_v30_SequencerSynchronizerState_msg -#define com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_fields &com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_msg -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_fields &com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_msg -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_fields &com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_msg -#define com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_fields &com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_msg +#define com_digitalasset_canton_protocol_v30_LsuAnnouncement_fields &com_digitalasset_canton_protocol_v30_LsuAnnouncement_msg +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_fields &com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_msg +#define com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_fields &com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_msg #define com_digitalasset_canton_protocol_v30_TopologyMapping_fields &com_digitalasset_canton_protocol_v30_TopologyMapping_msg #define com_digitalasset_canton_protocol_v30_TopologyTransaction_fields &com_digitalasset_canton_protocol_v30_TopologyTransaction_msg #define com_digitalasset_canton_protocol_v30_MultiTransactionSignatures_fields &com_digitalasset_canton_protocol_v30_MultiTransactionSignatures_msg @@ -996,18 +983,17 @@ extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_TopologyTransacti /* com_digitalasset_canton_protocol_v30_DynamicSequencingParametersState_size depends on runtime parameters */ /* com_digitalasset_canton_protocol_v30_MediatorSynchronizerState_size depends on runtime parameters */ /* com_digitalasset_canton_protocol_v30_SequencerSynchronizerState_size depends on runtime parameters */ -/* com_digitalasset_canton_protocol_v30_SynchronizerUpgradeAnnouncement_size depends on runtime parameters */ -/* com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_size depends on runtime parameters */ -/* com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_size depends on runtime parameters */ -/* com_digitalasset_canton_protocol_v30_SequencerConnectionSuccessor_SequencerConnection_Grpc_size depends on runtime parameters */ +/* com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_size depends on runtime parameters */ +/* com_digitalasset_canton_protocol_v30_LsuSequencerConnectionSuccessor_SequencerConnection_size depends on runtime parameters */ /* com_digitalasset_canton_protocol_v30_TopologyMapping_size depends on runtime parameters */ /* com_digitalasset_canton_protocol_v30_TopologyTransaction_size depends on runtime parameters */ /* com_digitalasset_canton_protocol_v30_MultiTransactionSignatures_size depends on runtime parameters */ /* com_digitalasset_canton_protocol_v30_SignedTopologyTransaction_size depends on runtime parameters */ /* com_digitalasset_canton_protocol_v30_SignedTopologyTransactions_size depends on runtime parameters */ /* com_digitalasset_canton_protocol_v30_TopologyTransactionsBroadcast_size depends on runtime parameters */ -#define COM_DIGITALASSET_CANTON_PROTOCOL_V30_COM_DIGITALASSET_CANTON_PROTOCOL_V30_TOPOLOGY_PB_H_MAX_SIZE com_digitalasset_canton_protocol_v30_Enums_size +#define COM_DIGITALASSET_CANTON_PROTOCOL_V30_COM_DIGITALASSET_CANTON_PROTOCOL_V30_TOPOLOGY_PB_H_MAX_SIZE com_digitalasset_canton_protocol_v30_LsuAnnouncement_size #define com_digitalasset_canton_protocol_v30_Enums_size 0 +#define com_digitalasset_canton_protocol_v30_LsuAnnouncement_size 1050 #define com_digitalasset_canton_protocol_v30_NamespaceDelegation_CanSignAllButNamespaceDelegations_size 0 #define com_digitalasset_canton_protocol_v30_NamespaceDelegation_CanSignAllMappings_size 0 #define com_digitalasset_canton_protocol_v30_PartyToParticipant_HostingParticipant_Onboarding_size 0 diff --git a/proto/com/digitalasset/canton/protocol/v30/topology_pb2.py b/proto/com/digitalasset/canton/protocol/v30/topology_pb2.py index 9c7b6b7..423948f 100644 --- a/proto/com/digitalasset/canton/protocol/v30/topology_pb2.py +++ b/proto/com/digitalasset/canton/protocol/v30/topology_pb2.py @@ -18,7 +18,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3com/digitalasset/canton/protocol/v30/topology.proto\x12$com.digitalasset.canton.protocol.v30\x1a/com/digitalasset/canton/crypto/v30/crypto.proto\x1a@com/digitalasset/canton/protocol/v30/sequencing_parameters.proto\x1a\x42\x63om/digitalasset/canton/protocol/v30/synchronizer_parameters.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd1\n\n\x05\x45nums\"y\n\x10TopologyChangeOp\x12\"\n\x1eTOPOLOGY_CHANGE_OP_UNSPECIFIED\x10\x00\x12\"\n\x1eTOPOLOGY_CHANGE_OP_ADD_REPLACE\x10\x01\x12\x1d\n\x19TOPOLOGY_CHANGE_OP_REMOVE\x10\x02\"\xb7\x01\n\x15ParticipantPermission\x12&\n\"PARTICIPANT_PERMISSION_UNSPECIFIED\x10\x00\x12%\n!PARTICIPANT_PERMISSION_SUBMISSION\x10\x01\x12\'\n#PARTICIPANT_PERMISSION_CONFIRMATION\x10\x02\x12&\n\"PARTICIPANT_PERMISSION_OBSERVATION\x10\x03\"\xff\x06\n\x13TopologyMappingCode\x12%\n!TOPOLOGY_MAPPING_CODE_UNSPECIFIED\x10\x00\x12.\n*TOPOLOGY_MAPPING_CODE_NAMESPACE_DELEGATION\x10\x01\x12<\n8TOPOLOGY_MAPPING_CODE_DECENTRALIZED_NAMESPACE_DEFINITION\x10\x03\x12.\n*TOPOLOGY_MAPPING_CODE_OWNER_TO_KEY_MAPPING\x10\x04\x12\x38\n4TOPOLOGY_MAPPING_CODE_SYNCHRONIZER_TRUST_CERTIFICATE\x10\x05\x12\x30\n,TOPOLOGY_MAPPING_CODE_PARTICIPANT_PERMISSION\x10\x06\x12.\n*TOPOLOGY_MAPPING_CODE_PARTY_HOSTING_LIMITS\x10\x07\x12)\n%TOPOLOGY_MAPPING_CODE_VETTED_PACKAGES\x10\x08\x12.\n*TOPOLOGY_MAPPING_CODE_PARTY_TO_PARTICIPANT\x10\t\x12\x37\n3TOPOLOGY_MAPPING_CODE_SYNCHRONIZER_PARAMETERS_STATE\x10\x0b\x12\x35\n1TOPOLOGY_MAPPING_CODE_MEDIATOR_SYNCHRONIZER_STATE\x10\x0c\x12\x36\n2TOPOLOGY_MAPPING_CODE_SEQUENCER_SYNCHRONIZER_STATE\x10\r\x12=\n9TOPOLOGY_MAPPING_CODE_SEQUENCING_DYNAMIC_PARAMETERS_STATE\x10\x11\x12.\n*TOPOLOGY_MAPPING_CODE_PARTY_TO_KEY_MAPPING\x10\x12\x12=\n9TOPOLOGY_MAPPING_CODE_SYNCHRONIZER_MIGRATION_ANNOUNCEMENT\x10\x13\x12\x38\n4TOPOLOGY_MAPPING_CODE_SEQUENCER_CONNECTION_SUCCESSOR\x10\x14\"\x04\x08\x02\x10\x02\"\x04\x08\n\x10\n\"\x04\x08\x0e\x10\x0e\"\x04\x08\x0f\x10\x0f\"\x04\x08\x10\x10\x10\"\x90\x01\n\x16ParticipantFeatureFlag\x12(\n$PARTICIPANT_FEATURE_FLAG_UNSPECIFIED\x10\x00\x12L\nHPARTICIPANT_FEATURE_FLAG_PV33_EXTERNAL_SIGNING_LOCAL_CONTRACT_IN_SUBVIEW\x10\x01\"\xc1\x05\n\x13NamespaceDelegation\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12H\n\ntarget_key\x18\x02 \x01(\x0b\x32\x34.com.digitalasset.canton.crypto.v30.SigningPublicKey\x12\x1e\n\x12is_root_delegation\x18\x03 \x01(\x08\x42\x02\x18\x01\x12m\n\x15\x63\x61n_sign_all_mappings\x18\x04 \x01(\x0b\x32L.com.digitalasset.canton.protocol.v30.NamespaceDelegation.CanSignAllMappingsH\x00\x12\x8d\x01\n&can_sign_all_but_namespace_delegations\x18\x05 \x01(\x0b\x32[.com.digitalasset.canton.protocol.v30.NamespaceDelegation.CanSignAllButNamespaceDelegationsH\x00\x12v\n\x19\x63\x61n_sign_specific_mapings\x18\x06 \x01(\x0b\x32Q.com.digitalasset.canton.protocol.v30.NamespaceDelegation.CanSignSpecificMappingsH\x00\x1a\x14\n\x12\x43\x61nSignAllMappings\x1a#\n!CanSignAllButNamespaceDelegations\x1al\n\x17\x43\x61nSignSpecificMappings\x12Q\n\x08mappings\x18\x01 \x03(\x0e\x32?.com.digitalasset.canton.protocol.v30.Enums.TopologyMappingCodeB\r\n\x0brestriction\"f\n DecentralizedNamespaceDefinition\x12\x1f\n\x17\x64\x65\x63\x65ntralized_namespace\x18\x01 \x01(\t\x12\x11\n\tthreshold\x18\x02 \x01(\x05\x12\x0e\n\x06owners\x18\x03 \x03(\t\"m\n\x11OwnerToKeyMapping\x12\x0e\n\x06member\x18\x01 \x01(\t\x12\x42\n\x0bpublic_keys\x18\x02 \x03(\x0b\x32-.com.digitalasset.canton.crypto.v30.PublicKeyJ\x04\x08\x03\x10\x04\"\x87\x01\n\x11PartyToKeyMapping\x12\r\n\x05party\x18\x01 \x01(\t\x12\x11\n\tthreshold\x18\x03 \x01(\r\x12J\n\x0csigning_keys\x18\x04 \x03(\x0b\x32\x34.com.digitalasset.canton.crypto.v30.SigningPublicKeyJ\x04\x08\x02\x10\x03\"\xb7\x01\n\x1cSynchronizerTrustCertificate\x12\x17\n\x0fparticipant_uid\x18\x01 \x01(\t\x12\x17\n\x0fsynchronizer_id\x18\x02 \x01(\t\x12Y\n\rfeature_flags\x18\x05 \x03(\x0e\x32\x42.com.digitalasset.canton.protocol.v30.Enums.ParticipantFeatureFlagJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\"\xab\x02\n!ParticipantSynchronizerPermission\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12\x17\n\x0fparticipant_uid\x18\x02 \x01(\t\x12U\n\npermission\x18\x03 \x01(\x0e\x32\x41.com.digitalasset.canton.protocol.v30.Enums.ParticipantPermission\x12S\n\x06limits\x18\x04 \x01(\x0b\x32\x43.com.digitalasset.canton.protocol.v30.ParticipantSynchronizerLimits\x12\x18\n\x0blogin_after\x18\x05 \x01(\x03H\x00\x88\x01\x01\x42\x0e\n\x0c_login_after\"B\n\x12PartyHostingLimits\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12\r\n\x05party\x18\x02 \x01(\tJ\x04\x08\x03\x10\x04\"\xb9\x02\n\x0eVettedPackages\x12\x17\n\x0fparticipant_uid\x18\x01 \x01(\t\x12\x17\n\x0bpackage_ids\x18\x02 \x03(\tB\x02\x18\x01\x12T\n\x08packages\x18\x04 \x03(\x0b\x32\x42.com.digitalasset.canton.protocol.v30.VettedPackages.VettedPackage\x1a\x98\x01\n\rVettedPackage\x12\x12\n\npackage_id\x18\x01 \x01(\t\x12\x38\n\x14valid_from_inclusive\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x39\n\x15valid_until_exclusive\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x03\x10\x04\"\x9c\x04\n\x12PartyToParticipant\x12\r\n\x05party\x18\x01 \x01(\t\x12\x11\n\tthreshold\x18\x02 \x01(\r\x12\x61\n\x0cparticipants\x18\x03 \x03(\x0b\x32K.com.digitalasset.canton.protocol.v30.PartyToParticipant.HostingParticipant\x12]\n\x12party_signing_keys\x18\x06 \x01(\x0b\x32<.com.digitalasset.canton.crypto.v30.SigningKeysWithThresholdH\x00\x88\x01\x01\x1a\xfe\x01\n\x12HostingParticipant\x12\x17\n\x0fparticipant_uid\x18\x01 \x01(\t\x12U\n\npermission\x18\x02 \x01(\x0e\x32\x41.com.digitalasset.canton.protocol.v30.Enums.ParticipantPermission\x12j\n\nonboarding\x18\x03 \x01(\x0b\x32V.com.digitalasset.canton.protocol.v30.PartyToParticipant.HostingParticipant.Onboarding\x1a\x0c\n\nOnboardingB\x15\n\x13_party_signing_keysJ\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06\"\x9c\x01\n\x1bSynchronizerParametersState\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12\x64\n\x17synchronizer_parameters\x18\x02 \x01(\x0b\x32\x43.com.digitalasset.canton.protocol.v30.DynamicSynchronizerParameters\"\x9d\x01\n DynamicSequencingParametersState\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12`\n\x15sequencing_parameters\x18\x02 \x01(\x0b\x32\x41.com.digitalasset.canton.protocol.v30.DynamicSequencingParameters\"y\n\x19MediatorSynchronizerState\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12\r\n\x05group\x18\x02 \x01(\r\x12\x11\n\tthreshold\x18\x03 \x01(\r\x12\x0e\n\x06\x61\x63tive\x18\x04 \x03(\t\x12\x11\n\tobservers\x18\x05 \x03(\t\"k\n\x1aSequencerSynchronizerState\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12\x11\n\tthreshold\x18\x02 \x01(\r\x12\x0e\n\x06\x61\x63tive\x18\x03 \x03(\t\x12\x11\n\tobservers\x18\x04 \x03(\t\"\x7f\n\x1fSynchronizerUpgradeAnnouncement\x12*\n\"successor_physical_synchronizer_id\x18\x01 \x01(\t\x12\x30\n\x0cupgrade_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xb2\x03\n\x1cSequencerConnectionSuccessor\x12\x14\n\x0csequencer_id\x18\x01 \x01(\t\x12\x17\n\x0fsynchronizer_id\x18\x02 \x01(\t\x12j\n\nconnection\x18\x03 \x01(\x0b\x32V.com.digitalasset.canton.protocol.v30.SequencerConnectionSuccessor.SequencerConnection\x1a\xf6\x01\n\x13SequencerConnection\x12k\n\x04grpc\x18\x01 \x01(\x0b\x32[.com.digitalasset.canton.protocol.v30.SequencerConnectionSuccessor.SequencerConnection.GrpcH\x00\x1a_\n\x04Grpc\x12\x11\n\tendpoints\x18\x01 \x03(\t\x12&\n\x19\x63ustom_trust_certificates\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x1c\n\x1a_custom_trust_certificatesB\x11\n\x0f\x63onnection_type\"\xa6\x0c\n\x0fTopologyMapping\x12Y\n\x14namespace_delegation\x18\x01 \x01(\x0b\x32\x39.com.digitalasset.canton.protocol.v30.NamespaceDelegationH\x00\x12t\n\"decentralized_namespace_definition\x18\x03 \x01(\x0b\x32\x46.com.digitalasset.canton.protocol.v30.DecentralizedNamespaceDefinitionH\x00\x12W\n\x14owner_to_key_mapping\x18\x04 \x01(\x0b\x32\x37.com.digitalasset.canton.protocol.v30.OwnerToKeyMappingH\x00\x12l\n\x1esynchronizer_trust_certificate\x18\x05 \x01(\x0b\x32\x42.com.digitalasset.canton.protocol.v30.SynchronizerTrustCertificateH\x00\x12i\n\x16participant_permission\x18\x06 \x01(\x0b\x32G.com.digitalasset.canton.protocol.v30.ParticipantSynchronizerPermissionH\x00\x12X\n\x14party_hosting_limits\x18\x07 \x01(\x0b\x32\x38.com.digitalasset.canton.protocol.v30.PartyHostingLimitsH\x00\x12O\n\x0fvetted_packages\x18\x08 \x01(\x0b\x32\x34.com.digitalasset.canton.protocol.v30.VettedPackagesH\x00\x12X\n\x14party_to_participant\x18\t \x01(\x0b\x32\x38.com.digitalasset.canton.protocol.v30.PartyToParticipantH\x00\x12j\n\x1dsynchronizer_parameters_state\x18\x0b \x01(\x0b\x32\x41.com.digitalasset.canton.protocol.v30.SynchronizerParametersStateH\x00\x12\x66\n\x1bmediator_synchronizer_state\x18\x0c \x01(\x0b\x32?.com.digitalasset.canton.protocol.v30.MediatorSynchronizerStateH\x00\x12h\n\x1csequencer_synchronizer_state\x18\r \x01(\x0b\x32@.com.digitalasset.canton.protocol.v30.SequencerSynchronizerStateH\x00\x12u\n#sequencing_dynamic_parameters_state\x18\x0f \x01(\x0b\x32\x46.com.digitalasset.canton.protocol.v30.DynamicSequencingParametersStateH\x00\x12W\n\x14party_to_key_mapping\x18\x10 \x01(\x0b\x32\x37.com.digitalasset.canton.protocol.v30.PartyToKeyMappingH\x00\x12r\n!synchronizer_upgrade_announcement\x18\x11 \x01(\x0b\x32\x45.com.digitalasset.canton.protocol.v30.SynchronizerUpgradeAnnouncementH\x00\x12l\n\x1esequencer_connection_successor\x18\x12 \x01(\x0b\x32\x42.com.digitalasset.canton.protocol.v30.SequencerConnectionSuccessorH\x00\x42\t\n\x07mappingJ\x04\x08\x02\x10\x03J\x04\x08\n\x10\x0bJ\x04\x08\x0e\x10\x0f\"\xbe\x01\n\x13TopologyTransaction\x12O\n\toperation\x18\x01 \x01(\x0e\x32<.com.digitalasset.canton.protocol.v30.Enums.TopologyChangeOp\x12\x0e\n\x06serial\x18\x02 \x01(\r\x12\x46\n\x07mapping\x18\x03 \x01(\x0b\x32\x35.com.digitalasset.canton.protocol.v30.TopologyMapping\"{\n\x1aMultiTransactionSignatures\x12\x1a\n\x12transaction_hashes\x18\x01 \x03(\x0c\x12\x41\n\nsignatures\x18\x02 \x03(\x0b\x32-.com.digitalasset.canton.crypto.v30.Signature\"\xed\x01\n\x19SignedTopologyTransaction\x12\x13\n\x0btransaction\x18\x01 \x01(\x0c\x12\x41\n\nsignatures\x18\x02 \x03(\x0b\x32-.com.digitalasset.canton.crypto.v30.Signature\x12\x10\n\x08proposal\x18\x03 \x01(\x08\x12\x66\n\x1cmulti_transaction_signatures\x18\x04 \x03(\x0b\x32@.com.digitalasset.canton.protocol.v30.MultiTransactionSignatures\"8\n\x1aSignedTopologyTransactions\x12\x1a\n\x12signed_transaction\x18\x01 \x03(\x0c\"\xa0\x01\n\x1dTopologyTransactionsBroadcast\x12 \n\x18physical_synchronizer_id\x18\x01 \x01(\t\x12]\n\x13signed_transactions\x18\x02 \x01(\x0b\x32@.com.digitalasset.canton.protocol.v30.SignedTopologyTransactionsb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3com/digitalasset/canton/protocol/v30/topology.proto\x12$com.digitalasset.canton.protocol.v30\x1a/com/digitalasset/canton/crypto/v30/crypto.proto\x1a@com/digitalasset/canton/protocol/v30/sequencing_parameters.proto\x1a\x42\x63om/digitalasset/canton/protocol/v30/synchronizer_parameters.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf6\n\n\x05\x45nums\"y\n\x10TopologyChangeOp\x12\"\n\x1eTOPOLOGY_CHANGE_OP_UNSPECIFIED\x10\x00\x12\"\n\x1eTOPOLOGY_CHANGE_OP_ADD_REPLACE\x10\x01\x12\x1d\n\x19TOPOLOGY_CHANGE_OP_REMOVE\x10\x02\"\xb7\x01\n\x15ParticipantPermission\x12&\n\"PARTICIPANT_PERMISSION_UNSPECIFIED\x10\x00\x12%\n!PARTICIPANT_PERMISSION_SUBMISSION\x10\x01\x12\'\n#PARTICIPANT_PERMISSION_CONFIRMATION\x10\x02\x12&\n\"PARTICIPANT_PERMISSION_OBSERVATION\x10\x03\"\xec\x06\n\x13TopologyMappingCode\x12%\n!TOPOLOGY_MAPPING_CODE_UNSPECIFIED\x10\x00\x12.\n*TOPOLOGY_MAPPING_CODE_NAMESPACE_DELEGATION\x10\x01\x12<\n8TOPOLOGY_MAPPING_CODE_DECENTRALIZED_NAMESPACE_DEFINITION\x10\x03\x12.\n*TOPOLOGY_MAPPING_CODE_OWNER_TO_KEY_MAPPING\x10\x04\x12\x38\n4TOPOLOGY_MAPPING_CODE_SYNCHRONIZER_TRUST_CERTIFICATE\x10\x05\x12\x30\n,TOPOLOGY_MAPPING_CODE_PARTICIPANT_PERMISSION\x10\x06\x12.\n*TOPOLOGY_MAPPING_CODE_PARTY_HOSTING_LIMITS\x10\x07\x12)\n%TOPOLOGY_MAPPING_CODE_VETTED_PACKAGES\x10\x08\x12.\n*TOPOLOGY_MAPPING_CODE_PARTY_TO_PARTICIPANT\x10\t\x12\x37\n3TOPOLOGY_MAPPING_CODE_SYNCHRONIZER_PARAMETERS_STATE\x10\x0b\x12\x35\n1TOPOLOGY_MAPPING_CODE_MEDIATOR_SYNCHRONIZER_STATE\x10\x0c\x12\x36\n2TOPOLOGY_MAPPING_CODE_SEQUENCER_SYNCHRONIZER_STATE\x10\r\x12=\n9TOPOLOGY_MAPPING_CODE_SEQUENCING_DYNAMIC_PARAMETERS_STATE\x10\x11\x12.\n*TOPOLOGY_MAPPING_CODE_PARTY_TO_KEY_MAPPING\x10\x12\x12*\n&TOPOLOGY_MAPPING_CODE_LSU_ANNOUNCEMENT\x10\x13\x12\x38\n4TOPOLOGY_MAPPING_CODE_SEQUENCER_CONNECTION_SUCCESSOR\x10\x14\"\x04\x08\x02\x10\x02\"\x04\x08\n\x10\n\"\x04\x08\x0e\x10\x0e\"\x04\x08\x0f\x10\x0f\"\x04\x08\x10\x10\x10\"\xc8\x01\n\x16ParticipantFeatureFlag\x12(\n$PARTICIPANT_FEATURE_FLAG_UNSPECIFIED\x10\x00\x12L\nHPARTICIPANT_FEATURE_FLAG_PV33_EXTERNAL_SIGNING_LOCAL_CONTRACT_IN_SUBVIEW\x10\x01\x12\x36\n2PARTICIPANT_FEATURE_FLAG_ENABLE_MULTI_SYNCHRONIZER\x10\x02\"\xc1\x05\n\x13NamespaceDelegation\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12H\n\ntarget_key\x18\x02 \x01(\x0b\x32\x34.com.digitalasset.canton.crypto.v30.SigningPublicKey\x12\x1e\n\x12is_root_delegation\x18\x03 \x01(\x08\x42\x02\x18\x01\x12m\n\x15\x63\x61n_sign_all_mappings\x18\x04 \x01(\x0b\x32L.com.digitalasset.canton.protocol.v30.NamespaceDelegation.CanSignAllMappingsH\x00\x12\x8d\x01\n&can_sign_all_but_namespace_delegations\x18\x05 \x01(\x0b\x32[.com.digitalasset.canton.protocol.v30.NamespaceDelegation.CanSignAllButNamespaceDelegationsH\x00\x12v\n\x19\x63\x61n_sign_specific_mapings\x18\x06 \x01(\x0b\x32Q.com.digitalasset.canton.protocol.v30.NamespaceDelegation.CanSignSpecificMappingsH\x00\x1a\x14\n\x12\x43\x61nSignAllMappings\x1a#\n!CanSignAllButNamespaceDelegations\x1al\n\x17\x43\x61nSignSpecificMappings\x12Q\n\x08mappings\x18\x01 \x03(\x0e\x32?.com.digitalasset.canton.protocol.v30.Enums.TopologyMappingCodeB\r\n\x0brestriction\"f\n DecentralizedNamespaceDefinition\x12\x1f\n\x17\x64\x65\x63\x65ntralized_namespace\x18\x01 \x01(\t\x12\x11\n\tthreshold\x18\x02 \x01(\x05\x12\x0e\n\x06owners\x18\x03 \x03(\t\"m\n\x11OwnerToKeyMapping\x12\x0e\n\x06member\x18\x01 \x01(\t\x12\x42\n\x0bpublic_keys\x18\x02 \x03(\x0b\x32-.com.digitalasset.canton.crypto.v30.PublicKeyJ\x04\x08\x03\x10\x04\"\x8b\x01\n\x11PartyToKeyMapping\x12\r\n\x05party\x18\x01 \x01(\t\x12\x11\n\tthreshold\x18\x03 \x01(\r\x12J\n\x0csigning_keys\x18\x04 \x03(\x0b\x32\x34.com.digitalasset.canton.crypto.v30.SigningPublicKey:\x02\x18\x01J\x04\x08\x02\x10\x03\"\xb7\x01\n\x1cSynchronizerTrustCertificate\x12\x17\n\x0fparticipant_uid\x18\x01 \x01(\t\x12\x17\n\x0fsynchronizer_id\x18\x02 \x01(\t\x12Y\n\rfeature_flags\x18\x05 \x03(\x0e\x32\x42.com.digitalasset.canton.protocol.v30.Enums.ParticipantFeatureFlagJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\"\xab\x02\n!ParticipantSynchronizerPermission\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12\x17\n\x0fparticipant_uid\x18\x02 \x01(\t\x12U\n\npermission\x18\x03 \x01(\x0e\x32\x41.com.digitalasset.canton.protocol.v30.Enums.ParticipantPermission\x12S\n\x06limits\x18\x04 \x01(\x0b\x32\x43.com.digitalasset.canton.protocol.v30.ParticipantSynchronizerLimits\x12\x18\n\x0blogin_after\x18\x05 \x01(\x03H\x00\x88\x01\x01\x42\x0e\n\x0c_login_after\"B\n\x12PartyHostingLimits\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12\r\n\x05party\x18\x02 \x01(\tJ\x04\x08\x03\x10\x04\"\xb9\x02\n\x0eVettedPackages\x12\x17\n\x0fparticipant_uid\x18\x01 \x01(\t\x12\x17\n\x0bpackage_ids\x18\x02 \x03(\tB\x02\x18\x01\x12T\n\x08packages\x18\x04 \x03(\x0b\x32\x42.com.digitalasset.canton.protocol.v30.VettedPackages.VettedPackage\x1a\x98\x01\n\rVettedPackage\x12\x12\n\npackage_id\x18\x01 \x01(\t\x12\x38\n\x14valid_from_inclusive\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x39\n\x15valid_until_exclusive\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x03\x10\x04\"\x9c\x04\n\x12PartyToParticipant\x12\r\n\x05party\x18\x01 \x01(\t\x12\x11\n\tthreshold\x18\x02 \x01(\r\x12\x61\n\x0cparticipants\x18\x03 \x03(\x0b\x32K.com.digitalasset.canton.protocol.v30.PartyToParticipant.HostingParticipant\x12]\n\x12party_signing_keys\x18\x06 \x01(\x0b\x32<.com.digitalasset.canton.crypto.v30.SigningKeysWithThresholdH\x00\x88\x01\x01\x1a\xfe\x01\n\x12HostingParticipant\x12\x17\n\x0fparticipant_uid\x18\x01 \x01(\t\x12U\n\npermission\x18\x02 \x01(\x0e\x32\x41.com.digitalasset.canton.protocol.v30.Enums.ParticipantPermission\x12j\n\nonboarding\x18\x03 \x01(\x0b\x32V.com.digitalasset.canton.protocol.v30.PartyToParticipant.HostingParticipant.Onboarding\x1a\x0c\n\nOnboardingB\x15\n\x13_party_signing_keysJ\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06\"\x9c\x01\n\x1bSynchronizerParametersState\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12\x64\n\x17synchronizer_parameters\x18\x02 \x01(\x0b\x32\x43.com.digitalasset.canton.protocol.v30.DynamicSynchronizerParameters\"\x9d\x01\n DynamicSequencingParametersState\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12`\n\x15sequencing_parameters\x18\x02 \x01(\x0b\x32\x41.com.digitalasset.canton.protocol.v30.DynamicSequencingParameters\"y\n\x19MediatorSynchronizerState\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12\r\n\x05group\x18\x02 \x01(\r\x12\x11\n\tthreshold\x18\x03 \x01(\r\x12\x0e\n\x06\x61\x63tive\x18\x04 \x03(\t\x12\x11\n\tobservers\x18\x05 \x03(\t\"k\n\x1aSequencerSynchronizerState\x12\x17\n\x0fsynchronizer_id\x18\x01 \x01(\t\x12\x11\n\tthreshold\x18\x02 \x01(\r\x12\x0e\n\x06\x61\x63tive\x18\x03 \x03(\t\x12\x11\n\tobservers\x18\x04 \x03(\t\"o\n\x0fLsuAnnouncement\x12*\n\"successor_physical_synchronizer_id\x18\x01 \x01(\t\x12\x30\n\x0cupgrade_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xc2\x02\n\x1fLsuSequencerConnectionSuccessor\x12\x14\n\x0csequencer_id\x18\x01 \x01(\t\x12*\n\"successor_physical_synchronizer_id\x18\x02 \x01(\t\x12m\n\nconnection\x18\x03 \x01(\x0b\x32Y.com.digitalasset.canton.protocol.v30.LsuSequencerConnectionSuccessor.SequencerConnection\x1an\n\x13SequencerConnection\x12\x11\n\tendpoints\x18\x01 \x03(\t\x12&\n\x19\x63ustom_trust_certificates\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x1c\n\x1a_custom_trust_certificates\"\x9d\x0c\n\x0fTopologyMapping\x12Y\n\x14namespace_delegation\x18\x01 \x01(\x0b\x32\x39.com.digitalasset.canton.protocol.v30.NamespaceDelegationH\x00\x12t\n\"decentralized_namespace_definition\x18\x03 \x01(\x0b\x32\x46.com.digitalasset.canton.protocol.v30.DecentralizedNamespaceDefinitionH\x00\x12W\n\x14owner_to_key_mapping\x18\x04 \x01(\x0b\x32\x37.com.digitalasset.canton.protocol.v30.OwnerToKeyMappingH\x00\x12l\n\x1esynchronizer_trust_certificate\x18\x05 \x01(\x0b\x32\x42.com.digitalasset.canton.protocol.v30.SynchronizerTrustCertificateH\x00\x12i\n\x16participant_permission\x18\x06 \x01(\x0b\x32G.com.digitalasset.canton.protocol.v30.ParticipantSynchronizerPermissionH\x00\x12X\n\x14party_hosting_limits\x18\x07 \x01(\x0b\x32\x38.com.digitalasset.canton.protocol.v30.PartyHostingLimitsH\x00\x12O\n\x0fvetted_packages\x18\x08 \x01(\x0b\x32\x34.com.digitalasset.canton.protocol.v30.VettedPackagesH\x00\x12X\n\x14party_to_participant\x18\t \x01(\x0b\x32\x38.com.digitalasset.canton.protocol.v30.PartyToParticipantH\x00\x12j\n\x1dsynchronizer_parameters_state\x18\x0b \x01(\x0b\x32\x41.com.digitalasset.canton.protocol.v30.SynchronizerParametersStateH\x00\x12\x66\n\x1bmediator_synchronizer_state\x18\x0c \x01(\x0b\x32?.com.digitalasset.canton.protocol.v30.MediatorSynchronizerStateH\x00\x12h\n\x1csequencer_synchronizer_state\x18\r \x01(\x0b\x32@.com.digitalasset.canton.protocol.v30.SequencerSynchronizerStateH\x00\x12u\n#sequencing_dynamic_parameters_state\x18\x0f \x01(\x0b\x32\x46.com.digitalasset.canton.protocol.v30.DynamicSequencingParametersStateH\x00\x12[\n\x14party_to_key_mapping\x18\x10 \x01(\x0b\x32\x37.com.digitalasset.canton.protocol.v30.PartyToKeyMappingB\x02\x18\x01H\x00\x12\x62\n!synchronizer_upgrade_announcement\x18\x11 \x01(\x0b\x32\x35.com.digitalasset.canton.protocol.v30.LsuAnnouncementH\x00\x12o\n\x1esequencer_connection_successor\x18\x12 \x01(\x0b\x32\x45.com.digitalasset.canton.protocol.v30.LsuSequencerConnectionSuccessorH\x00\x42\t\n\x07mappingJ\x04\x08\x02\x10\x03J\x04\x08\n\x10\x0bJ\x04\x08\x0e\x10\x0f\"\xbe\x01\n\x13TopologyTransaction\x12O\n\toperation\x18\x01 \x01(\x0e\x32<.com.digitalasset.canton.protocol.v30.Enums.TopologyChangeOp\x12\x0e\n\x06serial\x18\x02 \x01(\r\x12\x46\n\x07mapping\x18\x03 \x01(\x0b\x32\x35.com.digitalasset.canton.protocol.v30.TopologyMapping\"{\n\x1aMultiTransactionSignatures\x12\x1a\n\x12transaction_hashes\x18\x01 \x03(\x0c\x12\x41\n\nsignatures\x18\x02 \x03(\x0b\x32-.com.digitalasset.canton.crypto.v30.Signature\"\xed\x01\n\x19SignedTopologyTransaction\x12\x13\n\x0btransaction\x18\x01 \x01(\x0c\x12\x41\n\nsignatures\x18\x02 \x03(\x0b\x32-.com.digitalasset.canton.crypto.v30.Signature\x12\x10\n\x08proposal\x18\x03 \x01(\x08\x12\x66\n\x1cmulti_transaction_signatures\x18\x04 \x03(\x0b\x32@.com.digitalasset.canton.protocol.v30.MultiTransactionSignatures\"8\n\x1aSignedTopologyTransactions\x12\x1a\n\x12signed_transaction\x18\x01 \x03(\x0c\"\xa0\x01\n\x1dTopologyTransactionsBroadcast\x12 \n\x18physical_synchronizer_id\x18\x01 \x01(\t\x12]\n\x13signed_transactions\x18\x02 \x01(\x0b\x32@.com.digitalasset.canton.protocol.v30.SignedTopologyTransactionsb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,74 +27,76 @@ DESCRIPTOR._options = None _globals['_NAMESPACEDELEGATION'].fields_by_name['is_root_delegation']._options = None _globals['_NAMESPACEDELEGATION'].fields_by_name['is_root_delegation']._serialized_options = b'\030\001' + _globals['_PARTYTOKEYMAPPING']._options = None + _globals['_PARTYTOKEYMAPPING']._serialized_options = b'\030\001' _globals['_VETTEDPACKAGES'].fields_by_name['package_ids']._options = None _globals['_VETTEDPACKAGES'].fields_by_name['package_ids']._serialized_options = b'\030\001' + _globals['_TOPOLOGYMAPPING'].fields_by_name['party_to_key_mapping']._options = None + _globals['_TOPOLOGYMAPPING'].fields_by_name['party_to_key_mapping']._serialized_options = b'\030\001' _globals['_ENUMS']._serialized_start=310 - _globals['_ENUMS']._serialized_end=1671 + _globals['_ENUMS']._serialized_end=1708 _globals['_ENUMS_TOPOLOGYCHANGEOP']._serialized_start=319 _globals['_ENUMS_TOPOLOGYCHANGEOP']._serialized_end=440 _globals['_ENUMS_PARTICIPANTPERMISSION']._serialized_start=443 _globals['_ENUMS_PARTICIPANTPERMISSION']._serialized_end=626 _globals['_ENUMS_TOPOLOGYMAPPINGCODE']._serialized_start=629 - _globals['_ENUMS_TOPOLOGYMAPPINGCODE']._serialized_end=1524 - _globals['_ENUMS_PARTICIPANTFEATUREFLAG']._serialized_start=1527 - _globals['_ENUMS_PARTICIPANTFEATUREFLAG']._serialized_end=1671 - _globals['_NAMESPACEDELEGATION']._serialized_start=1674 - _globals['_NAMESPACEDELEGATION']._serialized_end=2379 - _globals['_NAMESPACEDELEGATION_CANSIGNALLMAPPINGS']._serialized_start=2197 - _globals['_NAMESPACEDELEGATION_CANSIGNALLMAPPINGS']._serialized_end=2217 - _globals['_NAMESPACEDELEGATION_CANSIGNALLBUTNAMESPACEDELEGATIONS']._serialized_start=2219 - _globals['_NAMESPACEDELEGATION_CANSIGNALLBUTNAMESPACEDELEGATIONS']._serialized_end=2254 - _globals['_NAMESPACEDELEGATION_CANSIGNSPECIFICMAPPINGS']._serialized_start=2256 - _globals['_NAMESPACEDELEGATION_CANSIGNSPECIFICMAPPINGS']._serialized_end=2364 - _globals['_DECENTRALIZEDNAMESPACEDEFINITION']._serialized_start=2381 - _globals['_DECENTRALIZEDNAMESPACEDEFINITION']._serialized_end=2483 - _globals['_OWNERTOKEYMAPPING']._serialized_start=2485 - _globals['_OWNERTOKEYMAPPING']._serialized_end=2594 - _globals['_PARTYTOKEYMAPPING']._serialized_start=2597 - _globals['_PARTYTOKEYMAPPING']._serialized_end=2732 - _globals['_SYNCHRONIZERTRUSTCERTIFICATE']._serialized_start=2735 - _globals['_SYNCHRONIZERTRUSTCERTIFICATE']._serialized_end=2918 - _globals['_PARTICIPANTSYNCHRONIZERPERMISSION']._serialized_start=2921 - _globals['_PARTICIPANTSYNCHRONIZERPERMISSION']._serialized_end=3220 - _globals['_PARTYHOSTINGLIMITS']._serialized_start=3222 - _globals['_PARTYHOSTINGLIMITS']._serialized_end=3288 - _globals['_VETTEDPACKAGES']._serialized_start=3291 - _globals['_VETTEDPACKAGES']._serialized_end=3604 - _globals['_VETTEDPACKAGES_VETTEDPACKAGE']._serialized_start=3446 - _globals['_VETTEDPACKAGES_VETTEDPACKAGE']._serialized_end=3598 - _globals['_PARTYTOPARTICIPANT']._serialized_start=3607 - _globals['_PARTYTOPARTICIPANT']._serialized_end=4147 - _globals['_PARTYTOPARTICIPANT_HOSTINGPARTICIPANT']._serialized_start=3858 - _globals['_PARTYTOPARTICIPANT_HOSTINGPARTICIPANT']._serialized_end=4112 - _globals['_PARTYTOPARTICIPANT_HOSTINGPARTICIPANT_ONBOARDING']._serialized_start=4100 - _globals['_PARTYTOPARTICIPANT_HOSTINGPARTICIPANT_ONBOARDING']._serialized_end=4112 - _globals['_SYNCHRONIZERPARAMETERSSTATE']._serialized_start=4150 - _globals['_SYNCHRONIZERPARAMETERSSTATE']._serialized_end=4306 - _globals['_DYNAMICSEQUENCINGPARAMETERSSTATE']._serialized_start=4309 - _globals['_DYNAMICSEQUENCINGPARAMETERSSTATE']._serialized_end=4466 - _globals['_MEDIATORSYNCHRONIZERSTATE']._serialized_start=4468 - _globals['_MEDIATORSYNCHRONIZERSTATE']._serialized_end=4589 - _globals['_SEQUENCERSYNCHRONIZERSTATE']._serialized_start=4591 - _globals['_SEQUENCERSYNCHRONIZERSTATE']._serialized_end=4698 - _globals['_SYNCHRONIZERUPGRADEANNOUNCEMENT']._serialized_start=4700 - _globals['_SYNCHRONIZERUPGRADEANNOUNCEMENT']._serialized_end=4827 - _globals['_SEQUENCERCONNECTIONSUCCESSOR']._serialized_start=4830 - _globals['_SEQUENCERCONNECTIONSUCCESSOR']._serialized_end=5264 - _globals['_SEQUENCERCONNECTIONSUCCESSOR_SEQUENCERCONNECTION']._serialized_start=5018 - _globals['_SEQUENCERCONNECTIONSUCCESSOR_SEQUENCERCONNECTION']._serialized_end=5264 - _globals['_SEQUENCERCONNECTIONSUCCESSOR_SEQUENCERCONNECTION_GRPC']._serialized_start=5150 - _globals['_SEQUENCERCONNECTIONSUCCESSOR_SEQUENCERCONNECTION_GRPC']._serialized_end=5245 - _globals['_TOPOLOGYMAPPING']._serialized_start=5267 - _globals['_TOPOLOGYMAPPING']._serialized_end=6841 - _globals['_TOPOLOGYTRANSACTION']._serialized_start=6844 - _globals['_TOPOLOGYTRANSACTION']._serialized_end=7034 - _globals['_MULTITRANSACTIONSIGNATURES']._serialized_start=7036 - _globals['_MULTITRANSACTIONSIGNATURES']._serialized_end=7159 - _globals['_SIGNEDTOPOLOGYTRANSACTION']._serialized_start=7162 - _globals['_SIGNEDTOPOLOGYTRANSACTION']._serialized_end=7399 - _globals['_SIGNEDTOPOLOGYTRANSACTIONS']._serialized_start=7401 - _globals['_SIGNEDTOPOLOGYTRANSACTIONS']._serialized_end=7457 - _globals['_TOPOLOGYTRANSACTIONSBROADCAST']._serialized_start=7460 - _globals['_TOPOLOGYTRANSACTIONSBROADCAST']._serialized_end=7620 + _globals['_ENUMS_TOPOLOGYMAPPINGCODE']._serialized_end=1505 + _globals['_ENUMS_PARTICIPANTFEATUREFLAG']._serialized_start=1508 + _globals['_ENUMS_PARTICIPANTFEATUREFLAG']._serialized_end=1708 + _globals['_NAMESPACEDELEGATION']._serialized_start=1711 + _globals['_NAMESPACEDELEGATION']._serialized_end=2416 + _globals['_NAMESPACEDELEGATION_CANSIGNALLMAPPINGS']._serialized_start=2234 + _globals['_NAMESPACEDELEGATION_CANSIGNALLMAPPINGS']._serialized_end=2254 + _globals['_NAMESPACEDELEGATION_CANSIGNALLBUTNAMESPACEDELEGATIONS']._serialized_start=2256 + _globals['_NAMESPACEDELEGATION_CANSIGNALLBUTNAMESPACEDELEGATIONS']._serialized_end=2291 + _globals['_NAMESPACEDELEGATION_CANSIGNSPECIFICMAPPINGS']._serialized_start=2293 + _globals['_NAMESPACEDELEGATION_CANSIGNSPECIFICMAPPINGS']._serialized_end=2401 + _globals['_DECENTRALIZEDNAMESPACEDEFINITION']._serialized_start=2418 + _globals['_DECENTRALIZEDNAMESPACEDEFINITION']._serialized_end=2520 + _globals['_OWNERTOKEYMAPPING']._serialized_start=2522 + _globals['_OWNERTOKEYMAPPING']._serialized_end=2631 + _globals['_PARTYTOKEYMAPPING']._serialized_start=2634 + _globals['_PARTYTOKEYMAPPING']._serialized_end=2773 + _globals['_SYNCHRONIZERTRUSTCERTIFICATE']._serialized_start=2776 + _globals['_SYNCHRONIZERTRUSTCERTIFICATE']._serialized_end=2959 + _globals['_PARTICIPANTSYNCHRONIZERPERMISSION']._serialized_start=2962 + _globals['_PARTICIPANTSYNCHRONIZERPERMISSION']._serialized_end=3261 + _globals['_PARTYHOSTINGLIMITS']._serialized_start=3263 + _globals['_PARTYHOSTINGLIMITS']._serialized_end=3329 + _globals['_VETTEDPACKAGES']._serialized_start=3332 + _globals['_VETTEDPACKAGES']._serialized_end=3645 + _globals['_VETTEDPACKAGES_VETTEDPACKAGE']._serialized_start=3487 + _globals['_VETTEDPACKAGES_VETTEDPACKAGE']._serialized_end=3639 + _globals['_PARTYTOPARTICIPANT']._serialized_start=3648 + _globals['_PARTYTOPARTICIPANT']._serialized_end=4188 + _globals['_PARTYTOPARTICIPANT_HOSTINGPARTICIPANT']._serialized_start=3899 + _globals['_PARTYTOPARTICIPANT_HOSTINGPARTICIPANT']._serialized_end=4153 + _globals['_PARTYTOPARTICIPANT_HOSTINGPARTICIPANT_ONBOARDING']._serialized_start=4141 + _globals['_PARTYTOPARTICIPANT_HOSTINGPARTICIPANT_ONBOARDING']._serialized_end=4153 + _globals['_SYNCHRONIZERPARAMETERSSTATE']._serialized_start=4191 + _globals['_SYNCHRONIZERPARAMETERSSTATE']._serialized_end=4347 + _globals['_DYNAMICSEQUENCINGPARAMETERSSTATE']._serialized_start=4350 + _globals['_DYNAMICSEQUENCINGPARAMETERSSTATE']._serialized_end=4507 + _globals['_MEDIATORSYNCHRONIZERSTATE']._serialized_start=4509 + _globals['_MEDIATORSYNCHRONIZERSTATE']._serialized_end=4630 + _globals['_SEQUENCERSYNCHRONIZERSTATE']._serialized_start=4632 + _globals['_SEQUENCERSYNCHRONIZERSTATE']._serialized_end=4739 + _globals['_LSUANNOUNCEMENT']._serialized_start=4741 + _globals['_LSUANNOUNCEMENT']._serialized_end=4852 + _globals['_LSUSEQUENCERCONNECTIONSUCCESSOR']._serialized_start=4855 + _globals['_LSUSEQUENCERCONNECTIONSUCCESSOR']._serialized_end=5177 + _globals['_LSUSEQUENCERCONNECTIONSUCCESSOR_SEQUENCERCONNECTION']._serialized_start=5067 + _globals['_LSUSEQUENCERCONNECTIONSUCCESSOR_SEQUENCERCONNECTION']._serialized_end=5177 + _globals['_TOPOLOGYMAPPING']._serialized_start=5180 + _globals['_TOPOLOGYMAPPING']._serialized_end=6745 + _globals['_TOPOLOGYTRANSACTION']._serialized_start=6748 + _globals['_TOPOLOGYTRANSACTION']._serialized_end=6938 + _globals['_MULTITRANSACTIONSIGNATURES']._serialized_start=6940 + _globals['_MULTITRANSACTIONSIGNATURES']._serialized_end=7063 + _globals['_SIGNEDTOPOLOGYTRANSACTION']._serialized_start=7066 + _globals['_SIGNEDTOPOLOGYTRANSACTION']._serialized_end=7303 + _globals['_SIGNEDTOPOLOGYTRANSACTIONS']._serialized_start=7305 + _globals['_SIGNEDTOPOLOGYTRANSACTIONS']._serialized_end=7361 + _globals['_TOPOLOGYTRANSACTIONSBROADCAST']._serialized_start=7364 + _globals['_TOPOLOGYTRANSACTIONSBROADCAST']._serialized_end=7524 # @@protoc_insertion_point(module_scope) diff --git a/proto/com/digitalasset/canton/protocol/v30/topology_pb2.pyi b/proto/com/digitalasset/canton/protocol/v30/topology_pb2.pyi index 9862034..38666af 100644 --- a/proto/com/digitalasset/canton/protocol/v30/topology_pb2.pyi +++ b/proto/com/digitalasset/canton/protocol/v30/topology_pb2.pyi @@ -46,7 +46,7 @@ class Enums(_message.Message): TOPOLOGY_MAPPING_CODE_SEQUENCER_SYNCHRONIZER_STATE: _ClassVar[Enums.TopologyMappingCode] TOPOLOGY_MAPPING_CODE_SEQUENCING_DYNAMIC_PARAMETERS_STATE: _ClassVar[Enums.TopologyMappingCode] TOPOLOGY_MAPPING_CODE_PARTY_TO_KEY_MAPPING: _ClassVar[Enums.TopologyMappingCode] - TOPOLOGY_MAPPING_CODE_SYNCHRONIZER_MIGRATION_ANNOUNCEMENT: _ClassVar[Enums.TopologyMappingCode] + TOPOLOGY_MAPPING_CODE_LSU_ANNOUNCEMENT: _ClassVar[Enums.TopologyMappingCode] TOPOLOGY_MAPPING_CODE_SEQUENCER_CONNECTION_SUCCESSOR: _ClassVar[Enums.TopologyMappingCode] TOPOLOGY_MAPPING_CODE_UNSPECIFIED: Enums.TopologyMappingCode TOPOLOGY_MAPPING_CODE_NAMESPACE_DELEGATION: Enums.TopologyMappingCode @@ -62,14 +62,16 @@ class Enums(_message.Message): TOPOLOGY_MAPPING_CODE_SEQUENCER_SYNCHRONIZER_STATE: Enums.TopologyMappingCode TOPOLOGY_MAPPING_CODE_SEQUENCING_DYNAMIC_PARAMETERS_STATE: Enums.TopologyMappingCode TOPOLOGY_MAPPING_CODE_PARTY_TO_KEY_MAPPING: Enums.TopologyMappingCode - TOPOLOGY_MAPPING_CODE_SYNCHRONIZER_MIGRATION_ANNOUNCEMENT: Enums.TopologyMappingCode + TOPOLOGY_MAPPING_CODE_LSU_ANNOUNCEMENT: Enums.TopologyMappingCode TOPOLOGY_MAPPING_CODE_SEQUENCER_CONNECTION_SUCCESSOR: Enums.TopologyMappingCode class ParticipantFeatureFlag(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () PARTICIPANT_FEATURE_FLAG_UNSPECIFIED: _ClassVar[Enums.ParticipantFeatureFlag] PARTICIPANT_FEATURE_FLAG_PV33_EXTERNAL_SIGNING_LOCAL_CONTRACT_IN_SUBVIEW: _ClassVar[Enums.ParticipantFeatureFlag] + PARTICIPANT_FEATURE_FLAG_ENABLE_MULTI_SYNCHRONIZER: _ClassVar[Enums.ParticipantFeatureFlag] PARTICIPANT_FEATURE_FLAG_UNSPECIFIED: Enums.ParticipantFeatureFlag PARTICIPANT_FEATURE_FLAG_PV33_EXTERNAL_SIGNING_LOCAL_CONTRACT_IN_SUBVIEW: Enums.ParticipantFeatureFlag + PARTICIPANT_FEATURE_FLAG_ENABLE_MULTI_SYNCHRONIZER: Enums.ParticipantFeatureFlag def __init__(self) -> None: ... class NamespaceDelegation(_message.Message): @@ -244,7 +246,7 @@ class SequencerSynchronizerState(_message.Message): observers: _containers.RepeatedScalarFieldContainer[str] def __init__(self, synchronizer_id: _Optional[str] = ..., threshold: _Optional[int] = ..., active: _Optional[_Iterable[str]] = ..., observers: _Optional[_Iterable[str]] = ...) -> None: ... -class SynchronizerUpgradeAnnouncement(_message.Message): +class LsuAnnouncement(_message.Message): __slots__ = ("successor_physical_synchronizer_id", "upgrade_time") SUCCESSOR_PHYSICAL_SYNCHRONIZER_ID_FIELD_NUMBER: _ClassVar[int] UPGRADE_TIME_FIELD_NUMBER: _ClassVar[int] @@ -252,27 +254,22 @@ class SynchronizerUpgradeAnnouncement(_message.Message): upgrade_time: _timestamp_pb2.Timestamp def __init__(self, successor_physical_synchronizer_id: _Optional[str] = ..., upgrade_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... -class SequencerConnectionSuccessor(_message.Message): - __slots__ = ("sequencer_id", "synchronizer_id", "connection") +class LsuSequencerConnectionSuccessor(_message.Message): + __slots__ = ("sequencer_id", "successor_physical_synchronizer_id", "connection") class SequencerConnection(_message.Message): - __slots__ = ("grpc",) - class Grpc(_message.Message): - __slots__ = ("endpoints", "custom_trust_certificates") - ENDPOINTS_FIELD_NUMBER: _ClassVar[int] - CUSTOM_TRUST_CERTIFICATES_FIELD_NUMBER: _ClassVar[int] - endpoints: _containers.RepeatedScalarFieldContainer[str] - custom_trust_certificates: bytes - def __init__(self, endpoints: _Optional[_Iterable[str]] = ..., custom_trust_certificates: _Optional[bytes] = ...) -> None: ... - GRPC_FIELD_NUMBER: _ClassVar[int] - grpc: SequencerConnectionSuccessor.SequencerConnection.Grpc - def __init__(self, grpc: _Optional[_Union[SequencerConnectionSuccessor.SequencerConnection.Grpc, _Mapping]] = ...) -> None: ... + __slots__ = ("endpoints", "custom_trust_certificates") + ENDPOINTS_FIELD_NUMBER: _ClassVar[int] + CUSTOM_TRUST_CERTIFICATES_FIELD_NUMBER: _ClassVar[int] + endpoints: _containers.RepeatedScalarFieldContainer[str] + custom_trust_certificates: bytes + def __init__(self, endpoints: _Optional[_Iterable[str]] = ..., custom_trust_certificates: _Optional[bytes] = ...) -> None: ... SEQUENCER_ID_FIELD_NUMBER: _ClassVar[int] - SYNCHRONIZER_ID_FIELD_NUMBER: _ClassVar[int] + SUCCESSOR_PHYSICAL_SYNCHRONIZER_ID_FIELD_NUMBER: _ClassVar[int] CONNECTION_FIELD_NUMBER: _ClassVar[int] sequencer_id: str - synchronizer_id: str - connection: SequencerConnectionSuccessor.SequencerConnection - def __init__(self, sequencer_id: _Optional[str] = ..., synchronizer_id: _Optional[str] = ..., connection: _Optional[_Union[SequencerConnectionSuccessor.SequencerConnection, _Mapping]] = ...) -> None: ... + successor_physical_synchronizer_id: str + connection: LsuSequencerConnectionSuccessor.SequencerConnection + def __init__(self, sequencer_id: _Optional[str] = ..., successor_physical_synchronizer_id: _Optional[str] = ..., connection: _Optional[_Union[LsuSequencerConnectionSuccessor.SequencerConnection, _Mapping]] = ...) -> None: ... class TopologyMapping(_message.Message): __slots__ = ("namespace_delegation", "decentralized_namespace_definition", "owner_to_key_mapping", "synchronizer_trust_certificate", "participant_permission", "party_hosting_limits", "vetted_packages", "party_to_participant", "synchronizer_parameters_state", "mediator_synchronizer_state", "sequencer_synchronizer_state", "sequencing_dynamic_parameters_state", "party_to_key_mapping", "synchronizer_upgrade_announcement", "sequencer_connection_successor") @@ -304,9 +301,9 @@ class TopologyMapping(_message.Message): sequencer_synchronizer_state: SequencerSynchronizerState sequencing_dynamic_parameters_state: DynamicSequencingParametersState party_to_key_mapping: PartyToKeyMapping - synchronizer_upgrade_announcement: SynchronizerUpgradeAnnouncement - sequencer_connection_successor: SequencerConnectionSuccessor - def __init__(self, namespace_delegation: _Optional[_Union[NamespaceDelegation, _Mapping]] = ..., decentralized_namespace_definition: _Optional[_Union[DecentralizedNamespaceDefinition, _Mapping]] = ..., owner_to_key_mapping: _Optional[_Union[OwnerToKeyMapping, _Mapping]] = ..., synchronizer_trust_certificate: _Optional[_Union[SynchronizerTrustCertificate, _Mapping]] = ..., participant_permission: _Optional[_Union[ParticipantSynchronizerPermission, _Mapping]] = ..., party_hosting_limits: _Optional[_Union[PartyHostingLimits, _Mapping]] = ..., vetted_packages: _Optional[_Union[VettedPackages, _Mapping]] = ..., party_to_participant: _Optional[_Union[PartyToParticipant, _Mapping]] = ..., synchronizer_parameters_state: _Optional[_Union[SynchronizerParametersState, _Mapping]] = ..., mediator_synchronizer_state: _Optional[_Union[MediatorSynchronizerState, _Mapping]] = ..., sequencer_synchronizer_state: _Optional[_Union[SequencerSynchronizerState, _Mapping]] = ..., sequencing_dynamic_parameters_state: _Optional[_Union[DynamicSequencingParametersState, _Mapping]] = ..., party_to_key_mapping: _Optional[_Union[PartyToKeyMapping, _Mapping]] = ..., synchronizer_upgrade_announcement: _Optional[_Union[SynchronizerUpgradeAnnouncement, _Mapping]] = ..., sequencer_connection_successor: _Optional[_Union[SequencerConnectionSuccessor, _Mapping]] = ...) -> None: ... + synchronizer_upgrade_announcement: LsuAnnouncement + sequencer_connection_successor: LsuSequencerConnectionSuccessor + def __init__(self, namespace_delegation: _Optional[_Union[NamespaceDelegation, _Mapping]] = ..., decentralized_namespace_definition: _Optional[_Union[DecentralizedNamespaceDefinition, _Mapping]] = ..., owner_to_key_mapping: _Optional[_Union[OwnerToKeyMapping, _Mapping]] = ..., synchronizer_trust_certificate: _Optional[_Union[SynchronizerTrustCertificate, _Mapping]] = ..., participant_permission: _Optional[_Union[ParticipantSynchronizerPermission, _Mapping]] = ..., party_hosting_limits: _Optional[_Union[PartyHostingLimits, _Mapping]] = ..., vetted_packages: _Optional[_Union[VettedPackages, _Mapping]] = ..., party_to_participant: _Optional[_Union[PartyToParticipant, _Mapping]] = ..., synchronizer_parameters_state: _Optional[_Union[SynchronizerParametersState, _Mapping]] = ..., mediator_synchronizer_state: _Optional[_Union[MediatorSynchronizerState, _Mapping]] = ..., sequencer_synchronizer_state: _Optional[_Union[SequencerSynchronizerState, _Mapping]] = ..., sequencing_dynamic_parameters_state: _Optional[_Union[DynamicSequencingParametersState, _Mapping]] = ..., party_to_key_mapping: _Optional[_Union[PartyToKeyMapping, _Mapping]] = ..., synchronizer_upgrade_announcement: _Optional[_Union[LsuAnnouncement, _Mapping]] = ..., sequencer_connection_successor: _Optional[_Union[LsuSequencerConnectionSuccessor, _Mapping]] = ...) -> None: ... class TopologyTransaction(_message.Message): __slots__ = ("operation", "serial", "mapping") diff --git a/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters.pb.h b/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters.pb.h index de5552c..b51b084 100644 --- a/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters.pb.h +++ b/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters.pb.h @@ -31,7 +31,10 @@ typedef struct _com_digitalasset_canton_protocol_v30_TrafficControlParameters { /* In bytes, base event cost added to all sequenced events. Optional */ bool has_base_event_cost; - uint64_t base_event_cost; /* [doc-entry-end: TrafficControlParameters] */ + uint64_t base_event_cost; + /* Whether to charge for confirmation responses + Default: false */ + bool free_confirmation_responses; /* [doc-entry-end: TrafficControlParameters] */ } com_digitalasset_canton_protocol_v30_TrafficControlParameters; /* Message representing a traffic receipt included in SequencedEvent receipts to update sender about @@ -104,13 +107,13 @@ extern "C" { #endif /* Initializer values for message structs */ -#define com_digitalasset_canton_protocol_v30_TrafficControlParameters_init_default {0, false, google_protobuf_Duration_init_default, 0, false, google_protobuf_Duration_init_default, 0, false, 0} +#define com_digitalasset_canton_protocol_v30_TrafficControlParameters_init_default {0, false, google_protobuf_Duration_init_default, 0, false, google_protobuf_Duration_init_default, 0, false, 0, 0} #define com_digitalasset_canton_protocol_v30_TrafficReceipt_init_default {0, 0, 0} #define com_digitalasset_canton_protocol_v30_TrafficConsumed_init_default {"", 0, 0, 0, 0} #define com_digitalasset_canton_protocol_v30_TrafficPurchased_init_default {"", 0, 0, 0} #define com_digitalasset_canton_protocol_v30_TrafficState_init_default {0, 0, 0, 0, 0, false, 0} #define com_digitalasset_canton_protocol_v30_SetTrafficPurchasedMessage_init_default {"", 0, 0, ""} -#define com_digitalasset_canton_protocol_v30_TrafficControlParameters_init_zero {0, false, google_protobuf_Duration_init_zero, 0, false, google_protobuf_Duration_init_zero, 0, false, 0} +#define com_digitalasset_canton_protocol_v30_TrafficControlParameters_init_zero {0, false, google_protobuf_Duration_init_zero, 0, false, google_protobuf_Duration_init_zero, 0, false, 0, 0} #define com_digitalasset_canton_protocol_v30_TrafficReceipt_init_zero {0, 0, 0} #define com_digitalasset_canton_protocol_v30_TrafficConsumed_init_zero {"", 0, 0, 0, 0} #define com_digitalasset_canton_protocol_v30_TrafficPurchased_init_zero {"", 0, 0, 0} @@ -124,6 +127,7 @@ extern "C" { #define com_digitalasset_canton_protocol_v30_TrafficControlParameters_set_balance_request_submission_window_size_tag 5 #define com_digitalasset_canton_protocol_v30_TrafficControlParameters_enforce_rate_limiting_tag 6 #define com_digitalasset_canton_protocol_v30_TrafficControlParameters_base_event_cost_tag 7 +#define com_digitalasset_canton_protocol_v30_TrafficControlParameters_free_confirmation_responses_tag 8 #define com_digitalasset_canton_protocol_v30_TrafficReceipt_consumed_cost_tag 1 #define com_digitalasset_canton_protocol_v30_TrafficReceipt_extra_traffic_consumed_tag 2 #define com_digitalasset_canton_protocol_v30_TrafficReceipt_base_traffic_remainder_tag 3 @@ -154,7 +158,8 @@ X(a, STATIC, OPTIONAL, MESSAGE, max_base_traffic_accumulation_duration, 3) X(a, STATIC, SINGULAR, UINT32, read_vs_write_scaling_factor, 4) \ X(a, STATIC, OPTIONAL, MESSAGE, set_balance_request_submission_window_size, 5) \ X(a, STATIC, SINGULAR, BOOL, enforce_rate_limiting, 6) \ -X(a, STATIC, OPTIONAL, UINT64, base_event_cost, 7) +X(a, STATIC, OPTIONAL, UINT64, base_event_cost, 7) \ +X(a, STATIC, SINGULAR, BOOL, free_confirmation_responses, 8) #define com_digitalasset_canton_protocol_v30_TrafficControlParameters_CALLBACK NULL #define com_digitalasset_canton_protocol_v30_TrafficControlParameters_DEFAULT NULL #define com_digitalasset_canton_protocol_v30_TrafficControlParameters_max_base_traffic_accumulation_duration_MSGTYPE google_protobuf_Duration @@ -221,7 +226,7 @@ extern const pb_msgdesc_t com_digitalasset_canton_protocol_v30_SetTrafficPurchas #define COM_DIGITALASSET_CANTON_PROTOCOL_V30_COM_DIGITALASSET_CANTON_PROTOCOL_V30_TRAFFIC_CONTROL_PARAMETERS_PB_H_MAX_SIZE com_digitalasset_canton_protocol_v30_SetTrafficPurchasedMessage_size #define com_digitalasset_canton_protocol_v30_SetTrafficPurchasedMessage_size 2069 #define com_digitalasset_canton_protocol_v30_TrafficConsumed_size 1070 -#define com_digitalasset_canton_protocol_v30_TrafficControlParameters_size 78 +#define com_digitalasset_canton_protocol_v30_TrafficControlParameters_size 80 #define com_digitalasset_canton_protocol_v30_TrafficPurchased_size 1054 #define com_digitalasset_canton_protocol_v30_TrafficReceipt_size 33 #define com_digitalasset_canton_protocol_v30_TrafficState_size 61 diff --git a/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters_pb2.py b/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters_pb2.py index 3c1240e..f009162 100644 --- a/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters_pb2.py +++ b/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters_pb2.py @@ -15,7 +15,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nEcom/digitalasset/canton/protocol/v30/traffic_control_parameters.proto\x12$com.digitalasset.canton.protocol.v30\x1a\x1egoogle/protobuf/duration.proto\"\xcc\x02\n\x18TrafficControlParameters\x12\x1f\n\x17max_base_traffic_amount\x18\x01 \x01(\x04\x12I\n&max_base_traffic_accumulation_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12$\n\x1cread_vs_write_scaling_factor\x18\x04 \x01(\r\x12M\n*set_balance_request_submission_window_size\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1d\n\x15\x65nforce_rate_limiting\x18\x06 \x01(\x08\x12\x1c\n\x0f\x62\x61se_event_cost\x18\x07 \x01(\x04H\x00\x88\x01\x01\x42\x12\n\x10_base_event_cost\"g\n\x0eTrafficReceipt\x12\x15\n\rconsumed_cost\x18\x01 \x01(\x04\x12\x1e\n\x16\x65xtra_traffic_consumed\x18\x02 \x01(\x04\x12\x1e\n\x16\x62\x61se_traffic_remainder\x18\x03 \x01(\x04\"\x9b\x01\n\x0fTrafficConsumed\x12\x0e\n\x06member\x18\x01 \x01(\t\x12\x1e\n\x16\x65xtra_traffic_consumed\x18\x02 \x01(\x04\x12\x1e\n\x16\x62\x61se_traffic_remainder\x18\x03 \x01(\x04\x12\x1a\n\x12last_consumed_cost\x18\x04 \x01(\x04\x12\x1c\n\x14sequencing_timestamp\x18\x05 \x01(\x03\"q\n\x10TrafficPurchased\x12\x0e\n\x06member\x18\x01 \x01(\t\x12\x0e\n\x06serial\x18\x02 \x01(\r\x12\x1f\n\x17\x65xtra_traffic_purchased\x18\x03 \x01(\x04\x12\x1c\n\x14sequencing_timestamp\x18\x04 \x01(\x03\"\xbe\x01\n\x0cTrafficState\x12\x1f\n\x17\x65xtra_traffic_purchased\x18\x01 \x01(\x03\x12\x1e\n\x16\x65xtra_traffic_consumed\x18\x02 \x01(\x03\x12\x1e\n\x16\x62\x61se_traffic_remainder\x18\x03 \x01(\x03\x12\x1a\n\x12last_consumed_cost\x18\x04 \x01(\x04\x12\x11\n\ttimestamp\x18\x05 \x01(\x03\x12\x13\n\x06serial\x18\x06 \x01(\rH\x00\x88\x01\x01\x42\t\n\x07_serial\"\x7f\n\x1aSetTrafficPurchasedMessage\x12\x0e\n\x06member\x18\x01 \x01(\t\x12\x0e\n\x06serial\x18\x02 \x01(\r\x12\x1f\n\x17total_traffic_purchased\x18\x04 \x01(\x04\x12 \n\x18physical_synchronizer_id\x18\x05 \x01(\tb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nEcom/digitalasset/canton/protocol/v30/traffic_control_parameters.proto\x12$com.digitalasset.canton.protocol.v30\x1a\x1egoogle/protobuf/duration.proto\"\xf1\x02\n\x18TrafficControlParameters\x12\x1f\n\x17max_base_traffic_amount\x18\x01 \x01(\x04\x12I\n&max_base_traffic_accumulation_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12$\n\x1cread_vs_write_scaling_factor\x18\x04 \x01(\r\x12M\n*set_balance_request_submission_window_size\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1d\n\x15\x65nforce_rate_limiting\x18\x06 \x01(\x08\x12\x1c\n\x0f\x62\x61se_event_cost\x18\x07 \x01(\x04H\x00\x88\x01\x01\x12#\n\x1b\x66ree_confirmation_responses\x18\x08 \x01(\x08\x42\x12\n\x10_base_event_cost\"g\n\x0eTrafficReceipt\x12\x15\n\rconsumed_cost\x18\x01 \x01(\x04\x12\x1e\n\x16\x65xtra_traffic_consumed\x18\x02 \x01(\x04\x12\x1e\n\x16\x62\x61se_traffic_remainder\x18\x03 \x01(\x04\"\x9b\x01\n\x0fTrafficConsumed\x12\x0e\n\x06member\x18\x01 \x01(\t\x12\x1e\n\x16\x65xtra_traffic_consumed\x18\x02 \x01(\x04\x12\x1e\n\x16\x62\x61se_traffic_remainder\x18\x03 \x01(\x04\x12\x1a\n\x12last_consumed_cost\x18\x04 \x01(\x04\x12\x1c\n\x14sequencing_timestamp\x18\x05 \x01(\x03\"q\n\x10TrafficPurchased\x12\x0e\n\x06member\x18\x01 \x01(\t\x12\x0e\n\x06serial\x18\x02 \x01(\r\x12\x1f\n\x17\x65xtra_traffic_purchased\x18\x03 \x01(\x04\x12\x1c\n\x14sequencing_timestamp\x18\x04 \x01(\x03\"\xbe\x01\n\x0cTrafficState\x12\x1f\n\x17\x65xtra_traffic_purchased\x18\x01 \x01(\x03\x12\x1e\n\x16\x65xtra_traffic_consumed\x18\x02 \x01(\x03\x12\x1e\n\x16\x62\x61se_traffic_remainder\x18\x03 \x01(\x03\x12\x1a\n\x12last_consumed_cost\x18\x04 \x01(\x04\x12\x11\n\ttimestamp\x18\x05 \x01(\x03\x12\x13\n\x06serial\x18\x06 \x01(\rH\x00\x88\x01\x01\x42\t\n\x07_serial\"\x7f\n\x1aSetTrafficPurchasedMessage\x12\x0e\n\x06member\x18\x01 \x01(\t\x12\x0e\n\x06serial\x18\x02 \x01(\r\x12\x1f\n\x17total_traffic_purchased\x18\x04 \x01(\x04\x12 \n\x18physical_synchronizer_id\x18\x05 \x01(\tb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,15 +23,15 @@ if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None _globals['_TRAFFICCONTROLPARAMETERS']._serialized_start=144 - _globals['_TRAFFICCONTROLPARAMETERS']._serialized_end=476 - _globals['_TRAFFICRECEIPT']._serialized_start=478 - _globals['_TRAFFICRECEIPT']._serialized_end=581 - _globals['_TRAFFICCONSUMED']._serialized_start=584 - _globals['_TRAFFICCONSUMED']._serialized_end=739 - _globals['_TRAFFICPURCHASED']._serialized_start=741 - _globals['_TRAFFICPURCHASED']._serialized_end=854 - _globals['_TRAFFICSTATE']._serialized_start=857 - _globals['_TRAFFICSTATE']._serialized_end=1047 - _globals['_SETTRAFFICPURCHASEDMESSAGE']._serialized_start=1049 - _globals['_SETTRAFFICPURCHASEDMESSAGE']._serialized_end=1176 + _globals['_TRAFFICCONTROLPARAMETERS']._serialized_end=513 + _globals['_TRAFFICRECEIPT']._serialized_start=515 + _globals['_TRAFFICRECEIPT']._serialized_end=618 + _globals['_TRAFFICCONSUMED']._serialized_start=621 + _globals['_TRAFFICCONSUMED']._serialized_end=776 + _globals['_TRAFFICPURCHASED']._serialized_start=778 + _globals['_TRAFFICPURCHASED']._serialized_end=891 + _globals['_TRAFFICSTATE']._serialized_start=894 + _globals['_TRAFFICSTATE']._serialized_end=1084 + _globals['_SETTRAFFICPURCHASEDMESSAGE']._serialized_start=1086 + _globals['_SETTRAFFICPURCHASEDMESSAGE']._serialized_end=1213 # @@protoc_insertion_point(module_scope) diff --git a/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters_pb2.pyi b/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters_pb2.pyi index 0fa3177..72f2919 100644 --- a/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters_pb2.pyi +++ b/proto/com/digitalasset/canton/protocol/v30/traffic_control_parameters_pb2.pyi @@ -6,20 +6,22 @@ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Opti DESCRIPTOR: _descriptor.FileDescriptor class TrafficControlParameters(_message.Message): - __slots__ = ("max_base_traffic_amount", "max_base_traffic_accumulation_duration", "read_vs_write_scaling_factor", "set_balance_request_submission_window_size", "enforce_rate_limiting", "base_event_cost") + __slots__ = ("max_base_traffic_amount", "max_base_traffic_accumulation_duration", "read_vs_write_scaling_factor", "set_balance_request_submission_window_size", "enforce_rate_limiting", "base_event_cost", "free_confirmation_responses") MAX_BASE_TRAFFIC_AMOUNT_FIELD_NUMBER: _ClassVar[int] MAX_BASE_TRAFFIC_ACCUMULATION_DURATION_FIELD_NUMBER: _ClassVar[int] READ_VS_WRITE_SCALING_FACTOR_FIELD_NUMBER: _ClassVar[int] SET_BALANCE_REQUEST_SUBMISSION_WINDOW_SIZE_FIELD_NUMBER: _ClassVar[int] ENFORCE_RATE_LIMITING_FIELD_NUMBER: _ClassVar[int] BASE_EVENT_COST_FIELD_NUMBER: _ClassVar[int] + FREE_CONFIRMATION_RESPONSES_FIELD_NUMBER: _ClassVar[int] max_base_traffic_amount: int max_base_traffic_accumulation_duration: _duration_pb2.Duration read_vs_write_scaling_factor: int set_balance_request_submission_window_size: _duration_pb2.Duration enforce_rate_limiting: bool base_event_cost: int - def __init__(self, max_base_traffic_amount: _Optional[int] = ..., max_base_traffic_accumulation_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., read_vs_write_scaling_factor: _Optional[int] = ..., set_balance_request_submission_window_size: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., enforce_rate_limiting: bool = ..., base_event_cost: _Optional[int] = ...) -> None: ... + free_confirmation_responses: bool + def __init__(self, max_base_traffic_amount: _Optional[int] = ..., max_base_traffic_accumulation_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., read_vs_write_scaling_factor: _Optional[int] = ..., set_balance_request_submission_window_size: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., enforce_rate_limiting: bool = ..., base_event_cost: _Optional[int] = ..., free_confirmation_responses: bool = ...) -> None: ... class TrafficReceipt(_message.Message): __slots__ = ("consumed_cost", "extra_traffic_consumed", "base_traffic_remainder") diff --git a/proto/google/protobuf/any.pb.h b/proto/google/protobuf/any.pb.h index 7804df0..5ec5037 100644 --- a/proto/google/protobuf/any.pb.h +++ b/proto/google/protobuf/any.pb.h @@ -14,119 +14,65 @@ typedef PB_BYTES_ARRAY_T(1024) google_protobuf_Any_value_t; /* `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. - Protobuf library provides support to pack/unpack Any values in the form - of utility functions or additional generated methods of the Any type. - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - 'type.googleapis.com/full.type.name' as the type URL and the unpack - methods only use the fully qualified type name after the last '/' - in the type URL, for example "foo.bar.com/x/y.z" will yield type - name "y.z". - - JSON - ==== - The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - representation, that representation will be embedded adding a field - `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } */ + In its binary encoding, an `Any` is an ordinary message; but in other wire + forms like JSON, it has a special encoding. The format of the type URL is + described on the `type_url` field. + + Protobuf APIs provide utilities to interact with `Any` values: + + - A 'pack' operation accepts a message and constructs a generic `Any` wrapper + around it. + - An 'unpack' operation reads the content of an `Any` message, either into an + existing message or a new one. Unpack operations must check the type of the + value they unpack against the declared `type_url`. + - An 'is' operation decides whether an `Any` contains a message of the given + type, i.e. whether it can 'unpack' that type. + + The JSON format representation of an `Any` follows one of these cases: + + - For types without special-cased JSON encodings, the JSON format + representation of the `Any` is the same as that of the message, with an + additional `@type` field which contains the type URL. + - For types with special-cased JSON encodings (typically called 'well-known' + types, listed in https://protobuf.dev/programming-guides/json/#any), the + JSON format representation has a key `@type` which contains the type URL + and a key `value` which contains the JSON-serialized value. + + The text format representation of an `Any` is like a message with one field + whose name is the type URL in brackets. For example, an `Any` containing a + `foo.Bar` message may be written `[type.googleapis.com/foo.Bar] { a: 2 }`. */ typedef struct _google_protobuf_Any { - /* A URL/resource name that uniquely identifies the type of the serialized - protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path must represent - the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in a canonical form - (e.g., leading "." is not accepted). - - In practice, teams usually precompile into the binary all types that they - expect it to use in the context of Any. However, for URLs which use the - scheme `http`, `https`, or no scheme, one can optionally set up a type - server that maps type URLs to message definitions as follows: - - * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the official - protobuf release, and it is not used for type URLs beginning with - type.googleapis.com. As of May 2023, there are no widely used type server - implementations and no plans to implement one. - - Schemes other than `http`, `https` (or the empty scheme) might be - used with implementation specific semantics. */ + /* Identifies the type of the serialized Protobuf message with a URI reference + consisting of a prefix ending in a slash and the fully-qualified type name. + + Example: type.googleapis.com/google.protobuf.StringValue + + This string must contain at least one `/` character, and the content after + the last `/` must be the fully-qualified name of the type in canonical + form, without a leading dot. Do not write a scheme on these URI references + so that clients do not attempt to contact them. + + The prefix is arbitrary and Protobuf implementations are expected to + simply strip off everything up to and including the last `/` to identify + the type. `type.googleapis.com/` is a common default prefix that some + legacy implementations require. This prefix does not indicate the origin of + the type, and URIs containing it are not expected to respond to any + requests. + + All type URL strings must be legal URI references with the additional + restriction (for the text format) that the content of the reference + must consist only of alphanumeric characters, percent-encoded escapes, and + characters in the following set (not including the outer backticks): + `/-.~_!$&()*+,;=`. Despite our allowing percent encodings, implementations + should not unescape them to prevent confusion with existing parsers. For + example, `type.googleapis.com%2FFoo` should be rejected. + + In the original design of `Any`, the possibility of launching a type + resolution service at these type URLs was considered but Protobuf never + implemented one and considers contacting these URLs to be problematic and + a potential security issue. Do not attempt to contact type URLs. */ char type_url[1024]; - /* Must be a valid serialized protocol buffer of the above specified type. */ + /* Holds a Protobuf serialization of the type described by type_url. */ google_protobuf_Any_value_t value; } google_protobuf_Any; diff --git a/proto/google/protobuf/any.proto b/proto/google/protobuf/any.proto index eff44e5..e95b5b4 100644 --- a/proto/google/protobuf/any.proto +++ b/proto/google/protobuf/any.proto @@ -42,121 +42,65 @@ option csharp_namespace = "Google.Protobuf.WellKnownTypes"; // `Any` contains an arbitrary serialized protocol buffer message along with a // URL that describes the type of the serialized message. // -// Protobuf library provides support to pack/unpack Any values in the form -// of utility functions or additional generated methods of the Any type. -// -// Example 1: Pack and unpack a message in C++. -// -// Foo foo = ...; -// Any any; -// any.PackFrom(foo); -// ... -// if (any.UnpackTo(&foo)) { -// ... -// } -// -// Example 2: Pack and unpack a message in Java. -// -// Foo foo = ...; -// Any any = Any.pack(foo); -// ... -// if (any.is(Foo.class)) { -// foo = any.unpack(Foo.class); -// } -// // or ... -// if (any.isSameTypeAs(Foo.getDefaultInstance())) { -// foo = any.unpack(Foo.getDefaultInstance()); -// } -// -// Example 3: Pack and unpack a message in Python. -// -// foo = Foo(...) -// any = Any() -// any.Pack(foo) -// ... -// if any.Is(Foo.DESCRIPTOR): -// any.Unpack(foo) -// ... -// -// Example 4: Pack and unpack a message in Go -// -// foo := &pb.Foo{...} -// any, err := anypb.New(foo) -// if err != nil { -// ... -// } -// ... -// foo := &pb.Foo{} -// if err := any.UnmarshalTo(foo); err != nil { -// ... -// } -// -// The pack methods provided by protobuf library will by default use -// 'type.googleapis.com/full.type.name' as the type URL and the unpack -// methods only use the fully qualified type name after the last '/' -// in the type URL, for example "foo.bar.com/x/y.z" will yield type -// name "y.z". -// -// JSON -// ==== -// The JSON representation of an `Any` value uses the regular -// representation of the deserialized, embedded message, with an -// additional field `@type` which contains the type URL. Example: -// -// package google.profile; -// message Person { -// string first_name = 1; -// string last_name = 2; -// } -// -// { -// "@type": "type.googleapis.com/google.profile.Person", -// "firstName": , -// "lastName": -// } -// -// If the embedded message type is well-known and has a custom JSON -// representation, that representation will be embedded adding a field -// `value` which holds the custom JSON in addition to the `@type` -// field. Example (for message [google.protobuf.Duration][]): -// -// { -// "@type": "type.googleapis.com/google.protobuf.Duration", -// "value": "1.212s" -// } -// +// In its binary encoding, an `Any` is an ordinary message; but in other wire +// forms like JSON, it has a special encoding. The format of the type URL is +// described on the `type_url` field. +// +// Protobuf APIs provide utilities to interact with `Any` values: +// +// - A 'pack' operation accepts a message and constructs a generic `Any` wrapper +// around it. +// - An 'unpack' operation reads the content of an `Any` message, either into an +// existing message or a new one. Unpack operations must check the type of the +// value they unpack against the declared `type_url`. +// - An 'is' operation decides whether an `Any` contains a message of the given +// type, i.e. whether it can 'unpack' that type. +// +// The JSON format representation of an `Any` follows one of these cases: +// +// - For types without special-cased JSON encodings, the JSON format +// representation of the `Any` is the same as that of the message, with an +// additional `@type` field which contains the type URL. +// - For types with special-cased JSON encodings (typically called 'well-known' +// types, listed in https://protobuf.dev/programming-guides/json/#any), the +// JSON format representation has a key `@type` which contains the type URL +// and a key `value` which contains the JSON-serialized value. +// +// The text format representation of an `Any` is like a message with one field +// whose name is the type URL in brackets. For example, an `Any` containing a +// `foo.Bar` message may be written `[type.googleapis.com/foo.Bar] { a: 2 }`. message Any { - // A URL/resource name that uniquely identifies the type of the serialized - // protocol buffer message. This string must contain at least - // one "/" character. The last segment of the URL's path must represent - // the fully qualified name of the type (as in - // `path/google.protobuf.Duration`). The name should be in a canonical form - // (e.g., leading "." is not accepted). + // Identifies the type of the serialized Protobuf message with a URI reference + // consisting of a prefix ending in a slash and the fully-qualified type name. // - // In practice, teams usually precompile into the binary all types that they - // expect it to use in the context of Any. However, for URLs which use the - // scheme `http`, `https`, or no scheme, one can optionally set up a type - // server that maps type URLs to message definitions as follows: + // Example: type.googleapis.com/google.protobuf.StringValue // - // * If no scheme is provided, `https` is assumed. - // * An HTTP GET on the URL must yield a [google.protobuf.Type][] - // value in binary format, or produce an error. - // * Applications are allowed to cache lookup results based on the - // URL, or have them precompiled into a binary to avoid any - // lookup. Therefore, binary compatibility needs to be preserved - // on changes to types. (Use versioned type names to manage - // breaking changes.) + // This string must contain at least one `/` character, and the content after + // the last `/` must be the fully-qualified name of the type in canonical + // form, without a leading dot. Do not write a scheme on these URI references + // so that clients do not attempt to contact them. // - // Note: this functionality is not currently available in the official - // protobuf release, and it is not used for type URLs beginning with - // type.googleapis.com. As of May 2023, there are no widely used type server - // implementations and no plans to implement one. + // The prefix is arbitrary and Protobuf implementations are expected to + // simply strip off everything up to and including the last `/` to identify + // the type. `type.googleapis.com/` is a common default prefix that some + // legacy implementations require. This prefix does not indicate the origin of + // the type, and URIs containing it are not expected to respond to any + // requests. // - // Schemes other than `http`, `https` (or the empty scheme) might be - // used with implementation specific semantics. + // All type URL strings must be legal URI references with the additional + // restriction (for the text format) that the content of the reference + // must consist only of alphanumeric characters, percent-encoded escapes, and + // characters in the following set (not including the outer backticks): + // `/-.~_!$&()*+,;=`. Despite our allowing percent encodings, implementations + // should not unescape them to prevent confusion with existing parsers. For + // example, `type.googleapis.com%2FFoo` should be rejected. // + // In the original design of `Any`, the possibility of launching a type + // resolution service at these type URLs was considered but Protobuf never + // implemented one and considers contacting these URLs to be problematic and + // a potential security issue. Do not attempt to contact type URLs. string type_url = 1; - // Must be a valid serialized protocol buffer of the above specified type. + // Holds a Protobuf serialization of the type described by type_url. bytes value = 2; } diff --git a/proto/proto_gen.sh b/proto/proto_gen.sh index 7d264c6..1b36ec0 100755 --- a/proto/proto_gen.sh +++ b/proto/proto_gen.sh @@ -20,7 +20,7 @@ OUTPUT_DIR="./" NANOPB_GENERATOR="../vendor/nanopb/generator/protoc-gen-nanopb" PROTOC="../vendor/nanopb/generator/protoc" PROTO_SOURCE_REPO_URL="git@github.com:LedgerHQ/canton-protos-scala.git" -PROTO_SOURCE_REPO_REF="v1.4.0" +PROTO_SOURCE_REPO_REF="v1.6.3" # Download utility download_if_not_exists() { diff --git a/src/transaction/pb_node_display_config.c b/src/transaction/pb_node_display_config.c index 115f3ce..fdec21b 100644 --- a/src/transaction/pb_node_display_config.c +++ b/src/transaction/pb_node_display_config.c @@ -121,6 +121,14 @@ static const field_config_t TOKEN_TRANSFER_FIELDS[] = { FLD("transfer.instrumentId.admin", NULL, NULL, true), FLD("transfer.meta.values.splice\\.lfdecentralizedtrust\\.org/reason", "Memo", NULL, false)}; +static const field_config_t TOKEN_TRANSFER_V2_FIELDS[] = { + FLD("transfer.sender.owner", "From", NULL, true), + FLD("transfer.amount", "Amount", format_token_amount_field, true), + FLD("transfer.receiver.owner", "To", NULL, true), + FLD("transfer.instrumentId.id", "Token", NULL, true), + FLD("transfer.instrumentId.admin", NULL, NULL, true), + FLD("transfer.meta.values.splice\\.lfdecentralizedtrust\\.org/reason", "Memo", NULL, false)}; + static const field_config_t TOKEN_TRANSFER_ACCEPT_FIELDS[] = { FLD("transfer.sender", "From", NULL, true), FLD("transfer.amount", "Amount", format_token_amount_field, true), @@ -176,6 +184,12 @@ const display_config_t DISPLAY_CONFIGS[] = { TOKEN_TRANSFER_REVIEW_FINISH, META_EMPTY), + CFG_ENTRY(ID("Splice.Api.Token.TransferInstructionV2", "TransferFactory_Transfer"), + TOKEN_TRANSFER_V2_FIELDS, + TOKEN_TRANSFER_REVIEW_TITLE, + TOKEN_TRANSFER_REVIEW_FINISH, + META_EMPTY), + CFG_ENTRY( ID("Splice.ExternalPartyAmuletRules", "ExternalPartyAmuletRules_CreateTransferCommand"), NATIVE_COIN_TRANSFER_FIELDS, @@ -195,17 +209,35 @@ const display_config_t DISPLAY_CONFIGS[] = { TOKEN_TRANSFER_ACCEPT_REVIEW_FINISH, TRANSFER_OFFER_META_ID_LIST), + CFG_ENTRY(ID("Splice.Api.Token.TransferInstructionV2", "TransferInstruction_Accept"), + TOKEN_TRANSFER_ACCEPT_FIELDS, + TOKEN_TRANSFER_ACCEPT_REVIEW_TITLE, + TOKEN_TRANSFER_ACCEPT_REVIEW_FINISH, + TRANSFER_OFFER_META_ID_LIST), + CFG_ENTRY(ID("Splice.Api.Token.TransferInstructionV1", "TransferInstruction_Reject"), TOKEN_TRANSFER_ACCEPT_FIELDS, TOKEN_TRANSFER_REJECT_REVIEW_TITLE, TOKEN_TRANSFER_REJECT_REVIEW_FINISH, TRANSFER_OFFER_META_ID_LIST), + + CFG_ENTRY(ID("Splice.Api.Token.TransferInstructionV2", "TransferInstruction_Reject"), + TOKEN_TRANSFER_ACCEPT_FIELDS, + TOKEN_TRANSFER_REJECT_REVIEW_TITLE, + TOKEN_TRANSFER_REJECT_REVIEW_FINISH, + TRANSFER_OFFER_META_ID_LIST), CFG_ENTRY(ID("Splice.Api.Token.TransferInstructionV1", "TransferInstruction_Withdraw"), TOKEN_TRANSFER_WITHDRAW_FIELDS, TOKEN_TRANSFER_WITHDRAW_REVIEW_TITLE, TOKEN_TRANSFER_WITHDRAW_REVIEW_FINISH, TRANSFER_OFFER_META_ID_LIST), + + CFG_ENTRY(ID("Splice.Api.Token.TransferInstructionV2", "TransferInstruction_Withdraw"), + TOKEN_TRANSFER_WITHDRAW_FIELDS, + TOKEN_TRANSFER_WITHDRAW_REVIEW_TITLE, + TOKEN_TRANSFER_WITHDRAW_REVIEW_FINISH, + TRANSFER_OFFER_META_ID_LIST), }; diff --git a/src/transaction/pb_node_display_parser.c b/src/transaction/pb_node_display_parser.c index d6ce3c2..ba19c4b 100644 --- a/src/transaction/pb_node_display_parser.c +++ b/src/transaction/pb_node_display_parser.c @@ -847,7 +847,8 @@ MUST_CHECK int format_and_populate_display_items(pb_callback_context_t *ctx) { ctx->tx_info->pairs_count = 0; for (size_t i = 0; i < ctx->nb_fields; i++) { tx_field_t *state = &ctx->tx_fields[i]; - if (state->found && state->display && state->value_len > 0) { + if (state->found && state->display && state->value_len > 0 && + PIC(state->config->item_name) != NULL) { ctx->tx_info->pairs[idx].value = app_mem_alloc(state->value_len); if (ctx->tx_info->pairs[idx].value == NULL) { G_context.tx_info.clear_signing_available = false; diff --git a/src/ui/nbgl_display_transaction.c b/src/ui/nbgl_display_transaction.c index 816cae0..12f1b5e 100644 --- a/src/ui/nbgl_display_transaction.c +++ b/src/ui/nbgl_display_transaction.c @@ -61,7 +61,7 @@ MUST_CHECK int ui_display_transaction_bs_choice(bool is_blind_signed) { } if (is_blind_signed) { - PRINTF("Hash: %.*H\n", sizeof(G_context.tx_info.m_hash), G_context.tx_info.m_hash); + PRINTF("Hash: %.*H\n", G_context.tx_info.m_hash_len, G_context.tx_info.m_hash); // Setup data to display size_t hex_hash_length = 2 * G_context.tx_info.m_hash_len + 1; G_context.tx_info.pairs =