@ledgerhq/live-common 33.1.1 → 33.2.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__tests__/test-helpers/environment.js +2 -0
- package/lib/__tests__/test-helpers/environment.js.map +1 -1
- package/lib/apps/polyfill.d.ts +4 -0
- package/lib/apps/polyfill.d.ts.map +1 -1
- package/lib/apps/polyfill.js +1 -1
- package/lib/apps/polyfill.js.map +1 -1
- package/lib/bridge/useBridgeTransaction.js +1 -2
- package/lib/bridge/useBridgeTransaction.js.map +1 -1
- package/lib/countervalues/api/api.d.ts.map +1 -1
- package/lib/countervalues/api/api.js +1 -1
- package/lib/countervalues/api/api.js.map +1 -1
- package/lib/countervalues/logic.d.ts.map +1 -1
- package/lib/countervalues/logic.js +15 -17
- package/lib/countervalues/logic.js.map +1 -1
- package/lib/countervalues/modules/index.d.ts +1 -1
- package/lib/countervalues/modules/index.d.ts.map +1 -1
- package/lib/countervalues/modules/index.js +7 -2
- package/lib/countervalues/modules/index.js.map +1 -1
- package/lib/countervalues/react.d.ts.map +1 -1
- package/lib/countervalues/react.js.map +1 -1
- package/lib/currencies/mock.d.ts +4 -0
- package/lib/currencies/mock.d.ts.map +1 -0
- package/lib/currencies/mock.js +521 -0
- package/lib/currencies/mock.js.map +1 -0
- package/lib/currencies/sortByMarketcap.d.ts.map +1 -1
- package/lib/currencies/sortByMarketcap.js +16 -10
- package/lib/currencies/sortByMarketcap.js.map +1 -1
- package/lib/currencies/sortByMarketcap.test.js +20 -0
- package/lib/currencies/sortByMarketcap.test.js.map +1 -1
- package/lib/data/icons/react/cspr.d.ts +8 -0
- package/lib/data/icons/react/cspr.d.ts.map +1 -0
- package/lib/data/icons/react/cspr.js +38 -0
- package/lib/data/icons/react/cspr.js.map +1 -0
- package/lib/data/icons/react/index.d.ts +2 -0
- package/lib/data/icons/react/index.d.ts.map +1 -1
- package/lib/data/icons/react/index.js +13 -9
- package/lib/data/icons/react/index.js.map +1 -1
- package/lib/data/icons/react/lyx.d.ts +8 -0
- package/lib/data/icons/react/lyx.d.ts.map +1 -0
- package/lib/data/icons/react/lyx.js +34 -0
- package/lib/data/icons/react/lyx.js.map +1 -0
- package/lib/data/icons/reactNative/cspr.d.ts +8 -0
- package/lib/data/icons/reactNative/cspr.d.ts.map +1 -0
- package/lib/data/icons/reactNative/cspr.js +39 -0
- package/lib/data/icons/reactNative/cspr.js.map +1 -0
- package/lib/data/icons/reactNative/index.d.ts +2 -0
- package/lib/data/icons/reactNative/index.d.ts.map +1 -1
- package/lib/data/icons/reactNative/index.js +13 -9
- package/lib/data/icons/reactNative/index.js.map +1 -1
- package/lib/data/icons/reactNative/lyx.d.ts +8 -0
- package/lib/data/icons/reactNative/lyx.d.ts.map +1 -0
- package/lib/data/icons/reactNative/lyx.js +35 -0
- package/lib/data/icons/reactNative/lyx.js.map +1 -0
- package/lib/deviceSDK/tasks/core.test.js +10 -1
- package/lib/deviceSDK/tasks/core.test.js.map +1 -1
- package/lib/env.react.d.ts +1 -1
- package/lib/env.react.d.ts.map +1 -1
- package/lib/exchange/platform/transfer/completeExchange.d.ts.map +1 -1
- package/lib/exchange/platform/transfer/completeExchange.js +19 -12
- package/lib/exchange/platform/transfer/completeExchange.js.map +1 -1
- package/lib/exchange/swap/completeExchange.d.ts.map +1 -1
- package/lib/exchange/swap/completeExchange.js +6 -1
- package/lib/exchange/swap/completeExchange.js.map +1 -1
- package/lib/exchange/swap/hooks/useSwapTransaction.d.ts.map +1 -1
- package/lib/exchange/swap/hooks/useSwapTransaction.js +5 -1
- package/lib/exchange/swap/hooks/useSwapTransaction.js.map +1 -1
- package/lib/exchange/swap/index.js +2 -2
- package/lib/exchange/swap/index.js.map +1 -1
- package/lib/families/algorand/bridge/mock.d.ts.map +1 -1
- package/lib/families/algorand/bridge/mock.js +3 -1
- package/lib/families/algorand/bridge/mock.js.map +1 -1
- package/lib/families/bitcoin/exchange.d.ts +1 -1
- package/lib/families/casper/api/index.d.ts +11 -0
- package/lib/families/casper/api/index.d.ts.map +1 -0
- package/lib/families/casper/api/index.js +138 -0
- package/lib/families/casper/api/index.js.map +1 -0
- package/lib/families/casper/api/types.d.ts +105 -0
- package/lib/families/casper/api/types.d.ts.map +1 -0
- package/lib/families/casper/api/types.js +3 -0
- package/lib/families/casper/api/types.js.map +1 -0
- package/lib/families/casper/bridge/account.d.ts +5 -0
- package/lib/families/casper/bridge/account.d.ts.map +1 -0
- package/lib/families/casper/bridge/account.js +206 -0
- package/lib/families/casper/bridge/account.js.map +1 -0
- package/lib/families/casper/bridge/bridgeHelpers/accountShape.d.ts +3 -0
- package/lib/families/casper/bridge/bridgeHelpers/accountShape.d.ts.map +1 -0
- package/lib/families/casper/bridge/bridgeHelpers/accountShape.js +47 -0
- package/lib/families/casper/bridge/bridgeHelpers/accountShape.js.map +1 -0
- package/lib/families/casper/bridge/bridgeHelpers/addresses.d.ts +15 -0
- package/lib/families/casper/bridge/bridgeHelpers/addresses.d.ts.map +1 -0
- package/lib/families/casper/bridge/bridgeHelpers/addresses.js +109 -0
- package/lib/families/casper/bridge/bridgeHelpers/addresses.js.map +1 -0
- package/lib/families/casper/bridge/bridgeHelpers/fee.d.ts +3 -0
- package/lib/families/casper/bridge/bridgeHelpers/fee.d.ts.map +1 -0
- package/lib/families/casper/bridge/bridgeHelpers/fee.js +13 -0
- package/lib/families/casper/bridge/bridgeHelpers/fee.js.map +1 -0
- package/lib/families/casper/bridge/bridgeHelpers/transferId.d.ts +2 -0
- package/lib/families/casper/bridge/bridgeHelpers/transferId.d.ts.map +1 -0
- package/lib/families/casper/bridge/bridgeHelpers/transferId.js +14 -0
- package/lib/families/casper/bridge/bridgeHelpers/transferId.js.map +1 -0
- package/lib/families/casper/bridge/bridgeHelpers/txn.d.ts +10 -0
- package/lib/families/casper/bridge/bridgeHelpers/txn.d.ts.map +1 -0
- package/lib/families/casper/bridge/bridgeHelpers/txn.js +95 -0
- package/lib/families/casper/bridge/bridgeHelpers/txn.js.map +1 -0
- package/lib/families/casper/bridge/currency.d.ts +3 -0
- package/lib/families/casper/bridge/currency.d.ts.map +1 -0
- package/lib/families/casper/bridge/currency.js +12 -0
- package/lib/families/casper/bridge/currency.js.map +1 -0
- package/lib/families/casper/bridge/js.d.ts +6 -0
- package/lib/families/casper/bridge/js.d.ts.map +1 -0
- package/lib/families/casper/bridge/js.js +9 -0
- package/lib/families/casper/bridge/js.js.map +1 -0
- package/lib/families/casper/bridge/mock.d.ts +8 -0
- package/lib/families/casper/bridge/mock.d.ts.map +1 -0
- package/lib/families/casper/bridge/mock.js +133 -0
- package/lib/families/casper/bridge/mock.js.map +1 -0
- package/lib/families/casper/bridge.integration.test.d.ts +2 -0
- package/lib/families/casper/bridge.integration.test.d.ts.map +1 -0
- package/lib/families/casper/bridge.integration.test.js +166 -0
- package/lib/families/casper/bridge.integration.test.js.map +1 -0
- package/lib/families/casper/consts.d.ts +11 -0
- package/lib/families/casper/consts.d.ts.map +1 -0
- package/lib/families/casper/consts.js +19 -0
- package/lib/families/casper/consts.js.map +1 -0
- package/lib/families/casper/deviceTransactionConfig.d.ts +17 -0
- package/lib/families/casper/deviceTransactionConfig.d.ts.map +1 -0
- package/lib/families/casper/deviceTransactionConfig.js +26 -0
- package/lib/families/casper/deviceTransactionConfig.js.map +1 -0
- package/lib/families/casper/errors.d.ts +10 -0
- package/lib/families/casper/errors.d.ts.map +1 -0
- package/lib/families/casper/errors.js +8 -0
- package/lib/families/casper/errors.js.map +1 -0
- package/lib/families/casper/hw-getAddress.d.ts +4 -0
- package/lib/families/casper/hw-getAddress.d.ts.map +1 -0
- package/lib/families/casper/hw-getAddress.js +33 -0
- package/lib/families/casper/hw-getAddress.js.map +1 -0
- package/lib/families/casper/hw-signMessage.d.ts +6 -0
- package/lib/families/casper/hw-signMessage.d.ts.map +1 -0
- package/lib/families/casper/hw-signMessage.js +37 -0
- package/lib/families/casper/hw-signMessage.js.map +1 -0
- package/lib/families/casper/msc-utils.d.ts +13 -0
- package/lib/families/casper/msc-utils.d.ts.map +1 -0
- package/lib/families/casper/msc-utils.js +53 -0
- package/lib/families/casper/msc-utils.js.map +1 -0
- package/lib/families/casper/specs.d.ts +7 -0
- package/lib/families/casper/specs.d.ts.map +1 -0
- package/lib/families/casper/specs.js +108 -0
- package/lib/families/casper/specs.js.map +1 -0
- package/lib/families/casper/speculos-deviceActions.d.ts +4 -0
- package/lib/families/casper/speculos-deviceActions.d.ts.map +1 -0
- package/lib/families/casper/speculos-deviceActions.js +53 -0
- package/lib/families/casper/speculos-deviceActions.js.map +1 -0
- package/lib/families/casper/transaction.d.ts +14 -0
- package/lib/families/casper/transaction.d.ts.map +1 -0
- package/lib/families/casper/transaction.js +40 -0
- package/lib/families/casper/transaction.js.map +1 -0
- package/lib/families/casper/types.d.ts +22 -0
- package/lib/families/casper/types.d.ts.map +1 -0
- package/lib/families/casper/types.js +3 -0
- package/lib/families/casper/types.js.map +1 -0
- package/lib/families/crypto_org/js-getTransactionStatus.d.ts.map +1 -1
- package/lib/families/crypto_org/js-getTransactionStatus.js +3 -1
- package/lib/families/crypto_org/js-getTransactionStatus.js.map +1 -1
- package/lib/families/internet_computer/bridge/account.d.ts.map +1 -1
- package/lib/families/internet_computer/bridge/account.js +6 -2
- package/lib/families/internet_computer/bridge/account.js.map +1 -1
- package/lib/families/near/js-getTransactionStatus.d.ts.map +1 -1
- package/lib/families/near/js-getTransactionStatus.js +3 -1
- package/lib/families/near/js-getTransactionStatus.js.map +1 -1
- package/lib/families/polkadot/exchange.d.ts +1 -1
- package/lib/families/solana/js-prepareTransaction.d.ts.map +1 -1
- package/lib/families/solana/js-prepareTransaction.js +12 -4
- package/lib/families/solana/js-prepareTransaction.js.map +1 -1
- package/lib/families/stacks/bridge/account.d.ts.map +1 -1
- package/lib/families/stacks/bridge/account.js +6 -2
- package/lib/families/stacks/bridge/account.js.map +1 -1
- package/lib/families/stellar/api/horizon.d.ts +22 -6
- package/lib/families/stellar/api/horizon.d.ts.map +1 -1
- package/lib/families/stellar/api/horizon.js +29 -54
- package/lib/families/stellar/api/horizon.js.map +1 -1
- package/lib/families/stellar/js-buildTransaction.d.ts +2 -1
- package/lib/families/stellar/js-buildTransaction.d.ts.map +1 -1
- package/lib/families/stellar/js-buildTransaction.js +5 -5
- package/lib/families/stellar/js-buildTransaction.js.map +1 -1
- package/lib/families/stellar/js-getTransactionStatus.d.ts.map +1 -1
- package/lib/families/stellar/js-getTransactionStatus.js +3 -1
- package/lib/families/stellar/js-getTransactionStatus.js.map +1 -1
- package/lib/families/stellar/logic.d.ts.map +1 -1
- package/lib/families/stellar/logic.js +6 -10
- package/lib/families/stellar/logic.js.map +1 -1
- package/lib/families/tron/bridge/js.d.ts.map +1 -1
- package/lib/families/tron/bridge/js.js +3 -1
- package/lib/families/tron/bridge/js.js.map +1 -1
- package/lib/featureFlags/defaultFeatures.d.ts +2 -0
- package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib/featureFlags/defaultFeatures.js +8 -1
- package/lib/featureFlags/defaultFeatures.js.map +1 -1
- package/lib/featureFlags/helper.d.ts +2 -0
- package/lib/featureFlags/helper.d.ts.map +1 -0
- package/lib/featureFlags/helper.js +10 -0
- package/lib/featureFlags/helper.js.map +1 -0
- package/lib/featureFlags/index.d.ts +1 -0
- package/lib/featureFlags/index.d.ts.map +1 -1
- package/lib/featureFlags/index.js +1 -0
- package/lib/featureFlags/index.js.map +1 -1
- package/lib/featureFlags/useFeature.d.ts +1 -1
- package/lib/featureFlags/useFeature.d.ts.map +1 -1
- package/lib/generated/bridge/js.d.ts +4 -0
- package/lib/generated/bridge/js.d.ts.map +1 -1
- package/lib/generated/bridge/js.js +30 -28
- package/lib/generated/bridge/js.js.map +1 -1
- package/lib/generated/bridge/mock.d.ts +4 -0
- package/lib/generated/bridge/mock.d.ts.map +1 -1
- package/lib/generated/bridge/mock.js +18 -16
- package/lib/generated/bridge/mock.js.map +1 -1
- package/lib/generated/deviceTransactionConfig.d.ts +4 -1
- package/lib/generated/deviceTransactionConfig.d.ts.map +1 -1
- package/lib/generated/deviceTransactionConfig.js +36 -34
- package/lib/generated/deviceTransactionConfig.js.map +1 -1
- package/lib/generated/exchange.d.ts +2 -2
- package/lib/generated/hw-getAddress.d.ts +1 -0
- package/lib/generated/hw-getAddress.d.ts.map +1 -1
- package/lib/generated/hw-getAddress.js +30 -28
- package/lib/generated/hw-getAddress.js.map +1 -1
- package/lib/generated/hw-signMessage.d.ts +3 -0
- package/lib/generated/hw-signMessage.d.ts.map +1 -1
- package/lib/generated/hw-signMessage.js +8 -6
- package/lib/generated/hw-signMessage.js.map +1 -1
- package/lib/generated/operation.d.ts +13 -0
- package/lib/generated/operation.d.ts.map +1 -0
- package/lib/generated/operation.js +10 -0
- package/lib/generated/operation.js.map +1 -0
- package/lib/generated/specs.d.ts +3 -0
- package/lib/generated/specs.d.ts.map +1 -1
- package/lib/generated/specs.js +36 -34
- package/lib/generated/specs.js.map +1 -1
- package/lib/generated/transaction.d.ts +8 -0
- package/lib/generated/transaction.d.ts.map +1 -1
- package/lib/generated/transaction.js +36 -34
- package/lib/generated/transaction.js.map +1 -1
- package/lib/generated/types.d.ts +8 -4
- package/lib/generated/types.d.ts.map +1 -1
- package/lib/hooks/recoverFeatureFlag.d.ts +0 -1
- package/lib/hooks/recoverFeatureFlag.d.ts.map +1 -1
- package/lib/hooks/recoverFeatureFlag.js +1 -6
- package/lib/hooks/recoverFeatureFlag.js.map +1 -1
- package/lib/hooks/useBroadcast.d.ts +8 -0
- package/lib/hooks/useBroadcast.d.ts.map +1 -0
- package/lib/hooks/useBroadcast.js +40 -0
- package/lib/hooks/useBroadcast.js.map +1 -0
- package/lib/hooks/useEnv.d.ts.map +1 -1
- package/lib/hooks/useEnv.js.map +1 -1
- package/lib/manager/api.d.ts.map +1 -1
- package/lib/manager/api.js +9 -3
- package/lib/manager/api.js.map +1 -1
- package/lib/operation.d.ts +24 -0
- package/lib/operation.d.ts.map +1 -1
- package/lib/operation.js +41 -0
- package/lib/operation.js.map +1 -1
- package/lib/wallet-api/react.js +1 -1
- package/lib/wallet-api/react.js.map +1 -1
- package/lib/walletConnect/index.d.ts +8 -0
- package/lib/walletConnect/index.d.ts.map +1 -0
- package/lib/walletConnect/index.js +20 -0
- package/lib/walletConnect/index.js.map +1 -0
- package/lib-es/__tests__/test-helpers/environment.js +2 -0
- package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
- package/lib-es/apps/polyfill.d.ts +4 -0
- package/lib-es/apps/polyfill.d.ts.map +1 -1
- package/lib-es/apps/polyfill.js +1 -1
- package/lib-es/apps/polyfill.js.map +1 -1
- package/lib-es/bridge/useBridgeTransaction.js +1 -2
- package/lib-es/bridge/useBridgeTransaction.js.map +1 -1
- package/lib-es/countervalues/api/api.d.ts.map +1 -1
- package/lib-es/countervalues/api/api.js +1 -1
- package/lib-es/countervalues/api/api.js.map +1 -1
- package/lib-es/countervalues/logic.d.ts.map +1 -1
- package/lib-es/countervalues/logic.js +15 -17
- package/lib-es/countervalues/logic.js.map +1 -1
- package/lib-es/countervalues/modules/index.d.ts +1 -1
- package/lib-es/countervalues/modules/index.d.ts.map +1 -1
- package/lib-es/countervalues/modules/index.js +7 -2
- package/lib-es/countervalues/modules/index.js.map +1 -1
- package/lib-es/countervalues/react.d.ts.map +1 -1
- package/lib-es/countervalues/react.js.map +1 -1
- package/lib-es/currencies/mock.d.ts +4 -0
- package/lib-es/currencies/mock.d.ts.map +1 -0
- package/lib-es/currencies/mock.js +518 -0
- package/lib-es/currencies/mock.js.map +1 -0
- package/lib-es/currencies/sortByMarketcap.d.ts.map +1 -1
- package/lib-es/currencies/sortByMarketcap.js +16 -10
- package/lib-es/currencies/sortByMarketcap.js.map +1 -1
- package/lib-es/currencies/sortByMarketcap.test.js +20 -0
- package/lib-es/currencies/sortByMarketcap.test.js.map +1 -1
- package/lib-es/data/icons/react/cspr.d.ts +8 -0
- package/lib-es/data/icons/react/cspr.d.ts.map +1 -0
- package/lib-es/data/icons/react/cspr.js +13 -0
- package/lib-es/data/icons/react/cspr.js.map +1 -0
- package/lib-es/data/icons/react/index.d.ts +2 -0
- package/lib-es/data/icons/react/index.d.ts.map +1 -1
- package/lib-es/data/icons/react/index.js +2 -0
- package/lib-es/data/icons/react/index.js.map +1 -1
- package/lib-es/data/icons/react/lyx.d.ts +8 -0
- package/lib-es/data/icons/react/lyx.d.ts.map +1 -0
- package/lib-es/data/icons/react/lyx.js +9 -0
- package/lib-es/data/icons/react/lyx.js.map +1 -0
- package/lib-es/data/icons/reactNative/cspr.d.ts +8 -0
- package/lib-es/data/icons/reactNative/cspr.d.ts.map +1 -0
- package/lib-es/data/icons/reactNative/cspr.js +14 -0
- package/lib-es/data/icons/reactNative/cspr.js.map +1 -0
- package/lib-es/data/icons/reactNative/index.d.ts +2 -0
- package/lib-es/data/icons/reactNative/index.d.ts.map +1 -1
- package/lib-es/data/icons/reactNative/index.js +2 -0
- package/lib-es/data/icons/reactNative/index.js.map +1 -1
- package/lib-es/data/icons/reactNative/lyx.d.ts +8 -0
- package/lib-es/data/icons/reactNative/lyx.d.ts.map +1 -0
- package/lib-es/data/icons/reactNative/lyx.js +10 -0
- package/lib-es/data/icons/reactNative/lyx.js.map +1 -0
- package/lib-es/deviceSDK/tasks/core.test.js +10 -1
- package/lib-es/deviceSDK/tasks/core.test.js.map +1 -1
- package/lib-es/env.react.d.ts +1 -1
- package/lib-es/env.react.d.ts.map +1 -1
- package/lib-es/exchange/platform/transfer/completeExchange.d.ts.map +1 -1
- package/lib-es/exchange/platform/transfer/completeExchange.js +19 -12
- package/lib-es/exchange/platform/transfer/completeExchange.js.map +1 -1
- package/lib-es/exchange/swap/completeExchange.d.ts.map +1 -1
- package/lib-es/exchange/swap/completeExchange.js +6 -1
- package/lib-es/exchange/swap/completeExchange.js.map +1 -1
- package/lib-es/exchange/swap/hooks/useSwapTransaction.d.ts.map +1 -1
- package/lib-es/exchange/swap/hooks/useSwapTransaction.js +6 -2
- package/lib-es/exchange/swap/hooks/useSwapTransaction.js.map +1 -1
- package/lib-es/exchange/swap/index.js +2 -2
- package/lib-es/exchange/swap/index.js.map +1 -1
- package/lib-es/families/algorand/bridge/mock.d.ts.map +1 -1
- package/lib-es/families/algorand/bridge/mock.js +3 -1
- package/lib-es/families/algorand/bridge/mock.js.map +1 -1
- package/lib-es/families/bitcoin/exchange.d.ts +1 -1
- package/lib-es/families/casper/api/index.d.ts +11 -0
- package/lib-es/families/casper/api/index.d.ts.map +1 -0
- package/lib-es/families/casper/api/index.js +127 -0
- package/lib-es/families/casper/api/index.js.map +1 -0
- package/lib-es/families/casper/api/types.d.ts +105 -0
- package/lib-es/families/casper/api/types.d.ts.map +1 -0
- package/lib-es/families/casper/api/types.js +2 -0
- package/lib-es/families/casper/api/types.js.map +1 -0
- package/lib-es/families/casper/bridge/account.d.ts +5 -0
- package/lib-es/families/casper/bridge/account.d.ts.map +1 -0
- package/lib-es/families/casper/bridge/account.js +200 -0
- package/lib-es/families/casper/bridge/account.js.map +1 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/accountShape.d.ts +3 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/accountShape.d.ts.map +1 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/accountShape.js +40 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/accountShape.js.map +1 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/addresses.d.ts +15 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/addresses.d.ts.map +1 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/addresses.js +99 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/addresses.js.map +1 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/fee.d.ts +3 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/fee.d.ts.map +1 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/fee.js +6 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/fee.js.map +1 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/transferId.d.ts +2 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/transferId.d.ts.map +1 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/transferId.js +10 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/transferId.js.map +1 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/txn.d.ts +10 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/txn.d.ts.map +1 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/txn.js +85 -0
- package/lib-es/families/casper/bridge/bridgeHelpers/txn.js.map +1 -0
- package/lib-es/families/casper/bridge/currency.d.ts +3 -0
- package/lib-es/families/casper/bridge/currency.d.ts.map +1 -0
- package/lib-es/families/casper/bridge/currency.js +9 -0
- package/lib-es/families/casper/bridge/currency.js.map +1 -0
- package/lib-es/families/casper/bridge/js.d.ts +6 -0
- package/lib-es/families/casper/bridge/js.d.ts.map +1 -0
- package/lib-es/families/casper/bridge/js.js +7 -0
- package/lib-es/families/casper/bridge/js.js.map +1 -0
- package/lib-es/families/casper/bridge/mock.d.ts +8 -0
- package/lib-es/families/casper/bridge/mock.d.ts.map +1 -0
- package/lib-es/families/casper/bridge/mock.js +131 -0
- package/lib-es/families/casper/bridge/mock.js.map +1 -0
- package/lib-es/families/casper/bridge.integration.test.d.ts +2 -0
- package/lib-es/families/casper/bridge.integration.test.d.ts.map +1 -0
- package/lib-es/families/casper/bridge.integration.test.js +161 -0
- package/lib-es/families/casper/bridge.integration.test.js.map +1 -0
- package/lib-es/families/casper/consts.d.ts +11 -0
- package/lib-es/families/casper/consts.d.ts.map +1 -0
- package/lib-es/families/casper/consts.js +16 -0
- package/lib-es/families/casper/consts.js.map +1 -0
- package/lib-es/families/casper/deviceTransactionConfig.d.ts +17 -0
- package/lib-es/families/casper/deviceTransactionConfig.d.ts.map +1 -0
- package/lib-es/families/casper/deviceTransactionConfig.js +24 -0
- package/lib-es/families/casper/deviceTransactionConfig.js.map +1 -0
- package/lib-es/families/casper/errors.d.ts +10 -0
- package/lib-es/families/casper/errors.d.ts.map +1 -0
- package/lib-es/families/casper/errors.js +5 -0
- package/lib-es/families/casper/errors.js.map +1 -0
- package/lib-es/families/casper/hw-getAddress.d.ts +4 -0
- package/lib-es/families/casper/hw-getAddress.d.ts.map +1 -0
- package/lib-es/families/casper/hw-getAddress.js +28 -0
- package/lib-es/families/casper/hw-getAddress.js.map +1 -0
- package/lib-es/families/casper/hw-signMessage.d.ts +6 -0
- package/lib-es/families/casper/hw-signMessage.d.ts.map +1 -0
- package/lib-es/families/casper/hw-signMessage.js +32 -0
- package/lib-es/families/casper/hw-signMessage.js.map +1 -0
- package/lib-es/families/casper/msc-utils.d.ts +13 -0
- package/lib-es/families/casper/msc-utils.d.ts.map +1 -0
- package/lib-es/families/casper/msc-utils.js +39 -0
- package/lib-es/families/casper/msc-utils.js.map +1 -0
- package/lib-es/families/casper/specs.d.ts +7 -0
- package/lib-es/families/casper/specs.d.ts.map +1 -0
- package/lib-es/families/casper/specs.js +103 -0
- package/lib-es/families/casper/specs.js.map +1 -0
- package/lib-es/families/casper/speculos-deviceActions.d.ts +4 -0
- package/lib-es/families/casper/speculos-deviceActions.d.ts.map +1 -0
- package/lib-es/families/casper/speculos-deviceActions.js +50 -0
- package/lib-es/families/casper/speculos-deviceActions.js.map +1 -0
- package/lib-es/families/casper/transaction.d.ts +14 -0
- package/lib-es/families/casper/transaction.d.ts.map +1 -0
- package/lib-es/families/casper/transaction.js +32 -0
- package/lib-es/families/casper/transaction.js.map +1 -0
- package/lib-es/families/casper/types.d.ts +22 -0
- package/lib-es/families/casper/types.d.ts.map +1 -0
- package/lib-es/families/casper/types.js +2 -0
- package/lib-es/families/casper/types.js.map +1 -0
- package/lib-es/families/crypto_org/js-getTransactionStatus.d.ts.map +1 -1
- package/lib-es/families/crypto_org/js-getTransactionStatus.js +3 -1
- package/lib-es/families/crypto_org/js-getTransactionStatus.js.map +1 -1
- package/lib-es/families/internet_computer/bridge/account.d.ts.map +1 -1
- package/lib-es/families/internet_computer/bridge/account.js +6 -2
- package/lib-es/families/internet_computer/bridge/account.js.map +1 -1
- package/lib-es/families/near/js-getTransactionStatus.d.ts.map +1 -1
- package/lib-es/families/near/js-getTransactionStatus.js +3 -1
- package/lib-es/families/near/js-getTransactionStatus.js.map +1 -1
- package/lib-es/families/polkadot/exchange.d.ts +1 -1
- package/lib-es/families/solana/js-prepareTransaction.d.ts.map +1 -1
- package/lib-es/families/solana/js-prepareTransaction.js +12 -4
- package/lib-es/families/solana/js-prepareTransaction.js.map +1 -1
- package/lib-es/families/stacks/bridge/account.d.ts.map +1 -1
- package/lib-es/families/stacks/bridge/account.js +6 -2
- package/lib-es/families/stacks/bridge/account.js.map +1 -1
- package/lib-es/families/stellar/api/horizon.d.ts +22 -6
- package/lib-es/families/stellar/api/horizon.d.ts.map +1 -1
- package/lib-es/families/stellar/api/horizon.js +29 -31
- package/lib-es/families/stellar/api/horizon.js.map +1 -1
- package/lib-es/families/stellar/js-buildTransaction.d.ts +2 -1
- package/lib-es/families/stellar/js-buildTransaction.d.ts.map +1 -1
- package/lib-es/families/stellar/js-buildTransaction.js +5 -5
- package/lib-es/families/stellar/js-buildTransaction.js.map +1 -1
- package/lib-es/families/stellar/js-getTransactionStatus.d.ts.map +1 -1
- package/lib-es/families/stellar/js-getTransactionStatus.js +3 -1
- package/lib-es/families/stellar/js-getTransactionStatus.js.map +1 -1
- package/lib-es/families/stellar/logic.d.ts.map +1 -1
- package/lib-es/families/stellar/logic.js +6 -7
- package/lib-es/families/stellar/logic.js.map +1 -1
- package/lib-es/families/tron/bridge/js.d.ts.map +1 -1
- package/lib-es/families/tron/bridge/js.js +3 -1
- package/lib-es/families/tron/bridge/js.js.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.d.ts +2 -0
- package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.js +8 -1
- package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
- package/lib-es/featureFlags/helper.d.ts +2 -0
- package/lib-es/featureFlags/helper.d.ts.map +1 -0
- package/lib-es/featureFlags/helper.js +6 -0
- package/lib-es/featureFlags/helper.js.map +1 -0
- package/lib-es/featureFlags/index.d.ts +1 -0
- package/lib-es/featureFlags/index.d.ts.map +1 -1
- package/lib-es/featureFlags/index.js +1 -0
- package/lib-es/featureFlags/index.js.map +1 -1
- package/lib-es/featureFlags/useFeature.d.ts +1 -1
- package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
- package/lib-es/generated/bridge/js.d.ts +4 -0
- package/lib-es/generated/bridge/js.d.ts.map +1 -1
- package/lib-es/generated/bridge/js.js +2 -0
- package/lib-es/generated/bridge/js.js.map +1 -1
- package/lib-es/generated/bridge/mock.d.ts +4 -0
- package/lib-es/generated/bridge/mock.d.ts.map +1 -1
- package/lib-es/generated/bridge/mock.js +2 -0
- package/lib-es/generated/bridge/mock.js.map +1 -1
- package/lib-es/generated/deviceTransactionConfig.d.ts +4 -1
- package/lib-es/generated/deviceTransactionConfig.d.ts.map +1 -1
- package/lib-es/generated/deviceTransactionConfig.js +2 -0
- package/lib-es/generated/deviceTransactionConfig.js.map +1 -1
- package/lib-es/generated/exchange.d.ts +2 -2
- package/lib-es/generated/hw-getAddress.d.ts +1 -0
- package/lib-es/generated/hw-getAddress.d.ts.map +1 -1
- package/lib-es/generated/hw-getAddress.js +2 -0
- package/lib-es/generated/hw-getAddress.js.map +1 -1
- package/lib-es/generated/hw-signMessage.d.ts +3 -0
- package/lib-es/generated/hw-signMessage.d.ts.map +1 -1
- package/lib-es/generated/hw-signMessage.js +2 -0
- package/lib-es/generated/hw-signMessage.js.map +1 -1
- package/lib-es/generated/operation.d.ts +13 -0
- package/lib-es/generated/operation.d.ts.map +1 -0
- package/lib-es/generated/operation.js +5 -0
- package/lib-es/generated/operation.js.map +1 -0
- package/lib-es/generated/specs.d.ts +3 -0
- package/lib-es/generated/specs.d.ts.map +1 -1
- package/lib-es/generated/specs.js +2 -0
- package/lib-es/generated/specs.js.map +1 -1
- package/lib-es/generated/transaction.d.ts +8 -0
- package/lib-es/generated/transaction.d.ts.map +1 -1
- package/lib-es/generated/transaction.js +2 -0
- package/lib-es/generated/transaction.js.map +1 -1
- package/lib-es/generated/types.d.ts +8 -4
- package/lib-es/generated/types.d.ts.map +1 -1
- package/lib-es/hooks/recoverFeatureFlag.d.ts +0 -1
- package/lib-es/hooks/recoverFeatureFlag.d.ts.map +1 -1
- package/lib-es/hooks/recoverFeatureFlag.js +0 -4
- package/lib-es/hooks/recoverFeatureFlag.js.map +1 -1
- package/lib-es/hooks/useBroadcast.d.ts +8 -0
- package/lib-es/hooks/useBroadcast.d.ts.map +1 -0
- package/lib-es/hooks/useBroadcast.js +36 -0
- package/lib-es/hooks/useBroadcast.js.map +1 -0
- package/lib-es/hooks/useEnv.d.ts.map +1 -1
- package/lib-es/hooks/useEnv.js.map +1 -1
- package/lib-es/manager/api.d.ts.map +1 -1
- package/lib-es/manager/api.js +9 -3
- package/lib-es/manager/api.js.map +1 -1
- package/lib-es/operation.d.ts +24 -0
- package/lib-es/operation.d.ts.map +1 -1
- package/lib-es/operation.js +34 -0
- package/lib-es/operation.js.map +1 -1
- package/lib-es/wallet-api/react.js +1 -1
- package/lib-es/wallet-api/react.js.map +1 -1
- package/lib-es/walletConnect/index.d.ts +8 -0
- package/lib-es/walletConnect/index.d.ts.map +1 -0
- package/lib-es/walletConnect/index.js +16 -0
- package/lib-es/walletConnect/index.js.map +1 -0
- package/package.json +40 -36
- package/src/__tests__/test-helpers/environment.ts +2 -0
- package/src/apps/polyfill.ts +1 -1
- package/src/bridge/useBridgeTransaction.ts +1 -1
- package/src/countervalues/api/api.ts +7 -1
- package/src/countervalues/logic.ts +39 -18
- package/src/countervalues/modules/index.ts +12 -4
- package/src/countervalues/react.tsx +7 -1
- package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +51 -8
- package/src/currencies/mock.ts +520 -0
- package/src/currencies/sortByMarketcap.test.ts +21 -0
- package/src/currencies/sortByMarketcap.ts +22 -12
- package/src/data/icons/react/cspr.tsx +12 -0
- package/src/data/icons/react/index.tsx +2 -0
- package/src/data/icons/react/lyx.tsx +12 -0
- package/src/data/icons/reactNative/cspr.tsx +13 -0
- package/src/data/icons/reactNative/index.tsx +2 -0
- package/src/data/icons/reactNative/lyx.tsx +13 -0
- package/src/data/icons/svg/CSPR.svg +8 -0
- package/src/data/icons/svg/LYX.svg +3 -0
- package/src/deviceSDK/tasks/core.test.ts +16 -1
- package/src/exchange/platform/transfer/completeExchange.ts +23 -14
- package/src/exchange/swap/completeExchange.ts +8 -2
- package/src/exchange/swap/hooks/useSwapTransaction.ts +13 -2
- package/src/exchange/swap/index.ts +2 -2
- package/src/families/algorand/bridge/mock.ts +3 -1
- package/src/families/casper/__snapshots__/bridge.integration.test.ts.snap +238 -0
- package/src/families/casper/api/index.ts +166 -0
- package/src/families/casper/api/types.ts +111 -0
- package/src/families/casper/bridge/account.ts +288 -0
- package/src/families/casper/bridge/bridgeHelpers/accountShape.ts +40 -0
- package/src/families/casper/bridge/bridgeHelpers/addresses.ts +120 -0
- package/src/families/casper/bridge/bridgeHelpers/fee.ts +6 -0
- package/src/families/casper/bridge/bridgeHelpers/transferId.ts +9 -0
- package/src/families/casper/bridge/bridgeHelpers/txn.ts +124 -0
- package/src/families/casper/bridge/currency.ts +11 -0
- package/src/families/casper/bridge/js.ts +7 -0
- package/src/families/casper/bridge/mock.ts +169 -0
- package/src/families/casper/bridge.integration.test.ts +168 -0
- package/src/families/casper/consts.ts +19 -0
- package/src/families/casper/deviceTransactionConfig.ts +44 -0
- package/src/families/casper/errors.ts +5 -0
- package/src/families/casper/hw-getAddress.ts +26 -0
- package/src/families/casper/hw-signMessage.ts +28 -0
- package/src/families/casper/msc-utils.ts +53 -0
- package/src/families/casper/specs.ts +126 -0
- package/src/families/casper/speculos-deviceActions.ts +54 -0
- package/src/families/casper/transaction.ts +61 -0
- package/src/families/casper/types.ts +35 -0
- package/src/families/crypto_org/js-getTransactionStatus.ts +3 -1
- package/src/families/internet_computer/bridge/account.ts +6 -2
- package/src/families/near/js-getTransactionStatus.ts +3 -1
- package/src/families/solana/js-prepareTransaction.ts +12 -4
- package/src/families/stacks/bridge/account.ts +6 -2
- package/src/families/stellar/api/horizon.ts +49 -39
- package/src/families/stellar/js-buildTransaction.ts +9 -11
- package/src/families/stellar/js-getTransactionStatus.ts +3 -1
- package/src/families/stellar/logic.ts +6 -8
- package/src/families/tron/bridge/js.ts +3 -1
- package/src/featureFlags/defaultFeatures.ts +9 -2
- package/src/featureFlags/helper.tsx +9 -0
- package/src/featureFlags/index.ts +1 -0
- package/src/generated/bridge/js.ts +2 -0
- package/src/generated/bridge/mock.ts +2 -0
- package/src/generated/deviceTransactionConfig.ts +4 -0
- package/src/generated/hw-getAddress.ts +2 -0
- package/src/generated/hw-signMessage.ts +2 -0
- package/src/generated/operation.ts +5 -0
- package/src/generated/specs.ts +2 -0
- package/src/generated/transaction.ts +2 -0
- package/src/generated/types.ts +8 -0
- package/src/hooks/recoverFeatureFlag.ts +0 -8
- package/src/hooks/useBroadcast.ts +41 -0
- package/src/hooks/useEnv.ts +1 -0
- package/src/manager/api.ts +8 -3
- package/src/operation.ts +67 -0
- package/src/wallet-api/react.ts +1 -1
- package/src/walletConnect/index.ts +20 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { DeviceAction } from "../../bot/types";
|
|
2
|
+
import type { Transaction } from "./types";
|
|
3
|
+
import { deviceActionFlow, SpeculosButton } from "../../bot/specs";
|
|
4
|
+
import { casperPubKeyToAccountHash } from "./bridge/bridgeHelpers/addresses";
|
|
5
|
+
|
|
6
|
+
export const acceptTransaction: DeviceAction<Transaction, any> = deviceActionFlow({
|
|
7
|
+
steps: [
|
|
8
|
+
{
|
|
9
|
+
title: "Please",
|
|
10
|
+
button: SpeculosButton.RIGHT,
|
|
11
|
+
expectedValue: () => "review",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
title: "Txn hash",
|
|
15
|
+
button: SpeculosButton.RIGHT,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
title: "Type",
|
|
19
|
+
button: SpeculosButton.RIGHT,
|
|
20
|
+
expectedValue: () => "Token transfer",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
title: "Chain ID",
|
|
24
|
+
button: SpeculosButton.RIGHT,
|
|
25
|
+
expectedValue: () => "casper",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
title: "Account",
|
|
29
|
+
button: SpeculosButton.RIGHT,
|
|
30
|
+
expectedValue: ({ account }) => account.freshAddress,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
title: "Fee",
|
|
34
|
+
button: SpeculosButton.RIGHT,
|
|
35
|
+
expectedValue: ({ transaction }) =>
|
|
36
|
+
`${transaction.fees.toNumber().toLocaleString("en-US").replaceAll(",", " ")} motes`,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
title: "Target",
|
|
40
|
+
button: SpeculosButton.RIGHT,
|
|
41
|
+
expectedValue: ({ transaction }) => casperPubKeyToAccountHash(transaction.recipient),
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
title: "Amount",
|
|
45
|
+
button: SpeculosButton.RIGHT,
|
|
46
|
+
expectedValue: ({ status }) =>
|
|
47
|
+
`${status.amount.toNumber().toLocaleString("en-US").replaceAll(",", " ")} motes`,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
title: "APPROVE",
|
|
51
|
+
button: SpeculosButton.BOTH,
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
});
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { Transaction, TransactionRaw } from "./types";
|
|
2
|
+
import {
|
|
3
|
+
formatTransactionStatusCommon as formatTransactionStatus,
|
|
4
|
+
fromTransactionCommonRaw,
|
|
5
|
+
fromTransactionStatusRawCommon as fromTransactionStatusRaw,
|
|
6
|
+
toTransactionCommonRaw,
|
|
7
|
+
toTransactionStatusRawCommon as toTransactionStatusRaw,
|
|
8
|
+
} from "@ledgerhq/coin-framework/transaction/common";
|
|
9
|
+
import type { Account } from "@ledgerhq/types-live";
|
|
10
|
+
import { getAccountUnit } from "../../account";
|
|
11
|
+
import { formatCurrencyUnit } from "../../currencies";
|
|
12
|
+
import BigNumber from "bignumber.js";
|
|
13
|
+
|
|
14
|
+
export const formatTransaction = (
|
|
15
|
+
{ recipient, useAllAmount, amount }: Transaction,
|
|
16
|
+
account: Account,
|
|
17
|
+
): string => `
|
|
18
|
+
SEND ${
|
|
19
|
+
useAllAmount
|
|
20
|
+
? "MAX"
|
|
21
|
+
: amount.isZero()
|
|
22
|
+
? ""
|
|
23
|
+
: " " +
|
|
24
|
+
formatCurrencyUnit(getAccountUnit(account), amount, {
|
|
25
|
+
showCode: true,
|
|
26
|
+
disableRounding: true,
|
|
27
|
+
})
|
|
28
|
+
}
|
|
29
|
+
TO ${recipient}`;
|
|
30
|
+
|
|
31
|
+
export const fromTransactionRaw = (tr: TransactionRaw): Transaction => {
|
|
32
|
+
const common = fromTransactionCommonRaw(tr);
|
|
33
|
+
return {
|
|
34
|
+
...common,
|
|
35
|
+
family: tr.family,
|
|
36
|
+
fees: new BigNumber(tr.fees),
|
|
37
|
+
amount: new BigNumber(tr.amount),
|
|
38
|
+
transferId: tr.transferId,
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const toTransactionRaw = (t: Transaction): TransactionRaw => {
|
|
43
|
+
const common = toTransactionCommonRaw(t);
|
|
44
|
+
|
|
45
|
+
return {
|
|
46
|
+
...common,
|
|
47
|
+
family: t.family,
|
|
48
|
+
amount: t.amount.toFixed(),
|
|
49
|
+
fees: t.fees.toString(),
|
|
50
|
+
transferId: t.transferId,
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export default {
|
|
55
|
+
formatTransaction,
|
|
56
|
+
fromTransactionRaw,
|
|
57
|
+
toTransactionRaw,
|
|
58
|
+
fromTransactionStatusRaw,
|
|
59
|
+
toTransactionStatusRaw,
|
|
60
|
+
formatTransactionStatus,
|
|
61
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Account,
|
|
3
|
+
Operation,
|
|
4
|
+
TransactionCommon,
|
|
5
|
+
TransactionCommonRaw,
|
|
6
|
+
TransactionStatusCommon,
|
|
7
|
+
TransactionStatusCommonRaw,
|
|
8
|
+
} from "@ledgerhq/types-live";
|
|
9
|
+
import BigNumber from "bignumber.js";
|
|
10
|
+
|
|
11
|
+
type FamilyType = "casper";
|
|
12
|
+
|
|
13
|
+
export type CasperAccount = Account;
|
|
14
|
+
|
|
15
|
+
export type Transaction = TransactionCommon & {
|
|
16
|
+
family: FamilyType;
|
|
17
|
+
fees: BigNumber;
|
|
18
|
+
transferId?: string;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export type CasperOperation = Operation<CasperOperationExtra>;
|
|
22
|
+
|
|
23
|
+
interface CasperOperationExtra {
|
|
24
|
+
transferId?: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type TransactionRaw = TransactionCommonRaw & {
|
|
28
|
+
family: FamilyType;
|
|
29
|
+
transferId?: string;
|
|
30
|
+
fees: string;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export type TransactionStatus = TransactionStatusCommon;
|
|
34
|
+
|
|
35
|
+
export type TransactionStatusRaw = TransactionStatusCommonRaw;
|
|
@@ -39,7 +39,9 @@ const getTransactionStatus = async (a: Account, t: Transaction): Promise<Transac
|
|
|
39
39
|
if (!t.recipient) {
|
|
40
40
|
errors.recipient = new RecipientRequired();
|
|
41
41
|
} else if (!isValidAddress(t.recipient, a.currency.id)) {
|
|
42
|
-
errors.recipient = new InvalidAddress(
|
|
42
|
+
errors.recipient = new InvalidAddress("", {
|
|
43
|
+
currencyName: a.currency.name,
|
|
44
|
+
});
|
|
43
45
|
} else if (t.mode === "send" && a.freshAddress === t.recipient) {
|
|
44
46
|
errors.recipient = new InvalidAddressBecauseDestinationIsAlsoSource();
|
|
45
47
|
}
|
|
@@ -79,13 +79,17 @@ const getTransactionStatus = async (a: Account, t: Transaction): Promise<Transac
|
|
|
79
79
|
if (!recipient) {
|
|
80
80
|
errors.recipient = new RecipientRequired();
|
|
81
81
|
} else if (!(await validateAddress(recipient)).isValid) {
|
|
82
|
-
errors.recipient = new InvalidAddress(
|
|
82
|
+
errors.recipient = new InvalidAddress("", {
|
|
83
|
+
currencyName: a.currency.name,
|
|
84
|
+
});
|
|
83
85
|
} else if (recipient.toLowerCase() === address.toLowerCase()) {
|
|
84
86
|
errors.recipient = new InvalidAddressBecauseDestinationIsAlsoSource();
|
|
85
87
|
}
|
|
86
88
|
|
|
87
89
|
if (!(await validateAddress(address)).isValid) {
|
|
88
|
-
errors.sender = new InvalidAddress(
|
|
90
|
+
errors.sender = new InvalidAddress("", {
|
|
91
|
+
currencyName: a.currency.name,
|
|
92
|
+
});
|
|
89
93
|
}
|
|
90
94
|
|
|
91
95
|
if (!validateMemo(t.memo).isValid) {
|
|
@@ -118,7 +118,9 @@ const getSendTransactionStatus = async (
|
|
|
118
118
|
if (!t.recipient) {
|
|
119
119
|
errors.recipient = new RecipientRequired();
|
|
120
120
|
} else if (!isValidAddress(t.recipient)) {
|
|
121
|
-
errors.recipient = new InvalidAddress(
|
|
121
|
+
errors.recipient = new InvalidAddress("", {
|
|
122
|
+
currencyName: a.currency.name,
|
|
123
|
+
});
|
|
122
124
|
} else {
|
|
123
125
|
const accountDetails = await fetchAccountDetails(t.recipient);
|
|
124
126
|
|
|
@@ -554,7 +554,9 @@ async function deriveStakeSplitCommandDescriptor(
|
|
|
554
554
|
// TODO: else if amount > stake balance
|
|
555
555
|
|
|
556
556
|
if (!isValidBase58Address(uiState.stakeAccAddr)) {
|
|
557
|
-
errors.stakeAccAddr = new InvalidAddress(
|
|
557
|
+
errors.stakeAccAddr = new InvalidAddress("", {
|
|
558
|
+
currencyName: mainAccount.currency.name,
|
|
559
|
+
});
|
|
558
560
|
}
|
|
559
561
|
|
|
560
562
|
mainAccount.solanaResources?.stakes ?? [];
|
|
@@ -617,7 +619,9 @@ async function validateRecipientCommon(
|
|
|
617
619
|
} else if (mainAccount.freshAddress === tx.recipient) {
|
|
618
620
|
errors.recipient = new InvalidAddressBecauseDestinationIsAlsoSource();
|
|
619
621
|
} else if (!isValidBase58Address(tx.recipient)) {
|
|
620
|
-
errors.recipient = new InvalidAddress(
|
|
622
|
+
errors.recipient = new InvalidAddress("", {
|
|
623
|
+
currencyName: mainAccount.currency.name,
|
|
624
|
+
});
|
|
621
625
|
} else {
|
|
622
626
|
const recipientWalletIsUnfunded = !(await isAccountFunded(tx.recipient, api));
|
|
623
627
|
|
|
@@ -645,7 +649,9 @@ async function validateValidatorCommon(addr: string, errors: Record<string, Erro
|
|
|
645
649
|
if (addr.length === 0) {
|
|
646
650
|
errors.voteAccAddr = new SolanaValidatorRequired();
|
|
647
651
|
} else if (!isValidBase58Address(addr)) {
|
|
648
|
-
errors.voteAccAddr = new InvalidAddress(
|
|
652
|
+
errors.voteAccAddr = new InvalidAddress("", {
|
|
653
|
+
currencyName: "Solana",
|
|
654
|
+
});
|
|
649
655
|
} else {
|
|
650
656
|
const voteAcc = await getMaybeVoteAccount(addr, api);
|
|
651
657
|
|
|
@@ -663,7 +669,9 @@ function validateAndTryGetStakeAccount(
|
|
|
663
669
|
if (stakeAccAddr.length === 0) {
|
|
664
670
|
errors.stakeAccAddr = new SolanaStakeAccountRequired();
|
|
665
671
|
} else if (!isValidBase58Address(stakeAccAddr)) {
|
|
666
|
-
errors.stakeAccAddr = new InvalidAddress(
|
|
672
|
+
errors.stakeAccAddr = new InvalidAddress("", {
|
|
673
|
+
currencyName: account.currency.name,
|
|
674
|
+
});
|
|
667
675
|
}
|
|
668
676
|
|
|
669
677
|
if (!errors.stakeAccAddr) {
|
|
@@ -87,7 +87,9 @@ const getTransactionStatus = async (a: Account, t: Transaction): Promise<Transac
|
|
|
87
87
|
if (!recipient) {
|
|
88
88
|
errors.recipient = new RecipientRequired();
|
|
89
89
|
} else if (!validateAddress(recipient).isValid) {
|
|
90
|
-
errors.recipient = new InvalidAddress(
|
|
90
|
+
errors.recipient = new InvalidAddress("", {
|
|
91
|
+
currencyName: a.currency.name,
|
|
92
|
+
});
|
|
91
93
|
} else if (address === recipient) {
|
|
92
94
|
errors.recipient = new InvalidAddressBecauseDestinationIsAlsoSource();
|
|
93
95
|
} else if (!fee || fee.eq(0)) {
|
|
@@ -208,7 +210,9 @@ const signOperation: SignOperationFnSignature<Transaction> = ({
|
|
|
208
210
|
const { recipient, fee, anchorMode, network, memo, amount, nonce } = transaction;
|
|
209
211
|
|
|
210
212
|
if (!xpub) {
|
|
211
|
-
throw new InvalidAddress(
|
|
213
|
+
throw new InvalidAddress("", {
|
|
214
|
+
currencyName: account.currency.name,
|
|
215
|
+
});
|
|
212
216
|
}
|
|
213
217
|
|
|
214
218
|
if (!fee) {
|
|
@@ -2,12 +2,23 @@ import { LedgerAPI4xx, LedgerAPI5xx, NetworkDown } from "@ledgerhq/errors";
|
|
|
2
2
|
import { requestInterceptor, responseInterceptor } from "@ledgerhq/live-network/network";
|
|
3
3
|
import type { Account, Operation } from "@ledgerhq/types-live";
|
|
4
4
|
import { BigNumber } from "bignumber.js";
|
|
5
|
-
import
|
|
5
|
+
import {
|
|
6
6
|
// @ts-expect-error stellar-sdk ts definition missing?
|
|
7
7
|
AccountRecord,
|
|
8
8
|
NetworkError,
|
|
9
9
|
NotFoundError,
|
|
10
|
+
Server,
|
|
11
|
+
HorizonAxiosClient,
|
|
12
|
+
BASE_FEE,
|
|
13
|
+
Asset,
|
|
14
|
+
Operation as StellarSdkOperation,
|
|
15
|
+
Account as StellarSdkAccount,
|
|
16
|
+
Transaction as StellarSdkTransaction,
|
|
17
|
+
TransactionBuilder,
|
|
18
|
+
Networks,
|
|
19
|
+
ServerApi,
|
|
10
20
|
} from "stellar-sdk";
|
|
21
|
+
|
|
11
22
|
import { getCryptoCurrencyById, parseCurrencyUnit } from "../../../currencies";
|
|
12
23
|
import { getEnv } from "@ledgerhq/live-env";
|
|
13
24
|
import {
|
|
@@ -15,7 +26,7 @@ import {
|
|
|
15
26
|
getReservedBalance,
|
|
16
27
|
rawOperationsToOperations,
|
|
17
28
|
} from "../logic";
|
|
18
|
-
import type { BalanceAsset, NetworkInfo } from "../types";
|
|
29
|
+
import type { BalanceAsset, NetworkInfo, RawOperation } from "../types";
|
|
19
30
|
import { NetworkCongestionLevel, Signer } from "../types";
|
|
20
31
|
|
|
21
32
|
const LIMIT = getEnv("API_STELLAR_HORIZON_FETCH_LIMIT");
|
|
@@ -23,16 +34,16 @@ const FALLBACK_BASE_FEE = 100;
|
|
|
23
34
|
const TRESHOLD_LOW = 0.5;
|
|
24
35
|
const TRESHOLD_MEDIUM = 0.75;
|
|
25
36
|
const currency = getCryptoCurrencyById("stellar");
|
|
26
|
-
const server = new
|
|
37
|
+
const server = new Server(getEnv("API_STELLAR_HORIZON"));
|
|
27
38
|
|
|
28
39
|
// Constants
|
|
29
40
|
export const BASE_RESERVE = 0.5;
|
|
30
41
|
export const BASE_RESERVE_MIN_COUNT = 2;
|
|
31
42
|
export const MIN_BALANCE = 1;
|
|
32
43
|
|
|
33
|
-
|
|
44
|
+
HorizonAxiosClient.interceptors.request.use(requestInterceptor);
|
|
34
45
|
|
|
35
|
-
|
|
46
|
+
HorizonAxiosClient.interceptors.response.use(response => {
|
|
36
47
|
responseInterceptor(response);
|
|
37
48
|
// FIXME: workaround for the Stellar SDK not using the correct URL: the "next" URL
|
|
38
49
|
// included in server responses points to the node itself instead of our reverse proxy...
|
|
@@ -66,18 +77,21 @@ export const fetchBaseFee = async (): Promise<{
|
|
|
66
77
|
};
|
|
67
78
|
}
|
|
68
79
|
|
|
69
|
-
const baseFee =
|
|
80
|
+
const baseFee = new BigNumber(BASE_FEE).toNumber() || FALLBACK_BASE_FEE;
|
|
70
81
|
let recommendedFee = baseFee;
|
|
71
82
|
let networkCongestionLevel = NetworkCongestionLevel.MEDIUM;
|
|
72
83
|
|
|
73
84
|
try {
|
|
74
85
|
const feeStats = await server.feeStats();
|
|
75
86
|
const ledgerCapacityUsage = feeStats.ledger_capacity_usage;
|
|
76
|
-
recommendedFee =
|
|
87
|
+
recommendedFee = new BigNumber(feeStats.fee_charged.mode).toNumber();
|
|
77
88
|
|
|
78
|
-
if (
|
|
89
|
+
if (
|
|
90
|
+
new BigNumber(ledgerCapacityUsage).toNumber() > TRESHOLD_LOW &&
|
|
91
|
+
new BigNumber(ledgerCapacityUsage).toNumber() <= TRESHOLD_MEDIUM
|
|
92
|
+
) {
|
|
79
93
|
networkCongestionLevel = NetworkCongestionLevel.MEDIUM;
|
|
80
|
-
} else if (ledgerCapacityUsage > TRESHOLD_MEDIUM) {
|
|
94
|
+
} else if (new BigNumber(ledgerCapacityUsage).toNumber() > TRESHOLD_MEDIUM) {
|
|
81
95
|
networkCongestionLevel = NetworkCongestionLevel.HIGH;
|
|
82
96
|
} else {
|
|
83
97
|
networkCongestionLevel = NetworkCongestionLevel.LOW;
|
|
@@ -97,7 +111,7 @@ export const fetchBaseFee = async (): Promise<{
|
|
|
97
111
|
* Get all account-related data
|
|
98
112
|
*
|
|
99
113
|
* @async
|
|
100
|
-
* @param {
|
|
114
|
+
* @param {string} addr
|
|
101
115
|
*/
|
|
102
116
|
export const fetchAccount = async (
|
|
103
117
|
addr: string,
|
|
@@ -107,29 +121,30 @@ export const fetchAccount = async (
|
|
|
107
121
|
spendableBalance: BigNumber;
|
|
108
122
|
assets: BalanceAsset[];
|
|
109
123
|
}> => {
|
|
110
|
-
let account:
|
|
111
|
-
let balance: Record<string, any> = {};
|
|
124
|
+
let account: ServerApi.AccountRecord = {} as ServerApi.AccountRecord;
|
|
112
125
|
let assets: BalanceAsset[] = [];
|
|
126
|
+
let balance = "0";
|
|
113
127
|
|
|
114
128
|
try {
|
|
115
129
|
account = await server.accounts().accountId(addr).call();
|
|
116
|
-
balance =
|
|
117
|
-
|
|
118
|
-
|
|
130
|
+
balance =
|
|
131
|
+
account.balances?.find(balance => {
|
|
132
|
+
return balance.asset_type === "native";
|
|
133
|
+
})?.balance || "0";
|
|
119
134
|
// Getting all non-native (XLM) assets on the account
|
|
120
135
|
assets = account.balances?.filter(balance => {
|
|
121
136
|
return balance.asset_type !== "native";
|
|
122
|
-
});
|
|
137
|
+
}) as BalanceAsset[];
|
|
123
138
|
} catch (e) {
|
|
124
|
-
balance
|
|
139
|
+
balance = "0";
|
|
125
140
|
}
|
|
126
141
|
|
|
127
|
-
const formattedBalance = parseCurrencyUnit(currency.units[0], balance
|
|
142
|
+
const formattedBalance = parseCurrencyUnit(currency.units[0], balance);
|
|
128
143
|
|
|
129
144
|
const spendableBalance = await getAccountSpendableBalance(formattedBalance, account);
|
|
130
145
|
|
|
131
146
|
return {
|
|
132
|
-
blockHeight: account.sequence ?
|
|
147
|
+
blockHeight: account.sequence ? new BigNumber(account.sequence).toNumber() : 0,
|
|
133
148
|
balance: formattedBalance,
|
|
134
149
|
spendableBalance,
|
|
135
150
|
assets,
|
|
@@ -162,10 +177,9 @@ export const fetchOperations = async ({
|
|
|
162
177
|
}
|
|
163
178
|
|
|
164
179
|
let operations: Operation[] = [];
|
|
165
|
-
let rawOperations: Record<string, any> = {};
|
|
166
180
|
|
|
167
181
|
try {
|
|
168
|
-
rawOperations = await server
|
|
182
|
+
let rawOperations = await server
|
|
169
183
|
.operations()
|
|
170
184
|
.forAccount(addr)
|
|
171
185
|
.limit(LIMIT)
|
|
@@ -180,13 +194,13 @@ export const fetchOperations = async ({
|
|
|
180
194
|
}
|
|
181
195
|
|
|
182
196
|
operations = operations.concat(
|
|
183
|
-
await rawOperationsToOperations(rawOperations.records, addr, accountId),
|
|
197
|
+
await rawOperationsToOperations(rawOperations.records as RawOperation[], addr, accountId),
|
|
184
198
|
);
|
|
185
199
|
|
|
186
200
|
while (rawOperations.records.length > 0) {
|
|
187
201
|
rawOperations = await rawOperations.next();
|
|
188
202
|
operations = operations.concat(
|
|
189
|
-
await rawOperationsToOperations(rawOperations.records, addr, accountId),
|
|
203
|
+
await rawOperationsToOperations(rawOperations.records as RawOperation[], addr, accountId),
|
|
190
204
|
);
|
|
191
205
|
}
|
|
192
206
|
|
|
@@ -259,7 +273,7 @@ export const fetchSigners = async (a: Account): Promise<Signer[]> => {
|
|
|
259
273
|
};
|
|
260
274
|
|
|
261
275
|
export const broadcastTransaction = async (signedTransaction: string): Promise<string> => {
|
|
262
|
-
const transaction = new
|
|
276
|
+
const transaction = new StellarSdkTransaction(signedTransaction, Networks.PUBLIC);
|
|
263
277
|
const res = await server.submitTransaction(transaction, {
|
|
264
278
|
skipMemoRequiredCheck: true,
|
|
265
279
|
});
|
|
@@ -276,41 +290,37 @@ export const buildPaymentOperation = ({
|
|
|
276
290
|
amount: BigNumber;
|
|
277
291
|
assetCode: string | undefined;
|
|
278
292
|
assetIssuer: string | undefined;
|
|
279
|
-
})
|
|
293
|
+
}) => {
|
|
280
294
|
const formattedAmount = getFormattedAmount(amount);
|
|
281
295
|
// Non-native assets should always have asset code and asset issuer. If an
|
|
282
296
|
// asset doesn't have both, we assume it is native asset.
|
|
283
|
-
const asset =
|
|
284
|
-
|
|
285
|
-
? new StellarSdk.Asset(assetCode, assetIssuer)
|
|
286
|
-
: StellarSdk.Asset.native();
|
|
287
|
-
return StellarSdk.Operation.payment({
|
|
297
|
+
const asset = assetCode && assetIssuer ? new Asset(assetCode, assetIssuer) : Asset.native();
|
|
298
|
+
return StellarSdkOperation.payment({
|
|
288
299
|
destination: destination,
|
|
289
300
|
amount: formattedAmount,
|
|
290
301
|
asset,
|
|
291
|
-
withMuxing: true,
|
|
292
302
|
});
|
|
293
303
|
};
|
|
294
304
|
|
|
295
|
-
export const buildCreateAccountOperation = (destination: string, amount: BigNumber)
|
|
305
|
+
export const buildCreateAccountOperation = (destination: string, amount: BigNumber) => {
|
|
296
306
|
const formattedAmount = getFormattedAmount(amount);
|
|
297
|
-
return
|
|
307
|
+
return StellarSdkOperation.createAccount({
|
|
298
308
|
destination: destination,
|
|
299
309
|
startingBalance: formattedAmount,
|
|
300
310
|
});
|
|
301
311
|
};
|
|
302
312
|
|
|
303
|
-
export const buildChangeTrustOperation = (assetCode: string, assetIssuer: string)
|
|
304
|
-
return
|
|
305
|
-
asset: new
|
|
313
|
+
export const buildChangeTrustOperation = (assetCode: string, assetIssuer: string) => {
|
|
314
|
+
return StellarSdkOperation.changeTrust({
|
|
315
|
+
asset: new Asset(assetCode, assetIssuer),
|
|
306
316
|
});
|
|
307
317
|
};
|
|
308
318
|
|
|
309
|
-
export const buildTransactionBuilder = (source:
|
|
319
|
+
export const buildTransactionBuilder = (source: StellarSdkAccount, fee: BigNumber) => {
|
|
310
320
|
const formattedFee = fee.toString();
|
|
311
|
-
return new
|
|
321
|
+
return new TransactionBuilder(source, {
|
|
312
322
|
fee: formattedFee,
|
|
313
|
-
networkPassphrase:
|
|
323
|
+
networkPassphrase: Networks.PUBLIC,
|
|
314
324
|
});
|
|
315
325
|
};
|
|
316
326
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import invariant from "invariant";
|
|
2
|
-
import
|
|
2
|
+
import { Memo, Operation as StellarSdkOperation, xdr } from "stellar-sdk";
|
|
3
3
|
import { AmountRequired, FeeNotLoaded, NetworkDown } from "@ledgerhq/errors";
|
|
4
4
|
import type { Account } from "@ledgerhq/types-live";
|
|
5
5
|
import type { Transaction } from "./types";
|
|
@@ -17,10 +17,7 @@ import { StellarAssetRequired, StellarMuxedAccountNotExist } from "../../errors"
|
|
|
17
17
|
* @param {Account} a
|
|
18
18
|
* @param {Transaction} t
|
|
19
19
|
*/
|
|
20
|
-
export const buildTransaction = async (
|
|
21
|
-
account: Account,
|
|
22
|
-
transaction: Transaction,
|
|
23
|
-
): Promise<any> => {
|
|
20
|
+
export const buildTransaction = async (account: Account, transaction: Transaction) => {
|
|
24
21
|
const { recipient, networkInfo, fees, memoType, memoValue, mode, assetCode, assetIssuer } =
|
|
25
22
|
transaction;
|
|
26
23
|
|
|
@@ -37,7 +34,7 @@ export const buildTransaction = async (
|
|
|
37
34
|
invariant(networkInfo && networkInfo.family === "stellar", "stellar family");
|
|
38
35
|
|
|
39
36
|
const transactionBuilder = buildTransactionBuilder(source, fees);
|
|
40
|
-
let operation = null;
|
|
37
|
+
let operation: xdr.Operation<StellarSdkOperation.ChangeTrust> | null = null;
|
|
41
38
|
|
|
42
39
|
if (mode === "changeTrust") {
|
|
43
40
|
if (!assetCode || !assetIssuer) {
|
|
@@ -76,24 +73,24 @@ export const buildTransaction = async (
|
|
|
76
73
|
|
|
77
74
|
transactionBuilder.addOperation(operation);
|
|
78
75
|
|
|
79
|
-
let memo = null;
|
|
76
|
+
let memo: Memo | null = null;
|
|
80
77
|
|
|
81
78
|
if (memoType && memoValue) {
|
|
82
79
|
switch (memoType) {
|
|
83
80
|
case "MEMO_TEXT":
|
|
84
|
-
memo =
|
|
81
|
+
memo = Memo.text(memoValue);
|
|
85
82
|
break;
|
|
86
83
|
|
|
87
84
|
case "MEMO_ID":
|
|
88
|
-
memo =
|
|
85
|
+
memo = Memo.id(memoValue);
|
|
89
86
|
break;
|
|
90
87
|
|
|
91
88
|
case "MEMO_HASH":
|
|
92
|
-
memo =
|
|
89
|
+
memo = Memo.hash(memoValue);
|
|
93
90
|
break;
|
|
94
91
|
|
|
95
92
|
case "MEMO_RETURN":
|
|
96
|
-
memo =
|
|
93
|
+
memo = Memo.return(memoValue);
|
|
97
94
|
break;
|
|
98
95
|
}
|
|
99
96
|
}
|
|
@@ -105,4 +102,5 @@ export const buildTransaction = async (
|
|
|
105
102
|
const built = transactionBuilder.setTimeout(0).build();
|
|
106
103
|
return built;
|
|
107
104
|
};
|
|
105
|
+
|
|
108
106
|
export default buildTransaction;
|
|
@@ -96,7 +96,9 @@ const getTransactionStatus = async (
|
|
|
96
96
|
if (!t.recipient) {
|
|
97
97
|
errors.recipient = new RecipientRequired("");
|
|
98
98
|
} else if (!isAddressValid(t.recipient)) {
|
|
99
|
-
errors.recipient = new InvalidAddress(""
|
|
99
|
+
errors.recipient = new InvalidAddress("", {
|
|
100
|
+
currencyName: a.currency.name,
|
|
101
|
+
});
|
|
100
102
|
} else if (a.freshAddress === t.recipient) {
|
|
101
103
|
errors.recipient = new InvalidAddressBecauseDestinationIsAlsoSource();
|
|
102
104
|
}
|
|
@@ -2,7 +2,7 @@ import type { CacheRes } from "@ledgerhq/live-network/cache";
|
|
|
2
2
|
import { makeLRUCache } from "@ledgerhq/live-network/cache";
|
|
3
3
|
import type { Account, OperationType, TokenAccount } from "@ledgerhq/types-live";
|
|
4
4
|
import { BigNumber } from "bignumber.js";
|
|
5
|
-
import
|
|
5
|
+
import { ServerApi, StrKey, MuxedAccount } from "stellar-sdk";
|
|
6
6
|
import { findSubAccountById } from "../../account";
|
|
7
7
|
import { getCryptoCurrencyById, parseCurrencyUnit } from "../../currencies";
|
|
8
8
|
import { encodeOperationId } from "../../operation";
|
|
@@ -160,6 +160,7 @@ export const formatOperation = async (
|
|
|
160
160
|
? Buffer.from(transaction.memo, "base64").toString("hex")
|
|
161
161
|
: transaction.memo
|
|
162
162
|
: null;
|
|
163
|
+
|
|
163
164
|
const operation: StellarOperation = {
|
|
164
165
|
id: encodeOperationId(accountId, rawOperation.transaction_hash, type),
|
|
165
166
|
accountId,
|
|
@@ -274,10 +275,7 @@ export const isAddressValid = (address: string): boolean => {
|
|
|
274
275
|
if (address === STELLAR_BURN_ADDRESS) return false;
|
|
275
276
|
|
|
276
277
|
try {
|
|
277
|
-
return (
|
|
278
|
-
StellarSdk.StrKey.isValidEd25519PublicKey(address) ||
|
|
279
|
-
StellarSdk.StrKey.isValidMed25519PublicKey(address)
|
|
280
|
-
);
|
|
278
|
+
return StrKey.isValidEd25519PublicKey(address) || StrKey.isValidMed25519PublicKey(address);
|
|
281
279
|
} catch (err) {
|
|
282
280
|
return false;
|
|
283
281
|
}
|
|
@@ -315,10 +313,10 @@ export const recipientAccount = async (
|
|
|
315
313
|
|
|
316
314
|
let accountAddress = address;
|
|
317
315
|
|
|
318
|
-
const isMuxedAccount =
|
|
316
|
+
const isMuxedAccount = StrKey.isValidMed25519PublicKey(address);
|
|
319
317
|
|
|
320
318
|
if (isMuxedAccount) {
|
|
321
|
-
const muxedAccount =
|
|
319
|
+
const muxedAccount = MuxedAccount.fromAddress(address, "0");
|
|
322
320
|
accountAddress = muxedAccount.baseAccount().accountId();
|
|
323
321
|
}
|
|
324
322
|
|
|
@@ -337,7 +335,7 @@ export const recipientAccount = async (
|
|
|
337
335
|
};
|
|
338
336
|
};
|
|
339
337
|
|
|
340
|
-
export const rawOperationsToOperations =
|
|
338
|
+
export const rawOperationsToOperations = (
|
|
341
339
|
operations: RawOperation[],
|
|
342
340
|
addr: string,
|
|
343
341
|
accountId: string,
|
|
@@ -619,7 +619,9 @@ const getTransactionStatus = async (a: TronAccount, t: Transaction): Promise<Tra
|
|
|
619
619
|
);
|
|
620
620
|
|
|
621
621
|
if (!isValidAddresses) {
|
|
622
|
-
errors.vote = new InvalidAddress(
|
|
622
|
+
errors.vote = new InvalidAddress("", {
|
|
623
|
+
currencyName: a.currency.name,
|
|
624
|
+
});
|
|
623
625
|
} else if (!isValidVoteCounts) {
|
|
624
626
|
errors.vote = new TronInvalidVoteCount();
|
|
625
627
|
} else {
|
|
@@ -42,6 +42,7 @@ export const CURRENCY_DEFAULT_FEATURES = {
|
|
|
42
42
|
currencyInternetComputer: DEFAULT_FEATURE,
|
|
43
43
|
currencyKavaEvm: DEFAULT_FEATURE,
|
|
44
44
|
currencyKlaytn: DEFAULT_FEATURE,
|
|
45
|
+
currencyLukso: DEFAULT_FEATURE,
|
|
45
46
|
currencyMetis: DEFAULT_FEATURE,
|
|
46
47
|
currencyMoonriver: DEFAULT_FEATURE,
|
|
47
48
|
currencyOnomy: DEFAULT_FEATURE,
|
|
@@ -60,6 +61,7 @@ export const CURRENCY_DEFAULT_FEATURES = {
|
|
|
60
61
|
currencyTelosEvm: DEFAULT_FEATURE,
|
|
61
62
|
currencyUmee: DEFAULT_FEATURE,
|
|
62
63
|
currencyVelasEvm: DEFAULT_FEATURE,
|
|
64
|
+
currencyCasper: DEFAULT_FEATURE,
|
|
63
65
|
currencyNeonEvm: DEFAULT_FEATURE,
|
|
64
66
|
};
|
|
65
67
|
|
|
@@ -85,7 +87,6 @@ export const DEFAULT_FEATURES: Features = {
|
|
|
85
87
|
ptxServiceCtaScreens: DEFAULT_FEATURE,
|
|
86
88
|
customImage: DEFAULT_FEATURE,
|
|
87
89
|
referralProgramDesktopBanner: DEFAULT_FEATURE,
|
|
88
|
-
editEthTx: DEFAULT_FEATURE,
|
|
89
90
|
disableNftLedgerMarket: DEFAULT_FEATURE,
|
|
90
91
|
disableNftRaribleOpensea: DEFAULT_FEATURE,
|
|
91
92
|
disableNftSend: DEFAULT_FEATURE,
|
|
@@ -102,7 +103,6 @@ export const DEFAULT_FEATURES: Features = {
|
|
|
102
103
|
learn: initFeature(),
|
|
103
104
|
receiveStakingFlowConfigDesktop: initFeature(),
|
|
104
105
|
brazePushNotifications: initFeature(),
|
|
105
|
-
walletConnectLiveApp: initFeature(),
|
|
106
106
|
walletNftGallery: initFeature(),
|
|
107
107
|
stakeAccountBanner: initFeature(),
|
|
108
108
|
|
|
@@ -136,6 +136,11 @@ export const DEFAULT_FEATURES: Features = {
|
|
|
136
136
|
params: { supportedCurrencyIds: ["ethereum"] },
|
|
137
137
|
},
|
|
138
138
|
|
|
139
|
+
editEvmTx: {
|
|
140
|
+
enabled: false,
|
|
141
|
+
params: { supportedCurrencyIds: ["ethereum"] },
|
|
142
|
+
},
|
|
143
|
+
|
|
139
144
|
referralProgramDesktopSidebar: {
|
|
140
145
|
enabled: false,
|
|
141
146
|
params: { amount: "$20", isNew: true, path: "/discover/refer-a-friend" },
|
|
@@ -156,6 +161,7 @@ export const DEFAULT_FEATURES: Features = {
|
|
|
156
161
|
loginURI:
|
|
157
162
|
"ledgerlive://recover/protect-simu?redirectTo=login&source=lld-welcome-login&ajs_recover_source=lld-welcome-login&ajs_recover_campaign=recover-launch",
|
|
158
163
|
},
|
|
164
|
+
compatibleDevices: [],
|
|
159
165
|
discoverTheBenefitsLink: "https://www.ledger.com/recover",
|
|
160
166
|
onboardingCompleted: {
|
|
161
167
|
alreadySubscribedURI: "ledgerlive://recover/protect-simu?redirectTo=login",
|
|
@@ -289,6 +295,7 @@ export const DEFAULT_FEATURES: Features = {
|
|
|
289
295
|
enabled: false,
|
|
290
296
|
params: {
|
|
291
297
|
deeplink: "",
|
|
298
|
+
compatibleDevices: [],
|
|
292
299
|
account: {
|
|
293
300
|
homeURI:
|
|
294
301
|
"ledgerlive://recover/protect-simu?redirectTo=account&source=llm-myledger-access-card&ajs_prop_source=llm-myledger-access-card&ajs_prop_campaign=recover-launch",
|