Skip to content

Commit

Permalink
Merge pull request #125 from xmtp/rich/legacy-create-identity-associa…
Browse files Browse the repository at this point in the history
…tion

Adds the option for v3 keys to be signed by v2 keys, to avoid additional wallet signatures on clients that already have a signed v2 key.
  • Loading branch information
richardhuaaa authored Jan 11, 2024
2 parents 65bf2b2 + 059ce56 commit 2769931
Show file tree
Hide file tree
Showing 21 changed files with 35 additions and 21 deletions.
2 changes: 1 addition & 1 deletion go/keystore_api/v1/keystore.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_api/v1/authn.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_api/v1/message_api.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_api/v1/message_api_grpc.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_contents/ciphertext.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_contents/composite.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_contents/contact.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_contents/content.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_contents/conversation_reference.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_contents/invitation.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_contents/message.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_contents/private_key.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_contents/public_key.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/message_contents/signature.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/mls/api/v1/mls.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/mls/api/v1/mls_grpc.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/mls/message_contents/message.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/mls_validation/v1/service.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion go/mls_validation/v1/service_grpc.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions proto/mls/message_contents/association.proto
Original file line number Diff line number Diff line change
Expand Up @@ -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";

Expand All @@ -21,6 +23,14 @@ message Eip191Association {
string iso8601_time = 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 {
RecoverableEcdsaSignature signature = 1;
xmtp.message_contents.SignedPublicKey signed_legacy_create_identity_key = 2;
}

// RecoverableEcdsaSignature
message RecoverableEcdsaSignature {
// Includes recovery id as the last byte
Expand Down
8 changes: 6 additions & 2 deletions proto/mls/message_contents/credential.proto
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,17 @@ message MlsCredential {
bytes installation_public_key = 1;
oneof association {
Eip191Association eip_191 = 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 {
bytes installation_key = 1;
bytes unsigned_legacy_create_identity_key = 2;
}
oneof association {
Eip191Association eip_191 = 2;
Eip191Association eip_191 = 3;
}
}

0 comments on commit 2769931

Please sign in to comment.