Skip to content

Commit

Permalink
move signatures from meta to root and prefix with $
Browse files Browse the repository at this point in the history
  • Loading branch information
jonesmac committed Dec 9, 2024
1 parent ccbc13f commit 7c68de2
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class BoundWitnessTest {
TestPayload1()
)).build()
assert(bw._meta.client == "android")
assert(bw._meta.signatures?.size == 1)
assert(bw.__signatures.size == 1)
}
}

Expand All @@ -94,7 +94,7 @@ class BoundWitnessTest {
val bwJson = JSONObject(serializedBw)
val meta = bwJson.get("\$meta") as JSONObject
assert(meta.get("client") == "android")
assertNotNull(meta.get("signatures"))
assertNotNull(bwJson.get("\$signatures"))
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ open class BoundWitnessBuilder {
// in the serialized version of the bw because they will invalidate the hash
setPreviousHashes()
val dataHash = bw.dataHash()
bw._meta.signatures = this.sign(dataHash)
bw.__signatures = this.sign(dataHash)
}

open suspend fun build(): BoundWitness {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package network.xyo.client.boundwitness

import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
import network.xyo.client.boundwitness.model.BoundWitnessFields
import network.xyo.client.payload.Payload
Expand All @@ -12,18 +13,24 @@ open class BoundWitnessFields(): BoundWitnessFields, Payload(SCHEMA) {
final override var previous_hashes = emptyList<String?>()
final override var timestamp: Long? = null

// Meta Properties
@Json(name = "\$signatures")
final override var __signatures = emptyList<String>()

constructor (
addresses: List<String>,
previous_hashes: List<String?>,
payload_hashes: List<String>,
payload_schemas: List<String>,
timestamp: Long? = null,
signatures: List<String>,
) : this() {
this.addresses = addresses
this.previous_hashes = previous_hashes
this.payload_hashes = payload_hashes
this.payload_schemas = payload_schemas
this.timestamp = timestamp
this.__signatures = signatures
}

companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,5 @@ import network.xyo.client.lib.JsonSerializable

@JsonClass(generateAdapter = true)
class BoundWitnessMeta: BoundWitnessMeta, JsonSerializable() {
override var signatures: List<String>? = null
override var client: String? = null
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ open class QueryBoundWitnessFields(
payload_hashes: List<String>,
payload_schemas: List<String>,
val query: String,
timestamp: Long?
): BoundWitnessFields(addresses, previous_hashes, payload_hashes, payload_schemas, timestamp)
timestamp: Long?,
signatures: List<String>,
): BoundWitnessFields(addresses, previous_hashes, payload_hashes, payload_schemas, timestamp, signatures)
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,8 @@ interface BoundWitnessFields : Payload {
// Note: Long is a higher precision type than JavaScript's Number type but it is the default type from
// Kotlin's System.currentTimeMillis().
var timestamp: Long?

// Meta Properties
// Note - these fields will transform the `__` prefix to `$`
var __signatures: List<String>
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,5 @@ package network.xyo.client.boundwitness.model
import java.io.Serializable

interface BoundWitnessMeta: Serializable {
var signatures: List<String>?
var client: String?
}

0 comments on commit 7c68de2

Please sign in to comment.