@@ -53,7 +53,7 @@ class MessageTest {
53
53
sender = alice,
54
54
recipient = bob.toPublicKeyBundle(),
55
55
message = content,
56
- timestamp = Date ()
56
+ timestamp = Date (),
57
57
)
58
58
assertEquals(aliceWallet.getPrivateKey().walletAddress, message1.senderAddress)
59
59
assertEquals(bobWallet.getPrivateKey().walletAddress, message1.recipientAddress)
@@ -77,13 +77,13 @@ class MessageTest {
77
77
InvitationV1 .newBuilder().build().createDeterministic(
78
78
sender = alice.toV2(),
79
79
recipient = bob.toV2().getPublicKeyBundle(),
80
- context = invitationContext
80
+ context = invitationContext,
81
81
)
82
82
val sealedInvitation = SealedInvitationBuilder .buildFromV1(
83
83
sender = alice.toV2(),
84
84
recipient = bob.toV2().getPublicKeyBundle(),
85
85
created = Date (),
86
- invitation = invitationv1
86
+ invitation = invitationv1,
87
87
)
88
88
val encoder = TextCodec ()
89
89
val encodedContent = encoder.encode(content = " Yo!" )
@@ -92,14 +92,14 @@ class MessageTest {
92
92
encodedContent,
93
93
topic = invitationv1.topic,
94
94
keyMaterial = invitationv1.aes256GcmHkdfSha256.keyMaterial.toByteArray(),
95
- shouldPush = true ,
95
+ codec = encoder ,
96
96
)
97
97
val decoded = MessageV2Builder .buildDecode(
98
98
id = " " ,
99
99
client = client,
100
100
message = message1.messageV2,
101
101
keyMaterial = invitationv1.aes256GcmHkdfSha256.keyMaterial.toByteArray(),
102
- topic = invitationv1.topic
102
+ topic = invitationv1.topic,
103
103
)
104
104
val result: String? = decoded.content()
105
105
assertEquals(result, " Yo!" )
@@ -119,7 +119,7 @@ class MessageTest {
119
119
Numeric .hexStringToByteArray(" d752fb09ee0390fe5902a1bd7b2f530da7e5b3a2bd91bad9df8fa284ab63327b86a59620fd3e2d2cf9183f46bd0fe75bda3caca893420c38416b1f" )
120
120
val additionalData =
121
121
Numeric .hexStringToByteArray(
122
- "0aac020a940108d995eeadcc3012460a440a408f20c9fc03909edeb21538b0a568c423f8829e95c0270779ca704f72a45f02416f6071f6faaf421cac3bacc6bb432fc4b5f92bc4391349953c7c98f12253cdd710011a430a4104b7eb7b56059a4f08bf3dd8f1b329e21d486e39822f17db15bad0d7f689f6c8081ae2800b9014fc9ef355a39e10503fddfdfa0b07ccc1946c2275b10e660d5ded12920108e995eeadcc3012440a420a40da669aa014468ffe34d5b962443d8b1e353b1e39f252bbcffa5c6c70adf9f7d2484de944213f345bac869e8c1942657b9c59f6fc12d139171b22789bc76ffb971a430a4104901d3a7f728bde1f871bcf46d44dcf34eead4c532135913583268d35bd93ca0a1571a8cb6546ab333f2d77c3bb9839be7e8f27795ea4d6e979b6670dec20636d12aa020a920108bad3eaadcc3012440a420a4016d83a6e44ee8b9764f18fbb390f2a4049d92ff904ebd75c76a71d58a7f943744f8bed7d3696f9fb41ce450c5ab9f4a7f9a83e3d10f401bbe85e3992c5156d491a430a41047cebe3a23e573672363665d13220d368d37776e10232de9bd382d5af36392956dbd806f8b78bec5cdc111763e4ef4aff7dee65a8a15fee8d338c387320c5b23912920108bad3eaadcc3012440a420a404a751f28001f34a4136529a99e738279856da6b32a1ee9dba20849d9cd84b6165166a6abeae1139ed8df8be3b4594d9701309075f2b8d5d4de1f713fb62ae37e1a430a41049c45e552ac9f69c083bd358acac31a2e3cf7d9aa9298fef11b43252730949a39c68272302a61b548b13452e19272c119b5189a5d7b5c3283a37d5d9db5ed0c6818b286deaecc30"
122
+ "0aac020a940108d995eeadcc3012460a440a408f20c9fc03909edeb21538b0a568c423f8829e95c0270779ca704f72a45f02416f6071f6faaf421cac3bacc6bb432fc4b5f92bc4391349953c7c98f12253cdd710011a430a4104b7eb7b56059a4f08bf3dd8f1b329e21d486e39822f17db15bad0d7f689f6c8081ae2800b9014fc9ef355a39e10503fddfdfa0b07ccc1946c2275b10e660d5ded12920108e995eeadcc3012440a420a40da669aa014468ffe34d5b962443d8b1e353b1e39f252bbcffa5c6c70adf9f7d2484de944213f345bac869e8c1942657b9c59f6fc12d139171b22789bc76ffb971a430a4104901d3a7f728bde1f871bcf46d44dcf34eead4c532135913583268d35bd93ca0a1571a8cb6546ab333f2d77c3bb9839be7e8f27795ea4d6e979b6670dec20636d12aa020a920108bad3eaadcc3012440a420a4016d83a6e44ee8b9764f18fbb390f2a4049d92ff904ebd75c76a71d58a7f943744f8bed7d3696f9fb41ce450c5ab9f4a7f9a83e3d10f401bbe85e3992c5156d491a430a41047cebe3a23e573672363665d13220d368d37776e10232de9bd382d5af36392956dbd806f8b78bec5cdc111763e4ef4aff7dee65a8a15fee8d338c387320c5b23912920108bad3eaadcc3012440a420a404a751f28001f34a4136529a99e738279856da6b32a1ee9dba20849d9cd84b6165166a6abeae1139ed8df8be3b4594d9701309075f2b8d5d4de1f713fb62ae37e1a430a41049c45e552ac9f69c083bd358acac31a2e3cf7d9aa9298fef11b43252730949a39c68272302a61b548b13452e19272c119b5189a5d7b5c3283a37d5d9db5ed0c6818b286deaecc30",
123
123
)
124
124
val ciphertext = CipherText .newBuilder().apply {
125
125
aes256GcmHkdfSha256 = aes256GcmHkdfSha256.toBuilder().also {
@@ -198,7 +198,7 @@ class MessageTest {
198
198
val convo = client.conversations.list()[0 ]
199
199
convo.send(
200
200
text = " hello deflate from kotlin again" ,
201
- SendOptions (compression = EncodedContentCompression .DEFLATE )
201
+ SendOptions (compression = EncodedContentCompression .DEFLATE ),
202
202
)
203
203
val message = convo.messages().lastOrNull()!!
204
204
assertEquals(" hello deflate from kotlin again" , message.content())
@@ -240,7 +240,7 @@ class MessageTest {
240
240
val convo = ConversationV1 (
241
241
client = client,
242
242
peerAddress = " 0xf4BF19Ed562651837bc11ff975472ABd239D35B5" ,
243
- sentAt = Date ()
243
+ sentAt = Date (),
244
244
)
245
245
convo.send(text = " hello from kotlin" )
246
246
val messages = convo.messages()
@@ -255,7 +255,7 @@ class MessageTest {
255
255
val client = Client ().create(account = wallet)
256
256
val convo = client.conversations.newConversation(
257
257
" 0xf4BF19Ed562651837bc11ff975472ABd239D35B5" ,
258
- InvitationV1ContextBuilder .buildFromConversation(" https://example.com/4" )
258
+ InvitationV1ContextBuilder .buildFromConversation(" https://example.com/4" ),
259
259
)
260
260
261
261
convo.send(content = " hello from kotlin" )
@@ -280,7 +280,7 @@ class MessageTest {
280
280
fun testGetsV2ID () {
281
281
val envelopeMessageData =
282
282
Numeric .hexStringToByteArray(
283
- "12bf040a470880dedf9dafc0ff9e17123b2f786d74702f302f6d2d32536b644e355161305a6d694649357433524662667749532d4f4c76356a7573716e6465656e544c764e672f70726f746f12f3030af0030a20439174a205643a50af33c7670341338526dbb9c1cf0560687ff8a742e957282d120c090ba2b385b40639867493ce1abd037648c947f72e5c62e8691d7748e78f9a346ff401c97a628ebecf627d722829ff9cfb7d7c3e0b9e26b5801f2b5a39fd58757cc5771427bfefad6243f52cfc84b384fa042873ebeb90948aa80ca34f26ff883d64720c9228ed6bcd1a5c46953a12ae8732fd70260651455674e2e2c23bc8d64ed35562fef4cdfc55d38e72ad9cf2d597e68f48b6909967b0f5d0b4f33c0af3efce55c739fbc93888d20b833df15811823970a356b26622936564d830434d3ecde9a013f7433142e366f1df5589131e440251be54d5d6deef9aaaa9facac26eb54fb7b74eb48c5a2a9a2e2956633b123cc5b91dec03e4dba30683be03bd7510f16103d3f81712dccf2be003f2f77f9e1f162bc47f6c1c38a1068abd3403952bef31d75e8024e7a62d9a8cbd48f1872a0156abb559d01de689b4370a28454658957061c46f47fc5594808d15753876d4b5408b3a3410d0555c016e427dfceae9c05a4a21fd7ce4cfbb11b2a696170443cf310e0083b0a48e357fc2f00c688c0b56821c8a14c2bb44ddfa31d680dfc85efe4811e86c6aa3adfc373ad5731ddab83960774d98d60075b8fd70228da5d748bfb7a5334bd07e1cc4a9fbf3d5de50860d0684bb27786b5b4e00d415"
283
+ "12bf040a470880dedf9dafc0ff9e17123b2f786d74702f302f6d2d32536b644e355161305a6d694649357433524662667749532d4f4c76356a7573716e6465656e544c764e672f70726f746f12f3030af0030a20439174a205643a50af33c7670341338526dbb9c1cf0560687ff8a742e957282d120c090ba2b385b40639867493ce1abd037648c947f72e5c62e8691d7748e78f9a346ff401c97a628ebecf627d722829ff9cfb7d7c3e0b9e26b5801f2b5a39fd58757cc5771427bfefad6243f52cfc84b384fa042873ebeb90948aa80ca34f26ff883d64720c9228ed6bcd1a5c46953a12ae8732fd70260651455674e2e2c23bc8d64ed35562fef4cdfc55d38e72ad9cf2d597e68f48b6909967b0f5d0b4f33c0af3efce55c739fbc93888d20b833df15811823970a356b26622936564d830434d3ecde9a013f7433142e366f1df5589131e440251be54d5d6deef9aaaa9facac26eb54fb7b74eb48c5a2a9a2e2956633b123cc5b91dec03e4dba30683be03bd7510f16103d3f81712dccf2be003f2f77f9e1f162bc47f6c1c38a1068abd3403952bef31d75e8024e7a62d9a8cbd48f1872a0156abb559d01de689b4370a28454658957061c46f47fc5594808d15753876d4b5408b3a3410d0555c016e427dfceae9c05a4a21fd7ce4cfbb11b2a696170443cf310e0083b0a48e357fc2f00c688c0b56821c8a14c2bb44ddfa31d680dfc85efe4811e86c6aa3adfc373ad5731ddab83960774d98d60075b8fd70228da5d748bfb7a5334bd07e1cc4a9fbf3d5de50860d0684bb27786b5b4e00d415",
284
284
)
285
285
val envelope = MessageApiOuterClass .Envelope .newBuilder().also {
286
286
it.contentTopic = " /xmtp/0/m-2SkdN5Qa0ZmiFI5t3RFbfwIS-OLv5jusqndeenTLvNg/proto"
@@ -289,7 +289,7 @@ class MessageTest {
289
289
}.build()
290
290
val ints = arrayOf(
291
291
80 , 84 , 15 , 126 , 14 , 105 , 216 , 8 , 61 , 147 , 153 , 232 , 103 , 69 , 219 , 13 ,
292
- 99 , 118 , 68 , 56 , 160 , 94 , 58 , 22 , 140 , 247 , 221 , 172 , 14 , 188 , 52 , 88
292
+ 99 , 118 , 68 , 56 , 160 , 94 , 58 , 22 , 140 , 247 , 221 , 172 , 14 , 188 , 52 , 88 ,
293
293
)
294
294
val bytes =
295
295
ints.foldIndexed(ByteArray (ints.size)) { i, a, v -> a.apply { set(i, v.toByte()) } }
@@ -311,7 +311,7 @@ class MessageTest {
311
311
val client = Client ().buildFrom(bundle = keyBundle.v1)
312
312
val conversationJSON =
313
313
(""" {"version":"v2","topic":"/xmtp/0/m-2SkdN5Qa0ZmiFI5t3RFbfwIS-OLv5jusqndeenTLvNg/proto","keyMaterial":"ATA1L0O2aTxHmskmlGKCudqfGqwA1H+bad3W/GpGOr8=","peerAddress":"0x436D906d1339fC4E951769b1699051f020373D04","createdAt":"2023-01-26T22:58:45.068Z","context":{"conversationId":"pat/messageid","metadata":{}}} """ ).toByteArray(
314
- UTF_8
314
+ UTF_8 ,
315
315
)
316
316
val decodedConversation = client.importConversation(conversationJSON)
317
317
val conversation = ConversationV2 (
@@ -320,12 +320,12 @@ class MessageTest {
320
320
context = Context .newBuilder().build(),
321
321
peerAddress = decodedConversation.peerAddress,
322
322
client = client,
323
- header = Invitation .SealedInvitationHeaderV1 .newBuilder().build()
323
+ header = Invitation .SealedInvitationHeaderV1 .newBuilder().build(),
324
324
)
325
325
val decodedMessage = conversation.decodeEnvelope(envelope)
326
326
assertEquals(
327
327
decodedMessage.id,
328
- " e42a7dd44d0e1214824eab093cb89cfe6f666298d0af2d54fe0c914c8b72eff3"
328
+ " e42a7dd44d0e1214824eab093cb89cfe6f666298d0af2d54fe0c914c8b72eff3" ,
329
329
)
330
330
}
331
331
@@ -366,12 +366,12 @@ class MessageTest {
366
366
val aliceSharedSecret = alicePrivateBundle.sharedSecret(
367
367
peer = bobPublicBundle,
368
368
myPreKey = alicePublicBundle.preKey,
369
- isRecipient = true
369
+ isRecipient = true ,
370
370
)
371
371
val bobSharedSecret = bobPrivateBundle.sharedSecret(
372
372
peer = alicePublicBundle,
373
373
myPreKey = bobPublicBundle.preKey,
374
- isRecipient = false
374
+ isRecipient = false ,
375
375
)
376
376
assert (aliceSharedSecret.contentEquals(bobSharedSecret))
377
377
}
@@ -390,7 +390,7 @@ class MessageTest {
390
390
val secret = meBundle.sharedSecret(
391
391
peer = youBundlePublic,
392
392
myPreKey = meBundle.preKeysList[0 ].publicKey,
393
- isRecipient = true
393
+ isRecipient = true ,
394
394
)
395
395
assert (secretData.contentEquals(secret))
396
396
}
0 commit comments