From 900b046e34bb3228dd4372ad92b7cb0e4b88868e Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 18 Sep 2026 15:18:45 +0000 Subject: [PATCH] refactor(mls): move the RFC 9420 engine out of marmot/ `quartz/marmot/mls/` is 11,964 LOC of RFC 9420 that has nothing to do with Marmot: TLS codec, HPKE, X25519/Ed25519, the ratchet tree, the key schedule, the secret tree, message framing. Only 3 of its 28 files import anything from `marmot/` at all. It already has a second consumer, and that consumer had to reach through the wrong package to get it: `quic/tls/TlsClient.kt` imports `quartz.marmot.mls.crypto.X25519` for its TLS 1.3 handshake, which is neither Marmot nor MLS. `:contextvm`/cordn will be the third, needing the engine without Marmot's bindings. So the engine moves to `quartz/mls/` and `marmot/` keeps everything else. Pure `git mv` plus the package rename across all six source sets (commonMain, jvmAndroid, appleMain, linuxMain, commonTest, jvmAndroidTest) and the five modules that reference it. No logic change: `:quartz:jvmTest` is 5074 before and 5074 after. The dependency still points the wrong way -- `mls/` retains 10 imports of `marmot/` -- which the next commits fix. Doing the move first keeps that diff small enough to read. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_012BfD4txdnsaPRXmNXbup9n --- .../vitorpamplona/amethyst/model/Account.kt | 4 +- .../amethyst/model/AccountMarmotActions.kt | 2 +- .../model/marmot/AndroidMarmotMessageStore.kt | 2 +- .../model/marmot/AndroidMlsGroupStateStore.kt | 2 +- .../amethyst/cli/commands/StreamCommands.kt | 2 +- .../amethyst/cli/stores/FileStores.kt | 4 +- .../marmot/InMemoryMlsGroupStateStore.kt | 2 +- .../amethyst/commons/marmot/MarmotManager.kt | 12 +- .../commons/marmot/LegacyGroupContractTest.kt | 2 +- .../marmot/MarmotAgentStreamWatcherTest.kt | 4 +- .../MarmotKeyPackageRotationProfileTest.kt | 4 +- .../marmot/MarmotManagerLeaveRejoinTest.kt | 6 +- .../marmot/MarmotManagerRestoreTest.kt | 4 +- .../marmot/MarmotPublishBeforeApplyTest.kt | 2 +- .../marmot/MarmotPublishDurabilityTest.kt | 2 +- .../commons/marmot/MarmotTestStores.kt | 4 +- .../com/vitorpamplona/marmotbench/Fixtures.kt | 4 +- .../marmotbench/PrimitiveBenchmarks.kt | 4 +- .../{marmot => }/mls/crypto/Ed25519.apple.kt | 2 +- .../{marmot => }/mls/crypto/X25519.apple.kt | 2 +- .../quartz/marmot/MarmotInboundProcessor.kt | 20 +-- .../quartz/marmot/MarmotOutboundProcessor.kt | 8 +- .../quartz/marmot/MarmotWelcomeSender.kt | 2 +- .../marmot/appComponents/AdminPolicyV1.kt | 4 +- .../CurrentProfileGroupFactory.kt | 16 +-- .../appComponents/EncryptedMediaPolicyV2.kt | 4 +- .../marmot/appComponents/EncryptedMediaV2.kt | 2 +- .../marmot/appComponents/GroupAvatarUrlV1.kt | 4 +- .../appComponents/GroupBlossomImageV1.kt | 4 +- .../marmot/appComponents/GroupProfileV1.kt | 4 +- .../marmot/appComponents/MarmotGroupState.kt | 6 +- .../appComponents/MessageRetentionV1.kt | 4 +- .../marmot/appComponents/NostrRoutingV1.kt | 4 +- .../agentTextStream/AgentTextStreamCrypto.kt | 2 +- .../AgentTextStreamQuicPolicyV1.kt | 2 +- .../AgentTextStreamTranscriptV1.kt | 2 +- .../MarmotAuthorizationProof.kt | 4 +- .../mip00KeyPackages/KeyPackageEvent.kt | 6 +- .../KeyPackageRotationManager.kt | 26 ++-- .../mip00KeyPackages/KeyPackageUtils.kt | 16 +-- .../marmot/mip01Groups/MarmotGroupData.kt | 6 +- .../marmot/mip01Groups/Mip01ImageCrypto.kt | 2 +- .../Mip04MediaEncryption.kt | 2 +- .../protocolCore/MarmotConvergenceEngine.kt | 8 +- .../marmot/protocolCore/MarmotPublishGate.kt | 8 +- .../protocolCore/MlsCandidateStateEngine.kt | 14 +-- .../{marmot => }/mls/codec/TlsReader.kt | 2 +- .../{marmot => }/mls/codec/TlsSerializable.kt | 2 +- .../{marmot => }/mls/codec/TlsWriter.kt | 2 +- .../mls/components/AppDataDictionary.kt | 10 +- .../mls/components/ComponentData.kt | 8 +- .../mls/components/ComponentsList.kt | 6 +- .../mls/crypto/Curve25519Field.kt | 2 +- .../quartz/{marmot => }/mls/crypto/Ed25519.kt | 2 +- .../quartz/{marmot => }/mls/crypto/Hpke.kt | 2 +- .../mls/crypto/MlsCryptoProvider.kt | 8 +- .../quartz/{marmot => }/mls/crypto/X25519.kt | 2 +- .../{marmot => }/mls/framing/ContentType.kt | 2 +- .../{marmot => }/mls/framing/MlsMessage.kt | 12 +- .../mls/group/MarmotMessageStore.kt | 2 +- .../quartz/{marmot => }/mls/group/MlsGroup.kt | 118 +++++++++--------- .../{marmot => }/mls/group/MlsGroupManager.kt | 38 +++--- .../{marmot => }/mls/group/MlsGroupState.kt | 16 +-- .../mls/group/MlsGroupStateStore.kt | 2 +- .../{marmot => }/mls/messages/Commit.kt | 20 +-- .../mls/messages/MlsKeyPackage.kt | 16 +-- .../{marmot => }/mls/messages/Proposal.kt | 12 +- .../{marmot => }/mls/messages/Welcome.kt | 14 +-- .../{marmot => }/mls/schedule/KeySchedule.kt | 4 +- .../{marmot => }/mls/schedule/SecretTree.kt | 6 +- .../{marmot => }/mls/tree/BinaryTree.kt | 2 +- .../quartz/{marmot => }/mls/tree/LeafNode.kt | 8 +- .../{marmot => }/mls/tree/ParentNode.kt | 8 +- .../{marmot => }/mls/tree/RatchetTree.kt | 16 +-- .../quartz/nip44Encryption/SharedKeyCache.kt | 2 +- .../quartz/marmot/MarmotGroupImageTest.kt | 2 +- .../protocolCore/MlsCandidateGraphTest.kt | 4 +- .../quartz/{marmot => }/mls/BinaryTreeTest.kt | 4 +- .../{marmot => }/mls/KeyScheduleTest.kt | 8 +- .../quartz/{marmot => }/mls/MlsTypesTest.kt | 34 ++--- .../quartz/{marmot => }/mls/TlsCodecTest.kt | 8 +- .../mls/group/MlsGroupNegativeTest.kt | 10 +- .../mls/interop/CryptoBasicsInteropTest.kt | 4 +- .../mls/interop/KeyScheduleInteropTest.kt | 4 +- .../MessageSerializationInteropTest.kt | 16 +-- .../mls/interop/MlsInteropVectors.kt | 2 +- .../mls/interop/PassiveClientInteropTest.kt | 8 +- .../mls/interop/SecretTreeInteropTest.kt | 4 +- .../mls/interop/TranscriptHashInteropTest.kt | 6 +- .../mls/interop/TreeKemInteropTest.kt | 8 +- .../mls/interop/TreeMathInteropTest.kt | 4 +- .../mls/interop/TreeOperationsInteropTest.kt | 8 +- .../mls/interop/TreeValidationInteropTest.kt | 10 +- .../mls/interop/WelcomeInteropTest.kt | 22 ++-- .../mls/crypto/Ed25519.jvmAndroid.kt | 2 +- .../mls/crypto/X25519.jvmAndroid.kt | 2 +- .../marmot/MarmotConvergenceWiringTest.kt | 2 +- .../quartz/marmot/MarmotMipBehaviorTest.kt | 72 +++++------ .../quartz/marmot/MarmotPipelineTest.kt | 24 ++-- .../CurrentProfileAuthorizationTest.kt | 4 +- .../CurrentProfileGroupFactoryTest.kt | 12 +- .../appComponents/GroupAvatarUrlV1Test.kt | 2 +- .../MarmotGroupStateVectorTest.kt | 4 +- .../mip00KeyPackages/KeyPackageFramingTest.kt | 6 +- .../LastResortKeyPackageReuseTest.kt | 2 +- .../CurrentProfileKeyPackageEventTest.kt | 8 +- .../mls/AmethystAuthoredVectorGen.kt | 16 +-- .../quartz/{marmot => }/mls/Ed25519Test.kt | 4 +- .../quartz/{marmot => }/mls/HpkeTest.kt | 6 +- .../{marmot => }/mls/MdkWelcomeInteropTest.kt | 14 +-- .../{marmot => }/mls/MlsConformanceTest.kt | 32 ++--- .../{marmot => }/mls/MlsGroupEdgeCaseTest.kt | 6 +- .../{marmot => }/mls/MlsGroupLifecycleTest.kt | 6 +- .../{marmot => }/mls/MlsGroupManagerTest.kt | 8 +- .../{marmot => }/mls/MlsGroupStateTest.kt | 16 +-- .../quartz/{marmot => }/mls/MlsGroupTest.kt | 6 +- .../mls/TsMlsWelcomeInteropTest.kt | 14 +-- .../quartz/{marmot => }/mls/X25519Test.kt | 4 +- .../AppDataDictionaryInteropTest.kt | 14 +-- .../components/AppDataUpdateProposalTest.kt | 12 +- .../group/CommitPreservesLeafIdentityTest.kt | 4 +- .../mls/group/CurrentProfileWelcomeTest.kt | 10 +- .../mls/group/UpdatePathAncestorTest.kt | 4 +- .../{marmot => }/mls/crypto/Ed25519.linux.kt | 2 +- .../{marmot => }/mls/crypto/X25519.linux.kt | 2 +- .../com/vitorpamplona/quic/tls/TlsClient.kt | 4 +- .../quic/tls/InProcessTlsServer.kt | 4 +- 127 files changed, 544 insertions(+), 544 deletions(-) rename quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/crypto/Ed25519.apple.kt (99%) rename quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/crypto/X25519.apple.kt (99%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/codec/TlsReader.kt (99%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/codec/TlsSerializable.kt (96%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/codec/TlsWriter.kt (99%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/components/AppDataDictionary.kt (96%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/components/ComponentData.kt (91%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/components/ComponentsList.kt (96%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/crypto/Curve25519Field.kt (99%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/crypto/Ed25519.kt (98%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/crypto/Hpke.kt (99%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/crypto/MlsCryptoProvider.kt (97%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/crypto/X25519.kt (98%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/framing/ContentType.kt (97%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/framing/MlsMessage.kt (97%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/group/MarmotMessageStore.kt (99%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/group/MlsGroup.kt (98%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/group/MlsGroupManager.kt (97%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/group/MlsGroupState.kt (96%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/group/MlsGroupStateStore.kt (98%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/messages/Commit.kt (88%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/messages/MlsKeyPackage.kt (92%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/messages/Proposal.kt (97%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/messages/Welcome.kt (95%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/schedule/KeySchedule.kt (98%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/schedule/SecretTree.kt (99%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/tree/BinaryTree.kt (99%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/tree/LeafNode.kt (98%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/tree/ParentNode.kt (93%) rename quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/tree/RatchetTree.kt (97%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/BinaryTreeTest.kt (99%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/KeyScheduleTest.kt (97%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/MlsTypesTest.kt (88%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/TlsCodecTest.kt (97%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/group/MlsGroupNegativeTest.kt (97%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/CryptoBasicsInteropTest.kt (98%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/KeyScheduleInteropTest.kt (98%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/MessageSerializationInteropTest.kt (94%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/MlsInteropVectors.kt (99%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/PassiveClientInteropTest.kt (96%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/SecretTreeInteropTest.kt (97%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/TranscriptHashInteropTest.kt (96%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/TreeKemInteropTest.kt (94%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/TreeMathInteropTest.kt (97%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/TreeOperationsInteropTest.kt (94%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/TreeValidationInteropTest.kt (93%) rename quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/interop/WelcomeInteropTest.kt (96%) rename quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/crypto/Ed25519.jvmAndroid.kt (99%) rename quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/crypto/X25519.jvmAndroid.kt (99%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/AmethystAuthoredVectorGen.kt (94%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/Ed25519Test.kt (97%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/HpkeTest.kt (97%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/MdkWelcomeInteropTest.kt (95%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/MlsConformanceTest.kt (95%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/MlsGroupEdgeCaseTest.kt (98%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/MlsGroupLifecycleTest.kt (99%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/MlsGroupManagerTest.kt (98%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/MlsGroupStateTest.kt (97%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/MlsGroupTest.kt (98%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/TsMlsWelcomeInteropTest.kt (94%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/X25519Test.kt (97%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/components/AppDataDictionaryInteropTest.kt (96%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/components/AppDataUpdateProposalTest.kt (96%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/group/CommitPreservesLeafIdentityTest.kt (97%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/group/CurrentProfileWelcomeTest.kt (97%) rename quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/group/UpdatePathAncestorTest.kt (98%) rename quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/crypto/Ed25519.linux.kt (99%) rename quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/{marmot => }/mls/crypto/X25519.linux.kt (99%) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt index e72e2907a3..cd4d2615d8 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt @@ -208,7 +208,7 @@ import com.vitorpamplona.quartz.experimental.profileGallery.image import com.vitorpamplona.quartz.experimental.profileGallery.mimeType import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.transport.MarmotQuicTransport import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageEvent -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.nip01Core.core.Address import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.HexKey @@ -377,7 +377,7 @@ class Account( val client: INostrClient, val scope: CoroutineScope, val mlsGroupStateStore: MlsGroupStateStore? = null, - val marmotMessageStore: com.vitorpamplona.quartz.marmot.mls.group.MarmotMessageStore? = null, + val marmotMessageStore: com.vitorpamplona.quartz.mls.group.MarmotMessageStore? = null, val marmotKeyPackageStore: com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageBundleStore? = null, /** * Durable publish obligations. Null means publish-before-apply does not diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/AccountMarmotActions.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/AccountMarmotActions.kt index 86361cadd4..4ec3faf414 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/AccountMarmotActions.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/AccountMarmotActions.kt @@ -692,7 +692,7 @@ class AccountMarmotActions( /** * Revoke admin privileges from [targetPubKey]. Rejects any change that * would leave the group with zero admins — MIP-03's admin-depletion guard - * in [com.vitorpamplona.quartz.marmot.mls.group.MlsGroup] would otherwise + * in [com.vitorpamplona.quartz.mls.group.MlsGroup] would otherwise * throw at commit time. */ suspend fun revokeMarmotGroupAdmin( diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/marmot/AndroidMarmotMessageStore.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/marmot/AndroidMarmotMessageStore.kt index 7f7874fffe..69efc1ac4d 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/marmot/AndroidMarmotMessageStore.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/marmot/AndroidMarmotMessageStore.kt @@ -21,7 +21,7 @@ package com.vitorpamplona.amethyst.model.marmot import com.vitorpamplona.amethyst.model.preferences.KeyStoreEncryption -import com.vitorpamplona.quartz.marmot.mls.group.MarmotMessageStore +import com.vitorpamplona.quartz.mls.group.MarmotMessageStore import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.utils.Log import kotlinx.coroutines.Dispatchers diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/marmot/AndroidMlsGroupStateStore.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/marmot/AndroidMlsGroupStateStore.kt index f202680814..ebd6e52836 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/marmot/AndroidMlsGroupStateStore.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/marmot/AndroidMlsGroupStateStore.kt @@ -21,7 +21,7 @@ package com.vitorpamplona.amethyst.model.marmot import com.vitorpamplona.amethyst.model.preferences.KeyStoreEncryption -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.utils.Log import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/commands/StreamCommands.kt b/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/commands/StreamCommands.kt index 245373936d..2e945bb1a3 100644 --- a/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/commands/StreamCommands.kt +++ b/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/commands/StreamCommands.kt @@ -32,7 +32,7 @@ import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.AgentTextSt import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.InMemoryAgentTextStreamSequenceStore import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.PreviewStatus import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.RecordOutcome -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/stores/FileStores.kt b/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/stores/FileStores.kt index 2898914350..2c759593ba 100644 --- a/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/stores/FileStores.kt +++ b/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/stores/FileStores.kt @@ -24,8 +24,8 @@ import com.vitorpamplona.amethyst.cli.SecureFileIO import com.vitorpamplona.amethyst.commons.util.deleteOrWarn import com.vitorpamplona.quartz.marmot.MarmotIngestDedupStore import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageBundleStore -import com.vitorpamplona.quartz.marmot.mls.group.MarmotMessageStore -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MarmotMessageStore +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.marmot.protocolCore.MarmotPublishObligationStore import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.HexKey diff --git a/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/marmot/InMemoryMlsGroupStateStore.kt b/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/marmot/InMemoryMlsGroupStateStore.kt index a5edbd0bd2..b62e45724d 100644 --- a/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/marmot/InMemoryMlsGroupStateStore.kt +++ b/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/marmot/InMemoryMlsGroupStateStore.kt @@ -20,7 +20,7 @@ */ package com.vitorpamplona.amethyst.commons.marmot -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.utils.concurrent.ConcurrentMap /** diff --git a/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManager.kt b/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManager.kt index 586f4cd0a4..466b347568 100644 --- a/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManager.kt +++ b/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManager.kt @@ -59,12 +59,12 @@ import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData import com.vitorpamplona.quartz.marmot.mip02Welcome.WelcomeEvent import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEventEncryption -import com.vitorpamplona.quartz.marmot.mls.group.MarmotMessageStore -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupManager -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore -import com.vitorpamplona.quartz.marmot.mls.messages.CommitResult -import com.vitorpamplona.quartz.marmot.mls.tree.Credential +import com.vitorpamplona.quartz.mls.group.MarmotMessageStore +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.group.MlsGroupManager +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.messages.CommitResult +import com.vitorpamplona.quartz.mls.tree.Credential import com.vitorpamplona.quartz.marmot.protocolCore.GroupLifecycleState import com.vitorpamplona.quartz.marmot.protocolCore.LocalOutboundGate import com.vitorpamplona.quartz.marmot.protocolCore.MarmotPublishGate diff --git a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/LegacyGroupContractTest.kt b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/LegacyGroupContractTest.kt index b6c1a7643a..ef5642924f 100644 --- a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/LegacyGroupContractTest.kt +++ b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/LegacyGroupContractTest.kt @@ -92,7 +92,7 @@ class LegacyGroupContractTest { ) } - private class ProbeStateStore : com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore { + private class ProbeStateStore : com.vitorpamplona.quartz.mls.group.MlsGroupStateStore { private val states = mutableMapOf() private val retained = mutableMapOf>() diff --git a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotAgentStreamWatcherTest.kt b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotAgentStreamWatcherTest.kt index 91f8afb146..9b01f5176d 100644 --- a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotAgentStreamWatcherTest.kt +++ b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotAgentStreamWatcherTest.kt @@ -29,8 +29,8 @@ import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.transport.M import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.transport.MarmotQuicTransport import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageBundleStore import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData -import com.vitorpamplona.quartz.marmot.mls.group.MarmotMessageStore -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MarmotMessageStore +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal import kotlinx.coroutines.CompletableDeferred diff --git a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotKeyPackageRotationProfileTest.kt b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotKeyPackageRotationProfileTest.kt index 68a0166fd7..abee5063ea 100644 --- a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotKeyPackageRotationProfileTest.kt +++ b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotKeyPackageRotationProfileTest.kt @@ -22,8 +22,8 @@ package com.vitorpamplona.amethyst.commons.marmot import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageBundleStore import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageUtils -import com.vitorpamplona.quartz.marmot.mls.group.MarmotMessageStore -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MarmotMessageStore +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal diff --git a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManagerLeaveRejoinTest.kt b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManagerLeaveRejoinTest.kt index 51c248077f..3b72a404df 100644 --- a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManagerLeaveRejoinTest.kt +++ b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManagerLeaveRejoinTest.kt @@ -22,8 +22,8 @@ package com.vitorpamplona.amethyst.commons.marmot import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageBundleStore import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData -import com.vitorpamplona.quartz.marmot.mls.group.MarmotMessageStore -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MarmotMessageStore +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal @@ -39,7 +39,7 @@ import kotlin.test.assertTrue /** * End-to-end leave + rejoin round-trip at the [MarmotManager] layer. * - * One level above [com.vitorpamplona.quartz.marmot.mls.MlsGroupManagerTest.testLeaveAndRejoin_SameGroupIdEndToEnd] + * One level above [com.vitorpamplona.quartz.mls.MlsGroupManagerTest.testLeaveAndRejoin_SameGroupIdEndToEnd] * in quartz, which only exercises the MLS engine. This one drives the full * commons-layer pipeline: * diff --git a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManagerRestoreTest.kt b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManagerRestoreTest.kt index a923b2ec31..ed22602197 100644 --- a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManagerRestoreTest.kt +++ b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotManagerRestoreTest.kt @@ -22,8 +22,8 @@ package com.vitorpamplona.amethyst.commons.marmot import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageBundleStore import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData -import com.vitorpamplona.quartz.marmot.mls.group.MarmotMessageStore -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MarmotMessageStore +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal diff --git a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotPublishBeforeApplyTest.kt b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotPublishBeforeApplyTest.kt index c63f506200..c0cbeace69 100644 --- a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotPublishBeforeApplyTest.kt +++ b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotPublishBeforeApplyTest.kt @@ -439,7 +439,7 @@ class MarmotPublishBeforeApplyTest { assertEquals(listOf(relay), fx.manager.groupRelays(fx.groupId)) } - private class InMemoryStateStore : com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore { + private class InMemoryStateStore : com.vitorpamplona.quartz.mls.group.MlsGroupStateStore { private val states = mutableMapOf() private val retained = mutableMapOf>() diff --git a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotPublishDurabilityTest.kt b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotPublishDurabilityTest.kt index e06891794c..75d27d756e 100644 --- a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotPublishDurabilityTest.kt +++ b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotPublishDurabilityTest.kt @@ -21,7 +21,7 @@ package com.vitorpamplona.amethyst.commons.marmot import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.marmot.protocolCore.GroupLifecycleState import com.vitorpamplona.quartz.marmot.protocolCore.MarmotPublishObligationStore import com.vitorpamplona.quartz.nip01Core.core.Event diff --git a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotTestStores.kt b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotTestStores.kt index 3fbc237a0d..a0f11c8ab4 100644 --- a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotTestStores.kt +++ b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/marmot/MarmotTestStores.kt @@ -21,8 +21,8 @@ package com.vitorpamplona.amethyst.commons.marmot import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageBundleStore -import com.vitorpamplona.quartz.marmot.mls.group.MarmotMessageStore -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MarmotMessageStore +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.nip01Core.core.Event // In-memory stand-ins for the durable stores a MarmotManager needs. diff --git a/marmotBench/src/main/kotlin/com/vitorpamplona/marmotbench/Fixtures.kt b/marmotBench/src/main/kotlin/com/vitorpamplona/marmotbench/Fixtures.kt index 47a25cc4c1..7cd45721db 100644 --- a/marmotBench/src/main/kotlin/com/vitorpamplona/marmotbench/Fixtures.kt +++ b/marmotBench/src/main/kotlin/com/vitorpamplona/marmotbench/Fixtures.kt @@ -22,8 +22,8 @@ package com.vitorpamplona.marmotbench import com.vitorpamplona.amethyst.commons.marmot.MarmotPublisher import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageBundleStore -import com.vitorpamplona.quartz.marmot.mls.group.MarmotMessageStore -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MarmotMessageStore +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.nip01Core.core.Event // In-memory stores, matching the commons test doubles byte for byte. diff --git a/marmotBench/src/main/kotlin/com/vitorpamplona/marmotbench/PrimitiveBenchmarks.kt b/marmotBench/src/main/kotlin/com/vitorpamplona/marmotbench/PrimitiveBenchmarks.kt index 4754138eaf..8e997fe0eb 100644 --- a/marmotBench/src/main/kotlin/com/vitorpamplona/marmotbench/PrimitiveBenchmarks.kt +++ b/marmotBench/src/main/kotlin/com/vitorpamplona/marmotbench/PrimitiveBenchmarks.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.marmotbench -import com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519 -import com.vitorpamplona.quartz.marmot.mls.crypto.X25519 +import com.vitorpamplona.quartz.mls.crypto.Ed25519 +import com.vitorpamplona.quartz.mls.crypto.X25519 // The elliptic-curve primitives on their own. // diff --git a/quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.apple.kt b/quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.apple.kt similarity index 99% rename from quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.apple.kt rename to quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.apple.kt index 74c7621bc8..209f346438 100644 --- a/quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.apple.kt +++ b/quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.apple.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.crypto +package com.vitorpamplona.quartz.mls.crypto import com.vitorpamplona.quartz.utils.RandomInstance import io.github.andreypfau.kotlinx.crypto.Sha512 diff --git a/quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.apple.kt b/quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.apple.kt similarity index 99% rename from quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.apple.kt rename to quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.apple.kt index 6577f257ed..e7b3959ec3 100644 --- a/quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.apple.kt +++ b/quartz/src/appleMain/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.apple.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.crypto +package com.vitorpamplona.quartz.mls.crypto import com.vitorpamplona.quartz.utils.RandomInstance diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotInboundProcessor.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotInboundProcessor.kt index b1cb1f8f79..bec0f3b872 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotInboundProcessor.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotInboundProcessor.kt @@ -25,21 +25,21 @@ import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageRotationManage import com.vitorpamplona.quartz.marmot.mip02Welcome.WelcomeEvent import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEventEncryption -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.framing.ContentType -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.PrivateMessage -import com.vitorpamplona.quartz.marmot.mls.framing.PublicMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupManager -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupState -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle -import com.vitorpamplona.quartz.marmot.mls.messages.Welcome import com.vitorpamplona.quartz.marmot.protocolCore.ConvergenceAdmission import com.vitorpamplona.quartz.marmot.protocolCore.ConvergenceResolution import com.vitorpamplona.quartz.marmot.protocolCore.ConvergenceStatus import com.vitorpamplona.quartz.marmot.protocolCore.GroupLifecycleState import com.vitorpamplona.quartz.marmot.protocolCore.MarmotConvergenceEngine +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.framing.ContentType +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.PrivateMessage +import com.vitorpamplona.quartz.mls.framing.PublicMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.group.MlsGroupManager +import com.vitorpamplona.quartz.mls.group.MlsGroupState +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.messages.Welcome import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotOutboundProcessor.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotOutboundProcessor.kt index 4674d4bfbd..af786e9afb 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotOutboundProcessor.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotOutboundProcessor.kt @@ -24,7 +24,7 @@ import com.vitorpamplona.quartz.marmot.foundation.appEvents.MarmotAppEvent import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEventEncryption -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupManager +import com.vitorpamplona.quartz.mls.group.MlsGroupManager import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.toHexKey @@ -160,15 +160,15 @@ class MarmotOutboundProcessor( * The commit bytes are already MLS-formatted (PublicMessage envelope). * * @param nostrGroupId the Nostr group ID - * @param commitBytes the framed MLS commit bytes from [com.vitorpamplona.quartz.marmot.mls.group.StagedCommit.framedCommitBytes] + * @param commitBytes the framed MLS commit bytes from [com.vitorpamplona.quartz.mls.group.StagedCommit.framedCommitBytes] * @param exporterKey optional explicit outer-encryption key. Callers * publishing a Commit MUST pass the **pre-commit** exporter secret - * (from [com.vitorpamplona.quartz.marmot.mls.group.StagedCommit.preCommitExporterSecret]) + * (from [com.vitorpamplona.quartz.mls.group.StagedCommit.preCommitExporterSecret]) * so that other existing members at epoch N can decrypt and process * the commit. If null, falls back to the current epoch's exporter * secret — which is only correct when the commit has *not* been * applied locally yet (i.e. this call is made before - * [com.vitorpamplona.quartz.marmot.mls.group.MlsGroup.mergeStagedCommit]). + * [com.vitorpamplona.quartz.mls.group.MlsGroup.mergeStagedCommit]). * @return the signed GroupEvent ready for relay publishing */ suspend fun buildCommitEvent( diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotWelcomeSender.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotWelcomeSender.kt index 6de406ed73..051aaf9742 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotWelcomeSender.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/MarmotWelcomeSender.kt @@ -21,7 +21,7 @@ package com.vitorpamplona.quartz.marmot import com.vitorpamplona.quartz.marmot.mip02Welcome.WelcomeGiftWrap -import com.vitorpamplona.quartz.marmot.mls.messages.CommitResult +import com.vitorpamplona.quartz.mls.messages.CommitResult import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/AdminPolicyV1.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/AdminPolicyV1.kt index b3041004a3..87e659e327 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/AdminPolicyV1.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/AdminPolicyV1.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quartz.marmot.appComponents -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileGroupFactory.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileGroupFactory.kt index a8661a747b..6724c0a093 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileGroupFactory.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileGroupFactory.kt @@ -23,14 +23,14 @@ package com.vitorpamplona.quartz.marmot.appComponents import com.vitorpamplona.quartz.marmot.appComponents.accountIdentityProof.AccountIdentityProofV2 import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.AgentTextStreamQuicPolicyV1 import com.vitorpamplona.quartz.marmot.mip01Groups.MlsCiphersuite -import com.vitorpamplona.quartz.marmot.mls.components.AppDataDictionary -import com.vitorpamplona.quartz.marmot.mls.components.ComponentData -import com.vitorpamplona.quartz.marmot.mls.components.ComponentsList -import com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519 -import com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519KeyPair -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle -import com.vitorpamplona.quartz.marmot.mls.tree.Extension +import com.vitorpamplona.quartz.mls.components.AppDataDictionary +import com.vitorpamplona.quartz.mls.components.ComponentData +import com.vitorpamplona.quartz.mls.components.ComponentsList +import com.vitorpamplona.quartz.mls.crypto.Ed25519 +import com.vitorpamplona.quartz.mls.crypto.Ed25519KeyPair +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.tree.Extension import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/EncryptedMediaPolicyV2.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/EncryptedMediaPolicyV2.kt index 8b5cb8d6a6..b642fe72d4 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/EncryptedMediaPolicyV2.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/EncryptedMediaPolicyV2.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quartz.marmot.appComponents -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter /** One blob-store endpoint and the locator kind it serves. */ data class BlobStoreEndpointV2( diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/EncryptedMediaV2.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/EncryptedMediaV2.kt index faed1c71a4..d9c3bd76a8 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/EncryptedMediaV2.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/EncryptedMediaV2.kt @@ -20,7 +20,7 @@ */ package com.vitorpamplona.quartz.marmot.appComponents -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.nip44Encryption.crypto.ChaCha20Poly1305 import com.vitorpamplona.quartz.utils.RandomInstance diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupAvatarUrlV1.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupAvatarUrlV1.kt index 5466ae18c3..48612365b6 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupAvatarUrlV1.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupAvatarUrlV1.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quartz.marmot.appComponents -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter /** * `marmot.group.avatar-url.v1`, component `0x8007` — a group avatar behind an diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupBlossomImageV1.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupBlossomImageV1.kt index 395c6d403f..6f6a24c958 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupBlossomImageV1.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupBlossomImageV1.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quartz.marmot.appComponents -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupProfileV1.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupProfileV1.kt index 3bec7f7365..fd82ed0d64 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupProfileV1.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupProfileV1.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quartz.marmot.appComponents -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter /** * `marmot.group.profile.v1`, component `0x8001` — the group's display name and diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MarmotGroupState.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MarmotGroupState.kt index 9bf7ccd3ea..681abf3628 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MarmotGroupState.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MarmotGroupState.kt @@ -21,9 +21,9 @@ package com.vitorpamplona.quartz.marmot.appComponents import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.AgentTextStreamQuicPolicyV1 -import com.vitorpamplona.quartz.marmot.mls.components.AppDataDictionary -import com.vitorpamplona.quartz.marmot.mls.components.ComponentsList -import com.vitorpamplona.quartz.marmot.mls.tree.Extension +import com.vitorpamplona.quartz.mls.components.AppDataDictionary +import com.vitorpamplona.quartz.mls.components.ComponentsList +import com.vitorpamplona.quartz.mls.tree.Extension /** * The current profile's read view of a GroupContext `app_data_dictionary` — the diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MessageRetentionV1.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MessageRetentionV1.kt index 4b240ee781..b229c2e073 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MessageRetentionV1.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MessageRetentionV1.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quartz.marmot.appComponents -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter /** * `marmot.group.message-retention.v1`, component `0x8005` — disappearing diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/NostrRoutingV1.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/NostrRoutingV1.kt index 6f407002ea..863a19f4a9 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/NostrRoutingV1.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/NostrRoutingV1.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quartz.marmot.appComponents -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamCrypto.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamCrypto.kt index f42e44e7e7..af7450e93d 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamCrypto.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamCrypto.kt @@ -20,7 +20,7 @@ */ package com.vitorpamplona.quartz.marmot.appComponents.agentTextStream -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider import com.vitorpamplona.quartz.nip44Encryption.crypto.ChaCha20Poly1305 /** diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamQuicPolicyV1.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamQuicPolicyV1.kt index cb9e29d73a..416d95b79e 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamQuicPolicyV1.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamQuicPolicyV1.kt @@ -21,7 +21,7 @@ package com.vitorpamplona.quartz.marmot.appComponents.agentTextStream import com.vitorpamplona.quartz.marmot.appComponents.AppComponentIds -import com.vitorpamplona.quartz.marmot.mls.components.ComponentData +import com.vitorpamplona.quartz.mls.components.ComponentData /** * `marmot.group.agent-text-stream.quic.v1` (component `0x8006`). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamTranscriptV1.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamTranscriptV1.kt index 300838f9e5..b38fcde197 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamTranscriptV1.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/appComponents/agentTextStream/AgentTextStreamTranscriptV1.kt @@ -20,7 +20,7 @@ */ package com.vitorpamplona.quartz.marmot.appComponents.agentTextStream -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider /** * The rolling hash a stream's final kind-9 chat publishes as `stream-hash`, diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/foundation/authorizationProofs/MarmotAuthorizationProof.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/foundation/authorizationProofs/MarmotAuthorizationProof.kt index e5c72045b1..e6816f5ec7 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/foundation/authorizationProofs/MarmotAuthorizationProof.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/foundation/authorizationProofs/MarmotAuthorizationProof.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quartz.marmot.foundation.authorizationProofs -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.nip01Core.crypto.EventHasher diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageEvent.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageEvent.kt index 5686cd69d1..e377378aeb 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageEvent.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageEvent.kt @@ -24,9 +24,9 @@ import androidx.compose.runtime.Immutable import com.vitorpamplona.quartz.marmot.mip00KeyPackages.tags.AppComponentsTag import com.vitorpamplona.quartz.marmot.mip00KeyPackages.tags.EncodingTag import com.vitorpamplona.quartz.marmot.mip00KeyPackages.tags.MlsProposalsTag -import com.vitorpamplona.quartz.marmot.mls.components.AppDataDictionary -import com.vitorpamplona.quartz.marmot.mls.components.ComponentsList -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.components.AppDataDictionary +import com.vitorpamplona.quartz.mls.components.ComponentsList +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage import com.vitorpamplona.quartz.nip01Core.core.BaseAddressableEvent import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.TagArrayBuilder diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageRotationManager.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageRotationManager.kt index fa7f433319..387738cbf8 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageRotationManager.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageRotationManager.kt @@ -23,19 +23,19 @@ package com.vitorpamplona.quartz.marmot.mip00KeyPackages import com.vitorpamplona.quartz.marmot.appComponents.CurrentProfileGroupFactory import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageRotationManager.Companion.SNAPSHOT_VERSION import com.vitorpamplona.quartz.marmot.mip01Groups.MlsCiphersuite -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519 -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider -import com.vitorpamplona.quartz.marmot.mls.crypto.X25519 -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage -import com.vitorpamplona.quartz.marmot.mls.tree.Capabilities -import com.vitorpamplona.quartz.marmot.mls.tree.Credential -import com.vitorpamplona.quartz.marmot.mls.tree.Extension -import com.vitorpamplona.quartz.marmot.mls.tree.LeafNode -import com.vitorpamplona.quartz.marmot.mls.tree.LeafNodeSource -import com.vitorpamplona.quartz.marmot.mls.tree.Lifetime +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.crypto.Ed25519 +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.X25519 +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.tree.Capabilities +import com.vitorpamplona.quartz.mls.tree.Credential +import com.vitorpamplona.quartz.mls.tree.Extension +import com.vitorpamplona.quartz.mls.tree.LeafNode +import com.vitorpamplona.quartz.mls.tree.LeafNodeSource +import com.vitorpamplona.quartz.mls.tree.Lifetime import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner import com.vitorpamplona.quartz.utils.Log diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageUtils.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageUtils.kt index a5fd89b6ee..b46881df81 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageUtils.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageUtils.kt @@ -29,14 +29,14 @@ import com.vitorpamplona.quartz.marmot.mip00KeyPackages.tags.MlsCiphersuiteTag import com.vitorpamplona.quartz.marmot.mip00KeyPackages.tags.MlsProposalsTag import com.vitorpamplona.quartz.marmot.mip00KeyPackages.tags.MlsProtocolVersionTag import com.vitorpamplona.quartz.marmot.mip01Groups.MlsCiphersuite -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.components.AppDataDictionary -import com.vitorpamplona.quartz.marmot.mls.components.ComponentsList -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage -import com.vitorpamplona.quartz.marmot.mls.tree.Credential +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.components.AppDataDictionary +import com.vitorpamplona.quartz.mls.components.ComponentsList +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.tree.Credential import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip01Groups/MarmotGroupData.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip01Groups/MarmotGroupData.kt index ae0e358e4d..2d583f637e 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip01Groups/MarmotGroupData.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip01Groups/MarmotGroupData.kt @@ -22,9 +22,9 @@ package com.vitorpamplona.quartz.marmot.mip01Groups import androidx.compose.runtime.Immutable import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData.Companion.decodeTls -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.tree.Extension +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.tree.Extension import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip01Groups/Mip01ImageCrypto.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip01Groups/Mip01ImageCrypto.kt index 9600161e76..20556c0db4 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip01Groups/Mip01ImageCrypto.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip01Groups/Mip01ImageCrypto.kt @@ -20,7 +20,7 @@ */ package com.vitorpamplona.quartz.marmot.mip01Groups -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider /** * MIP-01 image & Blossom upload key derivations. diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip04EncryptedMedia/Mip04MediaEncryption.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip04EncryptedMedia/Mip04MediaEncryption.kt index d4285db2a5..be5f751e03 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip04EncryptedMedia/Mip04MediaEncryption.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mip04EncryptedMedia/Mip04MediaEncryption.kt @@ -20,7 +20,7 @@ */ package com.vitorpamplona.quartz.marmot.mip04EncryptedMedia -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider import com.vitorpamplona.quartz.nip44Encryption.crypto.ChaCha20Poly1305 import com.vitorpamplona.quartz.utils.RandomInstance import com.vitorpamplona.quartz.utils.sha256.sha256 diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MarmotConvergenceEngine.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MarmotConvergenceEngine.kt index 91b0760946..7aeeb5983e 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MarmotConvergenceEngine.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MarmotConvergenceEngine.kt @@ -20,10 +20,10 @@ */ package com.vitorpamplona.quartz.marmot.protocolCore -import com.vitorpamplona.quartz.marmot.mls.framing.ContentType -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupManager -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupState +import com.vitorpamplona.quartz.mls.framing.ContentType +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.group.MlsGroupManager +import com.vitorpamplona.quartz.mls.group.MlsGroupState import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.utils.Log diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MarmotPublishGate.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MarmotPublishGate.kt index 369233a9c1..0deaa7438c 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MarmotPublishGate.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MarmotPublishGate.kt @@ -20,10 +20,10 @@ */ package com.vitorpamplona.quartz.marmot.protocolCore -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupManager -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupState +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.group.MlsGroupManager +import com.vitorpamplona.quartz.mls.group.MlsGroupState import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.utils.sha256.sha256 diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MlsCandidateStateEngine.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MlsCandidateStateEngine.kt index 9bd0fa79c9..c8bfcadedf 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MlsCandidateStateEngine.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MlsCandidateStateEngine.kt @@ -20,13 +20,13 @@ */ package com.vitorpamplona.quartz.marmot.protocolCore -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.framing.ContentType -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.PublicMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupState +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.framing.ContentType +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.PublicMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.group.MlsGroupState import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.utils.sha256.sha256 diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/codec/TlsReader.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/codec/TlsReader.kt similarity index 99% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/codec/TlsReader.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/codec/TlsReader.kt index 75fcdebbe9..dfd2dffeee 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/codec/TlsReader.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/codec/TlsReader.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.codec +package com.vitorpamplona.quartz.mls.codec /** * Decoder for TLS presentation language (RFC 8446 Section 3). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/codec/TlsSerializable.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/codec/TlsSerializable.kt similarity index 96% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/codec/TlsSerializable.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/codec/TlsSerializable.kt index bf8fbb95ca..00652cf6c5 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/codec/TlsSerializable.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/codec/TlsSerializable.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.codec +package com.vitorpamplona.quartz.mls.codec /** * Interface for types that can be serialized to TLS presentation language diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/codec/TlsWriter.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/codec/TlsWriter.kt similarity index 99% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/codec/TlsWriter.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/codec/TlsWriter.kt index e147ac4836..da611b9bed 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/codec/TlsWriter.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/codec/TlsWriter.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.codec +package com.vitorpamplona.quartz.mls.codec /** * Encoder for TLS presentation language (RFC 8446 Section 3). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/components/AppDataDictionary.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/components/AppDataDictionary.kt similarity index 96% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/components/AppDataDictionary.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/components/AppDataDictionary.kt index 6faf55d423..88ad278666 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/components/AppDataDictionary.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/components/AppDataDictionary.kt @@ -18,12 +18,12 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.components +package com.vitorpamplona.quartz.mls.components -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.tree.Extension +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.tree.Extension /** * The `app_data_dictionary` MLS extension (draft-ietf-mls-extensions-10 §4.6), diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/components/ComponentData.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/components/ComponentData.kt similarity index 91% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/components/ComponentData.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/components/ComponentData.kt index 585adb9a8e..1f6103ac09 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/components/ComponentData.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/components/ComponentData.kt @@ -18,11 +18,11 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.components +package com.vitorpamplona.quartz.mls.components -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter /** * One entry in an [AppDataDictionary] (draft-ietf-mls-extensions-10 §4.6). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/components/ComponentsList.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/components/ComponentsList.kt similarity index 96% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/components/ComponentsList.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/components/ComponentsList.kt index e3d58942e1..1bd4b1e5e6 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/components/ComponentsList.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/components/ComponentsList.kt @@ -18,10 +18,10 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.components +package com.vitorpamplona.quartz.mls.components -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter /** * The `ComponentsList` payload shared by the upstream `app_components` diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Curve25519Field.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Curve25519Field.kt similarity index 99% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Curve25519Field.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Curve25519Field.kt index 97ee380680..5e7c0d776c 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Curve25519Field.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Curve25519Field.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.crypto +package com.vitorpamplona.quartz.mls.crypto /** * Field arithmetic over GF(2^255-19) for Curve25519 and Ed25519. diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.kt similarity index 98% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.kt index 3271d75549..6a40d19472 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.crypto +package com.vitorpamplona.quartz.mls.crypto /** * Ed25519 digital signature operations for MLS ciphersuite 0x0001. diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Hpke.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Hpke.kt similarity index 99% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Hpke.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Hpke.kt index fcc7990cdd..3eee283298 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Hpke.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Hpke.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.crypto +package com.vitorpamplona.quartz.mls.crypto import com.vitorpamplona.quartz.utils.ciphers.AESGCM diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/MlsCryptoProvider.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/MlsCryptoProvider.kt similarity index 97% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/MlsCryptoProvider.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/MlsCryptoProvider.kt index 6f12ec5a71..712cc798d1 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/MlsCryptoProvider.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/MlsCryptoProvider.kt @@ -18,11 +18,11 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.crypto +package com.vitorpamplona.quartz.mls.crypto -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter import com.vitorpamplona.quartz.nip44Encryption.crypto.Hkdf import com.vitorpamplona.quartz.utils.RandomInstance import com.vitorpamplona.quartz.utils.ciphers.AESGCM diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.kt similarity index 98% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.kt index ea6f18ae98..7920ecefdd 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.crypto +package com.vitorpamplona.quartz.mls.crypto /** * X25519 Diffie-Hellman key exchange for MLS DHKEM (RFC 9180). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/framing/ContentType.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/framing/ContentType.kt similarity index 97% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/framing/ContentType.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/framing/ContentType.kt index 0d23249604..da524ffd52 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/framing/ContentType.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/framing/ContentType.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.framing +package com.vitorpamplona.quartz.mls.framing /** * MLS ContentType (RFC 9420 Section 6.1). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/framing/MlsMessage.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/framing/MlsMessage.kt similarity index 97% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/framing/MlsMessage.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/framing/MlsMessage.kt index f01a6f4658..fdbebe7ffa 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/framing/MlsMessage.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/framing/MlsMessage.kt @@ -18,13 +18,13 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.framing +package com.vitorpamplona.quartz.mls.framing -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.messages.Commit -import com.vitorpamplona.quartz.marmot.mls.messages.Proposal +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.messages.Commit +import com.vitorpamplona.quartz.mls.messages.Proposal /** * MLS MLSMessage (RFC 9420 Section 6). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MarmotMessageStore.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MarmotMessageStore.kt similarity index 99% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MarmotMessageStore.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MarmotMessageStore.kt index 4af30c5c3c..46d3adffba 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MarmotMessageStore.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MarmotMessageStore.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.group +package com.vitorpamplona.quartz.mls.group /** * Encrypted local storage for decrypted Marmot inner event JSONs. diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroup.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroup.kt similarity index 98% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroup.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroup.kt index 2fd8322aae..d2a53ebdd9 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroup.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroup.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.group +package com.vitorpamplona.quartz.mls.group import com.vitorpamplona.quartz.marmot.appComponents.AdminPolicyV1 import com.vitorpamplona.quartz.marmot.appComponents.AppComponentIds @@ -27,49 +27,49 @@ import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.AgentTextSt import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.AgentTextStreamQuicPolicyV1 import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.AgentTextStreamRoles import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.components.AppDataDictionary -import com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519 -import com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519KeyPair -import com.vitorpamplona.quartz.marmot.mls.crypto.Hpke -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider -import com.vitorpamplona.quartz.marmot.mls.crypto.X25519 -import com.vitorpamplona.quartz.marmot.mls.framing.ContentType -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.PrivateMessage -import com.vitorpamplona.quartz.marmot.mls.framing.PublicMessage -import com.vitorpamplona.quartz.marmot.mls.framing.Sender -import com.vitorpamplona.quartz.marmot.mls.framing.SenderType -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat -import com.vitorpamplona.quartz.marmot.mls.framing.encodeSender -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup.Companion.externalJoin -import com.vitorpamplona.quartz.marmot.mls.messages.Commit -import com.vitorpamplona.quartz.marmot.mls.messages.CommitResult -import com.vitorpamplona.quartz.marmot.mls.messages.EncryptedGroupSecrets -import com.vitorpamplona.quartz.marmot.mls.messages.ExternalJoinResult -import com.vitorpamplona.quartz.marmot.mls.messages.GroupContext -import com.vitorpamplona.quartz.marmot.mls.messages.GroupInfo -import com.vitorpamplona.quartz.marmot.mls.messages.GroupSecrets -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage -import com.vitorpamplona.quartz.marmot.mls.messages.Proposal -import com.vitorpamplona.quartz.marmot.mls.messages.ProposalOrRef -import com.vitorpamplona.quartz.marmot.mls.messages.UpdatePath -import com.vitorpamplona.quartz.marmot.mls.messages.Welcome -import com.vitorpamplona.quartz.marmot.mls.schedule.EpochSecrets -import com.vitorpamplona.quartz.marmot.mls.schedule.KeySchedule -import com.vitorpamplona.quartz.marmot.mls.schedule.SecretTree -import com.vitorpamplona.quartz.marmot.mls.tree.BinaryTree -import com.vitorpamplona.quartz.marmot.mls.tree.Capabilities -import com.vitorpamplona.quartz.marmot.mls.tree.Credential -import com.vitorpamplona.quartz.marmot.mls.tree.Extension -import com.vitorpamplona.quartz.marmot.mls.tree.LeafNode -import com.vitorpamplona.quartz.marmot.mls.tree.LeafNodeSource -import com.vitorpamplona.quartz.marmot.mls.tree.Lifetime -import com.vitorpamplona.quartz.marmot.mls.tree.PathSecretAndKey -import com.vitorpamplona.quartz.marmot.mls.tree.RatchetTree -import com.vitorpamplona.quartz.marmot.mls.tree.UpdatePathNode +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.components.AppDataDictionary +import com.vitorpamplona.quartz.mls.crypto.Ed25519 +import com.vitorpamplona.quartz.mls.crypto.Ed25519KeyPair +import com.vitorpamplona.quartz.mls.crypto.Hpke +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.X25519 +import com.vitorpamplona.quartz.mls.framing.ContentType +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.PrivateMessage +import com.vitorpamplona.quartz.mls.framing.PublicMessage +import com.vitorpamplona.quartz.mls.framing.Sender +import com.vitorpamplona.quartz.mls.framing.SenderType +import com.vitorpamplona.quartz.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.framing.encodeSender +import com.vitorpamplona.quartz.mls.group.MlsGroup.Companion.externalJoin +import com.vitorpamplona.quartz.mls.messages.Commit +import com.vitorpamplona.quartz.mls.messages.CommitResult +import com.vitorpamplona.quartz.mls.messages.EncryptedGroupSecrets +import com.vitorpamplona.quartz.mls.messages.ExternalJoinResult +import com.vitorpamplona.quartz.mls.messages.GroupContext +import com.vitorpamplona.quartz.mls.messages.GroupInfo +import com.vitorpamplona.quartz.mls.messages.GroupSecrets +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.messages.Proposal +import com.vitorpamplona.quartz.mls.messages.ProposalOrRef +import com.vitorpamplona.quartz.mls.messages.UpdatePath +import com.vitorpamplona.quartz.mls.messages.Welcome +import com.vitorpamplona.quartz.mls.schedule.EpochSecrets +import com.vitorpamplona.quartz.mls.schedule.KeySchedule +import com.vitorpamplona.quartz.mls.schedule.SecretTree +import com.vitorpamplona.quartz.mls.tree.BinaryTree +import com.vitorpamplona.quartz.mls.tree.Capabilities +import com.vitorpamplona.quartz.mls.tree.Credential +import com.vitorpamplona.quartz.mls.tree.Extension +import com.vitorpamplona.quartz.mls.tree.LeafNode +import com.vitorpamplona.quartz.mls.tree.LeafNodeSource +import com.vitorpamplona.quartz.mls.tree.Lifetime +import com.vitorpamplona.quartz.mls.tree.PathSecretAndKey +import com.vitorpamplona.quartz.mls.tree.RatchetTree +import com.vitorpamplona.quartz.mls.tree.UpdatePathNode import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.utils.TimeUtils @@ -132,7 +132,7 @@ class MlsGroup private constructor( private var interimTranscriptHash: ByteArray, private val pskStore: MutableMap = mutableMapOf(), private val pendingProposals: MutableList = mutableListOf(), - private val sentKeys: MutableMap = mutableMapOf(), + private val sentKeys: MutableMap = mutableMapOf(), /** Staged keys from proposeSigningKeyRotation — only promoted on successful commit */ private var pendingSigningKey: ByteArray? = null, private var pendingEncryptionKey: ByteArray? = null, @@ -154,7 +154,7 @@ class MlsGroup private constructor( val groupId: ByteArray get() = groupContext.groupId val epoch: Long get() = groupContext.epoch val leafIndex: Int get() = myLeafIndex - val extensions: List get() = groupContext.extensions + val extensions: List get() = groupContext.extensions /** * True while our own leaf is still live in the tree. @@ -797,7 +797,7 @@ class MlsGroup private constructor( computeSenderParentHashes(myLeafIndex, preUpdateSiblingHashes) for (nodeIdx in filteredDp) { val existing = tree.getNode(nodeIdx) - if (existing is com.vitorpamplona.quartz.marmot.mls.tree.TreeNode.Parent) { + if (existing is com.vitorpamplona.quartz.mls.tree.TreeNode.Parent) { tree.setParent( nodeIdx, existing.parentNode.copy( @@ -872,11 +872,11 @@ class MlsGroup private constructor( val node = tree.getNode(resNode) ?: return@mapNotNull null val recipientPub = when (node) { - is com.vitorpamplona.quartz.marmot.mls.tree.TreeNode.Leaf -> { + is com.vitorpamplona.quartz.mls.tree.TreeNode.Leaf -> { node.leafNode.encryptionKey } - is com.vitorpamplona.quartz.marmot.mls.tree.TreeNode.Parent -> { + is com.vitorpamplona.quartz.mls.tree.TreeNode.Parent -> { node.parentNode.encryptionKey } } @@ -1855,7 +1855,7 @@ class MlsGroup private constructor( val (filteredDp, filteredCp) = tree.filteredDirectPath(senderLeafIndex) for (nodeIdx in filteredDp) { val existing = tree.getNode(nodeIdx) - if (existing is com.vitorpamplona.quartz.marmot.mls.tree.TreeNode.Parent) { + if (existing is com.vitorpamplona.quartz.mls.tree.TreeNode.Parent) { tree.setParent( nodeIdx, existing.parentNode.copy( @@ -2304,7 +2304,7 @@ class MlsGroup private constructor( ): Pair, ByteArray> = computeSenderParentHashes(tree, senderLeafIndex, preUpdateSiblingHashes) private fun computeSenderParentHashes( - tree: com.vitorpamplona.quartz.marmot.mls.tree.RatchetTree, + tree: com.vitorpamplona.quartz.mls.tree.RatchetTree, senderLeafIndex: Int, preUpdateSiblingHashes: Map, ): Pair, ByteArray> { @@ -2335,7 +2335,7 @@ class MlsGroup private constructor( val parentIdx = filteredDp[i + 1] val parentLevel = filteredLevels[i + 1] val parentNode = tree.getNode(parentIdx) - if (parentNode !is com.vitorpamplona.quartz.marmot.mls.tree.TreeNode.Parent) { + if (parentNode !is com.vitorpamplona.quartz.mls.tree.TreeNode.Parent) { hashes[xIdx] = ByteArray(0) continue } @@ -2358,7 +2358,7 @@ class MlsGroup private constructor( val immediateParentLevel = filteredLevels.first() val immediateParent = tree.getNode(immediateParentIdx) val leafParentHash = - if (immediateParent is com.vitorpamplona.quartz.marmot.mls.tree.TreeNode.Parent) { + if (immediateParent is com.vitorpamplona.quartz.mls.tree.TreeNode.Parent) { val siblingTreeHash = preUpdateSiblingHashes[immediateParentLevel] ?: error("missing pre-update sibling tree hash at level $immediateParentLevel") @@ -3147,7 +3147,7 @@ class MlsGroup private constructor( * (without constructing an [MlsGroup] first). */ private fun computeExternalSenderParentHashes( - tree: com.vitorpamplona.quartz.marmot.mls.tree.RatchetTree, + tree: com.vitorpamplona.quartz.mls.tree.RatchetTree, senderLeafIndex: Int, preUpdateSiblingHashes: Map, ): Pair, ByteArray> { @@ -3160,7 +3160,7 @@ class MlsGroup private constructor( val xIdx = directPath[i] val parentIdx = directPath[i + 1] val parentNode = tree.getNode(parentIdx) - if (parentNode !is com.vitorpamplona.quartz.marmot.mls.tree.TreeNode.Parent) { + if (parentNode !is com.vitorpamplona.quartz.mls.tree.TreeNode.Parent) { hashes[xIdx] = ByteArray(0) continue } @@ -3176,7 +3176,7 @@ class MlsGroup private constructor( val immediateParentIdx = directPath.first() val immediateParent = tree.getNode(immediateParentIdx) val leafParentHash = - if (immediateParent is com.vitorpamplona.quartz.marmot.mls.tree.TreeNode.Parent) { + if (immediateParent is com.vitorpamplona.quartz.mls.tree.TreeNode.Parent) { val siblingTreeHash = preUpdateSiblingHashes[0] ?: error("missing pre-update sibling tree hash at leaf level") @@ -3978,7 +3978,7 @@ class MlsGroup private constructor( computeExternalSenderParentHashes(tree, myLeafIndex, preUpdateSiblingHashes) for (nodeIdx in BinaryTree.directPath(myLeafIndex, tree.leafCount)) { val existing = tree.getNode(nodeIdx) - if (existing is com.vitorpamplona.quartz.marmot.mls.tree.TreeNode.Parent) { + if (existing is com.vitorpamplona.quartz.mls.tree.TreeNode.Parent) { tree.setParent( nodeIdx, existing.parentNode.copy( @@ -4021,11 +4021,11 @@ class MlsGroup private constructor( val node = tree.getNode(resNode) ?: return@mapNotNull null val recipientPub = when (node) { - is com.vitorpamplona.quartz.marmot.mls.tree.TreeNode.Leaf -> { + is com.vitorpamplona.quartz.mls.tree.TreeNode.Leaf -> { node.leafNode.encryptionKey } - is com.vitorpamplona.quartz.marmot.mls.tree.TreeNode.Parent -> { + is com.vitorpamplona.quartz.mls.tree.TreeNode.Parent -> { node.parentNode.encryptionKey } } diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupManager.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupManager.kt similarity index 97% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupManager.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupManager.kt index 3684b248c2..56e22382bc 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupManager.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupManager.kt @@ -18,22 +18,22 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.group +package com.vitorpamplona.quartz.mls.group import com.vitorpamplona.quartz.marmot.appComponents.AdminPolicyV1 import com.vitorpamplona.quartz.marmot.appComponents.GroupLifecycleV1 -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.components.ComponentsList -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider -import com.vitorpamplona.quartz.marmot.mls.framing.PublicMessage -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupManager.Companion.EPOCH_RETENTION_WINDOW -import com.vitorpamplona.quartz.marmot.mls.messages.CommitResult -import com.vitorpamplona.quartz.marmot.mls.messages.ExternalJoinResult -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle -import com.vitorpamplona.quartz.marmot.mls.schedule.KeySchedule -import com.vitorpamplona.quartz.marmot.mls.schedule.SecretTree -import com.vitorpamplona.quartz.marmot.mls.tree.Extension +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.components.ComponentsList +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.framing.PublicMessage +import com.vitorpamplona.quartz.mls.group.MlsGroupManager.Companion.EPOCH_RETENTION_WINDOW +import com.vitorpamplona.quartz.mls.messages.CommitResult +import com.vitorpamplona.quartz.mls.messages.ExternalJoinResult +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.schedule.KeySchedule +import com.vitorpamplona.quartz.mls.schedule.SecretTree +import com.vitorpamplona.quartz.mls.tree.Extension import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.utils.Log import kotlinx.coroutines.sync.Mutex @@ -270,7 +270,7 @@ class MlsGroupManager( nostrGroupId: HexKey, identity: ByteArray, signingKey: ByteArray? = null, - initialExtensions: List = emptyList(), + initialExtensions: List = emptyList(), ): MlsGroup = mutex.withLock { Log.d(TAG) { "createGroup($nostrGroupId): creating new MLS group" } @@ -603,7 +603,7 @@ class MlsGroupManager( senderLeafIndex: Int, confirmationTag: ByteArray, signature: ByteArray = ByteArray(0), - wireFormat: com.vitorpamplona.quartz.marmot.mls.framing.WireFormat = com.vitorpamplona.quartz.marmot.mls.framing.WireFormat.PUBLIC_MESSAGE, + wireFormat: com.vitorpamplona.quartz.mls.framing.WireFormat = com.vitorpamplona.quartz.mls.framing.WireFormat.PUBLIC_MESSAGE, ) = mutex.withLock { val group = requireGroup(nostrGroupId) @@ -702,7 +702,7 @@ class MlsGroupManager( // command, so we MUST persist here or reloaded state // silently reverts to the pre-commit extensions (including // admin list). - if (result.contentType == com.vitorpamplona.quartz.marmot.mls.framing.ContentType.COMMIT && group.epoch != preEpoch) { + if (result.contentType == com.vitorpamplona.quartz.mls.framing.ContentType.COMMIT && group.epoch != preEpoch) { pushRetainedEpoch(nostrGroupId, retainedBefore) persistGroup(nostrGroupId) } @@ -1000,15 +1000,15 @@ class MlsGroupManager( try { val secretTree = SecretTree(retained.encryptionSecret, retained.leafCount) val mlsMsg = - com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage + com.vitorpamplona.quartz.mls.framing.MlsMessage .decodeTls(TlsReader(messageBytes)) - if (mlsMsg.wireFormat != com.vitorpamplona.quartz.marmot.mls.framing.WireFormat.PRIVATE_MESSAGE) { + if (mlsMsg.wireFormat != com.vitorpamplona.quartz.mls.framing.WireFormat.PRIVATE_MESSAGE) { return null } val privMsg = - com.vitorpamplona.quartz.marmot.mls.framing.PrivateMessage + com.vitorpamplona.quartz.mls.framing.PrivateMessage .decodeTls(TlsReader(mlsMsg.payload)) if (privMsg.epoch != retained.epoch) return null diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupState.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupState.kt similarity index 96% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupState.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupState.kt index f9ad4de9e6..140221541e 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupState.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupState.kt @@ -18,14 +18,14 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.group +package com.vitorpamplona.quartz.mls.group -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.messages.GroupContext -import com.vitorpamplona.quartz.marmot.mls.messages.Proposal -import com.vitorpamplona.quartz.marmot.mls.schedule.EpochSecrets -import com.vitorpamplona.quartz.marmot.mls.schedule.SenderRatchetState +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.messages.GroupContext +import com.vitorpamplona.quartz.mls.messages.Proposal +import com.vitorpamplona.quartz.mls.schedule.EpochSecrets +import com.vitorpamplona.quartz.mls.schedule.SenderRatchetState /** * Serializable snapshot of an MLS group's complete state. @@ -46,7 +46,7 @@ import com.vitorpamplona.quartz.marmot.mls.schedule.SenderRatchetState * [senderRatchetStates] carries each sender's live SecretTree ratchet position * (RFC 9420 §9). Preserving it is what stops the restored local member from * re-emitting an already-used generation within the same epoch — see - * [com.vitorpamplona.quartz.marmot.mls.schedule.SecretTree.exportSenderStates]. + * [com.vitorpamplona.quartz.mls.schedule.SecretTree.exportSenderStates]. * It is optional (empty for STATE_VERSION 1 blobs) so older persisted state * still decodes. */ diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupStateStore.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupStateStore.kt similarity index 98% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupStateStore.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupStateStore.kt index d674931a9b..9ca0535f15 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupStateStore.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupStateStore.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.group +package com.vitorpamplona.quartz.mls.group /** * Interface for encrypted local storage of MLS group state. diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/Commit.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/Commit.kt similarity index 88% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/Commit.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/Commit.kt index 9931ec2362..54e4c6400a 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/Commit.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/Commit.kt @@ -18,13 +18,13 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.messages +package com.vitorpamplona.quartz.mls.messages -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.tree.LeafNode -import com.vitorpamplona.quartz.marmot.mls.tree.UpdatePathNode +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.tree.LeafNode +import com.vitorpamplona.quartz.mls.tree.UpdatePathNode /** * MLS Commit (RFC 9420 Section 12.4). @@ -93,7 +93,7 @@ data class UpdatePath( * Result of creating a Commit: the MLS messages to distribute. * * [commitBytes] is the raw TLS-encoded [Commit] struct (RFC 9420 §12.4), useful - * for unit tests and the [com.vitorpamplona.quartz.marmot.mls.group.MlsGroup.processCommit] + * for unit tests and the [com.vitorpamplona.quartz.mls.group.MlsGroup.processCommit] * entry point. For on-the-wire distribution, callers MUST publish * [framedCommitBytes] (the MlsMessage(PublicMessage(FramedContent(commit))) envelope) * so that receivers can parse the sender's leaf index and confirmation tag. @@ -130,17 +130,17 @@ data class CommitResult( } /** - * Result of [com.vitorpamplona.quartz.marmot.mls.group.MlsGroup.externalJoin]. + * Result of [com.vitorpamplona.quartz.mls.group.MlsGroup.externalJoin]. * * [commitBytes] is the raw TLS-encoded [Commit] struct. For on-the-wire * distribution to existing group members, callers MUST publish [framedCommitBytes] * — a `MlsMessage(PublicMessage(FramedContent(commit)))` envelope with sender * `new_member_commit` (RFC 9420 §12.4.3) — so that receivers can parse the * confirmation_tag and process the commit via - * [com.vitorpamplona.quartz.marmot.mls.group.MlsGroup.processFramedCommit]. + * [com.vitorpamplona.quartz.mls.group.MlsGroup.processFramedCommit]. */ data class ExternalJoinResult( - val group: com.vitorpamplona.quartz.marmot.mls.group.MlsGroup, + val group: com.vitorpamplona.quartz.mls.group.MlsGroup, val commitBytes: ByteArray, val framedCommitBytes: ByteArray, ) { diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/MlsKeyPackage.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/MlsKeyPackage.kt similarity index 92% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/MlsKeyPackage.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/MlsKeyPackage.kt index a2cd4a3422..638bb2a5b4 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/MlsKeyPackage.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/MlsKeyPackage.kt @@ -18,16 +18,16 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.messages +package com.vitorpamplona.quartz.mls.messages import com.vitorpamplona.quartz.marmot.appComponents.AppComponentIds -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.components.AppDataDictionary -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider -import com.vitorpamplona.quartz.marmot.mls.tree.Extension -import com.vitorpamplona.quartz.marmot.mls.tree.LeafNode +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.components.AppDataDictionary +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.tree.Extension +import com.vitorpamplona.quartz.mls.tree.LeafNode /** * MLS KeyPackage (RFC 9420 Section 10). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/Proposal.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/Proposal.kt similarity index 97% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/Proposal.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/Proposal.kt index afd21f4161..e87c3a97ba 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/Proposal.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/Proposal.kt @@ -18,13 +18,13 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.messages +package com.vitorpamplona.quartz.mls.messages -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.tree.Extension -import com.vitorpamplona.quartz.marmot.mls.tree.LeafNode +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.tree.Extension +import com.vitorpamplona.quartz.mls.tree.LeafNode /** * MLS Proposal types (RFC 9420 Section 12). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/Welcome.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/Welcome.kt similarity index 95% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/Welcome.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/Welcome.kt index a237669f95..bbaaf38aaf 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/messages/Welcome.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/messages/Welcome.kt @@ -18,14 +18,14 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.messages +package com.vitorpamplona.quartz.mls.messages -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.crypto.HpkeCiphertext -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider -import com.vitorpamplona.quartz.marmot.mls.tree.Extension +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.crypto.HpkeCiphertext +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.tree.Extension /** * MLS Welcome message (RFC 9420 Section 12.4.3.1). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/schedule/KeySchedule.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/schedule/KeySchedule.kt similarity index 98% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/schedule/KeySchedule.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/schedule/KeySchedule.kt index 38b0712c80..046a36a7c2 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/schedule/KeySchedule.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/schedule/KeySchedule.kt @@ -18,9 +18,9 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.schedule +package com.vitorpamplona.quartz.mls.schedule -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider /** * MLS Key Schedule (RFC 9420 Section 8). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/schedule/SecretTree.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/schedule/SecretTree.kt similarity index 99% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/schedule/SecretTree.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/schedule/SecretTree.kt index 6e33b96d40..7ce790586a 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/schedule/SecretTree.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/schedule/SecretTree.kt @@ -18,10 +18,10 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.schedule +package com.vitorpamplona.quartz.mls.schedule -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider -import com.vitorpamplona.quartz.marmot.mls.tree.BinaryTree +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.tree.BinaryTree /** * MLS Secret Tree (RFC 9420 Section 9). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/BinaryTree.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/BinaryTree.kt similarity index 99% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/BinaryTree.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/BinaryTree.kt index a95ce22fef..e8cf80a520 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/BinaryTree.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/BinaryTree.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.tree +package com.vitorpamplona.quartz.mls.tree /** * Left-balanced binary tree index arithmetic for MLS ratchet trees (RFC 9420 Section 7.1). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/LeafNode.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/LeafNode.kt similarity index 98% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/LeafNode.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/LeafNode.kt index 6ae1597895..4acc2b9cb8 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/LeafNode.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/LeafNode.kt @@ -18,11 +18,11 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.tree +package com.vitorpamplona.quartz.mls.tree -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter /** * MLS Credential (RFC 9420 Section 5.3). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/ParentNode.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/ParentNode.kt similarity index 93% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/ParentNode.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/ParentNode.kt index 868f1dd9fc..336cfea3fd 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/ParentNode.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/ParentNode.kt @@ -18,11 +18,11 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.tree +package com.vitorpamplona.quartz.mls.tree -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter /** * MLS ParentNode (RFC 9420 Section 7.1). diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/RatchetTree.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/RatchetTree.kt similarity index 97% rename from quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/RatchetTree.kt rename to quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/RatchetTree.kt index 84b54bbb43..36bc409f52 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/marmot/mls/tree/RatchetTree.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/mls/tree/RatchetTree.kt @@ -18,12 +18,12 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.tree +package com.vitorpamplona.quartz.mls.tree -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider /** * MLS Ratchet Tree (RFC 9420 Section 7). @@ -461,7 +461,7 @@ class RatchetTree( // reject the UpdatePath with `UpdatePathError(PathMismatch)`. val nodeSecret = MlsCryptoProvider.deriveSecret(currentSecret, "node") val kp = - com.vitorpamplona.quartz.marmot.mls.crypto.Hpke + com.vitorpamplona.quartz.mls.crypto.Hpke .deriveKeyPair(nodeSecret) results.add(PathSecretAndKey(currentSecret, kp.privateKey, kp.publicKey)) @@ -610,7 +610,7 @@ sealed class TreeNode : TlsSerializable { /** UpdatePath node: public key + encrypted path secrets for copath nodes */ data class UpdatePathNode( val encryptionKey: ByteArray, - val encryptedPathSecret: List, + val encryptedPathSecret: List, ) : TlsSerializable { override fun encodeTls(writer: TlsWriter) { writer.putOpaqueVarInt(encryptionKey) @@ -635,7 +635,7 @@ data class UpdatePathNode( encryptionKey = reader.readOpaqueVarInt(), encryptedPathSecret = reader.readVectorVarInt { - com.vitorpamplona.quartz.marmot.mls.crypto.HpkeCiphertext + com.vitorpamplona.quartz.mls.crypto.HpkeCiphertext .decodeTls(it) }, ) diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip44Encryption/SharedKeyCache.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip44Encryption/SharedKeyCache.kt index a74614dda6..f15272c2c2 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip44Encryption/SharedKeyCache.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip44Encryption/SharedKeyCache.kt @@ -56,7 +56,7 @@ class SharedKeyCache { * hex string). The precomputed [hash] is only a bucket selector — [equals] does * the authoritative full-content comparison, so hash collisions can never return * the wrong peer's secret. Callers must treat the passed arrays as immutable - * (the same value-type contract [com.vitorpamplona.quartz.marmot.mls.crypto.X25519KeyPair] + * (the same value-type contract [com.vitorpamplona.quartz.mls.crypto.X25519KeyPair] * relies on when used as a map key). */ private class CacheKey( diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotGroupImageTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotGroupImageTest.kt index 6af28d836a..e89867717e 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotGroupImageTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotGroupImageTest.kt @@ -24,7 +24,7 @@ import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupImageCipher import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupImageEncryption import com.vitorpamplona.quartz.marmot.mip01Groups.Mip01ImageCrypto -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsReader import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.nip44Encryption.crypto.ChaCha20Poly1305 diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MlsCandidateGraphTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MlsCandidateGraphTest.kt index 9c5ec40a54..e482fd29d1 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MlsCandidateGraphTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/protocolCore/MlsCandidateGraphTest.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quartz.marmot.protocolCore -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupState +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.group.MlsGroupState import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.utils.sha256.sha256 import kotlin.test.Test diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/BinaryTreeTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/BinaryTreeTest.kt similarity index 99% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/BinaryTreeTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/BinaryTreeTest.kt index 95923a6c3f..3209318fa3 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/BinaryTreeTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/BinaryTreeTest.kt @@ -18,9 +18,9 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.tree.BinaryTree +import com.vitorpamplona.quartz.mls.tree.BinaryTree import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFails diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/KeyScheduleTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/KeyScheduleTest.kt similarity index 97% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/KeyScheduleTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/KeyScheduleTest.kt index a74c41b7a2..92ab553f5d 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/KeyScheduleTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/KeyScheduleTest.kt @@ -18,11 +18,11 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider -import com.vitorpamplona.quartz.marmot.mls.messages.GroupContext -import com.vitorpamplona.quartz.marmot.mls.schedule.KeySchedule +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.messages.GroupContext +import com.vitorpamplona.quartz.mls.schedule.KeySchedule import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFalse diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsTypesTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/MlsTypesTest.kt similarity index 88% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsTypesTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/MlsTypesTest.kt index 8d4a7c864e..f1c712a91a 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsTypesTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/MlsTypesTest.kt @@ -18,24 +18,24 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.framing.ContentType -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.PrivateMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat -import com.vitorpamplona.quartz.marmot.mls.messages.Commit -import com.vitorpamplona.quartz.marmot.mls.messages.GroupContext -import com.vitorpamplona.quartz.marmot.mls.messages.Proposal -import com.vitorpamplona.quartz.marmot.mls.messages.ProposalOrRef -import com.vitorpamplona.quartz.marmot.mls.tree.Capabilities -import com.vitorpamplona.quartz.marmot.mls.tree.Credential -import com.vitorpamplona.quartz.marmot.mls.tree.Extension -import com.vitorpamplona.quartz.marmot.mls.tree.LeafNode -import com.vitorpamplona.quartz.marmot.mls.tree.LeafNodeSource -import com.vitorpamplona.quartz.marmot.mls.tree.Lifetime -import com.vitorpamplona.quartz.marmot.mls.tree.ParentNode +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.framing.ContentType +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.PrivateMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.messages.Commit +import com.vitorpamplona.quartz.mls.messages.GroupContext +import com.vitorpamplona.quartz.mls.messages.Proposal +import com.vitorpamplona.quartz.mls.messages.ProposalOrRef +import com.vitorpamplona.quartz.mls.tree.Capabilities +import com.vitorpamplona.quartz.mls.tree.Credential +import com.vitorpamplona.quartz.mls.tree.Extension +import com.vitorpamplona.quartz.mls.tree.LeafNode +import com.vitorpamplona.quartz.mls.tree.LeafNodeSource +import com.vitorpamplona.quartz.mls.tree.Lifetime +import com.vitorpamplona.quartz.mls.tree.ParentNode import kotlin.test.Test import kotlin.test.assertContentEquals import kotlin.test.assertEquals diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/TlsCodecTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/TlsCodecTest.kt similarity index 97% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/TlsCodecTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/TlsCodecTest.kt index 3f56f4637d..b685e4b6f0 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/TlsCodecTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/TlsCodecTest.kt @@ -18,11 +18,11 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsSerializable -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsSerializable +import com.vitorpamplona.quartz.mls.codec.TlsWriter import kotlin.test.Test import kotlin.test.assertContentEquals import kotlin.test.assertEquals diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupNegativeTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupNegativeTest.kt similarity index 97% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupNegativeTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupNegativeTest.kt index 4ebd900fe1..6f41f3911f 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/MlsGroupNegativeTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/group/MlsGroupNegativeTest.kt @@ -18,12 +18,12 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.group +package com.vitorpamplona.quartz.mls.group -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.PublicMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.PublicMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFailsWith diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/CryptoBasicsInteropTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/CryptoBasicsInteropTest.kt similarity index 98% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/CryptoBasicsInteropTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/CryptoBasicsInteropTest.kt index a4df60ed34..93ed531265 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/CryptoBasicsInteropTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/CryptoBasicsInteropTest.kt @@ -18,10 +18,10 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/KeyScheduleInteropTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/KeyScheduleInteropTest.kt similarity index 98% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/KeyScheduleInteropTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/KeyScheduleInteropTest.kt index 9bf86aa232..136a815c47 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/KeyScheduleInteropTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/KeyScheduleInteropTest.kt @@ -18,10 +18,10 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.schedule.KeySchedule +import com.vitorpamplona.quartz.mls.schedule.KeySchedule import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/MessageSerializationInteropTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/MessageSerializationInteropTest.kt similarity index 94% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/MessageSerializationInteropTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/MessageSerializationInteropTest.kt index cb66e138b6..a7075c5a2f 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/MessageSerializationInteropTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/MessageSerializationInteropTest.kt @@ -18,16 +18,16 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat -import com.vitorpamplona.quartz.marmot.mls.messages.Commit -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage -import com.vitorpamplona.quartz.marmot.mls.tree.RatchetTree +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.messages.Commit +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.tree.RatchetTree import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import kotlin.test.Test diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/MlsInteropVectors.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/MlsInteropVectors.kt similarity index 99% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/MlsInteropVectors.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/MlsInteropVectors.kt index ccc4b09645..7eca2558be 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/MlsInteropVectors.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/MlsInteropVectors.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/PassiveClientInteropTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/PassiveClientInteropTest.kt similarity index 96% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/PassiveClientInteropTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/PassiveClientInteropTest.kt index abc82d58ca..41f8d77679 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/PassiveClientInteropTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/PassiveClientInteropTest.kt @@ -18,12 +18,12 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import kotlin.test.Test diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/SecretTreeInteropTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/SecretTreeInteropTest.kt similarity index 97% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/SecretTreeInteropTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/SecretTreeInteropTest.kt index a3c3537c4a..b2fec38ca9 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/SecretTreeInteropTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/SecretTreeInteropTest.kt @@ -18,10 +18,10 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.schedule.SecretTree +import com.vitorpamplona.quartz.mls.schedule.SecretTree import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TranscriptHashInteropTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TranscriptHashInteropTest.kt similarity index 96% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TranscriptHashInteropTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TranscriptHashInteropTest.kt index 5695c4d1a2..a6e1cfb510 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TranscriptHashInteropTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TranscriptHashInteropTest.kt @@ -18,11 +18,11 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeKemInteropTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeKemInteropTest.kt similarity index 94% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeKemInteropTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeKemInteropTest.kt index e3ff383ca4..9a1c326d02 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeKemInteropTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeKemInteropTest.kt @@ -18,12 +18,12 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.tree.RatchetTree +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.tree.RatchetTree import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeMathInteropTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeMathInteropTest.kt similarity index 97% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeMathInteropTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeMathInteropTest.kt index 9b29f57f66..92e64bebfa 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeMathInteropTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeMathInteropTest.kt @@ -18,10 +18,10 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.tree.BinaryTree +import com.vitorpamplona.quartz.mls.tree.BinaryTree import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import kotlin.test.Test import kotlin.test.assertEquals diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeOperationsInteropTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeOperationsInteropTest.kt similarity index 94% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeOperationsInteropTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeOperationsInteropTest.kt index d207268b20..fec4ef812d 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeOperationsInteropTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeOperationsInteropTest.kt @@ -18,12 +18,12 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.tree.RatchetTree +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.tree.RatchetTree import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeValidationInteropTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeValidationInteropTest.kt similarity index 93% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeValidationInteropTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeValidationInteropTest.kt index dabb75ed9d..bbd2dddb4a 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/TreeValidationInteropTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/TreeValidationInteropTest.kt @@ -18,13 +18,13 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.tree.BinaryTree -import com.vitorpamplona.quartz.marmot.mls.tree.RatchetTree +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.tree.BinaryTree +import com.vitorpamplona.quartz.mls.tree.RatchetTree import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/WelcomeInteropTest.kt b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/WelcomeInteropTest.kt similarity index 96% rename from quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/WelcomeInteropTest.kt rename to quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/WelcomeInteropTest.kt index e87e4425a3..15dea6ccee 100644 --- a/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/marmot/mls/interop/WelcomeInteropTest.kt +++ b/quartz/src/commonTest/kotlin/com/vitorpamplona/quartz/mls/interop/WelcomeInteropTest.kt @@ -18,19 +18,19 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.interop +package com.vitorpamplona.quartz.mls.interop import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider -import com.vitorpamplona.quartz.marmot.mls.crypto.X25519 -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat -import com.vitorpamplona.quartz.marmot.mls.messages.GroupInfo -import com.vitorpamplona.quartz.marmot.mls.messages.GroupSecrets -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage -import com.vitorpamplona.quartz.marmot.mls.messages.Welcome -import com.vitorpamplona.quartz.marmot.mls.tree.RatchetTree +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.X25519 +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.messages.GroupInfo +import com.vitorpamplona.quartz.mls.messages.GroupSecrets +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.messages.Welcome +import com.vitorpamplona.quartz.mls.tree.RatchetTree import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import kotlin.test.Test diff --git a/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.jvmAndroid.kt b/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.jvmAndroid.kt similarity index 99% rename from quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.jvmAndroid.kt rename to quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.jvmAndroid.kt index 34fe7fa03b..e20e76cc85 100644 --- a/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.jvmAndroid.kt +++ b/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.jvmAndroid.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.crypto +package com.vitorpamplona.quartz.mls.crypto import com.vitorpamplona.quartz.utils.RandomInstance import io.github.andreypfau.kotlinx.crypto.Sha512 diff --git a/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.jvmAndroid.kt b/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.jvmAndroid.kt similarity index 99% rename from quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.jvmAndroid.kt rename to quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.jvmAndroid.kt index 68d0e477f4..43193cba33 100644 --- a/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.jvmAndroid.kt +++ b/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.jvmAndroid.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.crypto +package com.vitorpamplona.quartz.mls.crypto import com.vitorpamplona.quartz.utils.RandomInstance diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotConvergenceWiringTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotConvergenceWiringTest.kt index 8aafe8e10e..42969d12a6 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotConvergenceWiringTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotConvergenceWiringTest.kt @@ -24,11 +24,11 @@ import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageRotationManage import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEventEncryption -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupManager import com.vitorpamplona.quartz.marmot.protocolCore.ConvergencePolicy import com.vitorpamplona.quartz.marmot.protocolCore.ConvergenceStatus import com.vitorpamplona.quartz.marmot.protocolCore.GroupLifecycleState import com.vitorpamplona.quartz.marmot.protocolCore.MarmotConvergenceEngine +import com.vitorpamplona.quartz.mls.group.MlsGroupManager import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.utils.sha256.sha256 import kotlinx.coroutines.runBlocking diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotMipBehaviorTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotMipBehaviorTest.kt index 9b35b3a6a8..0378f78edf 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotMipBehaviorTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotMipBehaviorTest.kt @@ -23,10 +23,10 @@ package com.vitorpamplona.quartz.marmot import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData import com.vitorpamplona.quartz.marmot.mip02Welcome.WelcomeEvent import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupManager -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.group.MlsGroupManager +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair @@ -405,10 +405,10 @@ class MarmotMipBehaviorTest { // must reject because Remove is admin-only. val proposals = listOf( - com.vitorpamplona.quartz.marmot.mls.group + com.vitorpamplona.quartz.mls.group .PendingProposal( proposal = - com.vitorpamplona.quartz.marmot.mls.messages + com.vitorpamplona.quartz.mls.messages .Proposal .Remove(removedLeafIndex = 0), senderLeafIndex = 1, @@ -444,10 +444,10 @@ class MarmotMipBehaviorTest { // proposal list passes. val proposals = listOf( - com.vitorpamplona.quartz.marmot.mls.group + com.vitorpamplona.quartz.mls.group .PendingProposal( proposal = - com.vitorpamplona.quartz.marmot.mls.messages + com.vitorpamplona.quartz.mls.messages .Proposal .SelfRemove(), senderLeafIndex = 99, @@ -470,10 +470,10 @@ class MarmotMipBehaviorTest { val alice = manager.getGroup(groupId)!! val proposals = listOf( - com.vitorpamplona.quartz.marmot.mls.group + com.vitorpamplona.quartz.mls.group .PendingProposal( proposal = - com.vitorpamplona.quartz.marmot.mls.messages + com.vitorpamplona.quartz.mls.messages .Proposal .GroupContextExtensions( extensions = @@ -517,7 +517,7 @@ class MarmotMipBehaviorTest { val staged = alice.pendingProposalsSnapshot() assertEquals(1, staged.size, "buildSelfRemoveProposalMessage must also stage to pending pool") val entry = staged.single() - assertIs(entry.proposal) + assertIs(entry.proposal) assertEquals(alice.leafIndex, entry.senderLeafIndex) // The captured AC bytes are what RFC 9420 §5.2's MakeProposalRef // hashes — must be present so a peer's commit referencing this @@ -574,7 +574,7 @@ class MarmotMipBehaviorTest { val (alice, bob) = build2MemberGroupWithBobJoined() val proposal = - com.vitorpamplona.quartz.marmot.mls.messages + com.vitorpamplona.quartz.mls.messages .Proposal .SelfRemove() val before = alice.pendingProposalsSnapshot().size @@ -582,14 +582,14 @@ class MarmotMipBehaviorTest { val result = alice.decrypt(wireBytes) assertEquals( - com.vitorpamplona.quartz.marmot.mls.framing.ContentType.PROPOSAL, + com.vitorpamplona.quartz.mls.framing.ContentType.PROPOSAL, result.contentType, ) assertEquals(bob.leafIndex, result.senderLeafIndex) val after = alice.pendingProposalsSnapshot() assertEquals(before + 1, after.size, "decrypt must stage the proposal in pending pool") val staged = after.last() - assertIs(staged.proposal) + assertIs(staged.proposal) assertEquals(bob.leafIndex, staged.senderLeafIndex) assertNotNull( staged.authenticatedContentBytes, @@ -610,7 +610,7 @@ class MarmotMipBehaviorTest { val (alice, bob) = build2MemberGroupWithBobJoined() val proposal = - com.vitorpamplona.quartz.marmot.mls.messages + com.vitorpamplona.quartz.mls.messages .Proposal .Psk(pskType = 1, pskId = ByteArray(16) { 0xAB.toByte() }, pskNonce = ByteArray(16)) val wireBytes = bob.encryptProposalAsPrivateMessage(proposal) @@ -658,7 +658,7 @@ class MarmotMipBehaviorTest { @Test fun secretTree_rejectsRatchetJumpsBeyondCap() { val st = - com.vitorpamplona.quartz.marmot.mls.schedule.SecretTree( + com.vitorpamplona.quartz.mls.schedule.SecretTree( encryptionSecret = ByteArray(32), leafCount = 1, ) @@ -682,7 +682,7 @@ class MarmotMipBehaviorTest { @Test fun privateMessage_rejectsOversizedAuthenticatedData() { val w = - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsWriter() w.putOpaqueVarInt(ByteArray(32)) // group_id w.putUint64(0L) // epoch @@ -692,9 +692,9 @@ class MarmotMipBehaviorTest { w.putOpaqueVarInt(ByteArray(64)) // ciphertext (small) val ex = assertFailsWith { - com.vitorpamplona.quartz.marmot.mls.framing.PrivateMessage + com.vitorpamplona.quartz.mls.framing.PrivateMessage .decodeTls( - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsReader(w.toByteArray()), ) } @@ -717,9 +717,9 @@ class MarmotMipBehaviorTest { fun verifyTreeParentHashesForJoin_acceptsSingleMemberTree() { val alice = MlsGroup.create(aliceId.hexToByteArray()) val tree = - com.vitorpamplona.quartz.marmot.mls.tree.RatchetTree + com.vitorpamplona.quartz.mls.tree.RatchetTree .decodeTls( - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsReader(alice.exportTreeBytes()), ) assertNull(MlsGroup.verifyTreeParentHashesForJoin(tree)) @@ -749,9 +749,9 @@ class MarmotMipBehaviorTest { val alice = manager.getGroup(groupId)!! val originalTree = - com.vitorpamplona.quartz.marmot.mls.tree.RatchetTree + com.vitorpamplona.quartz.mls.tree.RatchetTree .decodeTls( - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsReader(alice.exportTreeBytes()), ) @@ -763,7 +763,7 @@ class MarmotMipBehaviorTest { for (i in 0 until originalTree.leafCount) { val leaf = originalTree.getLeaf(i) ?: continue if (leaf.leafNodeSource == - com.vitorpamplona.quartz.marmot.mls.tree.LeafNodeSource.COMMIT + com.vitorpamplona.quartz.mls.tree.LeafNodeSource.COMMIT ) { val tampered = leaf.copy(parentHash = ByteArray(32) { 0x99.toByte() }) originalTree.setLeaf(i, tampered) @@ -823,7 +823,7 @@ class MarmotMipBehaviorTest { ) // Missing 0xF2EE. val caps = - com.vitorpamplona.quartz.marmot.mls.tree.Capabilities( + com.vitorpamplona.quartz.mls.tree.Capabilities( extensions = emptyList(), proposals = listOf(0x000A), credentials = listOf(0x0001), @@ -847,7 +847,7 @@ class MarmotMipBehaviorTest { credentials = emptyList(), ) val caps = - com.vitorpamplona.quartz.marmot.mls.tree.Capabilities( + com.vitorpamplona.quartz.mls.tree.Capabilities( extensions = emptyList(), proposals = emptyList(), credentials = listOf(0x0001), @@ -866,7 +866,7 @@ class MarmotMipBehaviorTest { credentials = listOf(0x0001), ) val caps = - com.vitorpamplona.quartz.marmot.mls.tree.Capabilities( + com.vitorpamplona.quartz.mls.tree.Capabilities( extensions = listOf(0xF2EE, 0x1234), proposals = listOf(0x000A, 0x000B), credentials = listOf(0x0001, 0x0002), @@ -905,7 +905,7 @@ class MarmotMipBehaviorTest { * (SelfRemove), then re-sign so the KP's outer signature still * validates. Useful for testing the §7.2 gate in isolation. */ - private fun createKeyPackageWithoutSelfRemove(identity: String): com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage { + private fun createKeyPackageWithoutSelfRemove(identity: String): com.vitorpamplona.quartz.mls.messages.MlsKeyPackage { val tempGroup = MlsGroup.create(identity.hexToByteArray()) val bundle = tempGroup.createKeyPackage(identity.hexToByteArray(), ByteArray(0)) val original = bundle.keyPackage @@ -923,7 +923,7 @@ class MarmotMipBehaviorTest { originalLeaf.copy(capabilities = tamperedCaps).let { lf -> val tbs = lf.encodeTbs() val sig = - com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider + com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider .signWithLabel(bundle.signaturePrivateKey, "LeafNodeTBS", tbs) lf.copy(signature = sig) } @@ -931,7 +931,7 @@ class MarmotMipBehaviorTest { val unsigned = original.copy(leafNode = tamperedLeaf, signature = ByteArray(0)) return unsigned.copy( signature = - com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider + com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider .signWithLabel(bundle.signaturePrivateKey, "KeyPackageTBS", unsigned.encodeTbs()), ) } @@ -977,7 +977,7 @@ class MarmotMipBehaviorTest { alice.registerPsk(pskId, pskValue) val proposal = - com.vitorpamplona.quartz.marmot.mls.messages + com.vitorpamplona.quartz.mls.messages .Proposal .Psk(pskType = 1, pskId = pskId, pskNonce = pskNonce) @@ -985,11 +985,11 @@ class MarmotMipBehaviorTest { // Reference computation per §5.3 (PSKType=1, no usage/group/epoch). val zero = ByteArray(32) - val crypto = com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider + val crypto = com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider val pskExtracted = crypto.hkdfExtract(salt = zero, ikm = pskValue) val labelWriter = - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsWriter() labelWriter.putUint8(1) // PSKType external labelWriter.putOpaqueVarInt(pskId) @@ -1022,7 +1022,7 @@ class MarmotMipBehaviorTest { alice.registerPsk(pskId, ByteArray(32)) val proposal = - com.vitorpamplona.quartz.marmot.mls.messages + com.vitorpamplona.quartz.mls.messages .Proposal .Psk(pskType = 2, pskId = pskId, pskNonce = ByteArray(16)) @@ -1045,11 +1045,11 @@ class MarmotMipBehaviorTest { alice.registerPsk(idB, ByteArray(32) { 0x44 }) val pskA = - com.vitorpamplona.quartz.marmot.mls.messages + com.vitorpamplona.quartz.mls.messages .Proposal .Psk(pskType = 1, pskId = idA, pskNonce = ByteArray(8)) val pskB = - com.vitorpamplona.quartz.marmot.mls.messages + com.vitorpamplona.quartz.mls.messages .Proposal .Psk(pskType = 1, pskId = idB, pskNonce = ByteArray(8)) diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotPipelineTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotPipelineTest.kt index bb5fd83ec0..67ff8e0e19 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotPipelineTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/MarmotPipelineTest.kt @@ -23,10 +23,10 @@ package com.vitorpamplona.quartz.marmot import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageRotationManager import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEventEncryption -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupManager -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.marmot.protocolCore.ConvergenceStatus import com.vitorpamplona.quartz.marmot.protocolCore.GroupLifecycleState +import com.vitorpamplona.quartz.mls.group.MlsGroupManager +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal @@ -380,28 +380,28 @@ class MarmotPipelineTest { // The framedCommitBytes must decode as an MlsMessage(PublicMessage(commit)) val framed = commitResult.framedCommitBytes val mlsMessage = - com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage + com.vitorpamplona.quartz.mls.framing.MlsMessage .decodeTls( - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsReader(framed), ) assertEquals( - com.vitorpamplona.quartz.marmot.mls.framing.WireFormat.PUBLIC_MESSAGE, + com.vitorpamplona.quartz.mls.framing.WireFormat.PUBLIC_MESSAGE, mlsMessage.wireFormat, ) val publicMessage = - com.vitorpamplona.quartz.marmot.mls.framing.PublicMessage + com.vitorpamplona.quartz.mls.framing.PublicMessage .decodeTls( - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsReader(mlsMessage.payload), ) assertEquals( - com.vitorpamplona.quartz.marmot.mls.framing.ContentType.COMMIT, + com.vitorpamplona.quartz.mls.framing.ContentType.COMMIT, publicMessage.contentType, ) assertEquals( - com.vitorpamplona.quartz.marmot.mls.framing.SenderType.MEMBER, + com.vitorpamplona.quartz.mls.framing.SenderType.MEMBER, publicMessage.sender.senderType, ) assertNotNull(publicMessage.confirmationTag, "confirmation_tag must be present on a commit") @@ -431,13 +431,13 @@ class MarmotPipelineTest { val exporterKey = manager.exporterSecret(groupId) val mlsBytes = GroupEventEncryption.decrypt(event.content, exporterKey) val mlsMessage = - com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage + com.vitorpamplona.quartz.mls.framing.MlsMessage .decodeTls( - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsReader(mlsBytes), ) assertEquals( - com.vitorpamplona.quartz.marmot.mls.framing.WireFormat.PUBLIC_MESSAGE, + com.vitorpamplona.quartz.mls.framing.WireFormat.PUBLIC_MESSAGE, mlsMessage.wireFormat, ) } diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileAuthorizationTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileAuthorizationTest.kt index 5dc2df88e2..f1d45dab74 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileAuthorizationTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileAuthorizationTest.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quartz.marmot.appComponents -import com.vitorpamplona.quartz.marmot.mls.components.AppDataDictionary -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.components.AppDataDictionary +import com.vitorpamplona.quartz.mls.group.MlsGroup import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey import kotlin.test.Test diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileGroupFactoryTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileGroupFactoryTest.kt index 6c138d319b..c79cd05d86 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileGroupFactoryTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/CurrentProfileGroupFactoryTest.kt @@ -25,12 +25,12 @@ import com.vitorpamplona.quartz.marmot.appComponents.accountIdentityProof.Accoun import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.AgentTextStreamRoles import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData import com.vitorpamplona.quartz.marmot.mip01Groups.MlsCiphersuite -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.components.AppDataDictionary -import com.vitorpamplona.quartz.marmot.mls.components.ComponentsList -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage -import com.vitorpamplona.quartz.marmot.mls.tree.Credential +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.components.AppDataDictionary +import com.vitorpamplona.quartz.mls.components.ComponentsList +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.tree.Credential import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupAvatarUrlV1Test.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupAvatarUrlV1Test.kt index dab9c56995..c79419f47a 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupAvatarUrlV1Test.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/GroupAvatarUrlV1Test.kt @@ -20,7 +20,7 @@ */ package com.vitorpamplona.quartz.marmot.appComponents -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.codec.TlsWriter import org.junit.Assert.assertEquals import org.junit.Assert.assertThrows import org.junit.Assert.assertTrue diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MarmotGroupStateVectorTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MarmotGroupStateVectorTest.kt index f385caa7cf..1299edbbf7 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MarmotGroupStateVectorTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/appComponents/MarmotGroupStateVectorTest.kt @@ -21,8 +21,8 @@ package com.vitorpamplona.quartz.marmot.appComponents import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.components.AppDataDictionary -import com.vitorpamplona.quartz.marmot.mls.components.ComponentData +import com.vitorpamplona.quartz.mls.components.AppDataDictionary +import com.vitorpamplona.quartz.mls.components.ComponentData import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageFramingTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageFramingTest.kt index 26619fe6f9..5509b2a4ef 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageFramingTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/KeyPackageFramingTest.kt @@ -20,9 +20,9 @@ */ package com.vitorpamplona.quartz.marmot.mip00KeyPackages -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.group.MlsGroup import kotlin.test.Test import kotlin.test.assertContentEquals import kotlin.test.assertEquals diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/LastResortKeyPackageReuseTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/LastResortKeyPackageReuseTest.kt index 403aa6e217..ed80e026f0 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/LastResortKeyPackageReuseTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mip00KeyPackages/LastResortKeyPackageReuseTest.kt @@ -21,7 +21,7 @@ package com.vitorpamplona.quartz.marmot.mip00KeyPackages import com.vitorpamplona.quartz.marmot.appComponents.CurrentProfileGroupFactory -import com.vitorpamplona.quartz.marmot.mls.tree.Extension +import com.vitorpamplona.quartz.mls.tree.Extension import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal import kotlinx.coroutines.runBlocking diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/transport/CurrentProfileKeyPackageEventTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/transport/CurrentProfileKeyPackageEventTest.kt index 2d18dbd279..b0a31075ff 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/transport/CurrentProfileKeyPackageEventTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/transport/CurrentProfileKeyPackageEventTest.kt @@ -25,10 +25,10 @@ import com.vitorpamplona.quartz.marmot.appComponents.AppComponentIds import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageEvent import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageFetcher import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageUtils -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage -import com.vitorpamplona.quartz.marmot.mls.tree.Credential +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.tree.Credential import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/AmethystAuthoredVectorGen.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/AmethystAuthoredVectorGen.kt similarity index 94% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/AmethystAuthoredVectorGen.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/AmethystAuthoredVectorGen.kt index 1bf2935a0f..865968db72 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/AmethystAuthoredVectorGen.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/AmethystAuthoredVectorGen.kt @@ -18,14 +18,14 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage -import com.vitorpamplona.quartz.marmot.mls.messages.Welcome +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.messages.Welcome import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey @@ -44,7 +44,7 @@ import kotlin.test.Test * JOINER_HANDOFF_JSON=/tmp/joiner-handoff.json \ * AMETHYST_FIXTURE_JSON=/tmp/amethyst-fixture.json \ * ./gradlew :quartz:jvmTest \ - * --tests com.vitorpamplona.quartz.marmot.mls.AmethystAuthoredVectorGen + * --tests com.vitorpamplona.quartz.mls.AmethystAuthoredVectorGen * * The handoff file comes from the foreign backend's * `emit-joiner-kp` helper (it holds Bob's public KP bytes and Bob's diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/Ed25519Test.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/Ed25519Test.kt similarity index 97% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/Ed25519Test.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/Ed25519Test.kt index 19e3c0c7e2..5017c73c38 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/Ed25519Test.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/Ed25519Test.kt @@ -18,9 +18,9 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519 +import com.vitorpamplona.quartz.mls.crypto.Ed25519 import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFalse diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/HpkeTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/HpkeTest.kt similarity index 97% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/HpkeTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/HpkeTest.kt index e740eb7a50..75cba09cf8 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/HpkeTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/HpkeTest.kt @@ -18,10 +18,10 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.crypto.Hpke -import com.vitorpamplona.quartz.marmot.mls.crypto.X25519 +import com.vitorpamplona.quartz.mls.crypto.Hpke +import com.vitorpamplona.quartz.mls.crypto.X25519 import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertTrue diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MdkWelcomeInteropTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MdkWelcomeInteropTest.kt similarity index 95% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MdkWelcomeInteropTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MdkWelcomeInteropTest.kt index 38eb366374..ce9b52f194 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MdkWelcomeInteropTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MdkWelcomeInteropTest.kt @@ -18,15 +18,15 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsConformanceTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsConformanceTest.kt similarity index 95% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsConformanceTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsConformanceTest.kt index 86459eb11e..05cf503773 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsConformanceTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsConformanceTest.kt @@ -18,19 +18,19 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519 -import com.vitorpamplona.quartz.marmot.mls.crypto.Hpke -import com.vitorpamplona.quartz.marmot.mls.crypto.MlsCryptoProvider -import com.vitorpamplona.quartz.marmot.mls.crypto.X25519 -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.messages.GroupInfo -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage -import com.vitorpamplona.quartz.marmot.mls.messages.Welcome -import com.vitorpamplona.quartz.marmot.mls.schedule.KeySchedule -import com.vitorpamplona.quartz.marmot.mls.tree.LeafNode +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.crypto.Ed25519 +import com.vitorpamplona.quartz.mls.crypto.Hpke +import com.vitorpamplona.quartz.mls.crypto.MlsCryptoProvider +import com.vitorpamplona.quartz.mls.crypto.X25519 +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.messages.GroupInfo +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.messages.Welcome +import com.vitorpamplona.quartz.mls.schedule.KeySchedule +import com.vitorpamplona.quartz.mls.tree.LeafNode import kotlin.test.Test import kotlin.test.assertContentEquals import kotlin.test.assertEquals @@ -185,10 +185,10 @@ class MlsConformanceTest { // Deserialize the MlsMessage wrapping the Welcome val mlsMsg = - com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage + com.vitorpamplona.quartz.mls.framing.MlsMessage .decodeTls(TlsReader(welcomeBytes)) assertEquals( - com.vitorpamplona.quartz.marmot.mls.framing.WireFormat.WELCOME, + com.vitorpamplona.quartz.mls.framing.WireFormat.WELCOME, mlsMsg.wireFormat, "Wire format must be WELCOME (3)", ) @@ -415,7 +415,7 @@ class MlsConformanceTest { // Commit should be deserializable val commit = - com.vitorpamplona.quartz.marmot.mls.messages.Commit + com.vitorpamplona.quartz.mls.messages.Commit .decodeTls(TlsReader(result.commitBytes)) assertTrue(commit.proposals.isNotEmpty(), "Commit must contain proposals") assertTrue(commit.updatePath != null, "Add commit should have UpdatePath") @@ -431,7 +431,7 @@ class MlsConformanceTest { assertTrue(result.commitBytes.isNotEmpty()) val commit = - com.vitorpamplona.quartz.marmot.mls.messages.Commit + com.vitorpamplona.quartz.mls.messages.Commit .decodeTls(TlsReader(result.commitBytes)) assertTrue(commit.proposals.isNotEmpty(), "Remove commit must contain proposals") } diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupEdgeCaseTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupEdgeCaseTest.kt similarity index 98% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupEdgeCaseTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupEdgeCaseTest.kt index a9750d7b5f..b1cd2df3a8 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupEdgeCaseTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupEdgeCaseTest.kt @@ -18,10 +18,10 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle import kotlin.test.Test import kotlin.test.assertContentEquals import kotlin.test.assertEquals diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupLifecycleTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupLifecycleTest.kt similarity index 99% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupLifecycleTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupLifecycleTest.kt index 6609561c90..d8d82eaff0 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupLifecycleTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupLifecycleTest.kt @@ -18,10 +18,10 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle import kotlin.test.Test import kotlin.test.assertContentEquals import kotlin.test.assertEquals diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupManagerTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupManagerTest.kt similarity index 98% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupManagerTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupManagerTest.kt index f516a80421..5cbe45132c 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupManagerTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupManagerTest.kt @@ -18,12 +18,12 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupManager -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupStateStore +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.group.MlsGroupManager +import com.vitorpamplona.quartz.mls.group.MlsGroupStateStore import kotlinx.coroutines.runBlocking import kotlin.test.Test import kotlin.test.assertContentEquals diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupStateTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupStateTest.kt similarity index 97% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupStateTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupStateTest.kt index 81cba67a8a..d9b2f0e138 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupStateTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupStateTest.kt @@ -18,11 +18,11 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupState -import com.vitorpamplona.quartz.marmot.mls.group.RetainedEpochSecrets +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.group.MlsGroupState +import com.vitorpamplona.quartz.mls.group.RetainedEpochSecrets import kotlin.test.Test import kotlin.test.assertContentEquals import kotlin.test.assertEquals @@ -123,14 +123,14 @@ class MlsGroupStateTest { // Serialize and deserialize val writer = - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsWriter() retained.encodeTls(writer) val bytes = writer.toByteArray() val restored = RetainedEpochSecrets.decodeTls( - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsReader(bytes), ) @@ -177,7 +177,7 @@ class MlsGroupStateTest { // staged-proposal pool; older blobs still decode, so the version only // ever moves forward when the layout gains a field. val reader = - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsReader(bytes) val version = reader.readUint16() assertEquals(4, version) @@ -347,7 +347,7 @@ class MlsGroupStateTest { */ private fun encodeAsV1(state: MlsGroupState): ByteArray { val writer = - com.vitorpamplona.quartz.marmot.mls.codec + com.vitorpamplona.quartz.mls.codec .TlsWriter() writer.putUint16(1) state.groupContext.encodeTls(writer) diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupTest.kt similarity index 98% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupTest.kt index e01677c711..74893e3e99 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/MlsGroupTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/MlsGroupTest.kt @@ -18,9 +18,9 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.group.MlsGroup import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertNotNull @@ -48,7 +48,7 @@ class MlsGroupTest { fun testCreateGroupWithSigningKey() { val identity = "alice@nostr".encodeToByteArray() val sigKp = - com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519 + com.vitorpamplona.quartz.mls.crypto.Ed25519 .generateKeyPair() val group = MlsGroup.create(identity, sigKp.privateKey) diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/TsMlsWelcomeInteropTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/TsMlsWelcomeInteropTest.kt similarity index 94% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/TsMlsWelcomeInteropTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/TsMlsWelcomeInteropTest.kt index 244b6c0c00..2324d980ae 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/TsMlsWelcomeInteropTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/TsMlsWelcomeInteropTest.kt @@ -18,15 +18,15 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls import com.vitorpamplona.quartz.TestResourceLoader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/X25519Test.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/X25519Test.kt similarity index 97% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/X25519Test.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/X25519Test.kt index f323e8d342..38bc2a755d 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/X25519Test.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/X25519Test.kt @@ -18,9 +18,9 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls +package com.vitorpamplona.quartz.mls -import com.vitorpamplona.quartz.marmot.mls.crypto.X25519 +import com.vitorpamplona.quartz.mls.crypto.X25519 import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFalse diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/components/AppDataDictionaryInteropTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/components/AppDataDictionaryInteropTest.kt similarity index 96% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/components/AppDataDictionaryInteropTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/components/AppDataDictionaryInteropTest.kt index 6362457ad0..a558d8c37e 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/components/AppDataDictionaryInteropTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/components/AppDataDictionaryInteropTest.kt @@ -18,18 +18,18 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.components +package com.vitorpamplona.quartz.mls.components import com.vitorpamplona.quartz.TestResourceLoader import com.vitorpamplona.quartz.marmot.appComponents.AppComponentIds import com.vitorpamplona.quartz.marmot.appComponents.accountIdentityProof.AccountIdentityProofV2 import com.vitorpamplona.quartz.marmot.mip01Groups.MlsCiphersuite -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.framing.MlsMessage -import com.vitorpamplona.quartz.marmot.mls.framing.WireFormat -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage -import com.vitorpamplona.quartz.marmot.mls.tree.Credential +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.framing.MlsMessage +import com.vitorpamplona.quartz.mls.framing.WireFormat +import com.vitorpamplona.quartz.mls.messages.MlsKeyPackage +import com.vitorpamplona.quartz.mls.tree.Credential import com.vitorpamplona.quartz.nip01Core.core.JsonMapper import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/components/AppDataUpdateProposalTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/components/AppDataUpdateProposalTest.kt similarity index 96% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/components/AppDataUpdateProposalTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/components/AppDataUpdateProposalTest.kt index f5e69864d3..fd735448a9 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/components/AppDataUpdateProposalTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/components/AppDataUpdateProposalTest.kt @@ -18,17 +18,17 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.components +package com.vitorpamplona.quartz.mls.components import com.vitorpamplona.quartz.marmot.appComponents.AdminPolicyV1 import com.vitorpamplona.quartz.marmot.appComponents.AppComponentIds import com.vitorpamplona.quartz.marmot.appComponents.GroupLifecycleV1 import com.vitorpamplona.quartz.marmot.appComponents.GroupProfileV1 -import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader -import com.vitorpamplona.quartz.marmot.mls.codec.TlsWriter -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.messages.Proposal -import com.vitorpamplona.quartz.marmot.mls.messages.ProposalType +import com.vitorpamplona.quartz.mls.codec.TlsReader +import com.vitorpamplona.quartz.mls.codec.TlsWriter +import com.vitorpamplona.quartz.mls.group.MlsGroup +import com.vitorpamplona.quartz.mls.messages.Proposal +import com.vitorpamplona.quartz.mls.messages.ProposalType import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey import kotlin.test.Test diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/CommitPreservesLeafIdentityTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/group/CommitPreservesLeafIdentityTest.kt similarity index 97% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/CommitPreservesLeafIdentityTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/group/CommitPreservesLeafIdentityTest.kt index 101d0048eb..2c651bd466 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/CommitPreservesLeafIdentityTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/group/CommitPreservesLeafIdentityTest.kt @@ -18,12 +18,12 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.group +package com.vitorpamplona.quartz.mls.group import com.vitorpamplona.quartz.marmot.appComponents.AppComponentIds import com.vitorpamplona.quartz.marmot.appComponents.CurrentProfileGroupFactory import com.vitorpamplona.quartz.marmot.appComponents.GroupProfileV1 -import com.vitorpamplona.quartz.marmot.mls.components.AppDataDictionary +import com.vitorpamplona.quartz.mls.components.AppDataDictionary import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal import kotlinx.coroutines.runBlocking diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/CurrentProfileWelcomeTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/group/CurrentProfileWelcomeTest.kt similarity index 97% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/CurrentProfileWelcomeTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/group/CurrentProfileWelcomeTest.kt index 5fb12b322d..0f31400746 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/CurrentProfileWelcomeTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/group/CurrentProfileWelcomeTest.kt @@ -18,16 +18,16 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.group +package com.vitorpamplona.quartz.mls.group import com.vitorpamplona.quartz.marmot.appComponents.CurrentProfileGroupFactory import com.vitorpamplona.quartz.marmot.appComponents.GroupProfileV1 import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.AgentTextStreamQuicPolicyV1 import com.vitorpamplona.quartz.marmot.appComponents.agentTextStream.AgentTextStreamRoles -import com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519 -import com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519KeyPair -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle -import com.vitorpamplona.quartz.marmot.mls.tree.Capabilities +import com.vitorpamplona.quartz.mls.crypto.Ed25519 +import com.vitorpamplona.quartz.mls.crypto.Ed25519KeyPair +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.tree.Capabilities import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair diff --git a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/UpdatePathAncestorTest.kt b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/group/UpdatePathAncestorTest.kt similarity index 98% rename from quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/UpdatePathAncestorTest.kt rename to quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/group/UpdatePathAncestorTest.kt index 8aa92dabbc..90fc240276 100644 --- a/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/marmot/mls/group/UpdatePathAncestorTest.kt +++ b/quartz/src/jvmAndroidTest/kotlin/com/vitorpamplona/quartz/mls/group/UpdatePathAncestorTest.kt @@ -18,9 +18,9 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.group +package com.vitorpamplona.quartz.mls.group -import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle +import com.vitorpamplona.quartz.mls.messages.KeyPackageBundle import kotlin.test.Test import kotlin.test.assertContentEquals import kotlin.test.assertEquals diff --git a/quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.linux.kt b/quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.linux.kt similarity index 99% rename from quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.linux.kt rename to quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.linux.kt index 209c36a4b7..dfb9a361e6 100644 --- a/quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/Ed25519.linux.kt +++ b/quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/mls/crypto/Ed25519.linux.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.crypto +package com.vitorpamplona.quartz.mls.crypto import com.vitorpamplona.quartz.utils.RandomInstance import io.github.andreypfau.kotlinx.crypto.Sha512 diff --git a/quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.linux.kt b/quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.linux.kt similarity index 99% rename from quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.linux.kt rename to quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.linux.kt index 413eb64faa..a8a4188344 100644 --- a/quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/marmot/mls/crypto/X25519.linux.kt +++ b/quartz/src/linuxMain/kotlin/com/vitorpamplona/quartz/mls/crypto/X25519.linux.kt @@ -18,7 +18,7 @@ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package com.vitorpamplona.quartz.marmot.mls.crypto +package com.vitorpamplona.quartz.mls.crypto import com.vitorpamplona.quartz.utils.RandomInstance diff --git a/quic/src/commonMain/kotlin/com/vitorpamplona/quic/tls/TlsClient.kt b/quic/src/commonMain/kotlin/com/vitorpamplona/quic/tls/TlsClient.kt index 5aeba8fc6f..0ded197347 100644 --- a/quic/src/commonMain/kotlin/com/vitorpamplona/quic/tls/TlsClient.kt +++ b/quic/src/commonMain/kotlin/com/vitorpamplona/quic/tls/TlsClient.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quic.tls -import com.vitorpamplona.quartz.marmot.mls.crypto.X25519 -import com.vitorpamplona.quartz.marmot.mls.crypto.X25519KeyPair +import com.vitorpamplona.quartz.mls.crypto.X25519 +import com.vitorpamplona.quartz.mls.crypto.X25519KeyPair import com.vitorpamplona.quic.QuicCodecException import com.vitorpamplona.quic.QuicReader import com.vitorpamplona.quic.QuicWriter diff --git a/quic/src/commonTest/kotlin/com/vitorpamplona/quic/tls/InProcessTlsServer.kt b/quic/src/commonTest/kotlin/com/vitorpamplona/quic/tls/InProcessTlsServer.kt index 356b8b2527..488f090c75 100644 --- a/quic/src/commonTest/kotlin/com/vitorpamplona/quic/tls/InProcessTlsServer.kt +++ b/quic/src/commonTest/kotlin/com/vitorpamplona/quic/tls/InProcessTlsServer.kt @@ -20,8 +20,8 @@ */ package com.vitorpamplona.quic.tls -import com.vitorpamplona.quartz.marmot.mls.crypto.X25519 -import com.vitorpamplona.quartz.marmot.mls.crypto.X25519KeyPair +import com.vitorpamplona.quartz.mls.crypto.X25519 +import com.vitorpamplona.quartz.mls.crypto.X25519KeyPair import com.vitorpamplona.quartz.utils.RandomInstance import com.vitorpamplona.quic.QuicReader import com.vitorpamplona.quic.QuicWriter