feat(common): mark CoSi fields as required

[no changelog]
pull/2597/head
matejcik 2 years ago committed by matejcik
parent 1afc78e368
commit ce307c9484

@ -106,8 +106,8 @@ message CosiCommit {
* @end * @end
*/ */
message CosiCommitment { message CosiCommitment {
optional bytes commitment = 1; // Commitment required bytes commitment = 1; // Commitment
optional bytes pubkey = 2; // Public key required bytes pubkey = 2; // Public key
} }
/** /**
@ -118,9 +118,9 @@ message CosiCommitment {
*/ */
message CosiSign { message CosiSign {
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
optional bytes data = 2; // Data to be signed required bytes data = 2; // Data to be signed
optional bytes global_commitment = 3; // Aggregated commitment required bytes global_commitment = 3; // Aggregated commitment
optional bytes global_pubkey = 4; // Aggregated public key required bytes global_pubkey = 4; // Aggregated public key
} }
/** /**

@ -1992,14 +1992,14 @@ if TYPE_CHECKING:
return isinstance(msg, cls) return isinstance(msg, cls)
class CosiCommitment(protobuf.MessageType): class CosiCommitment(protobuf.MessageType):
commitment: "bytes | None" commitment: "bytes"
pubkey: "bytes | None" pubkey: "bytes"
def __init__( def __init__(
self, self,
*, *,
commitment: "bytes | None" = None, commitment: "bytes",
pubkey: "bytes | None" = None, pubkey: "bytes",
) -> None: ) -> None:
pass pass
@ -2009,17 +2009,17 @@ if TYPE_CHECKING:
class CosiSign(protobuf.MessageType): class CosiSign(protobuf.MessageType):
address_n: "list[int]" address_n: "list[int]"
data: "bytes | None" data: "bytes"
global_commitment: "bytes | None" global_commitment: "bytes"
global_pubkey: "bytes | None" global_pubkey: "bytes"
def __init__( def __init__(
self, self,
*, *,
data: "bytes",
global_commitment: "bytes",
global_pubkey: "bytes",
address_n: "list[int] | None" = None, address_n: "list[int] | None" = None,
data: "bytes | None" = None,
global_commitment: "bytes | None" = None,
global_pubkey: "bytes | None" = None,
) -> None: ) -> None:
pass pass

@ -276,8 +276,6 @@ void fsm_msgCosiCommit(const CosiCommit *msg) {
cosi_nonce_is_set = true; cosi_nonce_is_set = true;
} }
resp->has_commitment = true;
resp->has_pubkey = true;
resp->commitment.size = 32; resp->commitment.size = 32;
resp->pubkey.size = 32; resp->pubkey.size = 32;
@ -293,11 +291,9 @@ void fsm_msgCosiSign(const CosiSign *msg) {
CHECK_INITIALIZED CHECK_INITIALIZED
CHECK_PARAM(msg->has_data, _("No data provided")); CHECK_PARAM(msg->global_commitment.size == 32,
CHECK_PARAM(msg->has_global_commitment && msg->global_commitment.size == 32,
_("Invalid global commitment")); _("Invalid global commitment"));
CHECK_PARAM(msg->has_global_pubkey && msg->global_pubkey.size == 32, CHECK_PARAM(msg->global_pubkey.size == 32, _("Invalid global pubkey"));
_("Invalid global pubkey"));
if (!cosi_nonce_is_set) { if (!cosi_nonce_is_set) {
fsm_sendFailure(FailureType_Failure_ProcessError, _("CoSi nonce not set")); fsm_sendFailure(FailureType_Failure_ProcessError, _("CoSi nonce not set"));

@ -3020,15 +3020,15 @@ class CosiCommit(protobuf.MessageType):
class CosiCommitment(protobuf.MessageType): class CosiCommitment(protobuf.MessageType):
MESSAGE_WIRE_TYPE = 72 MESSAGE_WIRE_TYPE = 72
FIELDS = { FIELDS = {
1: protobuf.Field("commitment", "bytes", repeated=False, required=False, default=None), 1: protobuf.Field("commitment", "bytes", repeated=False, required=True),
2: protobuf.Field("pubkey", "bytes", repeated=False, required=False, default=None), 2: protobuf.Field("pubkey", "bytes", repeated=False, required=True),
} }
def __init__( def __init__(
self, self,
*, *,
commitment: Optional["bytes"] = None, commitment: "bytes",
pubkey: Optional["bytes"] = None, pubkey: "bytes",
) -> None: ) -> None:
self.commitment = commitment self.commitment = commitment
self.pubkey = pubkey self.pubkey = pubkey
@ -3038,18 +3038,18 @@ class CosiSign(protobuf.MessageType):
MESSAGE_WIRE_TYPE = 73 MESSAGE_WIRE_TYPE = 73
FIELDS = { FIELDS = {
1: protobuf.Field("address_n", "uint32", repeated=True, required=False, default=None), 1: protobuf.Field("address_n", "uint32", repeated=True, required=False, default=None),
2: protobuf.Field("data", "bytes", repeated=False, required=False, default=None), 2: protobuf.Field("data", "bytes", repeated=False, required=True),
3: protobuf.Field("global_commitment", "bytes", repeated=False, required=False, default=None), 3: protobuf.Field("global_commitment", "bytes", repeated=False, required=True),
4: protobuf.Field("global_pubkey", "bytes", repeated=False, required=False, default=None), 4: protobuf.Field("global_pubkey", "bytes", repeated=False, required=True),
} }
def __init__( def __init__(
self, self,
*, *,
data: "bytes",
global_commitment: "bytes",
global_pubkey: "bytes",
address_n: Optional[Sequence["int"]] = None, address_n: Optional[Sequence["int"]] = None,
data: Optional["bytes"] = None,
global_commitment: Optional["bytes"] = None,
global_pubkey: Optional["bytes"] = None,
) -> None: ) -> None:
self.address_n: Sequence["int"] = address_n if address_n is not None else [] self.address_n: Sequence["int"] = address_n if address_n is not None else []
self.data = data self.data = data

Loading…
Cancel
Save