├── android
├── settings_aar.gradle
├── gradle.properties
├── .gitignore
├── app
│ └── src
│ │ ├── main
│ │ └── res
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-ldpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── title_left.png
│ │ │ ├── title_more.png
│ │ │ ├── ic_launcher.png
│ │ │ ├── title_close.png
│ │ │ └── title_refresh.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-xxhdpi
│ │ │ └── icon_byte_close.png
│ │ │ ├── drawable
│ │ │ ├── edittext_cursor.xml
│ │ │ ├── button_select.xml
│ │ │ ├── edittext_select.xml
│ │ │ ├── cfx_confirm_shape_dialog_bg.xml
│ │ │ ├── password_shape_dialog_bg.xml
│ │ │ ├── edittext_bg.xml
│ │ │ ├── edittext_bg_focus.xml
│ │ │ ├── item_bg.xml
│ │ │ ├── button_bg.xml
│ │ │ ├── button_bg_p.xml
│ │ │ ├── launch_background.xml
│ │ │ └── progress_style.xml
│ │ │ ├── anim
│ │ │ ├── slide_bottom_out.xml
│ │ │ └── slide_bottom_in.xml
│ │ │ └── values
│ │ │ └── styles.xml
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
├── settings.gradle
└── build.gradle
├── ios
├── Flutter
│ ├── .last_build_id
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ └── AppFrameworkInfo.plist
├── Runner
│ ├── Runner-Bridging-Header.h
│ ├── Assets.xcassets
│ │ ├── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ ├── AppIcon20x20.png
│ │ │ ├── AppIcon29x29.png
│ │ │ ├── AppIcon40x40.png
│ │ │ ├── AppIcon76x76.png
│ │ │ ├── AppIcon20x20@2x.png
│ │ │ ├── AppIcon20x20@3x.png
│ │ │ ├── AppIcon29x29@2x.png
│ │ │ ├── AppIcon29x29@3x.png
│ │ │ ├── AppIcon40x40@2x.png
│ │ │ ├── AppIcon40x40@3x.png
│ │ │ ├── AppIcon60x60@2x.png
│ │ │ ├── AppIcon60x60@3x.png
│ │ │ ├── AppIcon76x76@2x.png
│ │ │ ├── AppIcon1024x1024.png
│ │ │ └── AppIcon83.5x83.5@2x.png
│ │ ├── LaunchImage.imageset
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ ├── README.md
│ │ │ └── Contents.json
│ │ └── Image.imageset
│ │ │ └── Contents.json
│ ├── AppDelegate.swift
│ └── Base.lproj
│ │ ├── Main.storyboard
│ │ └── LaunchScreen.storyboard
├── build
│ └── Pods.build
│ │ └── Release-iphonesimulator
│ │ ├── FMDB.build
│ │ └── dgph
│ │ ├── Flutter.build
│ │ └── dgph
│ │ ├── Toast.build
│ │ └── dgph
│ │ ├── share.build
│ │ └── dgph
│ │ ├── sqflite.build
│ │ └── dgph
│ │ ├── OrderedSet.build
│ │ └── dgph
│ │ ├── Pods-Runner.build
│ │ └── dgph
│ │ ├── Reachability.build
│ │ └── dgph
│ │ ├── fluttertoast.build
│ │ └── dgph
│ │ ├── image_picker.build
│ │ └── dgph
│ │ ├── local_auth.build
│ │ └── dgph
│ │ ├── package_info.build
│ │ └── dgph
│ │ ├── path_provider.build
│ │ └── dgph
│ │ ├── url_launcher.build
│ │ └── dgph
│ │ ├── flutter_qr_reader.build
│ │ └── dgph
│ │ ├── keyboard_visibility.build
│ │ └── dgph
│ │ ├── permission_handler.build
│ │ └── dgph
│ │ ├── shared_preferences.build
│ │ └── dgph
│ │ ├── webview_flutter.build
│ │ └── dgph
│ │ ├── flutter_inappwebview.build
│ │ └── dgph
│ │ └── flutter_keyboard_visibility.build
│ │ └── dgph
├── Runner.xcodeproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ ├── WorkspaceSettings.xcsettings
│ │ └── IDEWorkspaceChecks.plist
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── WorkspaceSettings.xcsettings
│ │ └── IDEWorkspaceChecks.plist
├── .gitignore
└── Podfile
├── images
├── AE.png
├── FC.png
├── qq.png
├── BTC.png
├── BTM.png
├── CFX.png
├── ETH.png
├── logo.png
├── defi_bg.png
├── home_bg.png
├── no_data.png
├── no_net.png
├── search.png
├── swap_my.png
├── tab_app.png
├── tether.png
├── twitter.png
├── weibo.png
├── weixin.png
├── base_logo.png
├── card_top.png
├── chain_add.png
├── defi_info.png
├── defi_list.png
├── defi_logo.png
├── home_aens.png
├── home_game.png
├── home_logo.png
├── home_nft.png
├── home_send.png
├── home_swap.png
├── ic_aeknow.png
├── index_bg1.png
├── index_bg2.png
├── index_bg4.png
├── nav_home.png
├── no_record.png
├── swap_send.png
├── tab_app_p.png
├── tab_home.png
├── tab_swap.png
├── telegram.png
├── together.png
├── token_add.png
├── account_copy.png
├── aepp_forum.png
├── apps_wetrue.png
├── card_bottom.png
├── home_names.png
├── home_receive.png
├── home_record.png
├── home_search.png
├── home_serach.png
├── home_token.png
├── ic_browser.png
├── login_logo.png
├── name_point.png
├── nav_profile.png
├── nav_wallet.png
├── place_holder.png
├── profile_info.png
├── ranking_logo.png
├── ranking_one.png
├── ranking_text.png
├── ranking_two.png
├── setting_node.png
├── setting_save.png
├── splasn_logo.png
├── tab_home_p.png
├── tab_swap_p.png
├── token_send.png
├── wallet_card.png
├── account_create.png
├── account_import.png
├── aepp_superhero.png
├── home_financial.png
├── home_logo_left.png
├── home_settings.png
├── ic_status_defi.png
├── logo_superhero.png
├── name_transfer.png
├── profile_banner.png
├── profile_lanuge.png
├── profile_lines.png
├── profile_wallet.png
├── ranking_three.png
├── token_receive.png
├── wetrue_logo_h.png
├── apple-touch-icon.png
├── check_box_normal.png
├── check_box_select.png
├── home_send_token.png
├── logo_governance.png
├── main_know_icon_1.png
├── main_know_icon_2.png
├── main_know_icon_3.png
├── nav_home_active.png
├── nav_wallet_active.png
├── profile_backups.png
├── profile_connect.png
├── profile_network.png
├── setting_lanuage.png
├── setting_version.png
├── wallet_card_blue.png
├── home_receive_token.png
├── nav_profile_active.png
├── wallet_select_copy.png
├── wallet_select_edit.png
├── profile_reset_password.png
├── wallet_select_confrim.png
├── wallet_select_delete.png
├── profile_display_currency.png
├── profile_account_permissions.png
├── wallet_select_account_add.png
└── animation_khzuiqgg.json
├── assets
└── fonts
│ ├── Ubuntu-Bold.ttf
│ ├── Ubuntu-Italic.ttf
│ ├── Ubuntu-Light.ttf
│ ├── Ubuntu-Medium.ttf
│ ├── Ubuntu-Regular.ttf
│ ├── Ubuntu-BoldItalic.ttf
│ ├── Ubuntu-LightItalic.ttf
│ ├── Ubuntu-MediumItalic.ttf
│ └── ZCOOLXiaoWei-Regular.ttf
├── .metadata
├── .vscode
└── launch.json
├── lib
├── model
│ ├── conflux
│ │ ├── cfx_nft_token_model.dart
│ │ ├── cfx_balance_model.dart
│ │ ├── cfx_rpc_model.dart
│ │ ├── cfx_nft_preview_model.dart
│ │ ├── cfx_nft_balance_model.dart
│ │ └── cfx_dapp_list_model.dart
│ └── aeternity
│ │ ├── chains_model.dart
│ │ ├── tx_broadcast_model.dart
│ │ ├── block_top_model.dart
│ │ ├── th_hash_model.dart
│ │ ├── allowance_model.dart
│ │ ├── we_true_praise_model.dart
│ │ ├── contract_decode_model.dart
│ │ ├── banner_model.dart
│ │ ├── contract_call_model.dart
│ │ ├── contract_balance_model.dart
│ │ ├── account_info_model.dart
│ │ ├── msg_sign_model.dart
│ │ ├── app_store_model.dart
│ │ ├── name_owner_model.dart
│ │ ├── user_model.dart
│ │ ├── ct_token_model.dart
│ │ ├── swap_model.dart
│ │ ├── swap_coin_model.dart
│ │ ├── token_list_model.dart
│ │ ├── version_model.dart
│ │ ├── contract_info_model.dart
│ │ ├── swap_coin_my_model.dart
│ │ ├── swap_coin_account_model.dart
│ │ ├── base_name_data_model.dart
│ │ ├── contract_record_model.dart
│ │ ├── name_reverse_model.dart
│ │ ├── price_model.dart
│ │ ├── swap_order_model.dart
│ │ ├── contract_ranking_model.dart
│ │ ├── aens_page_model.dart
│ │ └── swap_coin_order_model.dart
├── dao
│ ├── aeternity
│ │ ├── block_top_dao.dart
│ │ ├── base_data_dao.dart
│ │ ├── aens_info_dao.dart
│ │ ├── version_dao.dart
│ │ ├── ae_account_error_list_dao.dart
│ │ ├── node_test_dao.dart
│ │ ├── base_name_data_dao.dart
│ │ ├── price_model.dart
│ │ ├── banner_dao.dart
│ │ ├── user_register_dao.dart
│ │ ├── app_store_dao.dart
│ │ ├── token_list_dao.dart
│ │ ├── swap_coin_dao.dart
│ │ ├── swap_my_dao.dart
│ │ ├── name_owner_dao.dart
│ │ ├── user_login_dao.dart
│ │ ├── swap_dao.dart
│ │ ├── contract_ranking_dao.dart
│ │ ├── swap_coin_account_dao.dart
│ │ ├── account_info_dao.dart
│ │ ├── swap_my_buy_dao.dart
│ │ ├── swap_my_sell_dao.dart
│ │ ├── swap_coin_my_dao.dart
│ │ ├── wallet_record_dao.dart
│ │ ├── aens_register_dao.dart
│ │ ├── aens_update_dao.dart
│ │ ├── aens_preclaim_dao.dart
│ │ ├── contract_balance_dao.dart
│ │ ├── contract_info_dao.dart
│ │ ├── swap_coin_order_dao.dart
│ │ ├── token_record_dao.dart
│ │ ├── name_reverse_dao.dart
│ │ ├── wetrue_topic_dao.dart
│ │ ├── token_send_dao.dart
│ │ ├── wetrue_praise_dao.dart
│ │ ├── tx_broadcast_dao.dart
│ │ ├── th_hash_dao.dart
│ │ ├── allowance_dao.dart
│ │ ├── wetrue_config_dao.dart
│ │ ├── contract_transfer_call_dao.dart
│ │ ├── wetrue_comment_list_dao.dart
│ │ ├── aens_page_dao.dart
│ │ ├── wetrue_list_dao.dart
│ │ ├── contract_record_dao.dart
│ │ ├── contract_decode_dao.dart
│ │ └── contract_call_dao.dart
│ └── conflux
│ │ ├── cfx_dapp_list_dao.dart
│ │ ├── cfx_balance_dao.dart
│ │ ├── cfx_token_list_dao.dart
│ │ ├── cfx_nft_balance_dao.dart
│ │ ├── cfx_token_address_dao.dart
│ │ ├── cfx_transfer_hash_dao.dart
│ │ ├── cfx_nft_token_dao.dart
│ │ ├── cfx_transfer_dao.dart
│ │ ├── cfx_nft_preview_dao.dart
│ │ └── cfx_crc20_transfer_dao.dart
├── event
│ └── language_event.dart
├── manager
│ ├── plugin_manager.dart
│ └── ct_token_manager.dart
├── widget
│ ├── password_widget.dart
│ └── custom_b_t_route.dart
├── page
│ ├── aeternity
│ │ └── ae_swaps_page.dart
│ └── general
│ │ ├── photo_page.dart
│ │ └── scan_page.dart
├── utils
│ └── RelativeDateFormat.dart
└── generated
│ └── intl
│ └── messages_all.dart
├── README.md
├── test
└── widget_test.dart
└── .gitignore
/android/settings_aar.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/ios/Flutter/.last_build_id:
--------------------------------------------------------------------------------
1 | 6fb6e884f755786f1db0a91deb6b54b1
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/images/AE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/AE.png
--------------------------------------------------------------------------------
/images/FC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/FC.png
--------------------------------------------------------------------------------
/images/qq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/qq.png
--------------------------------------------------------------------------------
/images/BTC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/BTC.png
--------------------------------------------------------------------------------
/images/BTM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/BTM.png
--------------------------------------------------------------------------------
/images/CFX.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/CFX.png
--------------------------------------------------------------------------------
/images/ETH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/ETH.png
--------------------------------------------------------------------------------
/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/logo.png
--------------------------------------------------------------------------------
/images/defi_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/defi_bg.png
--------------------------------------------------------------------------------
/images/home_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_bg.png
--------------------------------------------------------------------------------
/images/no_data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/no_data.png
--------------------------------------------------------------------------------
/images/no_net.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/no_net.png
--------------------------------------------------------------------------------
/images/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/search.png
--------------------------------------------------------------------------------
/images/swap_my.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/swap_my.png
--------------------------------------------------------------------------------
/images/tab_app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/tab_app.png
--------------------------------------------------------------------------------
/images/tether.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/tether.png
--------------------------------------------------------------------------------
/images/twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/twitter.png
--------------------------------------------------------------------------------
/images/weibo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/weibo.png
--------------------------------------------------------------------------------
/images/weixin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/weixin.png
--------------------------------------------------------------------------------
/images/base_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/base_logo.png
--------------------------------------------------------------------------------
/images/card_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/card_top.png
--------------------------------------------------------------------------------
/images/chain_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/chain_add.png
--------------------------------------------------------------------------------
/images/defi_info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/defi_info.png
--------------------------------------------------------------------------------
/images/defi_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/defi_list.png
--------------------------------------------------------------------------------
/images/defi_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/defi_logo.png
--------------------------------------------------------------------------------
/images/home_aens.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_aens.png
--------------------------------------------------------------------------------
/images/home_game.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_game.png
--------------------------------------------------------------------------------
/images/home_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_logo.png
--------------------------------------------------------------------------------
/images/home_nft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_nft.png
--------------------------------------------------------------------------------
/images/home_send.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_send.png
--------------------------------------------------------------------------------
/images/home_swap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_swap.png
--------------------------------------------------------------------------------
/images/ic_aeknow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/ic_aeknow.png
--------------------------------------------------------------------------------
/images/index_bg1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/index_bg1.png
--------------------------------------------------------------------------------
/images/index_bg2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/index_bg2.png
--------------------------------------------------------------------------------
/images/index_bg4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/index_bg4.png
--------------------------------------------------------------------------------
/images/nav_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/nav_home.png
--------------------------------------------------------------------------------
/images/no_record.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/no_record.png
--------------------------------------------------------------------------------
/images/swap_send.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/swap_send.png
--------------------------------------------------------------------------------
/images/tab_app_p.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/tab_app_p.png
--------------------------------------------------------------------------------
/images/tab_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/tab_home.png
--------------------------------------------------------------------------------
/images/tab_swap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/tab_swap.png
--------------------------------------------------------------------------------
/images/telegram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/telegram.png
--------------------------------------------------------------------------------
/images/together.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/together.png
--------------------------------------------------------------------------------
/images/token_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/token_add.png
--------------------------------------------------------------------------------
/images/account_copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/account_copy.png
--------------------------------------------------------------------------------
/images/aepp_forum.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/aepp_forum.png
--------------------------------------------------------------------------------
/images/apps_wetrue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/apps_wetrue.png
--------------------------------------------------------------------------------
/images/card_bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/card_bottom.png
--------------------------------------------------------------------------------
/images/home_names.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_names.png
--------------------------------------------------------------------------------
/images/home_receive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_receive.png
--------------------------------------------------------------------------------
/images/home_record.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_record.png
--------------------------------------------------------------------------------
/images/home_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_search.png
--------------------------------------------------------------------------------
/images/home_serach.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_serach.png
--------------------------------------------------------------------------------
/images/home_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_token.png
--------------------------------------------------------------------------------
/images/ic_browser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/ic_browser.png
--------------------------------------------------------------------------------
/images/login_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/login_logo.png
--------------------------------------------------------------------------------
/images/name_point.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/name_point.png
--------------------------------------------------------------------------------
/images/nav_profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/nav_profile.png
--------------------------------------------------------------------------------
/images/nav_wallet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/nav_wallet.png
--------------------------------------------------------------------------------
/images/place_holder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/place_holder.png
--------------------------------------------------------------------------------
/images/profile_info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/profile_info.png
--------------------------------------------------------------------------------
/images/ranking_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/ranking_logo.png
--------------------------------------------------------------------------------
/images/ranking_one.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/ranking_one.png
--------------------------------------------------------------------------------
/images/ranking_text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/ranking_text.png
--------------------------------------------------------------------------------
/images/ranking_two.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/ranking_two.png
--------------------------------------------------------------------------------
/images/setting_node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/setting_node.png
--------------------------------------------------------------------------------
/images/setting_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/setting_save.png
--------------------------------------------------------------------------------
/images/splasn_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/splasn_logo.png
--------------------------------------------------------------------------------
/images/tab_home_p.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/tab_home_p.png
--------------------------------------------------------------------------------
/images/tab_swap_p.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/tab_swap_p.png
--------------------------------------------------------------------------------
/images/token_send.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/token_send.png
--------------------------------------------------------------------------------
/images/wallet_card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/wallet_card.png
--------------------------------------------------------------------------------
/images/account_create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/account_create.png
--------------------------------------------------------------------------------
/images/account_import.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/account_import.png
--------------------------------------------------------------------------------
/images/aepp_superhero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/aepp_superhero.png
--------------------------------------------------------------------------------
/images/home_financial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_financial.png
--------------------------------------------------------------------------------
/images/home_logo_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_logo_left.png
--------------------------------------------------------------------------------
/images/home_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_settings.png
--------------------------------------------------------------------------------
/images/ic_status_defi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/ic_status_defi.png
--------------------------------------------------------------------------------
/images/logo_superhero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/logo_superhero.png
--------------------------------------------------------------------------------
/images/name_transfer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/name_transfer.png
--------------------------------------------------------------------------------
/images/profile_banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/profile_banner.png
--------------------------------------------------------------------------------
/images/profile_lanuge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/profile_lanuge.png
--------------------------------------------------------------------------------
/images/profile_lines.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/profile_lines.png
--------------------------------------------------------------------------------
/images/profile_wallet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/profile_wallet.png
--------------------------------------------------------------------------------
/images/ranking_three.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/ranking_three.png
--------------------------------------------------------------------------------
/images/token_receive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/token_receive.png
--------------------------------------------------------------------------------
/images/wetrue_logo_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/wetrue_logo_h.png
--------------------------------------------------------------------------------
/assets/fonts/Ubuntu-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/assets/fonts/Ubuntu-Bold.ttf
--------------------------------------------------------------------------------
/images/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/apple-touch-icon.png
--------------------------------------------------------------------------------
/images/check_box_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/check_box_normal.png
--------------------------------------------------------------------------------
/images/check_box_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/check_box_select.png
--------------------------------------------------------------------------------
/images/home_send_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_send_token.png
--------------------------------------------------------------------------------
/images/logo_governance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/logo_governance.png
--------------------------------------------------------------------------------
/images/main_know_icon_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/main_know_icon_1.png
--------------------------------------------------------------------------------
/images/main_know_icon_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/main_know_icon_2.png
--------------------------------------------------------------------------------
/images/main_know_icon_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/main_know_icon_3.png
--------------------------------------------------------------------------------
/images/nav_home_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/nav_home_active.png
--------------------------------------------------------------------------------
/images/nav_wallet_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/nav_wallet_active.png
--------------------------------------------------------------------------------
/images/profile_backups.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/profile_backups.png
--------------------------------------------------------------------------------
/images/profile_connect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/profile_connect.png
--------------------------------------------------------------------------------
/images/profile_network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/profile_network.png
--------------------------------------------------------------------------------
/images/setting_lanuage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/setting_lanuage.png
--------------------------------------------------------------------------------
/images/setting_version.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/setting_version.png
--------------------------------------------------------------------------------
/images/wallet_card_blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/wallet_card_blue.png
--------------------------------------------------------------------------------
/assets/fonts/Ubuntu-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/assets/fonts/Ubuntu-Italic.ttf
--------------------------------------------------------------------------------
/assets/fonts/Ubuntu-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/assets/fonts/Ubuntu-Light.ttf
--------------------------------------------------------------------------------
/assets/fonts/Ubuntu-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/assets/fonts/Ubuntu-Medium.ttf
--------------------------------------------------------------------------------
/images/home_receive_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/home_receive_token.png
--------------------------------------------------------------------------------
/images/nav_profile_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/nav_profile_active.png
--------------------------------------------------------------------------------
/images/wallet_select_copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/wallet_select_copy.png
--------------------------------------------------------------------------------
/images/wallet_select_edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/wallet_select_edit.png
--------------------------------------------------------------------------------
/assets/fonts/Ubuntu-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/assets/fonts/Ubuntu-Regular.ttf
--------------------------------------------------------------------------------
/images/profile_reset_password.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/profile_reset_password.png
--------------------------------------------------------------------------------
/images/wallet_select_confrim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/wallet_select_confrim.png
--------------------------------------------------------------------------------
/images/wallet_select_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/wallet_select_delete.png
--------------------------------------------------------------------------------
/assets/fonts/Ubuntu-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/assets/fonts/Ubuntu-BoldItalic.ttf
--------------------------------------------------------------------------------
/assets/fonts/Ubuntu-LightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/assets/fonts/Ubuntu-LightItalic.ttf
--------------------------------------------------------------------------------
/images/profile_display_currency.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/profile_display_currency.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/assets/fonts/Ubuntu-MediumItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/assets/fonts/Ubuntu-MediumItalic.ttf
--------------------------------------------------------------------------------
/assets/fonts/ZCOOLXiaoWei-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/assets/fonts/ZCOOLXiaoWei-Regular.ttf
--------------------------------------------------------------------------------
/images/profile_account_permissions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/profile_account_permissions.png
--------------------------------------------------------------------------------
/images/wallet_select_account_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/images/wallet_select_account_add.png
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.enableR8=true
3 | android.useAndroidX=true
4 | android.enableJetifier=true
5 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-ldpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/android/app/src/main/res/mipmap-ldpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/title_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/android/app/src/main/res/mipmap-xxhdpi/title_left.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/title_more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/android/app/src/main/res/mipmap-xxhdpi/title_more.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/title_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/android/app/src/main/res/mipmap-xxhdpi/title_close.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/FMDB.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/title_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/android/app/src/main/res/mipmap-xxhdpi/title_refresh.png
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/Flutter.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/Toast.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/share.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/sqflite.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxhdpi/icon_byte_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/android/app/src/main/res/drawable-xxhdpi/icon_byte_close.png
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/OrderedSet.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/Reachability.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/fluttertoast.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/image_picker.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/local_auth.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/package_info.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/path_provider.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/url_launcher.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon20x20.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon29x29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon29x29.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon40x40.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon76x76.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/flutter_qr_reader.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/keyboard_visibility.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/permission_handler.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/shared_preferences.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/webview_flutter.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon76x76@2x.png
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/flutter_inappwebview.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon1024x1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon1024x1024.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/flutter_keyboard_visibility.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Jun 8 202114:00:05 / Users sunbaixin Documents git Box-aepp-mobile ios Pods
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sunbx/box-aepp-mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon83.5x83.5@2x.png
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/edittext_cursor.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/button_select.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/edittext_select.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/cfx_confirm_shape_dialog_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: b041144f833e05cf463b8887fa12efdec9493488
8 | channel: stable
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/Image.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x"
10 | },
11 | {
12 | "idiom" : "universal",
13 | "scale" : "3x"
14 | }
15 | ],
16 | "info" : {
17 | "author" : "xcode",
18 | "version" : 1
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/password_shape_dialog_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/edittext_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/edittext_bg_focus.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/item_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/button_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/button_bg_p.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // Use IntelliSense to learn about possible attributes.
3 | // Hover to view descriptions of existing attributes.
4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.2.0",
6 | "configurations": [
7 | {
8 | "name": "Flutter",
9 | "program": "lib/main.dart",
10 | "request": "launch",
11 | "type": "dart"
12 | }
13 | ]
14 | }
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/android/app/src/main/res/anim/slide_bottom_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
12 |
--------------------------------------------------------------------------------
/android/app/src/main/res/anim/slide_bottom_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/lib/model/conflux/cfx_nft_token_model.dart:
--------------------------------------------------------------------------------
1 | class CfxNftTokenModel {
2 | int code;
3 | List data;
4 |
5 | CfxNftTokenModel({this.code, this.data});
6 |
7 | CfxNftTokenModel.fromJson(Map json) {
8 | code = json['code'];
9 | data = json['data'].cast();
10 | }
11 |
12 | Map toJson() {
13 | final Map data = new Map();
14 | data['code'] = this.code;
15 | data['data'] = this.data;
16 | return data;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/model/aeternity/chains_model.dart:
--------------------------------------------------------------------------------
1 | class ChainsModel {
2 | String name;
3 | String nameFull;
4 | bool isSelect = false;
5 |
6 | ChainsModel({this.name, this.nameFull});
7 |
8 | ChainsModel.fromJson(Map json) {
9 | name = json['name'];
10 | nameFull = json['name_full'];
11 | isSelect = json['is_select'];
12 | }
13 |
14 | Map toJson() {
15 | final Map data = new Map();
16 | data['name'] = this.name;
17 | data['is_select'] = this.isSelect;
18 | return data;
19 | }
20 | }
--------------------------------------------------------------------------------
/lib/dao/aeternity/block_top_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/block_top_model.dart';
5 | import 'package:dio/dio.dart';
6 |
7 | class BlockTopDao {
8 | static Future fetch() async {
9 | Response response = await Dio().post(BLOCK_TOP);
10 | if (response.statusCode == 200) {
11 | var data = jsonDecode(response.toString());
12 | BlockTopModel model = BlockTopModel.fromJson(data);
13 | return model;
14 | } else {
15 | throw Exception('Failed to load BlockTopModel.json');
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/lib/event/language_event.dart:
--------------------------------------------------------------------------------
1 | import 'package:event_bus/event_bus.dart';
2 | /// 创建EventBus
3 | EventBus eventBus = EventBus();
4 |
5 | class SwapEvent {
6 | SwapEvent();
7 | }
8 |
9 | class AddNewAccount {
10 | AddNewAccount();
11 | }
12 |
13 | class AddImportAccount {
14 | AddImportAccount();
15 | }
16 |
17 |
18 |
19 | class LanguageEvent {
20 | LanguageEvent();
21 | }
22 | class DefiEvent {
23 | DefiEvent();
24 | }
25 |
26 | class AccountUpdateEvent {
27 | AccountUpdateEvent();
28 | }
29 |
30 | class AccountUpdateNameEvent {
31 | AccountUpdateNameEvent();
32 | }
33 |
34 |
35 | class NameEvent {
36 | NameEvent();
37 | }
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/app.flx
22 | Flutter/app.zip
23 | Flutter/flutter_assets/
24 | Flutter/flutter_export_environment.sh
25 | ServiceDefinitions.json
26 | Runner/GeneratedPluginRegistrant.*
27 |
28 | # Exceptions to above rules.
29 | !default.mode1v3
30 | !default.mode2v3
31 | !default.pbxuser
32 | !default.perspectivev3
33 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/base_data_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/base_data_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:dio/dio.dart';
7 |
8 | class BaseDataDao {
9 | static Future fetch() async {
10 | Response response = await Dio().post(BASE_DATA);
11 | if (response.statusCode == 200) {
12 | var data = jsonDecode(response.toString());
13 | BaseDataModel model = BaseDataModel.fromJson(data);
14 | return model;
15 | } else {
16 | throw Exception('Failed to load BaseDataModel.json');
17 | }
18 | }
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | include ':app'
6 |
7 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
8 | def properties = new Properties()
9 |
10 | assert localPropertiesFile.exists()
11 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
12 |
13 | def flutterSdkPath = properties.getProperty("flutter.sdk")
14 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
15 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
16 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/aens_info_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/aens_info_model.dart';
5 | import 'package:dio/dio.dart';
6 |
7 | class AensInfoDao {
8 | static Future fetch(String name) async {
9 | Map params = new Map();
10 | params['name'] = name;
11 | Response response = await Dio().post(NAME_INFO, queryParameters: params);
12 | if (response.statusCode == 200) {
13 | var data = jsonDecode(response.toString());
14 | AensInfoModel model = AensInfoModel.fromJson(data);
15 | return model;
16 | } else {
17 | throw Exception('Failed to load AensInfoModel.json');
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/version_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/base_data_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/version_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | class VersionDao {
10 | static Future fetch() async {
11 | Response response = await Dio().post(VERSION);
12 | if (response.statusCode == 200) {
13 | var data = jsonDecode(response.toString());
14 | VersionModel model = VersionModel.fromJson(data);
15 | return model;
16 | } else {
17 | throw Exception('Failed to load VersionModel.json');
18 | }
19 | }
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/ae_account_error_list_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/conflux/cfx_balance_model.dart';
7 | import 'package:box/model/conflux/cfx_dapp_list_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 |
11 | class AeAccountErrorListDao {
12 | static Future fetch() async {
13 | Response response = await Dio().get(ACCOUNT_ERROR_LIST+"account_error.json");
14 | if (response.statusCode == 200) {
15 | return response.toString();
16 | } else {
17 | throw Exception('Failed to load CfxDappListModel.json');
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/node_test_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:dio/dio.dart';
7 |
8 | import '../../main.dart';
9 |
10 | class NodeTestDao {
11 | static Future fetch(String nodeUrl, String compilerUrl) async {
12 | Response responseNode = await Dio().get(nodeUrl + "/v2/blocks/top");
13 | if (responseNode.statusCode != 200) {
14 | return false;
15 | }
16 |
17 | Response responseCompiler = await Dio().get(compilerUrl + "/version");
18 | if (responseCompiler.statusCode != 200) {
19 | return false;
20 | }
21 | return true;
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/base_name_data_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/base_data_model.dart';
5 | import 'package:box/model/aeternity/base_name_data_model.dart';
6 | import 'package:box/model/aeternity/block_top_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | class BaseNameDataDao {
10 | static Future fetch() async {
11 | Response response = await Dio().post(BASE_NAME_DATA);
12 | if (response.statusCode == 200) {
13 | var data = jsonDecode(response.toString());
14 | BaseNameDataModel model = BaseNameDataModel.fromJson(data);
15 | return model;
16 | } else {
17 | throw Exception('Failed to load BaseNameDataModel.json');
18 | }
19 | }
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/price_model.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/base_data_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/price_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | class PriceDao {
10 | static Future fetch(String ids, String type) async {
11 | Response response = await Dio().get(PRICE + "?ids=" + ids + "&vs_currencies=" + type);
12 | if (response.statusCode == 200) {
13 | var data = jsonDecode(response.toString());
14 | PriceModel model = PriceModel.fromJson(data);
15 | return model;
16 | } else {
17 | throw Exception('Failed to load PriceModel.json');
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/banner_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/aens_info_model.dart';
5 | import 'package:box/model/aeternity/banner_model.dart';
6 | import 'package:box/model/aeternity/token_list_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | class BannerDao {
10 | static Future fetch() async {
11 | Map params = new Map();
12 | Response response = await Dio().post(BANNER, queryParameters: params);
13 | if (response.statusCode == 200) {
14 | var data = jsonDecode(response.toString());
15 | BannerModel model = BannerModel.fromJson(data);
16 | return model;
17 | } else {
18 | throw Exception('Failed to load BannerModel.json');
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/user_register_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/user_model.dart';
5 | import 'package:box/model/aeternity/account_info_model.dart';
6 | import 'package:box/model/aeternity/block_top_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 |
10 | class UserRegisterDao {
11 | static Future fetch() async {
12 | Map params = new Map();
13 | Response response = await Dio().post(USER_REGISTER, queryParameters: params);
14 | if (response.statusCode == 200) {
15 | var data = jsonDecode(response.toString());
16 | UserModel model = UserModel.fromJson(data);
17 | return model;
18 | } else {
19 | throw Exception('Failed to load UserRegisterModel.json');
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/app_store_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_info_model.dart';
6 | import 'package:box/model/aeternity/app_store_model.dart';
7 | import 'package:box/model/aeternity/swap_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 | class AppStoreDao {
11 | static Future fetch() async {
12 | Map params = new Map();
13 | Response response = await Dio().post(APP_STORE, queryParameters: params);
14 | if (response.statusCode == 200) {
15 | var data = jsonDecode(response.toString());
16 | AppStoreModel model = AppStoreModel.fromJson(data);
17 | return model;
18 | } else {
19 | throw Exception('Failed to load AppStoreModel.json');
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/progress_style.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 |
9 |
10 |
11 |
12 | -
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | -
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/token_list_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/aens_info_model.dart';
5 | import 'package:box/model/aeternity/token_list_model.dart';
6 | import 'package:dio/dio.dart';
7 |
8 | class TokenListDao {
9 | static Future fetch(String address,String type) async {
10 | Map params = new Map();
11 | params['address'] = address;
12 | params['type'] = type;
13 | Response response = await Dio().post(TOKEN_LIST, queryParameters: params);
14 | if (response.statusCode == 200) {
15 | var data = jsonDecode(response.toString());
16 | TokenListModel model = TokenListModel.fromJson(data);
17 | return model;
18 | } else {
19 | throw Exception('Failed to load TokenListModel.json');
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/swap_coin_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/swap_coin_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | import '../../main.dart';
10 |
11 | class SwapCoinDao {
12 | static Future fetch() async {
13 | Map params = new Map();
14 | Response response = await Dio().post(SWAP_COIN_LIST,queryParameters: params);
15 | if (response.statusCode == 200) {
16 | var data = jsonDecode(response.toString());
17 | SwapCoinModel model = SwapCoinModel.fromJson(data);
18 | return model;
19 | } else {
20 | throw Exception('Failed to load SwapCoinModel.json');
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/swap_my_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_info_model.dart';
6 | import 'package:box/model/aeternity/swap_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | class SwapMyDao {
10 | static Future fetch() async {
11 | Map params = new Map();
12 | params['ct_id'] = BoxApp.SWAP_CONTRACT;
13 | params['address'] =await BoxApp.getAddress();
14 | Response response = await Dio().post(SWAP_MY_LIST, queryParameters: params);
15 | if (response.statusCode == 200) {
16 | var data = jsonDecode(response.toString());
17 | SwapModel model = SwapModel.fromJson(data);
18 | return model;
19 | } else {
20 | throw Exception('Failed to load SwapModel.json');
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/dao/conflux/cfx_dapp_list_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/conflux/cfx_balance_model.dart';
7 | import 'package:box/model/conflux/cfx_dapp_list_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 |
11 | class CfxDappListDao {
12 | static Future fetch(String language) async {
13 | Response response = await Dio().get(CFX_DAPP_LIST+"cfx_dapp_"+language+".json");
14 | if (response.statusCode == 200) {
15 | var data = jsonDecode(response.toString());
16 | CfxDappListModel model = CfxDappListModel.fromJson(data);
17 | return model;
18 | } else {
19 | throw Exception('Failed to load CfxDappListModel.json');
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/name_owner_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_info_model.dart';
6 | import 'package:box/model/aeternity/name_owner_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | class NameOwnerDao {
10 | static Future fetch(String name) async {
11 | String nodeUrl = await BoxApp.getNodeUrl();
12 | if (nodeUrl.isEmpty) {
13 | nodeUrl = "https://node.aeasy.io";
14 | }
15 | Response response = await Dio().get(nodeUrl+NAME_OWNER + name);
16 | if (response.statusCode == 200) {
17 | var data = jsonDecode(response.toString());
18 | NameOwnerModel model = NameOwnerModel.fromJson(data);
19 | return model;
20 | } else {
21 | throw Exception('Failed to load NameOwnerModel.json');
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/user_login_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/user_model.dart';
5 | import 'package:box/model/aeternity/account_info_model.dart';
6 | import 'package:box/model/aeternity/block_top_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | import '../../main.dart';
10 |
11 | class UserLoginDao {
12 | static Future fetch(String mnemonic) async {
13 | Map params = new Map();
14 | params["mnemonic"] = mnemonic;
15 | Response response = await Dio().post(USER_LOGIN, queryParameters: params);
16 | if (response.statusCode == 200) {
17 | var data = jsonDecode(response.toString());
18 | UserModel model = UserModel.fromJson(data);
19 | return model;
20 | } else {
21 | throw Exception('Failed to load UserLoginDao');
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | 
3 | # Box aepp
4 |
5 | The ecological entry of infinite possibilities
6 |
7 |
8 | ## Getting Started
9 |
10 | Box AEPP is the Flutter project, so please follow the Flutter environment before running. After successful installation, you can directly compile, open and run. JS-SDK is nested inside the app, so the app is completely de-centered without any security problems
11 |
12 | Support AE transfer, check the balance
13 | Support AEX9 ABC(AEX-9 token) transfer
14 | Support domain display latest, about to expire, etc
15 | Support AENS registration, update, bidding
16 | Support Defi pledge extraction and V1-V2 technical solution to produce ABC
17 | Support account transaction record view
18 | Support cold wallet, mnemonic word generation, mnemonic word login
19 |
20 | account 283122529@qq.com
21 | @Biaxin
22 |
23 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 9.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/lib/manager/plugin_manager.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/services.dart';
2 |
3 | class PluginManager {
4 | static const MethodChannel _channel =
5 | const MethodChannel('BOX_DART_TO_NAV');
6 |
7 | static Future pushActivity(Map params) async {
8 | String resultStr = await _channel.invokeMethod('jumpToActivity', params);
9 | return resultStr;
10 | }
11 | static Future getGasCFX(Map params) async {
12 | String resultStr = await _channel.invokeMethod('getGasCFX', params);
13 | return resultStr;
14 | }
15 | static Future signTransaction(Map params) async {
16 | String resultStr = await _channel.invokeMethod('signTransaction', params);
17 | return resultStr;
18 | }
19 | static Future signTransactionError(Map params) async {
20 | String resultStr = await _channel.invokeMethod('signTransactionError', params);
21 | return resultStr;
22 | }
23 | }
--------------------------------------------------------------------------------
/lib/dao/aeternity/swap_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_info_model.dart';
6 | import 'package:box/model/aeternity/swap_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | class SwapDao {
10 | static Future fetch(String coinAdress) async {
11 | Map params = new Map();
12 | params['ct_id'] = BoxApp.SWAP_CONTRACT;
13 | params['coin_address'] = coinAdress;
14 | params['address'] =await BoxApp.getAddress();
15 | Response response = await Dio().post(SWAP_LIST, queryParameters: params);
16 | if (response.statusCode == 200) {
17 | var data = jsonDecode(response.toString());
18 | SwapModel model = SwapModel.fromJson(data);
19 | return model;
20 | } else {
21 | throw Exception('Failed to load SwapModel.json');
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/contract_ranking_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/contract_ranking_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | import '../../main.dart';
10 |
11 | class ContractRankingDao {
12 | static Future fetch() async {
13 | Map params = new Map();
14 | params['ct_id'] = BoxApp.ABC_CONTRACT_AEX9;
15 | Response response = await Dio().post(CONTRACT_RANKING,queryParameters: params);
16 | if (response.statusCode == 200) {
17 | var data = jsonDecode(response.toString());
18 | RankingModel model = RankingModel.fromJson(data);
19 | return model;
20 | } else {
21 | throw Exception('Failed to load RankingModel.json');
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/swap_coin_account_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/swap_coin_account_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | import '../../main.dart';
10 |
11 | class SwapCoinAccountDao {
12 | static Future fetch(String ctId) async {
13 | Map params = new Map();
14 | params["ct_id"] = ctId;
15 | Response response = await Dio().post(SWAP_COIN_ACCOUNT,queryParameters: params);
16 | if (response.statusCode == 200) {
17 | var data = jsonDecode(response.toString());
18 | SwapCoinAccountModel model = SwapCoinAccountModel.fromJson(data);
19 | return model;
20 | } else {
21 | throw Exception('Failed to load SwapCoinAccountModel.json');
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/lib/dao/conflux/cfx_balance_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/conflux/cfx_balance_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | import '../../main.dart';
10 |
11 | class CfxBalanceDao {
12 | static Future fetch() async {
13 | Map params = new Map();
14 | var address = await BoxApp.getAddress();
15 | params["address"] = address;
16 | Response response = await Dio().post(CFX_BALANCE,queryParameters: params);
17 | if (response.statusCode == 200) {
18 | var data = jsonDecode(response.toString());
19 | CfxBalanceModel model = CfxBalanceModel.fromJson(data);
20 | return model;
21 | } else {
22 | throw Exception('Failed to load CfxBalanceModel.json');
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/account_info_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:dio/dio.dart';
7 |
8 | import '../../main.dart';
9 |
10 | class AccountInfoDao {
11 | static Future fetch({String address = ''}) async {
12 | Map params = new Map();
13 | if(address.isEmpty){
14 | address = await BoxApp.getAddress();
15 | }
16 | params["address"] = address;
17 | Response response = await Dio().post(ACCOUNT_INFO,queryParameters: params);
18 | if (response.statusCode == 200) {
19 | var data = jsonDecode(response.toString());
20 | AccountInfoModel model = AccountInfoModel.fromJson(data);
21 | return model;
22 | } else {
23 | throw Exception('Failed to load AccountInfoModel.json');
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/swap_my_buy_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_info_model.dart';
6 | import 'package:box/model/aeternity/swap_model.dart';
7 | import 'package:box/model/aeternity/swap_order_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 | class SwapMyBuyDao {
11 | static Future fetch() async {
12 | Map params = new Map();
13 | params['ct_id'] = BoxApp.SWAP_CONTRACT;
14 | params['address'] =await BoxApp.getAddress();
15 | Response response = await Dio().post(SWAP_MY_BUY_LIST, queryParameters: params);
16 | if (response.statusCode == 200) {
17 | var data = jsonDecode(response.toString());
18 | SwapOrderModel model = SwapOrderModel.fromJson(data);
19 | return model;
20 | } else {
21 | throw Exception('Failed to load SwapOrderModel.json');
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/swap_my_sell_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_info_model.dart';
6 | import 'package:box/model/aeternity/swap_model.dart';
7 | import 'package:box/model/aeternity/swap_order_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 | class SwapMySellDao {
11 | static Future fetch() async {
12 | Map params = new Map();
13 | params['ct_id'] = BoxApp.SWAP_CONTRACT;
14 | params['address'] =await BoxApp.getAddress();
15 | Response response = await Dio().post(SWAP_MY_SELL_LIST, queryParameters: params);
16 | if (response.statusCode == 200) {
17 | var data = jsonDecode(response.toString());
18 | SwapOrderModel model = SwapOrderModel.fromJson(data);
19 | return model;
20 | } else {
21 | throw Exception('Failed to load SwapOrderModel.json');
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/swap_coin_my_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/swap_coin_account_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | import '../../main.dart';
10 |
11 | class SwapCoinMyDao {
12 | static Future fetch() async {
13 | Map params = new Map();
14 | var address = await BoxApp.getAddress();
15 | params["address"] = address;
16 | Response response = await Dio().post(SWAP_COIN_ACCOUNT_MY, queryParameters: params);
17 | if (response.statusCode == 200) {
18 | var data = jsonDecode(response.toString());
19 | SwapCoinAccountModel model = SwapCoinAccountModel.fromJson(data);
20 | return model;
21 | } else {
22 | throw Exception('Failed to load SwapCoinAccountModel.json');
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/wallet_record_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_page_model.dart';
6 | import 'package:box/model/aeternity/wallet_record_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | class WalletRecordDao {
10 | static Future fetch(int page) async {
11 | Map params = new Map();
12 | var address = await BoxApp.getAddress();
13 |
14 | params["address"] = address;
15 | params["page"] = page.toString();
16 | Response response = await Dio().post(WALLET_RECORD, queryParameters: params);
17 |
18 | if (response.statusCode == 200) {
19 | var data = jsonDecode(response.toString());
20 | WalletTransferRecordModel model = WalletTransferRecordModel.fromJson(data);
21 | return model;
22 | } else {
23 | throw Exception('Failed to load WalletTransferRecordModel.json');
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/aens_register_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_register_model.dart';
6 | import 'package:box/model/aeternity/block_top_model.dart';
7 | import 'package:box/model/aeternity/msg_sign_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 | class AensRegisterDao {
11 | static Future fetch(String name, String address,String nameSalt) async {
12 | Map params = new Map();
13 | params['name'] = name;
14 | params['address'] = address;
15 | params['nameSalt'] = nameSalt;
16 | Response response = await Dio().post(NAME_ADD, queryParameters: params);
17 | if (response.statusCode == 200) {
18 | var data = jsonDecode(response.toString());
19 | MsgSignModel model = MsgSignModel.fromJson(data);
20 | return model;
21 | } else {
22 | throw Exception('Failed to load AensRegisterModel.json');
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/lib/dao/conflux/cfx_token_list_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/conflux/cfx_balance_model.dart';
7 | import 'package:box/model/conflux/cfx_tokens_list_model.dart';
8 | import 'package:box/model/conflux/cfx_transfer_model.dart';
9 | import 'package:dio/dio.dart';
10 |
11 | import '../../main.dart';
12 |
13 | class CfxTokenListDao {
14 | static Future fetch() async {
15 | Map params = new Map();
16 | Response response = await Dio().post(CFX_TOKENS, queryParameters: params);
17 | if (response.statusCode == 200) {
18 | var data = jsonDecode(response.toString());
19 | CfxTokensListModel model = CfxTokensListModel.fromJson(data);
20 | return model;
21 | } else {
22 | throw Exception('Failed to load CfxTokensListModel.json');
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/aens_update_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_register_model.dart';
6 | import 'package:box/model/aeternity/aens_update_model.dart';
7 | import 'package:box/model/aeternity/block_top_model.dart';
8 | import 'package:box/model/aeternity/msg_sign_model.dart';
9 | import 'package:dio/dio.dart';
10 |
11 | class AensUpdaterDao {
12 | static Future fetch(String name, String address) async {
13 | Map params = new Map();
14 | params['name'] = name;
15 | params['address'] = address;
16 | Response response = await Dio().post(NAME_UPDATE, queryParameters: params);
17 | if (response.statusCode == 200) {
18 | var data = jsonDecode(response.toString());
19 | MsgSignModel model = MsgSignModel.fromJson(data);
20 | return model;
21 | } else {
22 | throw Exception('Failed to load MsgSignModel.json');
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/aens_preclaim_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_register_model.dart';
6 | import 'package:box/model/aeternity/aens_update_model.dart';
7 | import 'package:box/model/aeternity/block_top_model.dart';
8 | import 'package:box/model/aeternity/msg_sign_model.dart';
9 | import 'package:dio/dio.dart';
10 |
11 | class AensPreclaimDao {
12 | static Future fetch(String name, String address) async {
13 | Map params = new Map();
14 | params['name'] = name;
15 | params['address'] = address;
16 | Response response = await Dio().post(NAME_PRECLAI, queryParameters: params);
17 | if (response.statusCode == 200) {
18 | var data = jsonDecode(response.toString());
19 | MsgSignModel model = MsgSignModel.fromJson(data);
20 | return model;
21 | } else {
22 | throw Exception('Failed to load MsgSignModel.json');
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/contract_balance_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/contract_balance_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | import '../../main.dart';
10 |
11 | class ContractBalanceDao {
12 | static Future fetch(String ctId) async {
13 | Map params = new Map();
14 | var address = await BoxApp.getAddress();
15 | params["address"] = address;
16 | params["ct_id"] = ctId;
17 | Response response = await Dio().post(CONTRACT_BALANCE,queryParameters: params);
18 | if (response.statusCode == 200) {
19 | var data = jsonDecode(response.toString());
20 | ContractBalanceModel model = ContractBalanceModel.fromJson(data);
21 | return model;
22 | } else {
23 | throw Exception('Failed to load ContractBalanceModel.json');
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/dao/conflux/cfx_nft_balance_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/conflux/cfx_balance_model.dart';
7 | import 'package:box/model/conflux/cfx_nft_balance_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 | import '../../main.dart';
11 |
12 | class CfxNftBalanceDao {
13 | static Future fetch() async {
14 | Map params = new Map();
15 | var address = await BoxApp.getAddress();
16 | params["address"] = address;
17 | Response response = await Dio().post(CFX_NFT_BALANCE,queryParameters: params);
18 | if (response.statusCode == 200) {
19 | var data = jsonDecode(response.toString());
20 | CfxNftBalanceModel model = CfxNftBalanceModel.fromJson(data);
21 | return model;
22 | } else {
23 | throw Exception('Failed to load CfxBalanceModel.json');
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/contract_info_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/contract_balance_model.dart';
7 | import 'package:box/model/aeternity/contract_info_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 | import '../../main.dart';
11 |
12 | class ContractInfoDao {
13 | static Future fetch() async {
14 | Map params = new Map();
15 | var address = await BoxApp.getAddress();
16 | params["address"] = address;
17 | Response response = await Dio().post(CONTRACT_INFO,queryParameters: params);
18 | if (response.statusCode == 200) {
19 | var data = jsonDecode(response.toString());
20 | ContractInfoModel model = ContractInfoModel.fromJson(data);
21 | return model;
22 | } else {
23 | throw Exception('Failed to load ContractInfoModel.json');
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/swap_coin_order_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/swap_coin_order_model.dart';
7 | import 'package:box/model/aeternity/swap_order_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 | import '../../main.dart';
11 |
12 | class SwapCoinOrderDao {
13 | static Future fetch() async {
14 | Map params = new Map();
15 | var address = await BoxApp.getAddress();
16 | params["address"] = address;
17 | Response response = await Dio().post(SWAP_COIN_ORDER_MY,queryParameters: params);
18 | if (response.statusCode == 200) {
19 | var data = jsonDecode(response.toString());
20 | SwapCoinOrderModel model = SwapCoinOrderModel.fromJson(data);
21 | return model;
22 | } else {
23 | throw Exception('Failed to load SwapCoinOrderModel.json');
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/dao/conflux/cfx_token_address_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/conflux/cfx_balance_model.dart';
7 | import 'package:box/model/conflux/cfx_tokens_list_model.dart';
8 | import 'package:box/model/conflux/cfx_transfer_model.dart';
9 | import 'package:dio/dio.dart';
10 |
11 | import '../../main.dart';
12 |
13 | class CfxTokenAddressDao {
14 | static Future fetch(String address) async {
15 | Map params = new Map();
16 | params["address"] = address;
17 | Response response = await Dio().post(CFX_TOKENS_ADDRESS, queryParameters: params);
18 | if (response.statusCode == 200) {
19 | var data = jsonDecode(response.toString());
20 | TokensData model = TokensData.fromJson(data);
21 | return model;
22 | } else {
23 | throw Exception('Failed to load TokensData.json');
24 | }
25 | }
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/token_record_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/token_record_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | import '../../main.dart';
10 |
11 |
12 | class TokenRecordDao {
13 | static Future fetch(String ctId, String page) async {
14 | Map params = new Map();
15 | var address = await BoxApp.getAddress();
16 | params["address"] = address;
17 | params["ct_id"] = ctId;
18 | params["page"] = page;
19 | Response response = await Dio().post(AEX9_RECORD, queryParameters: params);
20 | if (response.statusCode == 200) {
21 | var data = jsonDecode(response.toString());
22 | TokenRecordModel model = TokenRecordModel.fromJson(data);
23 | return model;
24 | } else {
25 | throw Exception('Failed to load TokenRecordModel.json');
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/name_reverse_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_info_model.dart';
6 | import 'package:box/model/aeternity/name_reverse_model.dart';
7 | import 'package:box/model/aeternity/swap_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 | class NameReverseDao {
11 | static Future< List> fetch() async {
12 | var address = await BoxApp.getAddress();
13 | Response response = await Dio().get(NAME + address);
14 | if (response.statusCode == 200) {
15 | List responseJson = json.decode(json.encode(response.data));
16 | List data = new List();
17 | responseJson.forEach((v) {
18 | data.add(new NameReverseModel.fromJson(v));
19 | });
20 | // List list = data.map((m) => new NameReverseModel.fromJson(m)).toList();
21 | return data;
22 | } else {
23 | throw Exception('Failed to load NameReverseModel.json');
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/dao/conflux/cfx_transfer_hash_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/conflux/cfx_balance_model.dart';
7 | import 'package:box/model/conflux/cfx_transaction_hash_model.dart';
8 | import 'package:box/model/conflux/cfx_transfer_model.dart';
9 | import 'package:dio/dio.dart';
10 |
11 | import '../../main.dart';
12 |
13 | class CfxTransactionHashDao {
14 | static Future fetch(String hash) async {
15 | Map params = new Map();
16 | params["hash"] = hash;
17 | Response response = await Dio().post(CFX_TRANSACTION_HASH, queryParameters: params);
18 | if (response.statusCode == 200) {
19 | var data = jsonDecode(response.toString());
20 | CfxTransactionHashModel model = CfxTransactionHashModel.fromJson(data);
21 | return model;
22 | } else {
23 | throw Exception('Failed to load CfxTransactionHashModel.json');
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/wetrue_topic_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 | import 'dart:io';
3 |
4 | import 'package:box/dao/urls.dart';
5 | import 'package:box/main.dart';
6 | import 'package:box/model/aeternity/aens_info_model.dart';
7 | import 'package:box/model/aeternity/we_true_praise_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 | class WeTrueTopicDao {
11 | static Future fetch(String hash) async {
12 | String url = "";
13 |
14 | FormData formData = FormData.fromMap({
15 | "hash": hash,
16 | });
17 | var address = await BoxApp.getAddress();
18 |
19 | ///创建 dio
20 | Options options = Options();
21 |
22 | ///请求header的配置
23 | options.headers["ak-token"] = address;
24 | options.sendTimeout = 3;
25 | options.receiveTimeout = 3;
26 | url = WE_TRUE_URL + "/Submit/hash";
27 | Response response = await Dio().post(url, data: formData, options: options);
28 |
29 | if (response.statusCode == 200) {
30 | return true;
31 | } else {
32 | return true;
33 | // throw Exception('Failed to load WeTruePraiseModel.json');
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/lib/model/aeternity/tx_broadcast_model.dart:
--------------------------------------------------------------------------------
1 | class TxBroadcastModel {
2 | int code;
3 | String msg;
4 | int time;
5 | Data data;
6 |
7 | TxBroadcastModel({this.code, this.msg, this.time, this.data});
8 |
9 | TxBroadcastModel.fromJson(Map json) {
10 | code = json['code'];
11 | msg = json['msg'];
12 | time = json['time'];
13 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
14 | }
15 |
16 | Map toJson() {
17 | final Map data = new Map();
18 | data['code'] = this.code;
19 | data['msg'] = this.msg;
20 | data['time'] = this.time;
21 | if (this.data != null) {
22 | data['data'] = this.data.toJson();
23 | }
24 | return data;
25 | }
26 | }
27 |
28 | class Data {
29 | String hash;
30 |
31 | Data({this.hash});
32 |
33 | Data.fromJson(Map json) {
34 | hash = json['hash'];
35 | }
36 |
37 | Map toJson() {
38 | final Map data = new Map();
39 | data['hash'] = this.hash;
40 | return data;
41 | }
42 | }
--------------------------------------------------------------------------------
/lib/dao/aeternity/token_send_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/msg_sign_model.dart';
6 | import 'package:box/model/aeternity/aens_register_model.dart';
7 | import 'package:box/model/aeternity/block_top_model.dart';
8 | import 'package:box/model/aeternity/token_send_model.dart';
9 | import 'package:dio/dio.dart';
10 |
11 | class TokenSendDao {
12 | static Future fetch(String amount, String senderID,String recipientID) async {
13 | Map params = new Map();
14 | params['amount'] = amount;
15 | params['senderID'] = senderID;
16 | params['recipientID'] = recipientID;
17 | params['data'] = "Box aepp";
18 | Response response = await Dio().post(WALLET_TRANSFER, queryParameters: params);
19 | if (response.statusCode == 200) {
20 | var data = jsonDecode(response.toString());
21 | MsgSignModel model = MsgSignModel.fromJson(data);
22 | return model;
23 | } else {
24 | throw Exception('Failed to load TokenSendModel.json');
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/lib/model/aeternity/block_top_model.dart:
--------------------------------------------------------------------------------
1 | class BlockTopModel {
2 | int code;
3 | String msg;
4 | int time;
5 | Data data;
6 |
7 | BlockTopModel({this.code, this.msg, this.time, this.data});
8 |
9 | BlockTopModel.fromJson(Map json) {
10 | code = json['code'];
11 | msg = json['msg'];
12 | time = json['time'];
13 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
14 | }
15 |
16 | Map toJson() {
17 | final Map data = new Map();
18 | data['code'] = this.code;
19 | data['msg'] = this.msg;
20 | data['time'] = this.time;
21 | if (this.data != null) {
22 | data['data'] = this.data.toJson();
23 | }
24 | return data;
25 | }
26 | }
27 |
28 | class Data {
29 | int height;
30 |
31 | Data({this.height});
32 |
33 | Data.fromJson(Map json) {
34 | height = json['height'];
35 | }
36 |
37 | Map toJson() {
38 | final Map data = new Map();
39 | data['height'] = this.height;
40 | return data;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/wetrue_praise_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_info_model.dart';
6 | import 'package:box/model/aeternity/we_true_praise_model.dart';
7 | import 'package:dio/dio.dart';
8 |
9 | class WeTruePraiseDao {
10 | static Future fetch(String hash) async {
11 | String url = "";
12 |
13 | FormData formData = FormData.fromMap({
14 | "hash": hash,
15 | "type": "topic",
16 | }); var address = await BoxApp.getAddress();
17 | ///创建 dio
18 | Options options = Options();
19 | ///请求header的配置
20 | options.headers["ak-token"]=address;
21 | url = WE_TRUE_URL+"/Submit/praise";
22 | Response response = await Dio().post(url, data: formData,options: options);
23 | if (response.statusCode == 200) {
24 | var data = jsonDecode(response.toString());
25 | WeTruePraiseModel model = WeTruePraiseModel.fromJson(data);
26 | return model;
27 | } else {
28 | throw Exception('Failed to load WeTruePraiseModel.json');
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/tx_broadcast_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/msg_sign_model.dart';
6 | import 'package:box/model/aeternity/aens_register_model.dart';
7 | import 'package:box/model/aeternity/block_top_model.dart';
8 | import 'package:box/model/aeternity/token_send_model.dart';
9 | import 'package:box/model/aeternity/tx_broadcast_model.dart';
10 | import 'package:dio/dio.dart';
11 |
12 | class TxBroadcastDao {
13 | static Future fetch(String signature, String tx, String type) async {
14 | Map params = new Map();
15 | params['signature'] = signature;
16 | params['tx'] = tx;
17 | params['type'] = type;
18 | Response response = await Dio().post(TX_BROADCAST, queryParameters: params);
19 | if (response.statusCode == 200) {
20 | var data = jsonDecode(response.toString());
21 | TxBroadcastModel model = TxBroadcastModel.fromJson(data);
22 | return model;
23 | } else {
24 | throw Exception('Failed to load TxBroadcastModel.json');
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/lib/dao/conflux/cfx_nft_token_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/conflux/cfx_balance_model.dart';
7 | import 'package:box/model/conflux/cfx_nft_balance_model.dart';
8 | import 'package:box/model/conflux/cfx_nft_token_model.dart';
9 | import 'package:dio/dio.dart';
10 |
11 | import '../../main.dart';
12 |
13 | class CfxNftTokenDao {
14 | static Future fetch(String contract) async {
15 | Map params = new Map();
16 | var address = await BoxApp.getAddress();
17 | params["address"] = address;
18 | params["contract"] = contract;
19 | Response response = await Dio().post(CFX_NFT_TOKEN,queryParameters: params);
20 | if (response.statusCode == 200) {
21 | var data = jsonDecode(response.toString());
22 | CfxNftTokenModel model = CfxNftTokenModel.fromJson(data);
23 | return model;
24 | } else {
25 | throw Exception('Failed to load CfxNftTokenModel.json');
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lib/model/aeternity/th_hash_model.dart:
--------------------------------------------------------------------------------
1 | class ThHashModel {
2 | int code;
3 | String msg;
4 | int time;
5 | Data data;
6 |
7 | ThHashModel({this.code, this.msg, this.time, this.data});
8 |
9 | ThHashModel.fromJson(Map json) {
10 | code = json['code'];
11 | msg = json['msg'];
12 | time = json['time'];
13 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
14 | }
15 |
16 | Map toJson() {
17 | final Map data = new Map();
18 | data['code'] = this.code;
19 | data['msg'] = this.msg;
20 | data['time'] = this.time;
21 | if (this.data != null) {
22 | data['data'] = this.data.toJson();
23 | }
24 | return data;
25 | }
26 | }
27 |
28 | class Data {
29 | int blockHeight;
30 |
31 | Data({this.blockHeight});
32 |
33 | Data.fromJson(Map json) {
34 | blockHeight = json['block_height'];
35 | }
36 |
37 | Map toJson() {
38 | final Map data = new Map();
39 | data['block_height'] = this.blockHeight;
40 | return data;
41 | }
42 | }
--------------------------------------------------------------------------------
/lib/dao/conflux/cfx_transfer_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/conflux/cfx_balance_model.dart';
7 | import 'package:box/model/conflux/cfx_transfer_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 | import '../../main.dart';
11 |
12 | class CfxTransferDao {
13 | static Future fetch(String page, ctAddress) async {
14 | Map params = new Map();
15 | var address = await BoxApp.getAddress();
16 | params["address"] = address;
17 | params["page"] = page;
18 | if(ctAddress != ""){
19 | params["ct_address"] = ctAddress;
20 | }
21 |
22 | Response response = await Dio().post(CFX_TRANSACTION, queryParameters: params);
23 | if (response.statusCode == 200) {
24 | var data = jsonDecode(response.toString());
25 | CfxTransfer model = CfxTransfer.fromJson(data);
26 | return model;
27 | } else {
28 | throw Exception('Failed to load CfxTransfer.json');
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/th_hash_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/contract_balance_model.dart';
7 | import 'package:box/model/aeternity/contract_call_model.dart';
8 | import 'package:box/model/aeternity/contract_info_model.dart';
9 | import 'package:box/model/aeternity/contract_record_model.dart';
10 | import 'package:box/model/aeternity/th_hash_model.dart';
11 | import 'package:dio/dio.dart';
12 |
13 | import '../../main.dart';
14 |
15 | class ThHashDao {
16 | static Future fetch(String th) async {
17 | Map params = new Map();
18 | params["th"] = th;
19 | Response response = await Dio().post(TH_HASH, queryParameters: params);
20 | if (response.statusCode == 200) {
21 | var data = jsonDecode(response.toString());
22 |
23 | ThHashModel model = ThHashModel.fromJson(data);
24 | return model;
25 | } else {
26 | throw Exception('Failed to load ThHashModel.json');
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/lib/model/aeternity/allowance_model.dart:
--------------------------------------------------------------------------------
1 | class AllowanceModel {
2 | int code;
3 | String msg;
4 | int time;
5 | Data data;
6 |
7 | AllowanceModel({this.code, this.msg, this.time, this.data});
8 |
9 | AllowanceModel.fromJson(Map json) {
10 | code = json['code'];
11 | msg = json['msg'];
12 | time = json['time'];
13 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
14 | }
15 |
16 | Map toJson() {
17 | final Map data = new Map();
18 | data['code'] = this.code;
19 | data['msg'] = this.msg;
20 | data['time'] = this.time;
21 | if (this.data != null) {
22 | data['data'] = this.data.toJson();
23 | }
24 | return data;
25 | }
26 | }
27 |
28 | class Data {
29 | String allowance;
30 |
31 | Data({this.allowance});
32 |
33 | Data.fromJson(Map json) {
34 | allowance = json['allowance'];
35 | }
36 |
37 | Map toJson() {
38 | final Map data = new Map();
39 | data['allowance'] = this.allowance;
40 | return data;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/images/animation_khzuiqgg.json:
--------------------------------------------------------------------------------
1 | {"v":"5.6.6","ip":0,"op":160,"fr":60,"w":74,"h":74,"layers":[{"ind":3897,"nm":"surface23300","ao":0,"ip":0,"op":264,"st":0,"ty":4,"ks":{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[133.33,133.33]},"sk":{"k":0},"sa":{"k":0}},"shapes":[{"ty":"gr","hd":false,"nm":"surface23300","it":[{"ty":"gr","hd":false,"it":[{"ty":"sh","ks":{"k":{"i":[[0,0],[0,-6.7],[-12.9,0],[-19.3,0],[0,-6.7],[12.9,0],[19.3,0]],"o":[[-12.9,0],[0,6.7],[19.3,0],[12.9,-0.01],[0,6.7],[-19.31,0],[0,0]],"v":[[24.3,30],[5,50],[24.3,70],[75.7,30],[95,50],[75.7,70],[24.3,30]],"c":true}}},{"ty":"st","lc":1,"lj":1,"ml":4,"o":{"k":100},"w":{"k":7},"c":{"k":[1,0.27,0.51,1]},"hd":false},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[55.5,55.5]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.27],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":0,"s":[0]},{"t":66,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"hd":false}]}],"meta":{"g":"LF SVG to Lottie"}}
--------------------------------------------------------------------------------
/lib/model/aeternity/we_true_praise_model.dart:
--------------------------------------------------------------------------------
1 | class WeTruePraiseModel {
2 | int code;
3 | Data data;
4 | String msg;
5 |
6 | WeTruePraiseModel({this.code, this.data, this.msg});
7 |
8 | WeTruePraiseModel.fromJson(Map json) {
9 | code = json['code'];
10 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
11 | msg = json['msg'];
12 | }
13 |
14 | Map toJson() {
15 | final Map data = new Map();
16 | data['code'] = this.code;
17 | if (this.data != null) {
18 | data['data'] = this.data.toJson();
19 | }
20 | data['msg'] = this.msg;
21 | return data;
22 | }
23 | }
24 |
25 | class Data {
26 | int praise;
27 | bool isPraise;
28 |
29 | Data({this.praise, this.isPraise});
30 |
31 | Data.fromJson(Map json) {
32 | praise = json['praise'];
33 | isPraise = json['isPraise'];
34 | }
35 |
36 | Map toJson() {
37 | final Map data = new Map();
38 | data['praise'] = this.praise;
39 | data['isPraise'] = this.isPraise;
40 | return data;
41 | }
42 | }
--------------------------------------------------------------------------------
/test/widget_test.dart:
--------------------------------------------------------------------------------
1 | // This is a basic Flutter widget test.
2 | //
3 | // To perform an interaction with a widget in your test, use the WidgetTester
4 | // utility that Flutter provides. For example, you can send tap and scroll
5 | // gestures. You can also use WidgetTester to find child widgets in the widget
6 | // tree, read text, and verify that the values of widget properties are correct.
7 |
8 | import 'package:flutter/material.dart';
9 | import 'package:flutter_test/flutter_test.dart';
10 |
11 | import 'package:box/main.dart';
12 |
13 | void main() {
14 | testWidgets('Counter increments smoke test', (WidgetTester tester) async {
15 | // Build our app and trigger a frame.
16 | await tester.pumpWidget(BoxApp());
17 |
18 | // Verify that our counter starts at 0.
19 | expect(find.text('0'), findsOneWidget);
20 | expect(find.text('1'), findsNothing);
21 |
22 | // Tap the '+' icon and trigger a frame.
23 | await tester.tap(find.byIcon(Icons.add));
24 | await tester.pump();
25 |
26 | // Verify that our counter has incremented.
27 | expect(find.text('0'), findsNothing);
28 | expect(find.text('1'), findsOneWidget);
29 | });
30 | }
31 |
--------------------------------------------------------------------------------
/lib/model/aeternity/contract_decode_model.dart:
--------------------------------------------------------------------------------
1 | class ContractDecodeModel {
2 | int code;
3 | String msg;
4 | int time;
5 | Data data;
6 |
7 | ContractDecodeModel({this.code, this.msg, this.time, this.data});
8 |
9 | ContractDecodeModel.fromJson(Map json) {
10 | code = json['code'];
11 | msg = json['msg'];
12 | time = json['time'];
13 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
14 | }
15 |
16 | Map toJson() {
17 | final Map data = new Map();
18 | data['code'] = this.code;
19 | data['msg'] = this.msg;
20 | data['time'] = this.time;
21 | if (this.data != null) {
22 | data['data'] = this.data.toJson();
23 | }
24 | return data;
25 | }
26 | }
27 |
28 | class Data {
29 | String tokenNumber;
30 |
31 | Data({this.tokenNumber});
32 |
33 | Data.fromJson(Map json) {
34 | tokenNumber = json['token_number'];
35 | }
36 |
37 | Map toJson() {
38 | final Map data = new Map();
39 | data['token_number'] = this.tokenNumber;
40 | return data;
41 | }
42 | }
--------------------------------------------------------------------------------
/lib/model/aeternity/banner_model.dart:
--------------------------------------------------------------------------------
1 | class BannerModel {
2 | Cn cn;
3 | Cn en;
4 |
5 | BannerModel({this.cn, this.en});
6 |
7 | BannerModel.fromJson(Map json) {
8 | cn = json['cn'] != null ? new Cn.fromJson(json['cn']) : null;
9 | en = json['en'] != null ? new Cn.fromJson(json['en']) : null;
10 | }
11 |
12 | Map toJson() {
13 | final Map data = new Map();
14 | if (this.cn != null) {
15 | data['cn'] = this.cn.toJson();
16 | }
17 | if (this.en != null) {
18 | data['en'] = this.en.toJson();
19 | }
20 | return data;
21 | }
22 | }
23 |
24 | class Cn {
25 | String image;
26 | String title;
27 | String url;
28 |
29 | Cn({this.image, this.title, this.url});
30 |
31 | Cn.fromJson(Map json) {
32 | image = json['image'];
33 | title = json['title'];
34 | url = json['url'];
35 | }
36 |
37 | Map toJson() {
38 | final Map data = new Map();
39 | data['image'] = this.image;
40 | data['title'] = this.title;
41 | data['url'] = this.url;
42 | return data;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/allowance_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/allowance_model.dart';
6 | import 'package:box/model/aeternity/msg_sign_model.dart';
7 | import 'package:box/model/aeternity/aens_register_model.dart';
8 | import 'package:box/model/aeternity/block_top_model.dart';
9 | import 'package:box/model/aeternity/token_send_model.dart';
10 | import 'package:box/model/aeternity/tx_broadcast_model.dart';
11 | import 'package:dio/dio.dart';
12 |
13 | class AllowanceDao {
14 | static Future fetch(String ctId) async {
15 | Map params = new Map();
16 | var address = await BoxApp.getAddress();
17 | params["address"] = address;
18 | params['ct_id'] = ctId;
19 | Response response = await Dio().post(AEX9_ALLOWANCE, queryParameters: params);
20 | if (response.statusCode == 200) {
21 | var data = jsonDecode(response.toString());
22 | AllowanceModel model = AllowanceModel.fromJson(data);
23 | return model;
24 | } else {
25 | throw Exception('Failed to load AllowanceModel.json');
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/wetrue_config_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_info_model.dart';
6 | import 'package:box/model/aeternity/we_true_praise_model.dart';
7 | import 'package:box/model/aeternity/wetrue_config_model.dart';
8 | import 'package:dio/dio.dart';
9 |
10 | class WeTrueConfigDao {
11 | static Future fetch() async {
12 | String url = "";
13 |
14 | // FormData formData = FormData.fromMap({
15 | // "hash": hash,
16 | // "type": "topic",
17 | // });
18 | var address = await BoxApp.getAddress();
19 | ///创建 dio
20 | Options options = Options();
21 | ///请求header的配置
22 | options.headers["ak-token"]=address;
23 | url = WE_TRUE_URL+"/Config/info";
24 | Response response = await Dio().post(url,options: options);
25 | if (response.statusCode == 200) {
26 | var data = jsonDecode(response.toString());
27 | WeTrueConfigModel model = WeTrueConfigModel.fromJson(data);
28 | return model;
29 | } else {
30 | throw Exception('Failed to load WeTrueConfigModel.json');
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/lib/dao/conflux/cfx_nft_preview_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/conflux/cfx_balance_model.dart';
7 | import 'package:box/model/conflux/cfx_nft_balance_model.dart';
8 | import 'package:box/model/conflux/cfx_nft_preview_model.dart';
9 | import 'package:box/model/conflux/cfx_nft_token_model.dart';
10 | import 'package:dio/dio.dart';
11 |
12 | import '../../main.dart';
13 |
14 | class CfxNftPreviewDao {
15 | static Future fetch(String contract,String tokenId) async {
16 | Map params = new Map();
17 | params["tokenId"] = tokenId;
18 | params["contract"] = contract;
19 | Response response = await Dio().post(CFX_NFT_PREVIEW,queryParameters: params);
20 | if (response.statusCode == 200) {
21 | var data = jsonDecode(response.toString());
22 | CfxNftPreviewModel model = CfxNftPreviewModel.fromJson(data);
23 | return model;
24 | } else {
25 | throw Exception('Failed to load CfxNftPreviewModel.json');
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lib/model/aeternity/contract_call_model.dart:
--------------------------------------------------------------------------------
1 | class ContractCallModel {
2 | int code;
3 | String msg;
4 | int time;
5 | Data data;
6 |
7 | ContractCallModel({this.code, this.msg, this.time, this.data});
8 |
9 | ContractCallModel.fromJson(Map json) {
10 | code = json['code'];
11 | msg = json['msg'];
12 | time = json['time'];
13 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
14 | }
15 |
16 | Map toJson() {
17 | final Map data = new Map();
18 | data['code'] = this.code;
19 | data['msg'] = this.msg;
20 | data['time'] = this.time;
21 | if (this.data != null) {
22 | data['data'] = this.data.toJson();
23 | }
24 | return data;
25 | }
26 | }
27 |
28 | class Data {
29 | String function;
30 | String tx;
31 |
32 | Data({this.function, this.tx});
33 |
34 | Data.fromJson(Map json) {
35 | function = json['function'];
36 | tx = json['tx'];
37 | }
38 |
39 | Map toJson() {
40 | final Map data = new Map();
41 | data['function'] = this.function;
42 | data['tx'] = this.tx;
43 | return data;
44 | }
45 | }
--------------------------------------------------------------------------------
/lib/model/aeternity/contract_balance_model.dart:
--------------------------------------------------------------------------------
1 | class ContractBalanceModel {
2 | int code;
3 | String msg;
4 | int time;
5 | Data data;
6 |
7 | ContractBalanceModel({this.code, this.msg, this.time, this.data});
8 |
9 | ContractBalanceModel.fromJson(Map json) {
10 | code = json['code'];
11 | msg = json['msg'];
12 | time = json['time'];
13 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
14 | }
15 |
16 | Map toJson() {
17 | final Map data = new Map();
18 | data['code'] = this.code;
19 | data['msg'] = this.msg;
20 | data['time'] = this.time;
21 | if (this.data != null) {
22 | data['data'] = this.data.toJson();
23 | }
24 | return data;
25 | }
26 | }
27 |
28 | class Data {
29 | String balance;
30 | String rate;
31 |
32 | Data({this.balance});
33 |
34 | Data.fromJson(Map json) {
35 | balance = json['balance'];
36 | rate = json['rate'];
37 | }
38 |
39 | Map toJson() {
40 | final Map data = new Map();
41 | data['balance'] = this.balance;
42 | data['rate'] = this.rate;
43 | return data;
44 | }
45 | }
--------------------------------------------------------------------------------
/lib/model/aeternity/account_info_model.dart:
--------------------------------------------------------------------------------
1 | class AccountInfoModel {
2 | int code;
3 | Data data;
4 | String msg;
5 | int time;
6 |
7 | AccountInfoModel({this.code, this.data, this.msg, this.time});
8 |
9 | AccountInfoModel.fromJson(Map json) {
10 | code = json['code'];
11 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
12 | msg = json['msg'];
13 | time = json['time'];
14 | }
15 |
16 | Map toJson() {
17 | final Map data = new Map();
18 | data['code'] = this.code;
19 | if (this.data != null) {
20 | data['data'] = this.data.toJson();
21 | }
22 | data['msg'] = this.msg;
23 | data['time'] = this.time;
24 | return data;
25 | }
26 | }
27 |
28 | class Data {
29 | String address;
30 | String balance;
31 |
32 | Data({this.address, this.balance});
33 |
34 | Data.fromJson(Map json) {
35 | address = json['address'];
36 | balance = json['balance'];
37 | }
38 |
39 | Map toJson() {
40 | final Map data = new Map();
41 | data['address'] = this.address;
42 | data['balance'] = this.balance;
43 | return data;
44 | }
45 | }
--------------------------------------------------------------------------------
/lib/model/aeternity/msg_sign_model.dart:
--------------------------------------------------------------------------------
1 | class MsgSignModel {
2 | int code;
3 | String msg;
4 | int time;
5 | Data data;
6 |
7 | MsgSignModel({this.code, this.msg, this.time, this.data});
8 |
9 | MsgSignModel.fromJson(Map json) {
10 | code = json['code'];
11 | msg = json['msg'];
12 | time = json['time'];
13 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
14 | }
15 |
16 | Map toJson() {
17 | final Map data = new Map();
18 | data['code'] = this.code;
19 | data['msg'] = this.msg;
20 | data['time'] = this.time;
21 | if (this.data != null) {
22 | data['data'] = this.data.toJson();
23 | }
24 | return data;
25 | }
26 | }
27 |
28 | class Data {
29 | String msg;
30 | String tx;
31 | double salt;
32 |
33 | Data({this.msg, this.tx});
34 |
35 | Data.fromJson(Map json) {
36 | msg = json['msg'];
37 | tx = json['tx'];
38 | salt = json['salt'];
39 | }
40 |
41 | Map toJson() {
42 | final Map data = new Map();
43 | data['msg'] = this.msg;
44 | data['tx'] = this.tx;
45 | data['salt'] = this.salt;
46 | return data;
47 | }
48 | }
--------------------------------------------------------------------------------
/lib/dao/conflux/cfx_crc20_transfer_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/conflux/cfx_balance_model.dart';
7 | import 'package:box/model/conflux/cfx_crc20_transfer_model.dart';
8 | import 'package:box/model/conflux/cfx_transfer_model.dart';
9 | import 'package:dio/dio.dart';
10 |
11 | import '../../main.dart';
12 |
13 | class CfxCrc20TransferDao {
14 | static Future fetch(String page, ctAddress) async {
15 | Map params = new Map();
16 | var address = await BoxApp.getAddress();
17 | params["address"] = address;
18 | params["page"] = page;
19 | if(ctAddress != ""){
20 | params["contract"] = ctAddress;
21 | }
22 |
23 | Response response = await Dio().post(CFX_CRC20_TRANSACTION_HASH, queryParameters: params);
24 | if (response.statusCode == 200) {
25 | var data = jsonDecode(response.toString());
26 | CfxCrc20TransferModel model = CfxCrc20TransferModel.fromJson(data);
27 | return model;
28 | } else {
29 | throw Exception('Failed to load CfxCrc20TransferModel.json');
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
23 |
24 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/contract_transfer_call_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/model/aeternity/account_info_model.dart';
5 | import 'package:box/model/aeternity/block_top_model.dart';
6 | import 'package:box/model/aeternity/contract_balance_model.dart';
7 | import 'package:box/model/aeternity/contract_call_model.dart';
8 | import 'package:box/model/aeternity/contract_info_model.dart';
9 | import 'package:box/model/aeternity/contract_record_model.dart';
10 | import 'package:box/model/aeternity/msg_sign_model.dart';
11 | import 'package:dio/dio.dart';
12 |
13 |
14 | class ContractTransferCallDao {
15 | static Future fetch(String amount, String senderID,String recipientID) async {
16 | Map params = new Map();
17 | params["senderID"] = senderID;
18 | params["recipientID"] = recipientID;
19 | params["amount"] = amount;
20 | Response response = await Dio().post(CONTRACT_TRANSFER, queryParameters: params);
21 | if (response.statusCode == 200) {
22 | var data = jsonDecode(response.toString());
23 |
24 | MsgSignModel model = MsgSignModel.fromJson(data);
25 | return model;
26 | } else {
27 | throw Exception('Failed to load ContractCallModel.json');
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.3.50'
3 | ext.googlePlayServicesVersion = "15.0.0"
4 | repositories {
5 | maven {url 'https://maven.aliyun.com/repository/google'}
6 | maven {url 'https://maven.aliyun.com/repository/jcenter' }
7 | maven {url 'http://maven.aliyun.com/nexus/content/groups/public' }
8 | google()
9 | jcenter()
10 | }
11 |
12 | dependencies {
13 | classpath 'com.android.tools.build:gradle:4.0.1'
14 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | maven {url 'https://maven.aliyun.com/repository/google'}
21 | maven {url 'https://maven.aliyun.com/repository/jcenter' }
22 | maven {url 'http://maven.aliyun.com/nexus/content/groups/public' }
23 | google()
24 | jcenter()
25 | }
26 | }
27 |
28 | rootProject.buildDir = '../build'
29 | subprojects {
30 | project.buildDir = "${rootProject.buildDir}/${project.name}"
31 | }
32 | subprojects {
33 | project.evaluationDependsOn(':app')
34 | }
35 |
36 | task clean(type: Delete) {
37 | delete rootProject.buildDir
38 | }
39 | configurations {
40 | all*.exclude group: 'com.google.guava', module: 'listenablefuture'
41 | }
42 |
43 |
--------------------------------------------------------------------------------
/lib/model/aeternity/app_store_model.dart:
--------------------------------------------------------------------------------
1 | class AppStoreModel {
2 | int code;
3 | String msg;
4 | int time;
5 | Data data;
6 |
7 | AppStoreModel({this.code, this.msg, this.time, this.data});
8 |
9 | AppStoreModel.fromJson(Map json) {
10 | code = json['code'];
11 | msg = json['msg'];
12 | time = json['time'];
13 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
14 | }
15 |
16 | Map toJson() {
17 | final Map data = new Map();
18 | data['code'] = this.code;
19 | data['msg'] = this.msg;
20 | data['time'] = this.time;
21 | if (this.data != null) {
22 | data['data'] = this.data.toJson();
23 | }
24 | return data;
25 | }
26 | }
27 |
28 | class Data {
29 | bool isOpen;
30 | String version;
31 | bool nextOpen;
32 |
33 | Data({this.isOpen, this.version, this.nextOpen});
34 |
35 | Data.fromJson(Map json) {
36 | isOpen = json['is_open'];
37 | version = json['version'];
38 | nextOpen = json['next_open'];
39 | }
40 |
41 | Map toJson() {
42 | final Map data = new Map();
43 | data['is_open'] = this.isOpen;
44 | data['version'] = this.version;
45 | data['next_open'] = this.nextOpen;
46 | return data;
47 | }
48 | }
--------------------------------------------------------------------------------
/lib/model/aeternity/name_owner_model.dart:
--------------------------------------------------------------------------------
1 | class NameOwnerModel {
2 | String id;
3 | String owner;
4 | List pointers;
5 | int ttl;
6 |
7 | NameOwnerModel({this.id, this.owner, this.pointers, this.ttl});
8 |
9 | NameOwnerModel.fromJson(Map json) {
10 | id = json['id'];
11 | owner = json['owner'];
12 | if (json['pointers'] != null) {
13 | pointers = new List();
14 | json['pointers'].forEach((v) {
15 | pointers.add(new Pointers.fromJson(v));
16 | });
17 | }
18 | ttl = json['ttl'];
19 | }
20 |
21 | Map toJson() {
22 | final Map data = new Map();
23 | data['id'] = this.id;
24 | data['owner'] = this.owner;
25 | if (this.pointers != null) {
26 | data['pointers'] = this.pointers.map((v) => v.toJson()).toList();
27 | }
28 | data['ttl'] = this.ttl;
29 | return data;
30 | }
31 | }
32 |
33 | class Pointers {
34 | String id;
35 | String key;
36 |
37 | Pointers({this.id, this.key});
38 |
39 | Pointers.fromJson(Map json) {
40 | id = json['id'];
41 | key = json['key'];
42 | }
43 |
44 | Map toJson() {
45 | final Map data = new Map();
46 | data['id'] = this.id;
47 | data['key'] = this.key;
48 | return data;
49 | }
50 | }
--------------------------------------------------------------------------------
/lib/dao/aeternity/wetrue_comment_list_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/WetrueListModel.dart';
6 | import 'package:box/model/aeternity/aens_info_model.dart';
7 | import 'package:box/model/aeternity/swap_model.dart';
8 | import 'package:box/model/aeternity/swap_order_model.dart';
9 | import 'package:box/model/aeternity/wetrue_comment_model.dart';
10 | import 'package:dio/dio.dart';
11 |
12 | class WetrueCommentDao {
13 | static Future fetch(String hash, int page) async {
14 | String url = "";
15 |
16 | url = WE_TRUE_URL + "/Comment/list";
17 | FormData formData = FormData.fromMap({
18 | "hash": hash,
19 | "page": page,
20 | "size": 30,
21 | "replyLimit": 3,
22 | });
23 | var address = await BoxApp.getAddress();
24 |
25 | ///创建 dio
26 | Options options = Options();
27 |
28 | ///请求header的配置
29 | options.headers["ak-token"] = address;
30 |
31 | Response response = await Dio().post(url, data: formData, options: options);
32 | if (response.statusCode == 200) {
33 | var data = jsonDecode(response.toString());
34 | WetrueCommentModel model = WetrueCommentModel.fromJson(data);
35 | return model;
36 | } else {
37 | throw Exception('Failed to load WetrueCommentModel.json');
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/lib/model/aeternity/user_model.dart:
--------------------------------------------------------------------------------
1 |
2 | class UserModel {
3 | int code;
4 | Data data;
5 | String msg;
6 | int time;
7 |
8 | UserModel({this.code, this.data, this.msg, this.time});
9 |
10 | UserModel.fromJson(Map json) {
11 | code = json['code'];
12 | data = json['data'] != null ? new Data.fromJson(json['data']) : null;
13 | msg = json['msg'];
14 | time = json['time'];
15 | }
16 |
17 | Map toJson() {
18 | final Map data = new Map();
19 | data['code'] = this.code;
20 | if (this.data != null) {
21 | data['data'] = this.data.toJson();
22 | }
23 | data['msg'] = this.msg;
24 | data['time'] = this.time;
25 | return data;
26 | }
27 | }
28 |
29 | class Data {
30 | String address;
31 | String mnemonic;
32 | String redirectUri;
33 | String signingKey;
34 |
35 | Data({this.address, this.mnemonic, this.redirectUri, this.signingKey});
36 |
37 | Data.fromJson(Map json) {
38 | address = json['address'];
39 | mnemonic = json['mnemonic'];
40 | redirectUri = json['redirectUri'];
41 | signingKey = json['signingKey'];
42 | }
43 |
44 | Map toJson() {
45 | final Map data = new Map();
46 | data['address'] = this.address;
47 | data['mnemonic'] = this.mnemonic;
48 | data['redirectUri'] = this.redirectUri;
49 | data['signingKey'] = this.signingKey;
50 | return data;
51 | }
52 | }
--------------------------------------------------------------------------------
/lib/model/conflux/cfx_balance_model.dart:
--------------------------------------------------------------------------------
1 | class CfxBalanceModel {
2 | String address;
3 | String balance;
4 | String stakingBalance;
5 | String collateralForStorage;
6 | String accumulatedInterestReturn;
7 | String nonce;
8 | String admin;
9 | String codeHash;
10 |
11 | CfxBalanceModel(
12 | {this.address,
13 | this.balance,
14 | this.stakingBalance,
15 | this.collateralForStorage,
16 | this.accumulatedInterestReturn,
17 | this.nonce,
18 | this.admin,
19 | this.codeHash});
20 |
21 | CfxBalanceModel.fromJson(Map json) {
22 | address = json['address'];
23 | balance = json['balance'];
24 | stakingBalance = json['stakingBalance'];
25 | collateralForStorage = json['collateralForStorage'];
26 | accumulatedInterestReturn = json['accumulatedInterestReturn'];
27 | nonce = json['nonce'];
28 | admin = json['admin'];
29 | codeHash = json['codeHash'];
30 | }
31 |
32 | Map toJson() {
33 | final Map data = new Map();
34 | data['address'] = this.address;
35 | data['balance'] = this.balance;
36 | data['stakingBalance'] = this.stakingBalance;
37 | data['collateralForStorage'] = this.collateralForStorage;
38 | data['accumulatedInterestReturn'] = this.accumulatedInterestReturn;
39 | data['nonce'] = this.nonce;
40 | data['admin'] = this.admin;
41 | data['codeHash'] = this.codeHash;
42 | return data;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/lib/dao/aeternity/aens_page_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/aens_page_model.dart';
6 | import 'package:dio/dio.dart';
7 |
8 | enum AensPageType { auction, price, over, my_auction, my_over }
9 |
10 | class AensPageDao {
11 | static Future fetch(AensPageType aensPageType, int page) async {
12 | Map params = new Map();
13 | var address =await BoxApp.getAddress();
14 | var url = "";
15 | switch (aensPageType) {
16 | case AensPageType.auction:
17 | url = NAME_AUCTIONS;
18 | break;
19 | case AensPageType.price:
20 | url = NAME_PRICE;
21 | break;
22 | case AensPageType.over:
23 | url = NAME_OVER;
24 | break;
25 | case AensPageType.my_auction:
26 | url = NAME_MY_OVER;
27 | params["address"] = address;
28 | break;
29 | case AensPageType.my_over:
30 | url = NAME_MY_REGISTER;
31 | params["address"] = address;
32 | break;
33 | }
34 | params["page"] = page.toString();
35 | Response response = await Dio().post(url, queryParameters: params);
36 |
37 | if (response.statusCode == 200) {
38 | var data = jsonDecode(response.toString());
39 | AensPageModel model = AensPageModel.fromJson(data);
40 | return model;
41 | } else {
42 | throw Exception('Failed to load AensPageModel.json');
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment this line to define a global platform for your project
2 | platform :ios, '10.0'
3 |
4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6 |
7 | project 'Runner', {
8 | 'Debug' => :debug,
9 | 'Profile' => :release,
10 | 'Release' => :release,
11 | }
12 |
13 | def flutter_root
14 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
15 | unless File.exist?(generated_xcode_build_settings_path)
16 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
17 | end
18 |
19 | File.foreach(generated_xcode_build_settings_path) do |line|
20 | matches = line.match(/FLUTTER_ROOT\=(.*)/)
21 | return matches[1].strip if matches
22 | end
23 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
24 | end
25 |
26 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
27 |
28 | flutter_ios_podfile_setup
29 |
30 | target 'Runner' do
31 | use_frameworks!
32 | use_modular_headers!
33 |
34 | flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
35 | end
36 |
37 | post_install do |installer|
38 | installer.pods_project.targets.each do |target|
39 | flutter_additional_ios_build_settings(target)
40 | end
41 | end
42 |
--------------------------------------------------------------------------------
/lib/widget/password_widget.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | // ignore: must_be_immutable
4 | class PasswordWidget extends Dialog {
5 | String text;
6 |
7 | PasswordWidget({Key key, @required this.text}) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return new Material( //创建透明层
12 | type: MaterialType.transparency, //透明类型
13 | child: new Center( //保证控件居中效果
14 | child: new SizedBox(
15 | width: 120.0,
16 | height: 120.0,
17 | child: new Container(
18 | decoration: ShapeDecoration(
19 | color: Color(0xffffffff),
20 | shape: RoundedRectangleBorder(
21 | borderRadius: BorderRadius.all(
22 | Radius.circular(8.0),
23 | ),
24 | ),
25 | ),
26 | child: new Column(
27 | mainAxisAlignment: MainAxisAlignment.center,
28 | crossAxisAlignment: CrossAxisAlignment.center,
29 | children: [
30 | new CircularProgressIndicator(),
31 | new Padding(
32 | padding: const EdgeInsets.only(
33 | top: 20.0,
34 | ),
35 | child: new Text(
36 | text,
37 | style: new TextStyle(fontSize: 12.0),
38 | ),
39 | ),
40 | ],
41 | ),
42 | ),
43 | ),
44 | ),
45 | );
46 | }
47 | }
--------------------------------------------------------------------------------
/lib/dao/aeternity/wetrue_list_dao.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:box/dao/urls.dart';
4 | import 'package:box/main.dart';
5 | import 'package:box/model/aeternity/WetrueListModel.dart';
6 | import 'package:box/model/aeternity/aens_info_model.dart';
7 | import 'package:box/model/aeternity/swap_model.dart';
8 | import 'package:box/model/aeternity/swap_order_model.dart';
9 | import 'package:dio/dio.dart';
10 |
11 | class WeTrueListDao {
12 | static Future fetch(int type, int page) async {
13 | String url = "";
14 | switch (type) {
15 | case 0:
16 | // url = "https://liushao.cc:1817/Content/list";
17 | url = WE_TRUE_URL+"/Content/list";
18 | break;
19 | case 1:
20 | url = WE_TRUE_URL+"/Content/hotRec";
21 | break;
22 | case 2:
23 | url = WE_TRUE_URL+"/Image/list";
24 | break;
25 | }
26 | FormData formData = FormData.fromMap({
27 | "page": page,
28 | "size": 30,
29 | }); var address = await BoxApp.getAddress();
30 | ///创建 dio
31 | Options options = Options();
32 | ///请求header的配置
33 | options.headers["ak-token"]=address;
34 |
35 | Response response = await Dio().post(url, data: formData,options: options);
36 | if (response.statusCode == 200) {
37 | var data = jsonDecode(response.toString());
38 | WetrueListModel model = WetrueListModel.fromJson(data);
39 | return model;
40 | } else {
41 | throw Exception('Failed to load WetrueListModel.json');
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/lib/model/aeternity/ct_token_model.dart:
--------------------------------------------------------------------------------
1 | class CtTokenModel {
2 | List tokens;
3 |
4 | CtTokenModel({this.tokens});
5 |
6 | CtTokenModel.fromJson(Map json) {
7 | if (json['tokens'] != null) {
8 | tokens = new List();
9 | json['tokens'].forEach((v) {
10 | tokens.add(new Tokens.fromJson(v));
11 | });
12 | }
13 | }
14 |
15 | Map toJson() {
16 | final Map data = new Map();
17 | if (this.tokens != null) {
18 | data['tokens'] = this.tokens.map((v) => v.toJson()).toList();
19 | }
20 | return data;
21 | }
22 | }
23 |
24 | class Tokens {
25 | String ctId;
26 | String name;
27 | String symbol;
28 | String quoteUrl;
29 | String iconUrl;
30 | String balance;
31 | String price;
32 |
33 | Tokens({this.ctId, this.name, this.symbol, this.quoteUrl});
34 |
35 | Tokens.fromJson(Map json) {
36 | ctId = json['ct_id'];
37 | name = json['name'];
38 | symbol = json['symbol'];
39 | quoteUrl = json['quoteUrl'];
40 | iconUrl = json['iconUrl'];
41 | balance = json['balance'];
42 | price = json['price'];
43 | }
44 |
45 | Map toJson() {
46 | final Map data = new Map();
47 | data['ct_id'] = this.ctId;
48 | data['name'] = this.name;
49 | data['symbol'] = this.symbol;
50 | data['quoteUrl'] = this.quoteUrl;
51 | data['iconUrl'] = this.iconUrl;
52 | data['balance'] = this.balance;
53 | data['price'] = this.price;
54 | return data;
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | .dart_tool/
26 | .flutter-plugins
27 | .flutter-plugins-dependencies
28 | .packages
29 | .pub-cache/
30 | .pub/
31 | /build/
32 |
33 | # Web related
34 | lib/generated_plugin_registrant.dart
35 |
36 | # Symbolication related
37 | app.*.symbols
38 |
39 | # Obfuscation related
40 | app.*.map.json
41 |
42 | # Exceptions to above rules.
43 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
44 | android/box.keystore
45 | android/key.properties
46 | assets/sdk/js/ABCLockV3Call.js
47 | assets/sdk/js/ABCLockV3Contract.js
48 | assets/sdk/js/aepp-sdk.browser-script-770.js
49 | assets/sdk/js/BaseFunctionCall.js
50 | assets/sdk/js/FungibleTokenFullCall.js
51 | assets/sdk/js/FungibleTokenFullContract.js
52 | lib/l10n/intl_cn.arb
53 | lib/l10n/intl_en.arb
54 | lib/main.dart
55 | pubspec.lock
56 | pubspec.yaml
57 | assets/sdk/js/BoxSwapContractV2.js
58 | assets/sdk/js/BoxSwapV2Call.js
59 | assets/sdk/css/app.e258e543.css
60 | assets/sdk/js/app.6c426efd.js
61 | assets/sdk/js/app.6c426efd.js.map
62 | assets/sdk/js/chunk-vendors.7f48f3fa.js
63 | assets/sdk/js/chunk-vendors.7f48f3fa.js.map
64 | assets/sdk/favicon.ico
65 | assets/sdk/index.html
66 |
--------------------------------------------------------------------------------
/lib/model/aeternity/swap_model.dart:
--------------------------------------------------------------------------------
1 | class SwapModel {
2 | int code;
3 | String msg;
4 | int time;
5 | List data;
6 |
7 | SwapModel({this.code, this.msg, this.time, this.data});
8 |
9 | SwapModel.fromJson(Map json) {
10 | code = json['code'];
11 | msg = json['msg'];
12 | time = json['time'];
13 | if (json['data'] != null) {
14 | data = new List();
15 | json['data'].forEach((v) {
16 | data.add(new Data.fromJson(v));
17 | });
18 | }
19 | }
20 |
21 | Map toJson() {
22 | final Map data = new Map();
23 | data['code'] = this.code;
24 | data['msg'] = this.msg;
25 | data['time'] = this.time;
26 | if (this.data != null) {
27 | data['data'] = this.data.map((v) => v.toJson()).toList();
28 | }
29 | return data;
30 | }
31 | }
32 |
33 | class Data {
34 | String account;
35 | String ae;
36 | String coin;
37 | String count;
38 |
39 |
40 | double getPremium(){
41 | return (double.parse(ae)) / (double.parse(count));
42 | }
43 | Data({this.account, this.ae, this.coin, this.count});
44 |
45 | Data.fromJson(Map json) {
46 | account = json['account'];
47 | ae = json['ae'];
48 | coin = json['coin'];
49 | count = json['count'];
50 | }
51 |
52 | Map toJson() {
53 | final Map data = new Map();
54 | data['account'] = this.account;
55 | data['ae'] = this.ae;
56 | data['coin'] = this.coin;
57 | data['count'] = this.count;
58 | return data;
59 | }
60 | }
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/lib/model/aeternity/swap_coin_model.dart:
--------------------------------------------------------------------------------
1 | class SwapCoinModel {
2 | int code;
3 | String msg;
4 | int time;
5 | List data;
6 |
7 | SwapCoinModel({this.code, this.msg, this.time, this.data});
8 |
9 | SwapCoinModel.fromJson(Map json) {
10 | code = json['code'];
11 | msg = json['msg'];
12 | time = json['time'];
13 | if (json['data'] != null) {
14 | data = new List();
15 | json['data'].forEach((v) {
16 | data.add(new SwapCoinModelData.fromJson(v));
17 | });
18 | }
19 | }
20 |
21 | Map toJson() {
22 | final Map data = new Map();
23 | data['code'] = this.code;
24 | data['msg'] = this.msg;
25 | data['time'] = this.time;
26 | if (this.data != null) {
27 | data['data'] = this.data.map((v) => v.toJson()).toList();
28 | }
29 | return data;
30 | }
31 | }
32 |
33 | class SwapCoinModelData {
34 | String name;
35 | String ctAddress;
36 | double lowTokenCount;
37 | double lowAeCount;
38 |
39 | SwapCoinModelData({this.name, this.ctAddress, this.lowTokenCount, this.lowAeCount});
40 |
41 | SwapCoinModelData.fromJson(Map json) {
42 | name = json['name'];
43 | ctAddress = json['ct_address'];
44 | lowTokenCount = json['low_token_count'];
45 | lowAeCount = json['low_ae_count'];
46 | }
47 |
48 | Map