diff --git a/go/keystore_api/v1/keystore.pb.go b/go/keystore_api/v1/keystore.pb.go index 16b4c7cf..bb3b71f3 100644 --- a/go/keystore_api/v1/keystore.pb.go +++ b/go/keystore_api/v1/keystore.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: keystore_api/v1/keystore.proto package v1 diff --git a/go/message_api/v1/authn.pb.go b/go/message_api/v1/authn.pb.go index a3126aec..2f86aaab 100644 --- a/go/message_api/v1/authn.pb.go +++ b/go/message_api/v1/authn.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_api/v1/authn.proto package v1 diff --git a/go/message_api/v1/message_api.pb.go b/go/message_api/v1/message_api.pb.go index 88c223d6..7834359f 100644 --- a/go/message_api/v1/message_api.pb.go +++ b/go/message_api/v1/message_api.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_api/v1/message_api.proto package v1 diff --git a/go/message_api/v1/message_api_grpc.pb.go b/go/message_api/v1/message_api_grpc.pb.go index 554ccd12..f2453d62 100644 --- a/go/message_api/v1/message_api_grpc.pb.go +++ b/go/message_api/v1/message_api_grpc.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.25.1 +// - protoc v3.21.12 // source: message_api/v1/message_api.proto package v1 diff --git a/go/message_contents/ciphertext.pb.go b/go/message_contents/ciphertext.pb.go index 528f109f..6caf1a1d 100644 --- a/go/message_contents/ciphertext.pb.go +++ b/go/message_contents/ciphertext.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_contents/ciphertext.proto package message_contents diff --git a/go/message_contents/composite.pb.go b/go/message_contents/composite.pb.go index 3395357a..cf539786 100644 --- a/go/message_contents/composite.pb.go +++ b/go/message_contents/composite.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_contents/composite.proto package message_contents diff --git a/go/message_contents/contact.pb.go b/go/message_contents/contact.pb.go index 49bf0b49..1a0edc54 100644 --- a/go/message_contents/contact.pb.go +++ b/go/message_contents/contact.pb.go @@ -7,7 +7,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_contents/contact.proto package message_contents diff --git a/go/message_contents/content.pb.go b/go/message_contents/content.pb.go index 26fa2800..25455f53 100644 --- a/go/message_contents/content.pb.go +++ b/go/message_contents/content.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_contents/content.proto package message_contents diff --git a/go/message_contents/conversation_reference.pb.go b/go/message_contents/conversation_reference.pb.go index d933282d..5599bab9 100644 --- a/go/message_contents/conversation_reference.pb.go +++ b/go/message_contents/conversation_reference.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_contents/conversation_reference.proto package message_contents diff --git a/go/message_contents/invitation.pb.go b/go/message_contents/invitation.pb.go index 72ac731c..bea21169 100644 --- a/go/message_contents/invitation.pb.go +++ b/go/message_contents/invitation.pb.go @@ -5,7 +5,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_contents/invitation.proto package message_contents diff --git a/go/message_contents/message.pb.go b/go/message_contents/message.pb.go index 21fcc9f9..6ace49b3 100644 --- a/go/message_contents/message.pb.go +++ b/go/message_contents/message.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_contents/message.proto package message_contents diff --git a/go/message_contents/private_key.pb.go b/go/message_contents/private_key.pb.go index bb257bc7..853063df 100644 --- a/go/message_contents/private_key.pb.go +++ b/go/message_contents/private_key.pb.go @@ -6,7 +6,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_contents/private_key.proto package message_contents diff --git a/go/message_contents/public_key.pb.go b/go/message_contents/public_key.pb.go index bfa0c886..4faa728e 100644 --- a/go/message_contents/public_key.pb.go +++ b/go/message_contents/public_key.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_contents/public_key.proto package message_contents diff --git a/go/message_contents/signature.pb.go b/go/message_contents/signature.pb.go index e0cb1fb8..9bd630c4 100644 --- a/go/message_contents/signature.pb.go +++ b/go/message_contents/signature.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: message_contents/signature.proto package message_contents diff --git a/go/mls/api/v1/mls.pb.go b/go/mls/api/v1/mls.pb.go index 9ad438d7..d0f0002c 100644 --- a/go/mls/api/v1/mls.pb.go +++ b/go/mls/api/v1/mls.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: mls/api/v1/mls.proto package v1 diff --git a/go/mls/api/v1/mls_grpc.pb.go b/go/mls/api/v1/mls_grpc.pb.go index ae6920a9..dad04c7e 100644 --- a/go/mls/api/v1/mls_grpc.pb.go +++ b/go/mls/api/v1/mls_grpc.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.25.1 +// - protoc v3.21.12 // source: mls/api/v1/mls.proto package v1 diff --git a/go/mls_validation/v1/service.pb.go b/go/mls_validation/v1/service.pb.go index 913585fb..cdba0b77 100644 --- a/go/mls_validation/v1/service.pb.go +++ b/go/mls_validation/v1/service.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v4.25.1 +// protoc v3.21.12 // source: mls_validation/v1/service.proto package v1 diff --git a/go/mls_validation/v1/service_grpc.pb.go b/go/mls_validation/v1/service_grpc.pb.go index 69af37fd..1aa45f6a 100644 --- a/go/mls_validation/v1/service_grpc.pb.go +++ b/go/mls_validation/v1/service_grpc.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.25.1 +// - protoc v3.21.12 // source: mls_validation/v1/service.proto package v1 diff --git a/proto/mls/message_contents/association.proto b/proto/mls/message_contents/association.proto index 1d2ebb09..b18ab67f 100644 --- a/proto/mls/message_contents/association.proto +++ b/proto/mls/message_contents/association.proto @@ -3,6 +3,8 @@ syntax = "proto3"; package xmtp.mls.message_contents; +import "message_contents/public_key.proto"; + option go_package = "github.com/xmtp/proto/v3/go/mls/message_contents"; option java_package = "org.xmtp.proto.mls.message.contents"; @@ -13,17 +15,36 @@ enum AssociationTextVersion { ASSOCIATION_TEXT_VERSION_1 = 1; } -// EIP191Association is used for all EIP 191 compliant wallet signatures -message Eip191Association { +// Used for "Grant Messaging Access" associations +message GrantMessagingAccessAssociation { AssociationTextVersion association_text_version = 1; - RecoverableEcdsaSignature signature = 2; + RecoverableEcdsaSignature signature = 2; // EIP-191 signature string account_address = 3; - string iso8601_time = 4; + uint64 created_ns = 4; +} + +// Used for "Revoke Messaging Access" associations +message RevokeMessagingAccessAssociation { + AssociationTextVersion association_text_version = 1; + RecoverableEcdsaSignature signature = 2; // EIP-191 signature + string account_address = 3; + uint64 created_ns = 4; +} + +// LegacyCreateIdentityAssociation is used when a v3 installation key +// is signed by a v2 identity key, which in turn is signed via a +// 'CreateIdentity' wallet signature +message LegacyCreateIdentityAssociation { + // Signs SHA-256 hash of installation key + RecoverableEcdsaSignature signature = 1; + // created_ns is encoded inside serialized key, account_address is recoverable + // from the SignedPublicKey signature + xmtp.message_contents.SignedPublicKey signed_legacy_create_identity_key = 2; } // RecoverableEcdsaSignature message RecoverableEcdsaSignature { - // Includes recovery id as the last byte + // 65-bytes [ R || S || V ], with recovery id as the last byte bytes bytes = 1; } diff --git a/proto/mls/message_contents/credential.proto b/proto/mls/message_contents/credential.proto index b247fd7f..69cee17a 100644 --- a/proto/mls/message_contents/credential.proto +++ b/proto/mls/message_contents/credential.proto @@ -12,14 +12,20 @@ option java_package = "org.xmtp.proto.mls.message.contents"; message MlsCredential { bytes installation_public_key = 1; oneof association { - Eip191Association eip_191 = 2; + GrantMessagingAccessAssociation messaging_access = 2; + LegacyCreateIdentityAssociation legacy_create_identity = 3; } } // A declaration and proof that a credential is no longer valid message CredentialRevocation { - bytes installation_public_key = 1; + oneof public_key { + // The 'installation_public_key' field of the MlsCredential proto + bytes installation_key = 1; + // The 'key_bytes' field of the legacy SignedPublicKey proto + bytes unsigned_legacy_create_identity_key = 2; + } oneof association { - Eip191Association eip_191 = 2; + RevokeMessagingAccessAssociation messaging_access = 3; } }