-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add formatting functions for size specified in double (1000.0, 0.001,… #73
Conversation
# Conflicts: # v4/common/src/main/java/exchange/dydx/trading/common/formatter/DydxFormatter.kt
v4/common/src/main/java/exchange/dydx/trading/common/formatter/DydxFormatter.kt
Show resolved
Hide resolved
Will take the number and round it to the closest step size | ||
e.g. if number is 1021 and step size is "100" then output is "1000" | ||
*/ | ||
fun raw(number: Double?, size: Double? = null, locale: Locale = Locale.getDefault()): String? { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should avoid using .getDefault()
since it is provided by the platform and potentially could be different?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently both iOS and Android app use the system locale for number formatting, and in-app language selector for text localization. We can consolidate them in the future, but IMO it's a low priority since for app users language selection is typically a one-time process.
} | ||
} else { | ||
"∞" | ||
} | ||
} | ||
} | ||
|
||
private fun rounded(bigDecimal: BigDecimal, digits: Int): BigDecimal { | ||
return BigDecimal(rounded(bigDecimal.toDouble(), digits)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why are we converting to Double then back to BigDecimal? we're losing precision here right? i think what we actually want is:
return bigDecimal.setScale(digits, RoundingMode.HALF_UP)
also i was wondering, so i did double check: BigDecimal instances are immutable so these methods do not modify the underlying instance, and only return a new instance with the desired operation applied.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BigDecimal was transported from the iOS code, but we don't actually use it on Android, so I will remove them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sort of confused here - why does iOS use BigDecimal then? How is it necessary on one platform, but not the other? Either we need the extra precision on both platforms or we don't, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will have to look at the iOS code.... the formatter on iOS comes from the V3 codebase, which does a lot of eth calls.
v4/common/src/main/java/exchange/dydx/trading/common/formatter/DydxFormatter.kt
Show resolved
Hide resolved
v4/common/src/main/java/exchange/dydx/trading/common/formatter/DydxFormatter.kt
Show resolved
Hide resolved
v4/common/src/main/java/exchange/dydx/trading/common/formatter/DydxFormatter.kt
Show resolved
Hide resolved
return if (time != null) { | ||
dateTimeFormatter.format(Date.from(time)) | ||
val ldt: LocalDateTime = time.atZone(timeZone).toLocalDateTime() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Previous implementation uses SimpleDateFormatter and it fails the UT when the emulator's timezone gets changed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple things:
- We should really be avoiding static methods like
getDefault()
in favor of injectable interfaces. We should be passing in values, so that we can ensure consistency: https://testing.googleblog.com/2008/12/static-methods-are-death-to-testability.html - Unit tests don't get run on emulators, so curious what you mean here. (This is different from iOS, currently we are only configured to run tests in a pure JVM environment).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We want getdfault when the app runs. For UT you can just overwrite it when calling the function
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure, but we need to make sure we are calling it in the UT, which often we are not. extracting behind an interface forces you to be intentional about the values you are using in tests rather than accepting the default (which leads to bugs like these)
* Update .gitignore to ignore all .idea files and all build directories. (#20) * Turn on Gradle parallel execution and caching. * Add "app_deployment" key (#21) * Add "app_deployment" key * Lint * Initial setup of StrictMode - only logging in debug. (#22) * Initial setup of StrictMode - only logging in debug. * Revert injection changes * Use limitedParallelism and MainScope() in AbacusThreadingImp. (#25) * Handle exception with invalid URLs (#26) * MOB-348 Show Squid routing error on deposit/withdrawal (#28) * Update AppModule.kt and used dependencies to follow Dagger Best Practices guide (in Notion). (#27) * Correlate x-request-id to correlate route requests from Squid transactions (#23) * Fix build (#29) * MOB-362: Some url links don't work with the deployment build (#31) * Test * Check for deeplink path during routing * Clean up * Clean up * Update rest of Dagger modules to follow best practices. (#30) * Remove network selector from settings for release build (#33) * MOB-363: Android: "System" theme setting not working (#32) * Observe system theme * Recompose when theme changes * Fix a crash on url tapping (#34) * Remove hardcoded scheme in the setting links. (#35) * Add Firebase Performance monitoring. (#37) * Bump Abacus and update the system link. (#36) * Fix the release build issue of wallet amount not showing up on deposit (#38) * Fix Subaccount transfer for France (#39) * Fix Subaccount transfer for France * Lint * Update function name to be consistent with iOS * Clean up the start-up sequence (#41) * Clean up the start-up sequence * Lint * Update Cartera and WalletConnnect to the latest version (#40) * Update Cartera * Lint * Add comments * MOB-285: Call startTrade() after setMarket() (#43) * Update the v4-native-client.js to replace # with ___ (#42) * Add script * Update v4-client.js * Safer replacement * Safer replacement * Move startWorkers back to Activity.onCreate() (#44) * Move startWorkers back to Activity.start() * Comment * MOB-410 Add tracking for onboarding, transfer, wallet connection (#46) * Adding Onboarding/Transfer/Wallet events * Add userID and userProperties * Optimiazation * Add link to send logcat messages via email (#45) * Add link to send logcat messages via email * Clean up * Error handling * Make file provider depending on applicationId * MOB-432 previous branch was based on a wrong branch (#48) * MOB-432 previous branch was based on a wrong branch * PR * Bump Abacus (#50) * Bump Abacus * Revert * MOB-421 add settings control to turn in-app notifications on/off completely (#49) * MOB-421 add settings control to turn in-app notifications on/off completely * MOB-421 add settings control to turn in-app notifications on/off completely * Clean up * Feature/mob 396 position cell with margin type (#51) * MOB-432 previous branch was based on a wrong branch * PR * MOB-396 skeleton for position cell * Better layout for place holder views (when there is no position, fill or transfers) * Convert AbacusState flows into StateFlows. (#52) * MOB-422 Withdrawal gating (#53) * Withdrawal Gating * Clean up * Doing the paddings better. (#56) * Update Android Gradle Plugin (#55) * MOB-446 create new add price triggers panel screen (#58) * SL/TP Routing and price triggers panel screen * Update deeplink to match iOS * Renaming * MOB-443 add limit price to price triggers screen (#60) * Feature/mob 356 trade input (#57) * Margin type and leverage screens skeleton * MOB-356 MOB-358 Margin mode screen * Change bg color * move modifier to param * Feature/mob 257 weekly dates (#61) * Added end time to rewards date range * lint * Update SharingStarted usages from Lazily to WhileSubscribed(). (#62) * Fix issue of text input losing calculated value when not focused (#64) * Inject coroutine scopes and dispatchers instead of hardcoding. (#65) * Revert "Update SharingStarted usages from Lazily to WhileSubscribed(). (#62)" (#66) This reverts commit de98092. * Fix margin issues with portfolio position items (#67) * Fix threading issue (#68) * Bump Abacus and v4-client (#69) * MOB-440 TP/SL order submission and data binding (#63) * Wire up input data * Submission * WIP * Bump Abacus and toggle size section * Update PlatformInfoScaffold * submissionStatus = _submissionStatus * Simplify TriggerOrderStream * Fix an issue of order/fill status display (#72) * Fix dollar() formatting crash in FR locale. (#74) * Add formatting functions for size specified in double (1000.0, 0.001,… (#73) * Add formatting functions for size specified in double (1000.0, 0.001, etc) * Clean up * Clean up * Clean up BigDecimals * Remove rounded(bigDecimal: * Fix rounding issue on leverage slider when locale is French (#75) * MOB-441 add TP/SL display to market screen (Android) (#71) * Wire up input data * Submission * WIP * Bump Abacus and toggle size section * MarketInfo buttons * Clean up * Clean up TriggerOrderStream * MOB-442 Support error states for TP/SL inputs (#77) * Wire up input data * Submission * WIP * Bump Abacus and toggle size section * MarketInfo buttons * Validation * Show validation error at sections * Highlighting error/warning field * Slide size formatting * Clean up * Clean up TriggerOrderStream * Clean up * Clean up * Made localizer a computed property (#78) * MOB-455 Add retry to trade and close order submission (#76) * Add retry to trade and close order submission. * _submissionStatus.asStateFlow() * Turn on Kotlin incremental classpath snapshots. (#80) * Fixing threading issues (#79) * Fixing threading issues. * Clean up * Feature/mob 360 target leverage (#59) * Margin type and leverage screens skeleton * MOB-356 MOB-358 Margin mode screen * Change bg color * MOB-360 rough UX for target leverage screen * Fixed PR * move modifier to param * lint * There is no longer InputFieldScarfold * Put back InputFieldScaffold * Fix market info's stats/about tab animation issue (#83) * MOB-14 Disable sparkline touching on market list (#84) * Disable sparkline touching on market list * Clean up * Bump version (#81) * Bump Abacus and add script to use locally built Abacus (#86) * Bump Abacus and add script to use locally built Abacus * Usage * Update * Feature/mob 400 adjust margin screen (#85) * Margin type and leverage screens skeleton * MOB-356 MOB-358 Margin mode screen * Change bg color * MOB-360 rough UX for target leverage screen * Fixed PR * move modifier to param * In the middle of coding * lint * There is no longer InputFieldScarfold * Put back InputFieldScaffold * More placeholder code and it compiles * rough amount input * Formatting "Add Margin" and "Remove Margin" --------- Co-authored-by: prashanDYDX <163016611+prashanDYDX@users.noreply.github.com> Co-authored-by: Prashan Dharmasena <prashan@dydx.exchange> Co-authored-by: John Huang <johnqh@yahoo.com>
* Update .gitignore to ignore all .idea files and all build directories. (#20) * Turn on Gradle parallel execution and caching. * Add "app_deployment" key (#21) * Add "app_deployment" key * Lint * Initial setup of StrictMode - only logging in debug. (#22) * Initial setup of StrictMode - only logging in debug. * Revert injection changes * Use limitedParallelism and MainScope() in AbacusThreadingImp. (#25) * Handle exception with invalid URLs (#26) * MOB-348 Show Squid routing error on deposit/withdrawal (#28) * Update AppModule.kt and used dependencies to follow Dagger Best Practices guide (in Notion). (#27) * Correlate x-request-id to correlate route requests from Squid transactions (#23) * Fix build (#29) * MOB-362: Some url links don't work with the deployment build (#31) * Test * Check for deeplink path during routing * Clean up * Clean up * Update rest of Dagger modules to follow best practices. (#30) * Remove network selector from settings for release build (#33) * MOB-363: Android: "System" theme setting not working (#32) * Observe system theme * Recompose when theme changes * Fix a crash on url tapping (#34) * Remove hardcoded scheme in the setting links. (#35) * Add Firebase Performance monitoring. (#37) * Bump Abacus and update the system link. (#36) * Fix the release build issue of wallet amount not showing up on deposit (#38) * Fix Subaccount transfer for France (#39) * Fix Subaccount transfer for France * Lint * Update function name to be consistent with iOS * Clean up the start-up sequence (#41) * Clean up the start-up sequence * Lint * Update Cartera and WalletConnnect to the latest version (#40) * Update Cartera * Lint * Add comments * MOB-285: Call startTrade() after setMarket() (#43) * Update the v4-native-client.js to replace # with ___ (#42) * Add script * Update v4-client.js * Safer replacement * Safer replacement * Move startWorkers back to Activity.onCreate() (#44) * Move startWorkers back to Activity.start() * Comment * MOB-410 Add tracking for onboarding, transfer, wallet connection (#46) * Adding Onboarding/Transfer/Wallet events * Add userID and userProperties * Optimiazation * Add link to send logcat messages via email (#45) * Add link to send logcat messages via email * Clean up * Error handling * Make file provider depending on applicationId * MOB-432 previous branch was based on a wrong branch (#48) * MOB-432 previous branch was based on a wrong branch * PR * Bump Abacus (#50) * Bump Abacus * Revert * MOB-421 add settings control to turn in-app notifications on/off completely (#49) * MOB-421 add settings control to turn in-app notifications on/off completely * MOB-421 add settings control to turn in-app notifications on/off completely * Clean up * Feature/mob 396 position cell with margin type (#51) * MOB-432 previous branch was based on a wrong branch * PR * MOB-396 skeleton for position cell * Better layout for place holder views (when there is no position, fill or transfers) * Convert AbacusState flows into StateFlows. (#52) * MOB-422 Withdrawal gating (#53) * Withdrawal Gating * Clean up * Doing the paddings better. (#56) * Update Android Gradle Plugin (#55) * MOB-446 create new add price triggers panel screen (#58) * SL/TP Routing and price triggers panel screen * Update deeplink to match iOS * Renaming * MOB-443 add limit price to price triggers screen (#60) * Feature/mob 356 trade input (#57) * Margin type and leverage screens skeleton * MOB-356 MOB-358 Margin mode screen * Change bg color * move modifier to param * Feature/mob 257 weekly dates (#61) * Added end time to rewards date range * lint * Update SharingStarted usages from Lazily to WhileSubscribed(). (#62) * Fix issue of text input losing calculated value when not focused (#64) * Inject coroutine scopes and dispatchers instead of hardcoding. (#65) * Revert "Update SharingStarted usages from Lazily to WhileSubscribed(). (#62)" (#66) This reverts commit de98092. * Fix margin issues with portfolio position items (#67) * Fix threading issue (#68) * Bump Abacus and v4-client (#69) * MOB-440 TP/SL order submission and data binding (#63) * Wire up input data * Submission * WIP * Bump Abacus and toggle size section * Update PlatformInfoScaffold * submissionStatus = _submissionStatus * Simplify TriggerOrderStream * Fix an issue of order/fill status display (#72) * Fix dollar() formatting crash in FR locale. (#74) * Add formatting functions for size specified in double (1000.0, 0.001,… (#73) * Add formatting functions for size specified in double (1000.0, 0.001, etc) * Clean up * Clean up * Clean up BigDecimals * Remove rounded(bigDecimal: * Fix rounding issue on leverage slider when locale is French (#75) * MOB-441 add TP/SL display to market screen (Android) (#71) * Wire up input data * Submission * WIP * Bump Abacus and toggle size section * MarketInfo buttons * Clean up * Clean up TriggerOrderStream * MOB-442 Support error states for TP/SL inputs (#77) * Wire up input data * Submission * WIP * Bump Abacus and toggle size section * MarketInfo buttons * Validation * Show validation error at sections * Highlighting error/warning field * Slide size formatting * Clean up * Clean up TriggerOrderStream * Clean up * Clean up * Made localizer a computed property (#78) * MOB-455 Add retry to trade and close order submission (#76) * Add retry to trade and close order submission. * _submissionStatus.asStateFlow() * Turn on Kotlin incremental classpath snapshots. (#80) * Fixing threading issues (#79) * Fixing threading issues. * Clean up * Feature/mob 360 target leverage (#59) * Margin type and leverage screens skeleton * MOB-356 MOB-358 Margin mode screen * Change bg color * MOB-360 rough UX for target leverage screen * Fixed PR * move modifier to param * lint * There is no longer InputFieldScarfold * Put back InputFieldScaffold * Fix market info's stats/about tab animation issue (#83) * MOB-14 Disable sparkline touching on market list (#84) * Disable sparkline touching on market list * Clean up * Bump version (#81) * Bump Abacus and add script to use locally built Abacus (#86) * Bump Abacus and add script to use locally built Abacus * Usage * Update * Feature/mob 400 adjust margin screen (#85) * Margin type and leverage screens skeleton * MOB-356 MOB-358 Margin mode screen * Change bg color * MOB-360 rough UX for target leverage screen * Fixed PR * move modifier to param * In the middle of coding * lint * There is no longer InputFieldScarfold * Put back InputFieldScaffold * More placeholder code and it compiles * rough amount input * Formatting "Add Margin" and "Remove Margin" * MOB-466 Integrate Abacus changes for trigger order status notification (#89) * MOB-466 Integrate Abacus changes for trigger order status notification * Clean up PlatformInfoScaffold * Update FF logic to SL/TP trigger (#91) * MOB-445 Add TP | SL button to market info page when there are open positions for the market (#82) * MOB-469: Add basic order lines to market chart (#90) * MOB-469: Add basic order lines to market chart * Only display open orders. * MOB-468: Clean up market prices chart (#92) * Clean up SL/TP (#93) * Clean up SL/TP * Cleanup * MOB-470 MOB-471 Add order line annotations. (#94) * Add Portfolio header selector (#95) * Features/mob 400 adjust margin screen bottom (#87) * Margin type and leverage screens skeleton * MOB-356 MOB-358 Margin mode screen * Change bg color * MOB-360 rough UX for target leverage screen * Fixed PR * move modifier to param * In the middle of coding * lint * There is no longer InputFieldScarfold * Put back InputFieldScaffold * More placeholder code and it compiles * rough amount input * Formatting "Add Margin" and "Remove Margin" * MOB-400 placeholder for bottom * Adjust margin receipt area * MOB-400 rearranging receipt data * MOB-400 liquidation price * Fix copy and modified code * PR review * spotless * fix build * Update abacus to 1.7.6 (#97) * MOB-480 MOB-484: Order-lines formatting, localization, rendering clean-up. (#96) * Update Abacus (#98) * Bump v4-client and AGP (#101) * MOB-495: Add entry and liquidation lines. (#99) * Feature/mob 497 integration margin type (#102) * Set margin type into tradeInput * Layout changes * Update Abacus * Fine tuning Isolated margin trade input * Margin dialog fine tuning * MOB-487 Android: Log error into Crashlytics (#100) * WIP * Timber * Use Logging with consistency * Cleanup * Clean up * Clean up * Lint * Feature/mob 498 integration target leverage (#103) * UX working * Sync up text formatting * Update Abacus * compile issue * Feature/fix trigger (#104) * Turn on V2 abacus manager in debug. (#106) * Bump Cartera and add log message (#108) * Reduct params of v4-client calls from logs (#107) * Stop app from exiting at region restriction (#110) * Stop app from exiting at region restriction * Not showing the button * Lint * MOB-511 Fix JS runner in webview of older devices (#109) * Fix deployment issues with mainnet test users (#111) * Stop app from exiting at region restriction * Not showing the button * Lint * Force TESTNET when user debugging is enabled. * Force deployment web host * Fix URL * Clean up * Made ethereumAddress null instead empty string * Update version to 1.0.2 * Increase heap size * Update from TESTNET to TESTFLIGHT * Fix build --------- Co-authored-by: prashanDYDX <163016611+prashanDYDX@users.noreply.github.com> Co-authored-by: Prashan Dharmasena <prashan@dydx.exchange> Co-authored-by: John Huang <johnqh@yahoo.com>
* Update .gitignore to ignore all .idea files and all build directories. (#20) * Turn on Gradle parallel execution and caching. * Add "app_deployment" key (#21) * Add "app_deployment" key * Lint * Initial setup of StrictMode - only logging in debug. (#22) * Initial setup of StrictMode - only logging in debug. * Revert injection changes * Use limitedParallelism and MainScope() in AbacusThreadingImp. (#25) * Handle exception with invalid URLs (#26) * MOB-348 Show Squid routing error on deposit/withdrawal (#28) * Update AppModule.kt and used dependencies to follow Dagger Best Practices guide (in Notion). (#27) * Correlate x-request-id to correlate route requests from Squid transactions (#23) * Fix build (#29) * MOB-362: Some url links don't work with the deployment build (#31) * Test * Check for deeplink path during routing * Clean up * Clean up * Update rest of Dagger modules to follow best practices. (#30) * Remove network selector from settings for release build (#33) * MOB-363: Android: "System" theme setting not working (#32) * Observe system theme * Recompose when theme changes * Fix a crash on url tapping (#34) * Remove hardcoded scheme in the setting links. (#35) * Add Firebase Performance monitoring. (#37) * Bump Abacus and update the system link. (#36) * Fix the release build issue of wallet amount not showing up on deposit (#38) * Fix Subaccount transfer for France (#39) * Fix Subaccount transfer for France * Lint * Update function name to be consistent with iOS * Clean up the start-up sequence (#41) * Clean up the start-up sequence * Lint * Update Cartera and WalletConnnect to the latest version (#40) * Update Cartera * Lint * Add comments * MOB-285: Call startTrade() after setMarket() (#43) * Update the v4-native-client.js to replace # with ___ (#42) * Add script * Update v4-client.js * Safer replacement * Safer replacement * Move startWorkers back to Activity.onCreate() (#44) * Move startWorkers back to Activity.start() * Comment * MOB-410 Add tracking for onboarding, transfer, wallet connection (#46) * Adding Onboarding/Transfer/Wallet events * Add userID and userProperties * Optimiazation * Add link to send logcat messages via email (#45) * Add link to send logcat messages via email * Clean up * Error handling * Make file provider depending on applicationId * MOB-432 previous branch was based on a wrong branch (#48) * MOB-432 previous branch was based on a wrong branch * PR * Bump Abacus (#50) * Bump Abacus * Revert * MOB-421 add settings control to turn in-app notifications on/off completely (#49) * MOB-421 add settings control to turn in-app notifications on/off completely * MOB-421 add settings control to turn in-app notifications on/off completely * Clean up * Feature/mob 396 position cell with margin type (#51) * MOB-432 previous branch was based on a wrong branch * PR * MOB-396 skeleton for position cell * Better layout for place holder views (when there is no position, fill or transfers) * Convert AbacusState flows into StateFlows. (#52) * MOB-422 Withdrawal gating (#53) * Withdrawal Gating * Clean up * Doing the paddings better. (#56) * Update Android Gradle Plugin (#55) * MOB-446 create new add price triggers panel screen (#58) * SL/TP Routing and price triggers panel screen * Update deeplink to match iOS * Renaming * MOB-443 add limit price to price triggers screen (#60) * Feature/mob 356 trade input (#57) * Margin type and leverage screens skeleton * MOB-356 MOB-358 Margin mode screen * Change bg color * move modifier to param * Feature/mob 257 weekly dates (#61) * Added end time to rewards date range * lint * Update SharingStarted usages from Lazily to WhileSubscribed(). (#62) * Fix issue of text input losing calculated value when not focused (#64) * Inject coroutine scopes and dispatchers instead of hardcoding. (#65) * Revert "Update SharingStarted usages from Lazily to WhileSubscribed(). (#62)" (#66) This reverts commit de98092. * Fix margin issues with portfolio position items (#67) * Fix threading issue (#68) * Bump Abacus and v4-client (#69) * MOB-440 TP/SL order submission and data binding (#63) * Wire up input data * Submission * WIP * Bump Abacus and toggle size section * Update PlatformInfoScaffold * submissionStatus = _submissionStatus * Simplify TriggerOrderStream * Fix an issue of order/fill status display (#72) * Fix dollar() formatting crash in FR locale. (#74) * Add formatting functions for size specified in double (1000.0, 0.001,… (#73) * Add formatting functions for size specified in double (1000.0, 0.001, etc) * Clean up * Clean up * Clean up BigDecimals * Remove rounded(bigDecimal: * Fix rounding issue on leverage slider when locale is French (#75) * MOB-441 add TP/SL display to market screen (Android) (#71) * Wire up input data * Submission * WIP * Bump Abacus and toggle size section * MarketInfo buttons * Clean up * Clean up TriggerOrderStream * MOB-442 Support error states for TP/SL inputs (#77) * Wire up input data * Submission * WIP * Bump Abacus and toggle size section * MarketInfo buttons * Validation * Show validation error at sections * Highlighting error/warning field * Slide size formatting * Clean up * Clean up TriggerOrderStream * Clean up * Clean up * Made localizer a computed property (#78) * MOB-455 Add retry to trade and close order submission (#76) * Add retry to trade and close order submission. * _submissionStatus.asStateFlow() * Turn on Kotlin incremental classpath snapshots. (#80) * Fixing threading issues (#79) * Fixing threading issues. * Clean up * Feature/mob 360 target leverage (#59) * Margin type and leverage screens skeleton * MOB-356 MOB-358 Margin mode screen * Change bg color * MOB-360 rough UX for target leverage screen * Fixed PR * move modifier to param * lint * There is no longer InputFieldScarfold * Put back InputFieldScaffold * Fix market info's stats/about tab animation issue (#83) * MOB-14 Disable sparkline touching on market list (#84) * Disable sparkline touching on market list * Clean up * Bump version (#81) * Bump Abacus and add script to use locally built Abacus (#86) * Bump Abacus and add script to use locally built Abacus * Usage * Update * Feature/mob 400 adjust margin screen (#85) * Margin type and leverage screens skeleton * MOB-356 MOB-358 Margin mode screen * Change bg color * MOB-360 rough UX for target leverage screen * Fixed PR * move modifier to param * In the middle of coding * lint * There is no longer InputFieldScarfold * Put back InputFieldScaffold * More placeholder code and it compiles * rough amount input * Formatting "Add Margin" and "Remove Margin" * MOB-466 Integrate Abacus changes for trigger order status notification (#89) * MOB-466 Integrate Abacus changes for trigger order status notification * Clean up PlatformInfoScaffold * Update FF logic to SL/TP trigger (#91) * MOB-445 Add TP | SL button to market info page when there are open positions for the market (#82) * MOB-469: Add basic order lines to market chart (#90) * MOB-469: Add basic order lines to market chart * Only display open orders. * MOB-468: Clean up market prices chart (#92) * Clean up SL/TP (#93) * Clean up SL/TP * Cleanup * MOB-470 MOB-471 Add order line annotations. (#94) * Add Portfolio header selector (#95) * Features/mob 400 adjust margin screen bottom (#87) * Margin type and leverage screens skeleton * MOB-356 MOB-358 Margin mode screen * Change bg color * MOB-360 rough UX for target leverage screen * Fixed PR * move modifier to param * In the middle of coding * lint * There is no longer InputFieldScarfold * Put back InputFieldScaffold * More placeholder code and it compiles * rough amount input * Formatting "Add Margin" and "Remove Margin" * MOB-400 placeholder for bottom * Adjust margin receipt area * MOB-400 rearranging receipt data * MOB-400 liquidation price * Fix copy and modified code * PR review * spotless * fix build * Update abacus to 1.7.6 (#97) * MOB-480 MOB-484: Order-lines formatting, localization, rendering clean-up. (#96) * Update Abacus (#98) * Bump v4-client and AGP (#101) * MOB-495: Add entry and liquidation lines. (#99) * Feature/mob 497 integration margin type (#102) * Set margin type into tradeInput * Layout changes * Update Abacus * Fine tuning Isolated margin trade input * Margin dialog fine tuning * MOB-487 Android: Log error into Crashlytics (#100) * WIP * Timber * Use Logging with consistency * Cleanup * Clean up * Clean up * Lint * Feature/mob 498 integration target leverage (#103) * UX working * Sync up text formatting * Update Abacus * compile issue * Feature/fix trigger (#104) * Turn on V2 abacus manager in debug. (#106) * Bump Cartera and add log message (#108) * Reduct params of v4-client calls from logs (#107) * Stop app from exiting at region restriction (#110) * Stop app from exiting at region restriction * Not showing the button * Lint * MOB-511 Fix JS runner in webview of older devices (#109) * Fix deployment issues with mainnet test users (#111) * Stop app from exiting at region restriction * Not showing the button * Lint * Force TESTNET when user debugging is enabled. * Force deployment web host * Fix URL * Clean up * Made ethereumAddress null instead empty string * Update version to 1.0.2 * Increase heap size * Update from TESTNET to TESTFLIGHT * MOB-513 Clean up force update logic (#113) * MOB-516 Add NavigatePage event (#114) * Bump app version to 1.0.3 (#115) --------- Co-authored-by: prashanDYDX <163016611+prashanDYDX@users.noreply.github.com> Co-authored-by: Prashan Dharmasena <prashan@dydx.exchange> Co-authored-by: John Huang <johnqh@yahoo.com>
.. to support market config returns stepSize in double.
We have been using stepSizeDecimals, but need to switch to use stepSize since the former doesn't express stepSize > 1