mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-04-24 11:17:56 +00:00
feat: Add Pezkuwi chain support with custom signed extensions
- Add PezkuwiAddressConstructor for custom address type handling - Add custom signed extensions (CheckNonZeroSender, CheckWeight, WeightReclaim, PezkuwiCheckMortality) - Add pezkuwi.json type definitions - Update RuntimeSnapshotExt for multiple address type lookups - Update CHAINS_URL to use GitHub-hosted chains.json with types config - Add feeViaRuntimeCall support for Pezkuwi chains - Add debug diagnostics for runtime type issues (to be cleaned before production) - Add CHANGELOG_PEZKUWI.md documenting all changes
This commit is contained in:
+2
-2
@@ -24,7 +24,7 @@ import io.novafoundation.nova.runtime.multiNetwork.chain.model.Chain
|
||||
import io.novafoundation.nova.runtime.multiNetwork.getRuntime
|
||||
import io.novasama.substrate_sdk_android.runtime.AccountId
|
||||
import io.novasama.substrate_sdk_android.runtime.definitions.types.generics.GenericCall
|
||||
import io.novasama.substrate_sdk_android.runtime.definitions.types.instances.AddressInstanceConstructor
|
||||
import io.novafoundation.nova.common.utils.PezkuwiAddressConstructor
|
||||
import io.novasama.substrate_sdk_android.runtime.extrinsic.builder.ExtrinsicBuilder
|
||||
import io.novasama.substrate_sdk_android.runtime.extrinsic.call
|
||||
import java.math.BigInteger
|
||||
@@ -88,7 +88,7 @@ open class OrmlAssetTransfers(
|
||||
moduleIndex = moduleIndex,
|
||||
callIndex = callIndex,
|
||||
arguments = mapOf(
|
||||
"dest" to AddressInstanceConstructor.constructInstance(runtime.typeRegistry, target),
|
||||
"dest" to PezkuwiAddressConstructor.constructInstance(runtime.typeRegistry, target),
|
||||
"currency_id" to chainAsset.ormlCurrencyId(runtime),
|
||||
"amount" to amount
|
||||
)
|
||||
|
||||
+2
-2
@@ -27,7 +27,7 @@ import io.novafoundation.nova.runtime.multiNetwork.getRuntime
|
||||
import io.novafoundation.nova.runtime.storage.source.StorageDataSource
|
||||
import io.novasama.substrate_sdk_android.runtime.AccountId
|
||||
import io.novasama.substrate_sdk_android.runtime.definitions.types.generics.GenericCall
|
||||
import io.novasama.substrate_sdk_android.runtime.definitions.types.instances.AddressInstanceConstructor
|
||||
import io.novafoundation.nova.common.utils.PezkuwiAddressConstructor
|
||||
import io.novasama.substrate_sdk_android.runtime.extrinsic.builder.ExtrinsicBuilder
|
||||
import io.novasama.substrate_sdk_android.runtime.extrinsic.call
|
||||
import io.novasama.substrate_sdk_android.runtime.metadata.storage
|
||||
@@ -109,7 +109,7 @@ class StatemineAssetTransfers(
|
||||
callName = "transfer",
|
||||
arguments = mapOf(
|
||||
"id" to assetType.prepareIdForEncoding(runtime),
|
||||
"target" to AddressInstanceConstructor.constructInstance(runtime.typeRegistry, target),
|
||||
"target" to PezkuwiAddressConstructor.constructInstance(runtime.typeRegistry, target),
|
||||
"amount" to amount
|
||||
)
|
||||
)
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ import io.novafoundation.nova.common.utils.composeCall
|
||||
import io.novafoundation.nova.feature_wallet_api.data.network.blockhain.types.Balance
|
||||
import io.novasama.substrate_sdk_android.runtime.RuntimeSnapshot
|
||||
import io.novasama.substrate_sdk_android.runtime.definitions.types.generics.GenericCall
|
||||
import io.novasama.substrate_sdk_android.runtime.definitions.types.instances.AddressInstanceConstructor
|
||||
import io.novafoundation.nova.common.utils.PezkuwiAddressConstructor
|
||||
|
||||
class NativeAssetIssuer(
|
||||
private val runtimeSnapshot: RuntimeSnapshot
|
||||
@@ -17,7 +17,7 @@ class NativeAssetIssuer(
|
||||
moduleName = Modules.BALANCES,
|
||||
callName = "force_set_balance",
|
||||
arguments = mapOf(
|
||||
"who" to AddressInstanceConstructor.constructInstance(runtimeSnapshot.typeRegistry, destination.value),
|
||||
"who" to PezkuwiAddressConstructor.constructInstance(runtimeSnapshot.typeRegistry, destination.value),
|
||||
"new_free" to amount
|
||||
)
|
||||
)
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@ import io.novafoundation.nova.runtime.ext.currencyId
|
||||
import io.novafoundation.nova.runtime.multiNetwork.chain.model.Chain
|
||||
import io.novasama.substrate_sdk_android.runtime.RuntimeSnapshot
|
||||
import io.novasama.substrate_sdk_android.runtime.definitions.types.generics.GenericCall
|
||||
import io.novasama.substrate_sdk_android.runtime.definitions.types.instances.AddressInstanceConstructor
|
||||
import io.novafoundation.nova.common.utils.PezkuwiAddressConstructor
|
||||
|
||||
class OrmlAssetIssuer(
|
||||
private val ormlType: Chain.Asset.Type.Orml,
|
||||
@@ -20,7 +20,7 @@ class OrmlAssetIssuer(
|
||||
moduleName = Modules.TOKENS,
|
||||
callName = "set_balance",
|
||||
arguments = mapOf(
|
||||
"who" to AddressInstanceConstructor.constructInstance(runtimeSnapshot.typeRegistry, destination.value),
|
||||
"who" to PezkuwiAddressConstructor.constructInstance(runtimeSnapshot.typeRegistry, destination.value),
|
||||
"currency_id" to ormlType.currencyId(runtimeSnapshot),
|
||||
"new_free" to amount,
|
||||
"new_reserved" to Balance.ZERO
|
||||
|
||||
+2
-2
@@ -12,7 +12,7 @@ import io.novafoundation.nova.runtime.multiNetwork.chain.model.ChainId
|
||||
import io.novafoundation.nova.runtime.multiNetwork.chain.model.prepareIdForEncoding
|
||||
import io.novasama.substrate_sdk_android.runtime.RuntimeSnapshot
|
||||
import io.novasama.substrate_sdk_android.runtime.definitions.types.generics.GenericCall
|
||||
import io.novasama.substrate_sdk_android.runtime.definitions.types.instances.AddressInstanceConstructor
|
||||
import io.novafoundation.nova.common.utils.PezkuwiAddressConstructor
|
||||
|
||||
class StatemineAssetIssuer(
|
||||
private val chainId: ChainId,
|
||||
@@ -38,7 +38,7 @@ class StatemineAssetIssuer(
|
||||
callName = "mint",
|
||||
arguments = mapOf(
|
||||
"id" to assetType.prepareIdForEncoding(runtimeSnapshot),
|
||||
"beneficiary" to AddressInstanceConstructor.constructInstance(runtimeSnapshot.typeRegistry, destination.value),
|
||||
"beneficiary" to PezkuwiAddressConstructor.constructInstance(runtimeSnapshot.typeRegistry, destination.value),
|
||||
"amount" to amount
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user