Skip to content

Commit

Permalink
Merge pull request #436 from radixdlt/bugfix/ABW-2166-associated-tokens
Browse files Browse the repository at this point in the history
Show dapp's associated tokens correctly
  • Loading branch information
micbakos-rdx authored Sep 6, 2023
2 parents 7444463 + 7fa1d78 commit 7a0ea39
Show file tree
Hide file tree
Showing 12 changed files with 235 additions and 256 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ enum class ExplicitMetadataKey(val key: String) {
websites = value.typed<MetadataOriginArrayValue>()?.propertyValues.orEmpty()
)
CLAIMED_ENTITIES -> ClaimedEntitiesMetadataItem(
entities = value.typed<MetadataStringArrayValue>()?.propertyValues.orEmpty()
entities = value.typed<MetadataGlobalAddressArrayValue>()?.propertyValues.orEmpty()
)
TAGS -> TagsMetadataItem(
tags = value.typed<MetadataStringArrayValue>()?.propertyValues.orEmpty()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ package com.babylon.wallet.android.data.repository.dappmetadata
import com.babylon.wallet.android.data.gateway.apis.DAppDefinitionApi
import com.babylon.wallet.android.data.gateway.apis.StateApi
import com.babylon.wallet.android.data.gateway.extensions.asMetadataItems
import com.babylon.wallet.android.data.gateway.extensions.calculateResourceBehaviours
import com.babylon.wallet.android.data.gateway.extensions.divisibility
import com.babylon.wallet.android.data.gateway.extensions.totalSupply
import com.babylon.wallet.android.data.gateway.generated.models.ResourceAggregationLevel
import com.babylon.wallet.android.data.gateway.generated.models.StateEntityDetailsOptIns
import com.babylon.wallet.android.data.gateway.generated.models.StateEntityDetailsRequest
Expand Down Expand Up @@ -206,20 +209,29 @@ class DAppRepositoryImpl @Inject constructor(
nameMetadataItem = metadataItems.consume(),
symbolMetadataItem = metadataItems.consume(),
descriptionMetadataItem = metadataItems.consume(),
iconUrlMetadataItem = metadataItems.consume()
iconUrlMetadataItem = metadataItems.consume(),
behaviours = fungibleItem.details?.calculateResourceBehaviours().orEmpty(),
currentSupply = fungibleItem.details?.totalSupply()?.toBigDecimal(),
validatorMetadataItem = metadataItems.toMutableList().consume(),
poolMetadataItem = metadataItems.toMutableList().consume(),
divisibility = fungibleItem.details?.divisibility()
)
}

val nonFungibleResource = nonFungibleItems.map { nonFungibleItem ->
val metadataItems = nonFungibleItem.metadata.asMetadataItems().toMutableList()

Resource.NonFungibleResource.Item(
collectionAddress = nonFungibleItem.address,
localId = Resource.NonFungibleResource.Item.ID.from(
nonFungibleItem.ancestorIdentities?.globalAddress.orEmpty()
),
nameMetadataItem = null,
iconMetadataItem = metadataItems.consume()
Resource.NonFungibleResource(
resourceAddress = nonFungibleItem.address,
amount = 0L,
nameMetadataItem = metadataItems.consume(),
descriptionMetadataItem = metadataItems.consume(),
iconMetadataItem = metadataItems.consume(),
tagsMetadataItem = metadataItems.consume(),
validatorMetadataItem = metadataItems.consume(),
items = emptyList(),
behaviours = nonFungibleItem.details?.calculateResourceBehaviours().orEmpty(),
currentSupply = nonFungibleItem.details?.totalSupply()?.toBigDecimal()
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ data class DAppWithMetadataAndAssociatedResources(
val fungibleResources: List<Resource.FungibleResource>
get() = resources.fungibleResources

val nonFungibleResources: List<Resource.NonFungibleResource.Item>
val nonFungibleResources: List<Resource.NonFungibleResource>
get() = resources.nonFungibleResources
}

data class DAppResources(
val fungibleResources: List<Resource.FungibleResource>,
val nonFungibleResources: List<Resource.NonFungibleResource.Item>
val nonFungibleResources: List<Resource.NonFungibleResource>
)
Original file line number Diff line number Diff line change
Expand Up @@ -308,11 +308,9 @@ private fun SheetContent(
when (val selected = state.selectedResource) {
is SelectedResource.SelectedNonFungibleResource -> {
NonFungibleTokenBottomSheetDetails(
modifier = modifier
.fillMaxWidth()
.verticalScroll(rememberScrollState()),
modifier = modifier.fillMaxWidth(),
item = selected.item,
nonFungibleItem = selected.nonFungible,
nonFungibleResource = selected.nonFungible,
onCloseClick = {
scope.launch {
bottomSheetState.hide()
Expand All @@ -323,9 +321,7 @@ private fun SheetContent(

is SelectedResource.SelectedFungibleResource -> {
FungibleTokenBottomSheetDetails(
modifier = modifier
.fillMaxWidth()
.verticalScroll(rememberScrollState()),
modifier = modifier.fillMaxWidth(),
fungible = selected.fungible,
onCloseClick = {
scope.launch {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.Icon
import androidx.compose.material.Text
import androidx.compose.material3.Divider
Expand Down Expand Up @@ -53,7 +55,7 @@ fun FungibleTokenBottomSheetDetails(
modifier: Modifier = Modifier,
) {
Column(
modifier = modifier,
modifier = modifier.verticalScroll(rememberScrollState()),
horizontalAlignment = Alignment.CenterHorizontally
) {
RadixCenteredTopAppBar(
Expand Down
Loading

0 comments on commit 7a0ea39

Please sign in to comment.