Add RPC-backed transaction history#69
Open
Jim8y wants to merge 2 commits into
Open
Conversation
Contributor
Author
|
Simulator validation completed for this PR. Validation run:
Screenshots: |
There was a problem hiding this comment.
Pull request overview
This PR adds an in-app, RPC-backed transaction history experience for the wallet, replacing the previous “Records” behavior that navigated users out to an external explorer. It queries NEP-17 and NEP-11 transfers on demand via RPC and resolves token metadata in-memory for display.
Changes:
- Routed Wallet “Records” tap to a new in-app
TransactionHistoryPage(//wallet/transactions) and registered the Shell route. - Implemented
TransactionHistoryPage(UI + code-behind) to load NEP-17/NEP-11 transfers from RPC and render them as activity rows. - Added new localized string keys for empty/error/retry transaction history states across all
.resxfiles and updatedStrings.Designer.cs.
Reviewed changes
Copilot reviewed 20 out of 21 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
| OneGateApp/Properties/Strings.resx | Adds transaction history empty/error/retry strings (neutral culture). |
| OneGateApp/Properties/Strings.de.resx | Adds transaction history strings for German locale. |
| OneGateApp/Properties/Strings.es.resx | Adds transaction history strings for Spanish locale. |
| OneGateApp/Properties/Strings.fr.resx | Adds transaction history strings for French locale. |
| OneGateApp/Properties/Strings.id.resx | Adds transaction history strings for Indonesian locale. |
| OneGateApp/Properties/Strings.it.resx | Adds transaction history strings for Italian locale. |
| OneGateApp/Properties/Strings.ja.resx | Adds transaction history strings for Japanese locale. |
| OneGateApp/Properties/Strings.ko.resx | Adds transaction history strings for Korean locale. |
| OneGateApp/Properties/Strings.nl.resx | Adds transaction history strings for Dutch locale. |
| OneGateApp/Properties/Strings.pt-BR.resx | Adds transaction history strings for Brazilian Portuguese locale. |
| OneGateApp/Properties/Strings.ru.resx | Adds transaction history strings for Russian locale. |
| OneGateApp/Properties/Strings.tr.resx | Adds transaction history strings for Turkish locale. |
| OneGateApp/Properties/Strings.vi.resx | Adds transaction history strings for Vietnamese locale. |
| OneGateApp/Properties/Strings.zh-Hans.resx | Adds transaction history strings for Simplified Chinese locale. |
| OneGateApp/Properties/Strings.zh-Hant.resx | Adds transaction history strings for Traditional Chinese locale. |
| OneGateApp/Properties/Strings.Designer.cs | Exposes new TransactionHistory* resource accessors. |
| OneGateApp/Pages/WalletPage.xaml | Changes “Records” tap to navigate in-app to transaction history route. |
| OneGateApp/AppShell.xaml.cs | Registers the new wallet/transactions Shell route. |
| OneGateApp/Pages/TransactionHistoryPage.xaml | Adds UI for list/empty/error/loading states with pull-to-refresh. |
| OneGateApp/Pages/TransactionHistoryPage.xaml.cs | Implements RPC transfer loading, token metadata caching, and row formatting. |
| OneGateApp/Models/TransactionHistoryItem.cs | Adds a simple UI model for transaction history rows. |
Files not reviewed (1)
- OneGateApp/Properties/Strings.Designer.cs: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+239
to
+247
| static string? ReadString(JsonObject obj, params string[] keys) | ||
| { | ||
| foreach (string key in keys) | ||
| { | ||
| if (obj[key] is JsonValue value) | ||
| return value.ToString(); | ||
| } | ||
| return null; | ||
| } |
| Title = title, | ||
| AmountText = amountText, | ||
| DirectionText = transfer.IsIncoming ? Strings.Receive : Strings.Send, | ||
| CounterpartyText = string.IsNullOrWhiteSpace(transfer.Counterparty) ? ShortHash(transfer.AssetHash.ToString()) : transfer.Counterparty, |
Comment on lines
+10
to
+12
| <ContentPage.Resources> | ||
| <toolkit:InvertedBoolConverter x:Key="InvertedBoolConverter" /> | ||
| </ContentPage.Resources> |
Comment on lines
+442
to
+446
| <data name="TransactionHistoryEmpty" xml:space="preserve"> | ||
| <value>No transaction activity found</value> | ||
| </data> | ||
| <data name="TransactionHistoryEmptyText" xml:space="preserve"> | ||
| <value>Transfers for this wallet will appear here after they are indexed by the RPC node.</value> |
Comment on lines
+442
to
+446
| <data name="TransactionHistoryEmpty" xml:space="preserve"> | ||
| <value>No transaction activity found</value> | ||
| </data> | ||
| <data name="TransactionHistoryEmptyText" xml:space="preserve"> | ||
| <value>Transfers for this wallet will appear here after they are indexed by the RPC node.</value> |
Comment on lines
+442
to
+446
| <data name="TransactionHistoryEmpty" xml:space="preserve"> | ||
| <value>No transaction activity found</value> | ||
| </data> | ||
| <data name="TransactionHistoryEmptyText" xml:space="preserve"> | ||
| <value>Transfers for this wallet will appear here after they are indexed by the RPC node.</value> |
Comment on lines
+442
to
+446
| <data name="TransactionHistoryEmpty" xml:space="preserve"> | ||
| <value>No transaction activity found</value> | ||
| </data> | ||
| <data name="TransactionHistoryEmptyText" xml:space="preserve"> | ||
| <value>Transfers for this wallet will appear here after they are indexed by the RPC node.</value> |
Comment on lines
+442
to
+446
| <data name="TransactionHistoryEmpty" xml:space="preserve"> | ||
| <value>No transaction activity found</value> | ||
| </data> | ||
| <data name="TransactionHistoryEmptyText" xml:space="preserve"> | ||
| <value>Transfers for this wallet will appear here after they are indexed by the RPC node.</value> |
Comment on lines
+442
to
+446
| <data name="TransactionHistoryEmpty" xml:space="preserve"> | ||
| <value>No transaction activity found</value> | ||
| </data> | ||
| <data name="TransactionHistoryEmptyText" xml:space="preserve"> | ||
| <value>Transfers for this wallet will appear here after they are indexed by the RPC node.</value> |
Comment on lines
+442
to
+446
| <data name="TransactionHistoryEmpty" xml:space="preserve"> | ||
| <value>No transaction activity found</value> | ||
| </data> | ||
| <data name="TransactionHistoryEmptyText" xml:space="preserve"> | ||
| <value>Transfers for this wallet will appear here after they are indexed by the RPC node.</value> |
Contributor
Author
|
Review feedback fixes pushed in Validation after the update:
Screenshots: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Summary
Validation
Notes