Skip to content

Commit

Permalink
Expose dapp interaction serialization methods and bump sargon version (
Browse files Browse the repository at this point in the history
…#155)

* Expose dapp interaction serialization methods and bump sargon version

* add tests to kotlin extension methods

* split uniffi sample methos into multiple files

* fix tests

* align extension codestyle and remove binaries

* remove redundant annotations
  • Loading branch information
jakub-rdx authored Jun 4, 2024
1 parent 2743c0a commit 9edd1ad
Show file tree
Hide file tree
Showing 12 changed files with 115 additions and 5 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

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

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sargon"
version = "1.0.7"
version = "1.0.8"
edition = "2021"
build = "build.rs"

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.radixdlt.sargon.extensions

import com.radixdlt.sargon.DappToWalletInteractionUnvalidated
import com.radixdlt.sargon.dappToWalletInteractionUnvalidatedToJsonBytes
import com.radixdlt.sargon.newDappToWalletInteractionUnvalidatedFromJsonBytes

@Throws(SargonException::class)
fun DappToWalletInteractionUnvalidated.Companion.fromJson(json: String) =
newDappToWalletInteractionUnvalidatedFromJsonBytes(json.toByteArray().toBagOfBytes())

fun DappToWalletInteractionUnvalidated.toJson() =
dappToWalletInteractionUnvalidatedToJsonBytes(this).string

Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.radixdlt.sargon.extensions

import com.radixdlt.sargon.WalletToDappInteractionResponse
import com.radixdlt.sargon.newWalletToDappInteractionResponseFromJsonBytes
import com.radixdlt.sargon.walletToDappInteractionResponseToJsonBytes

@Throws(SargonException::class)
fun WalletToDappInteractionResponse.Companion.fromJson(json: String) =
newWalletToDappInteractionResponseFromJsonBytes(json.toByteArray().toBagOfBytes())

fun WalletToDappInteractionResponse.toJson() =
walletToDappInteractionResponseToJsonBytes(this).string
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package com.radixdlt.sargon
import com.radixdlt.sargon.extensions.hash
import com.radixdlt.sargon.extensions.hex
import com.radixdlt.sargon.extensions.hexToBagOfBytes
import com.radixdlt.sargon.extensions.init
import com.radixdlt.sargon.extensions.randomBagOfBytes
import com.radixdlt.sargon.extensions.toBagOfBytes
import com.radixdlt.sargon.samples.acedBagOfBytesSample
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.radixdlt.sargon

import com.radixdlt.sargon.extensions.fromJson
import com.radixdlt.sargon.extensions.toJson
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

class DappToWalletInteractionUnvalidatedTest {

@Test
fun testRoundtrip() {
val sample = newDappToWalletInteractionUnvalidatedSample()
assertEquals(sample, DappToWalletInteractionUnvalidated.Companion.fromJson(sample.toJson()))
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package com.radixdlt.sargon

import com.radixdlt.sargon.extensions.clientID
import com.radixdlt.sargon.extensions.fromJson
import com.radixdlt.sargon.extensions.hex
import com.radixdlt.sargon.extensions.init
import com.radixdlt.sargon.extensions.toJson
import com.radixdlt.sargon.samples.Sample
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.radixdlt.sargon

import com.radixdlt.sargon.extensions.init
import com.radixdlt.sargon.extensions.string
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.radixdlt.sargon

import com.radixdlt.sargon.extensions.fromJson
import com.radixdlt.sargon.extensions.toJson
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

class WalletToDappInteractionResponseTest {

@Test
fun testRoundtrip() {
val sample = newWalletToDappInteractionResponseSample()
assertEquals(sample, WalletToDappInteractionResponse.Companion.fromJson(sample.toJson()))
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
use crate::prelude::*;

#[uniffi::export]
pub(crate) fn new_dapp_to_wallet_interaction_unvalidated_sample(
) -> DappToWalletInteractionUnvalidated {
DappToWalletInteractionUnvalidated::sample()
}

#[uniffi::export]
pub(crate) fn new_dapp_to_wallet_interaction_unvalidated_sample_other(
) -> DappToWalletInteractionUnvalidated {
DappToWalletInteractionUnvalidated::sample_other()
}

#[cfg(test)]
mod tests {
use super::*;

#[test]
fn inequality_of_samples() {
assert_ne!(
new_dapp_to_wallet_interaction_unvalidated_sample(),
new_dapp_to_wallet_interaction_unvalidated_sample_other()
);
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
mod dapp_metadata;
mod dapp_to_wallet_interaction_uniffi_fn;
mod interaction;
mod interaction_items;
mod interaction_uniffi_fn;
mod interaction_unvalidated;
mod wallet_to_dapp_interaction_uniffi_fn;

pub use dapp_metadata::*;
pub use dapp_to_wallet_interaction_uniffi_fn::*;
pub use interaction::*;
pub use interaction_items::*;
pub use interaction_uniffi_fn::*;
pub use interaction_unvalidated::*;
pub use wallet_to_dapp_interaction_uniffi_fn::*;
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
use crate::prelude::*;

#[uniffi::export]
pub(crate) fn new_wallet_to_dapp_interaction_response_sample(
) -> WalletToDappInteractionResponse {
WalletToDappInteractionResponse::sample()
}

#[uniffi::export]
pub(crate) fn new_wallet_to_dapp_interaction_response_sample_other(
) -> WalletToDappInteractionResponse {
WalletToDappInteractionResponse::sample_other()
}

#[cfg(test)]
mod tests {
use super::*;

#[test]
fn inequality_of_samples() {
assert_ne!(
new_wallet_to_dapp_interaction_response_sample(),
new_wallet_to_dapp_interaction_response_sample_other()
);
}
}

0 comments on commit 9edd1ad

Please sign in to comment.