Skip to content

Commit

Permalink
Release v0.2.0 (#102)
Browse files Browse the repository at this point in the history
* Release v0.1.0 (#34)

* Escape metadata string variables

* Fix linux metadata script

* Special char test ~!@#$%^&*()_+`-=:";'\|[]{}<>?,./

* Change metadata script with sed cmd

* Special char test ~`!@#$%^&*()_+-={}[]:;"'<>?,./|\

* Fix metadata ps script function on top

* Special char test ~`!@#$%^&*()_+-={}[]:;"'<>?,./|\

* Fix metadata scripts using raw strings

* Char test `~!@#$%^&*\t()_+-={}[]:";'|\<>?,./

* Fix metadata macos script

* Char test `~!@#$%^&*\t()_+-={}[]:";'|\<>?,./

* Char test `~!@#$%^&*\t()_+-={}[]:";'|\<>?,./

* Char test `~!@#$%^&*\t()_+-={}[]:";'|\<>?,./

* Char test `~!@#$%^&*\t()_+-={}[]:";'|\<>?,./

* Char test `~!@#$%^&*\t()_+-={}[]:";'|\<>?,./

* Fix pubspec

* Restore pubspec

* Fix failing build and release workflow (#7)

The build and release workflow uses the latest Flutter SDK version that is available on the stable channel. The current codebase is not compatible with Flutter SDK versions 3.10.0 and newer, so the Flutter version must be constrained in the build and release workflow.

* [cicd] Release on tags

* [cicd] Fix tag releases lib-builder

* Updated native libraries

* [cicd] Make lib-builder only trigger manually

* [cicd] Fix SYRIUS_VERSION

* Updated native libraries

* Fix realtime statistics refresh (#9)

* Implement P2P swaps for ZTS tokens (#11)

* Set state when beneficiary address changes

* Fix realtime statistics refresh (2) (#17)

* Adjust P2P swap expiration times (#21)

* Update P2P swap card descriptions (#20)

* Enable P2P swap UI on mainnet (#22)

* Add warning banner onto the P2P swap page (#23)

* Check for local time discrepancy when entering the P2P swap tab (#25)

* Add hash back to auto-receive tx queue on all exceptions (#24)

* Enable wakelock and disable auto-lock when incoming swap is active (#19)

* Fix auto receive queue logic (#27)

* Filter on all owned projects (#10)

* Update README.md badges for hypercore-one

Signed-off-by: georgezgeorgez <92196048+georgezgeorgez@users.noreply.github.com>

* Make P2P swap related duration constants global and improve the expiration times configuration (#29)

* Call setState when updating the swap completed text (#30)

* Improve the logic of the auto unlock worker (#32)

* Prevent the same hash from being added twice into the auto receive tx pool (#31)

* Prevent the same hash from being added twice into the auto receive tx pool

* Add comment to addHash function

* Integrate changes from master (#36)

* Feat: Add deep linking - syrius://

* Update main_app_container.dart

* fix: MacOS deep link support

* Feat: Add UI for Wallet Connect

* feat: Enable pairing with dApps through WC

* chore: Add namespaces and more listeners

* Replace bodyText1 with bodyLarge

* fix: Change WC initialization

* chore: Update gitignore

* chore: Update repo after gitignore update

* feat: Add method that activates the pairing

* feat: Add feature that captures a part of the screen and listens to the clipboard

* feat: Build table that shows the current pairings

* feat: Add feature to scan the QR code from the screen

* fix: Remove Expanded widget from Pairings card widget tree

* feat: Listens to values in the clipboard in order to check for WC URI

* fix: Make access check for MacOS before scanning screen

* feat: Redirect to WC tab when a WC URI is detected

* fix: Rebuild WC URI input field when another URI is detected in the clipboard

* Updated native libraries

* fix: Recreate the windows folder

* feat: Add code that opens the app through deep linking

* refactor: Change API call when activating a pairing

* feat: Add possibility to deactivate a WC pair

* feat: Redirect to WC tab when opening the wallet through WC deep linking

* fix: Error initializing the WC uri input field

* feat: Improve validating the WC URI

* feat: Add handler for znn_net_info WC method

* feat: Add handler for znn_sign WC method

* refactor: Create function for signing with the key pair from the wallet file

* feat: Add handler for WC znn_send method

* feat: Change name of znn_net_info method to znn_info and refactor sending a block

* fix: Restyle the Topic column from the WC pairings table

* feat: Send back an account block to the dApp after executing the znn_send method

* feat: Send events to the dApp when the address or chain id were changed

* feat: Send error to the dApp when user rejects the transfer

* fix: Change the error type send to the dApp

* feat: Add confirmation dialogs before making an action sent from the dApp

* refactor

* feat: Fix dialog when dApp wants to send a tx

* fix: Reset the URI value from the change notifier once it's used

* fix: Don't redirect to WC when detecting a WC URI if the wallet is locked

* fix: Show WC URI detected notification if the user is already on the WC tab

* feat: Throw an error when trying to trigger an action through WC and wallet is locked

* feat: Reconnect to websocket when WC connection falls

* feat: Add methods to retrieve the active sessions and all sessions

* feat: Get the reference for getting the ZNN SDK

* feat: Change position of the WC Connect button and disable it in case the input is not valid

* refactor: Delete unused method

* feat: Send notification when user cancels the QR scanning

* feat: Keep the WC URI in memory when wallet is locked

* feat: Update WalletConnectPairingCard with the needed permissions

* feat: Update files

* feat: Wrap up WC

* fix: Clean up

* feat: Get WC project id from environment variable

* fix: Rebuild 'Connect' button when the URI input field is also rebuild

* feat: Rebuild pubspec.lock

* feat: Change the source of the ZNN SDK

* build: referenced wallet-connect sdk branch

* build: added required macos entitlements

* refactor: small refactor

* docs: updated README

* cicd: retrieve WALLET_CONNECT_PROJECT_ID

* cicd: added environment name

* cicd: updated flutter-action

* cicd: set linux directory permissions

* feat: added BigInt support

* fix: referenced latest SDK changes

* fix: desktop window

* fix: windows desktop window

* fix: bigInt decimal conversions

* chore: updated dependencies

* fix: tokenSymbol widget

* fix: minor UI fixes

* cicd: hardcoded flutter version for compatibility

* feat: Change caching the active sessions for a pairing

* fix: allow any ZTS in znn_send

* feat: added WalletConnect events

* fix: remove relayClient reconnect

* feat: Add widget for pairing session data

* feat: Tweak WC pairing flow

* fix: Emit the session event (address and chain id events) to each dApp with an active pair and session

* fix: add windows directory

* chore: update walletconnect_flutter_v2 to v2.0.4

* fix: BigInt fixes

* feat: Regenerate windows folder

* feat: Regenerate windows folder

* feat: Refresh WC URI input field after pairing

* feat: error notification for auto-receive

* chore: updated walletconnect_flutter_v2 to v2.0.6

* feat: Build WC uri card

* feat: Build WC QR card

* feat: Build WC camera card

* feat: Put the pairings and sessions widgets side by side

* feat: Change button name

* fix: flutter windows directory

* chore: update uni_links_desktop to v0.1.6

* fix: windows deep link handling

* feat: added notification for incoming links

* feat: Refresh pairing and session lists when connecting to dApp

* feat: Align pairing and session list widgets on top of each other

* refactor: Add the getter pairings to the WalletConnectService class

* feat: replaced uni_links with app_links

* fix: Revert changes to the pairing list widget

* fix: Make InfiniteScrollBloc handle case when the data request is not paginated

* fix: Don't dispose the pairings and sessions bloc

* fix: Also refresh sessions list after deleting a pairing

* fix: Check for broken WC URI

* fix: added refresh for onPairingCreate

* fix: Redirect to WC tab when an WC URI is detected while the wallet is locked

* fix: Don't cache results for blocs that don't handle paginated results

* fix: Decode WC URI before parsing

* feat: Upgrade project to Dart 3.0.1

* feat: Delete button that disconnects the WC session with the dApp

* feat: Throw error if trying to send tx from dApp while wallet is locked

* cicd: upgraded flutter to v3.10.2

* chore: update texts

* feat: Update WC dependency to 2.0.8

* fix: parse WalletConnect URI

* fix: Dart lint warnings

* feat: bump version to v0.0.7

* fix: Windows deep link

* Updated native libraries

* feat: Hard code chainId to 1 for WC

* fix: WalletConnect improvements

* fix: When to mark last page of the infinite scroll bloc

* fix: dialog navigator pop

* fix: added marquee for token balance

* feat: logging to disk

* refactor: renamed votePillar to delegateToPillar

* fix: WalletConnect issues

* feat: programmatically display WalletConnect tab

* feat: added deep link actions

* feat: update defaultValue for kWcProjectId

* chore: updated walletconnect_flutter_v2 to v2.0.12

* chore: update dependencies

* feat: added camera QR scanning for MacOS

* fix: WakelockPlus Linux support

* fix: replaced logger with Logger

* chore: added descriptions and code cleanup

* fix: wallet_connect_tab_child  import

* fix: minimum amount to send

* fix: refresh WalletConnectSessionsBloc

* fix: remainingZnnBudget decimals

* fix: onSessionDelete refresh

* Integrate changes from master with P2P swaps

---------

Co-authored-by: mik3mast3rs <mik3mast3rs@proton.me>
Co-authored-by: Alien Coder <118136375+alienc0der@users.noreply.github.com>
Co-authored-by: Github Actions <GH-actions-ci@github.com>
Co-authored-by: Interstellar Traveler <140100591+interstellartraveler77@users.noreply.github.com>

* Verify the uniqueness of the hashlock when joining a swap (#37)

* Add option to delete swap history (#38)

* Remove P2P swap warning banner and add a warning modal (#41)

* Add deposit recovery feature (#40)

* Add width constraints to shown amounts and token symbols (#39)

* Add width constraints to shown amounts and token symbols

* Decrease P2P swap list item's max text width to prevent overflow

* Refactor swap expiration warnings and increase counter HTLC expiration time (#42)

Signed-off-by: vilkris <90819192+vilkris4@users.noreply.github.com>

* Fix workflow file issues caused by upstream changes (#44)

* Remove bridge tab and related widgets (#43)

* Add link to P2P swap tutorial (#45)

* Update pubspec.lock to latest ZNN SDK version

* Update version numbers and Git commit date format (#46)

* Fix the extractDecimals extension method to handle zero decimals (#47)

* Fix ExchangeRateWidget's rate calculation (#48)

* Add documentation for how P2P swaps work (#49)

* Add documentation for how P2P swaps work

* Add a note of the used hash function to the documentation

* fix: enabled transfers for minimum zts amount

* Fix typo in bullet point card (#53)

* Merge master branch into develop (#54)

* Feat: Add deep linking - syrius://

* Update main_app_container.dart

* fix: MacOS deep link support

* Feat: Add UI for Wallet Connect

* feat: Enable pairing with dApps through WC

* chore: Add namespaces and more listeners

* Replace bodyText1 with bodyLarge

* fix: Change WC initialization

* chore: Update gitignore

* chore: Update repo after gitignore update

* feat: Add method that activates the pairing

* feat: Add feature that captures a part of the screen and listens to the clipboard

* feat: Build table that shows the current pairings

* feat: Add feature to scan the QR code from the screen

* fix: Remove Expanded widget from Pairings card widget tree

* feat: Listens to values in the clipboard in order to check for WC URI

* fix: Make access check for MacOS before scanning screen

* feat: Redirect to WC tab when a WC URI is detected

* fix: Rebuild WC URI input field when another URI is detected in the clipboard

* Updated native libraries

* fix: Recreate the windows folder

* feat: Add code that opens the app through deep linking

* refactor: Change API call when activating a pairing

* feat: Add possibility to deactivate a WC pair

* feat: Redirect to WC tab when opening the wallet through WC deep linking

* fix: Error initializing the WC uri input field

* feat: Improve validating the WC URI

* feat: Add handler for znn_net_info WC method

* feat: Add handler for znn_sign WC method

* refactor: Create function for signing with the key pair from the wallet file

* feat: Add handler for WC znn_send method

* feat: Change name of znn_net_info method to znn_info and refactor sending a block

* fix: Restyle the Topic column from the WC pairings table

* feat: Send back an account block to the dApp after executing the znn_send method

* feat: Send events to the dApp when the address or chain id were changed

* feat: Send error to the dApp when user rejects the transfer

* fix: Change the error type send to the dApp

* feat: Add confirmation dialogs before making an action sent from the dApp

* refactor

* feat: Fix dialog when dApp wants to send a tx

* fix: Reset the URI value from the change notifier once it's used

* fix: Don't redirect to WC when detecting a WC URI if the wallet is locked

* fix: Show WC URI detected notification if the user is already on the WC tab

* feat: Throw an error when trying to trigger an action through WC and wallet is locked

* feat: Reconnect to websocket when WC connection falls

* feat: Add methods to retrieve the active sessions and all sessions

* feat: Get the reference for getting the ZNN SDK

* feat: Change position of the WC Connect button and disable it in case the input is not valid

* refactor: Delete unused method

* feat: Send notification when user cancels the QR scanning

* feat: Keep the WC URI in memory when wallet is locked

* feat: Update WalletConnectPairingCard with the needed permissions

* feat: Update files

* feat: Wrap up WC

* fix: Clean up

* feat: Get WC project id from environment variable

* fix: Rebuild 'Connect' button when the URI input field is also rebuild

* feat: Rebuild pubspec.lock

* feat: Change the source of the ZNN SDK

* build: referenced wallet-connect sdk branch

* build: added required macos entitlements

* refactor: small refactor

* docs: updated README

* cicd: retrieve WALLET_CONNECT_PROJECT_ID

* cicd: added environment name

* cicd: updated flutter-action

* cicd: set linux directory permissions

* feat: added BigInt support

* fix: referenced latest SDK changes

* fix: desktop window

* fix: windows desktop window

* fix: bigInt decimal conversions

* chore: updated dependencies

* fix: tokenSymbol widget

* fix: minor UI fixes

* cicd: hardcoded flutter version for compatibility

* feat: Change caching the active sessions for a pairing

* fix: allow any ZTS in znn_send

* feat: added WalletConnect events

* fix: remove relayClient reconnect

* feat: Add widget for pairing session data

* feat: Tweak WC pairing flow

* fix: Emit the session event (address and chain id events) to each dApp with an active pair and session

* fix: add windows directory

* chore: update walletconnect_flutter_v2 to v2.0.4

* fix: BigInt fixes

* feat: Regenerate windows folder

* feat: Regenerate windows folder

* feat: Refresh WC URI input field after pairing

* feat: error notification for auto-receive

* chore: updated walletconnect_flutter_v2 to v2.0.6

* feat: Build WC uri card

* feat: Build WC QR card

* feat: Build WC camera card

* feat: Put the pairings and sessions widgets side by side

* feat: Change button name

* fix: flutter windows directory

* chore: update uni_links_desktop to v0.1.6

* fix: windows deep link handling

* feat: added notification for incoming links

* feat: Refresh pairing and session lists when connecting to dApp

* feat: Align pairing and session list widgets on top of each other

* refactor: Add the getter pairings to the WalletConnectService class

* feat: replaced uni_links with app_links

* fix: Revert changes to the pairing list widget

* fix: Make InfiniteScrollBloc handle case when the data request is not paginated

* fix: Don't dispose the pairings and sessions bloc

* fix: Also refresh sessions list after deleting a pairing

* fix: Check for broken WC URI

* fix: added refresh for onPairingCreate

* fix: Redirect to WC tab when an WC URI is detected while the wallet is locked

* fix: Don't cache results for blocs that don't handle paginated results

* fix: Decode WC URI before parsing

* feat: Upgrade project to Dart 3.0.1

* feat: Delete button that disconnects the WC session with the dApp

* feat: Throw error if trying to send tx from dApp while wallet is locked

* cicd: upgraded flutter to v3.10.2

* chore: update texts

* feat: Update WC dependency to 2.0.8

* fix: parse WalletConnect URI

* fix: Dart lint warnings

* feat: bump version to v0.0.7

* fix: Windows deep link

* Updated native libraries

* feat: Hard code chainId to 1 for WC

* fix: WalletConnect improvements

* fix: When to mark last page of the infinite scroll bloc

* fix: dialog navigator pop

* fix: added marquee for token balance

* feat: logging to disk

* refactor: renamed votePillar to delegateToPillar

* fix: WalletConnect issues

* feat: programmatically display WalletConnect tab

* feat: added deep link actions

* feat: update defaultValue for kWcProjectId

* chore: updated walletconnect_flutter_v2 to v2.0.12

* chore: update dependencies

* feat: added camera QR scanning for MacOS

* fix: WakelockPlus Linux support

* fix: replaced logger with Logger

* chore: added descriptions and code cleanup

* fix: wallet_connect_tab_child  import

* fix: minimum amount to send

* fix: refresh WalletConnectSessionsBloc

* fix: remainingZnnBudget decimals

* fix: onSessionDelete refresh

* v0.0.7 -  BigInt support & WalletConnect implementation

* BigInt support & WalletConnect implementation
* Embedded node update: libznn libraries will mitigate the fork at height 5094735

---------

Co-authored-by: Github Actions <GH-actions-ci@github.com>

* fix: enabled transfers for minimum zts amount (#32)

---------

Co-authored-by: mik3mast3rs <mik3mast3rs@proton.me>
Co-authored-by: Alien Coder <118136375+alienc0der@users.noreply.github.com>
Co-authored-by: Github Actions <GH-actions-ci@github.com>
Co-authored-by: Interstellar Traveler <140100591+interstellartraveler77@users.noreply.github.com>
Co-authored-by: Sol Sanctum <so1_sanctum@pm.me>

* Fix local time discrepancy warning with remote node

* Fix linter warning

* Update README.md badges for zenon network (#55)

* Update ZNN SDK dependency to use Zenon Network repository (#56)

---------

Signed-off-by: georgezgeorgez <92196048+georgezgeorgez@users.noreply.github.com>
Signed-off-by: vilkris <90819192+vilkris4@users.noreply.github.com>
Co-authored-by: CryptoFish <YankeeDoodlePigeon@protonmail.com>
Co-authored-by: georgezgeorgez <92196048+georgezgeorgez@users.noreply.github.com>
Co-authored-by: Github Actions <GH-actions-ci@github.com>
Co-authored-by: CryptoFish <13164589+KingGorrin@users.noreply.github.com>
Co-authored-by: Sol Sanctum <so1_sanctum@pm.me>
Co-authored-by: mik3mast3rs <mik3mast3rs@proton.me>
Co-authored-by: Alien Coder <118136375+alienc0der@users.noreply.github.com>
Co-authored-by: Interstellar Traveler <140100591+interstellartraveler77@users.noreply.github.com>

* Update libznn binaries to latest version (#35)

* fix: _wcClient initialization

* fix: check relay server connection

* chore: update walletconnect_flutter_v2 to v2.0.15

* fix: onPairingDelete refresh pairingsBloc

* chore: update dependencies

Upgrade several dependencies and remove flutter_test

* chore: update dependencies

* feat: updated WalletConnect integration

* feat: added community public nodes

* feat: added badge for notifications

* refactor: resyncWallet and NodeManagement

* feat: separated Plasma generation from sync

* fix: fl_charts

* fix: duplicate nodes in NodeManagement

* feat: open Syrius logs directory

* chore: update dependencies

* feat: switch auto-receiver on/off

* Create SECURITY.md

* feat: switch auto-receiver on/off

* chore: remove WC_PROJECT_ID environment variable

* cicd: removed wallet-connect environment

* Fix auto receiver

* Sync pubspec

* Fix different green colors

* Separate plasma from sync

* Revert "Add alienc0der's v0.0.7 changes"

* Reword `Send Payment` to `Send`. (#56)

* Fix wrapping of revocation time (#53)

* Fix FormatException when trying to fuse a large amount (#58)

* Community public nodes (#49)

* Update app_links and ignore incoming links on Linux (#55)

* Fix receive amount formatting and QrInputTooLongException (#59)

* Update charts (#52)

* Position address above amount (#62)

* Hardware wallet support for Ledger (#43)

* Delay Embedded Node until selected (#63)

* Disable autoreceive feature (#47)

* Reset words when verify incorrect seed (#66)

* Add auto-receive option on the onboard node-management screen (#65)

* Use CircularProgressIndicator for sync state

* Update znn_sdk_dart ref

* Change AZ pillar owner filters (#68)

* Load community nodes from assets (#69)

* Add manual test cases (#70)

* Update README

* Check for active sentinel

* chore(deps): bump archive from 3.3.7 to 3.3.8 (#73)

* WalletConnect refactor (#48)

* Release wallet lock after use

* Use finally to release wallet lock

* Restore WC_PROJECT_ID doc

* Update ledger test

* Add ledger test-run

* Fix missing quotes

* Fix missing quotes

* Fix running auto-receiver  (#76)

* Correct ledger test run

* Correct walletconnect test

* Fix delete web3 cache (#78)

* Add auto-receive test run

* Add community-nodes test run

* Remove unused import

* Allow znn or qsr az donations (#84)

* Restore connection on rejected chain identifier mismatch (#82)

* Rearrange settings widgets (#83)

* Remove type step from pillar stepper (#88)

* Use wallet name to identify ledger device (#89)

* Remove double error notification (#93)

* Add auto-receive test run

* Disconnect node on Wallet Reset (#94)

* Properly await all notifications (#95)

* Add community-nodes test run

* Fix dashboard highlight overlap (#97)

* Update znn_ledger_dart ref

* Update QR child image (#98)

* Fix error handling when generating new addresses (#100)

* Refactor Sentinel stepper with Pillar impl. (#101)

* Update ledger test run

* Chore: upgrades and workflow fixes (#103)

* Add walletconnect test run

* Fix WalletConnect camera scanner (#104)

* Add walletconnect test run

* Delete web3 cache by deactivating pairings (#107)

* Fix "shadows" on token cards (#109)

* Apply sync check to all hosts (#112)

* Refrase auto-receiver checkbox tooltip

* Clean up unused AsyncMutex

---------

Signed-off-by: georgezgeorgez <92196048+georgezgeorgez@users.noreply.github.com>
Signed-off-by: vilkris <90819192+vilkris4@users.noreply.github.com>
Co-authored-by: vilkris <90819192+vilkris4@users.noreply.github.com>
Co-authored-by: georgezgeorgez <92196048+georgezgeorgez@users.noreply.github.com>
Co-authored-by: Github Actions <GH-actions-ci@github.com>
Co-authored-by: Sol Sanctum <so1_sanctum@pm.me>
Co-authored-by: mik3mast3rs <mik3mast3rs@proton.me>
Co-authored-by: Alien Coder <118136375+alienc0der@users.noreply.github.com>
Co-authored-by: Interstellar Traveler <140100591+interstellartraveler77@users.noreply.github.com>
Co-authored-by: vilkris <vilkris@protonmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • Loading branch information
10 people committed Apr 2, 2024
1 parent 5ad293d commit 1ab3592
Show file tree
Hide file tree
Showing 164 changed files with 5,680 additions and 2,633 deletions.
71 changes: 44 additions & 27 deletions .github/workflows/syrius_builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,28 @@ on:
workflow_dispatch:

env:
FLUTTER_VERSION: "3.10.x"
FLUTTER_VERSION: "3.19.x"

jobs:
build-macos:
env:
WALLET_CONNECT_PROJECT_ID: ${{ secrets.WC_PROJECT_ID }}
runs-on: macos-12
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Checkout zenon-node-database repository
uses: actions/checkout@v4
with:
repository: HyperCore-One/zenon-node-database
path: ./node-db
ref: main
- name: Copy community nodes
run: cp -r ./node-db/rpc-nodes-mainnet.json ./assets/community-nodes.json
- name: Setup environment
run: |
brew install unzip create-dmg
brew cleanup
- name: Checkout
uses: actions/checkout@v3
- name: Setup Flutter
uses: subosito/flutter-action@v2.10.0
uses: subosito/flutter-action@v2
with:
flutter-version: ${{env.FLUTTER_VERSION}}
channel: "stable"
Expand All @@ -35,7 +39,7 @@ jobs:
- name: Build syrius desktop
run: |
flutter config --enable-macos-desktop
flutter build macos --dart-define=WC_PROJECT_ID=$WALLET_CONNECT_PROJECT_ID --release
flutter build macos --release
- name: Package into DMG
run: |
create-dmg --volname syrius \
Expand All @@ -52,19 +56,26 @@ jobs:
--hdiutil-verbose syrius-alphanet-macos-universal.dmg build/macos/Build/Products/Release/s\ y\ r\ i\ u\ s.app \
syrius-alphanet-macos-universal.dmg build/macos/Build/Products/Release/s\ y\ r\ i\ u\ s.app
- name: Upload artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: macos-artifacts
path: syrius-alphanet-macos-universal.dmg
build-windows:
env:
WALLET_CONNECT_PROJECT_ID: ${{ secrets.WC_PROJECT_ID }}
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Checkout zenon-node-database repository
uses: actions/checkout@v4
with:
repository: HyperCore-One/zenon-node-database
path: ./node-db
ref: main
- name: Copy community nodes
shell: pwsh
run: Copy-Item .\node-db\rpc-nodes-mainnet.json .\assets\community-nodes.json -Force
- name: Setup Flutter
uses: subosito/flutter-action@v2.10.0
uses: subosito/flutter-action@v2
with:
flutter-version: ${{env.FLUTTER_VERSION}}
channel: "stable"
Expand All @@ -73,28 +84,34 @@ jobs:
- name: Build syrius desktop
run: |
flutter config --enable-windows-desktop
flutter build windows --dart-define=WC_PROJECT_ID=$env:WALLET_CONNECT_PROJECT_ID --release
flutter build windows --release
- name: Package into zip
run: |
Compress-Archive -Path build\windows\runner\Release\* -DestinationPath .\syrius-alphanet-windows-amd64.zip
Compress-Archive -Path build\windows\x64\runner\Release\* -DestinationPath .\syrius-alphanet-windows-amd64.zip
- name: Upload artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: windows-artifacts
path: syrius-alphanet-windows-amd64.zip
build-linux:
env:
WALLET_CONNECT_PROJECT_ID: ${{ secrets.WC_PROJECT_ID }}
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Checkout zenon-node-database repository
uses: actions/checkout@v4
with:
repository: HyperCore-One/zenon-node-database
path: ./node-db
ref: main
- name: Copy community nodes
run: cp -r ./node-db/rpc-nodes-mainnet.json assets/community-nodes.json
- name: Prepare environment
run: |
sudo apt update
sudo apt install -y curl clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev unzip xz-utils zip libnotify-dev libayatana-appindicator3-dev
- name: Setup Flutter
uses: subosito/flutter-action@v2.10.0
uses: subosito/flutter-action@v2
with:
flutter-version: ${{env.FLUTTER_VERSION}}
channel: "stable"
Expand All @@ -108,13 +125,13 @@ jobs:
- name: Build syrius desktop
run: |
flutter config --enable-linux-desktop
flutter build linux --dart-define=WC_PROJECT_ID=$WALLET_CONNECT_PROJECT_ID --release -v
flutter build linux --release -v
- name: Package zip
run: |
cd build/linux/x64/release/bundle
zip -r ../../../../../syrius-alphanet-linux-amd64.zip *
- name: Upload artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: linux-artifacts
path: syrius-alphanet-linux-amd64.zip
Expand All @@ -124,7 +141,7 @@ jobs:
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set variables
run: |
echo "SYRIUS_VERSION=${{ github.ref }}" >> $GITHUB_ENV
Expand Down Expand Up @@ -152,15 +169,15 @@ jobs:
- name: Prepare releases directory
run: mkdir releases
- name: Download macOS artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: macos-artifacts
- name: Download Windows artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: windows-artifacts
- name: Download Linux artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: linux-artifacts
- name: Prepare releases
Expand All @@ -174,7 +191,7 @@ jobs:
echo $(sha256sum *)
echo $(sha256sum *) >> SHA256CHECKSUMS.txt
- name: Upload files to a GitHub release
uses: svenstaro/upload-release-action@2.4.1
uses: svenstaro/upload-release-action@2.9.0
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
release_name: ${{ env.SYRIUS_VERSION }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/syrius_lib_updater.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ jobs:
sudo apt update
sudo apt install -y unzip
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Download libznn
uses: robinraju/release-downloader@v1.6
uses: robinraju/release-downloader@v1.9
with:
repository: "zenon-network/go-zenon"
latest: true
Expand Down
21 changes: 12 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

[![Build and release syrius](https://github.com/zenon-network/syrius/actions/workflows/syrius_builder.yml/badge.svg?branch=develop)](https://github.com/zenon-network/syrius/actions/workflows/syrius_builder.yml) [![Library updater for syrius](https://github.com/zenon-network/syrius/actions/workflows/syrius_lib_updater.yml/badge.svg?branch=develop)](https://github.com/zenon-network/syrius/actions/workflows/syrius_lib_updater.yml)

Cross-platform non-custodial wallet designed for Alphanet - Network of Momentum Phase 0.
Cross-platform non-custodial wallet designed for Alphanet - Network of Momentum Phase 1.

Developed in Flutter using the [Zenon Dart SDK](https://github.com/zenon-network/znn_sdk_dart), `s y r i u s` wallet provides a simple and intuitive interface to interact with Network of Momentum Phase 0.
Developed in Flutter using the [Zenon Dart SDK](https://github.com/zenon-network/znn_sdk_dart) and [Ledger Wallet for Zenon Dart SDK](https://github.com/hypercore-one/znn_ledger_dart), `s y r i u s` wallet provides a simple and intuitive interface to interact with Network of Momentum Phase 1.

## Architecture

Expand All @@ -18,24 +18,27 @@ The wallet has a modular design with native full node integration. There are thr

Follow the instructions to install the [Flutter SDK](https://docs.flutter.dev/get-started/install). Check the [documentation](https://docs.flutter.dev/desktop) in order to setup the Flutter desktop environment.

Learn about the foreign function interface (ffi) [here](https://docs.flutter.dev/development/platform-integration/c-interop) that enables state-of-the art KDF - [Argon2](https://github.com/zenon-network/argon2_ffi), feeless transactions - [PoW links](https://github.com/zenon-network/znn-pow-links-cpp) and native full node integration - [Embedded Node](https://github.com/zenon-network/go-zenon).
Learn about the foreign function interface (ffi) [here](https://docs.flutter.dev/development/platform-integration/c-interop) that enables state-of-the art KDF - [Argon2](https://github.com/zenon-network/argon2_ffi), feeless transactions - [PoW links](https://github.com/zenon-network/znn-pow-links-cpp), native full node integration - [Embedded Node](https://github.com/zenon-network/go-zenon) and communication library between Ledger devices - [Ledger](https://github.com/zenon-network/ledger_ffi_rs).

Dependencies:

- Flutter: `>=2.10.x`
- Dart: `>=2.16.x`
- Flutter: `>=3.19.x`
- Dart: `>=3.3.x`

Currently supported `<os>`: `windows`, `macos`, `linux`

The [WalletConnect](https://github.com/WalletConnect) integration requires setting the `WC_PROJECT_ID` environmental variable.

```bash
git clone https://github.com/zenon-network/syrius.git
flutter pub get
flutter run --dart-define=WC_PROJECT_ID=walletconnect_project_id -d <os>
flutter build --dart-define=WC_PROJECT_ID=walletconnect_project_id <os>
flutter run -d <os>
flutter build <os>
```

## Linux

Note that on Linux you will need to install an udev rule file with your application for unprivileged users to be able to access HID devices with hidapi.
Refer to the [README](udev/) file in the udev directory for an example.

## Contributing

Please check [CONTRIBUTING](./CONTRIBUTING.md) for more details.
Expand Down
1 change: 1 addition & 0 deletions assets/community-nodes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
Binary file modified assets/images/qr_code_child_image_znn.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/lottie/ic_anim_plasma_generation.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"v":"5.7.1","fr":30,"ip":0,"op":80,"w":500,"h":500,"nm":"Plasma generation","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"thunder Outlines 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[250,250,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[95.758,-41.79],[21.469,-41.79],[22.96,-175.92],[-95.757,41.789],[-21.469,41.789],[-22.96,175.92]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":10,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[100]},{"t":43,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.31,0.82,0.4],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[250,250],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"thunder Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[250,250,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[95.758,-41.79],[21.469,-41.79],[22.96,-175.92],[-95.757,41.789],[-21.469,41.789],[-22.96,175.92]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":10,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"st","c":{"a":0,"k":[0.702,0.702,0.702],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[250,250],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"thunder_2 Outlines","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":34,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":41,"s":[60]},{"t":49,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[250,250,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[95.758,-41.79],[21.469,-41.79],[22.96,-175.92],[-95.757,41.789],[-21.469,41.789],[-22.96,175.92]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.31,0.82,0.4],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[250,250],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":10,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false}],"ip":32,"op":322,"st":22,"bm":0}],"markers":[]}
31 changes: 27 additions & 4 deletions lib/blocs/accelerator/project_list_bloc.dart
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ class ProjectListBloc with RefreshBlocMixin {
Future<Set<Project>> _filterProjectsByTags(List<Project> projects) async {
if (selectedProjectsFilterTag.isNotEmpty) {
Iterable<Hash>? votedProjectIds;
Iterable<Hash>? votedPhaseIds;
Iterable<Project> filteredProjects = projects;
if (selectedProjectsFilterTag.contains(AccProjectsFilterTag.myProjects)) {
filteredProjects = filteredProjects.where(
Expand All @@ -219,19 +220,29 @@ class ProjectListBloc with RefreshBlocMixin {
(project) => project.status == AcceleratorProjectStatus.active);
}
if (selectedProjectsFilterTag
.contains(AccProjectsFilterTag.votingOpened)) {
.contains(AccProjectsFilterTag.needsVoting)) {
votedProjectIds ??= await _getVotedProjectIdsByPillar(filteredProjects);
votedPhaseIds ??= await _getVotedPhaseIdsByPillar(filteredProjects);
filteredProjects = filteredProjects.where(
(project) =>
project.status == AcceleratorProjectStatus.voting &&
!votedProjectIds!.contains(project.id),
(project.status == AcceleratorProjectStatus.voting &&
!votedProjectIds!.contains(project.id)) ||
project.phases.any((phase) =>
phase.status == AcceleratorProjectStatus.voting &&
!votedPhaseIds!.contains(phase.id)),
);
}
if (selectedProjectsFilterTag
.contains(AccProjectsFilterTag.alreadyVoted)) {
votedProjectIds ??= await _getVotedProjectIdsByPillar(filteredProjects);
votedPhaseIds ??= await _getVotedPhaseIdsByPillar(filteredProjects);
filteredProjects = filteredProjects.where(
(project) => votedProjectIds!.contains(project.id),
(project) =>
(project.status == AcceleratorProjectStatus.voting &&
votedProjectIds!.contains(project.id)) ||
project.phases.any((phase) =>
phase.status == AcceleratorProjectStatus.voting &&
votedPhaseIds!.contains(phase.id)),
);
}
return filteredProjects.toSet();
Expand All @@ -248,4 +259,16 @@ class ProjectListBloc with RefreshBlocMixin {
);
return pillarVotes.where((e) => e != null).map((e) => e!.id);
}

Future<Iterable<Hash>> _getVotedPhaseIdsByPillar(
Iterable<Project> projects) async {
var pillarVotes = await zenon!.embedded.accelerator.getPillarVotes(
pillarInfo!.name,
projects
.expand((project) => project.phaseIds)
.map((id) => id.toString())
.toList(),
);
return pillarVotes.where((e) => e != null).map((e) => e!.id);
}
}

0 comments on commit 1ab3592

Please sign in to comment.