@ledgerhq/coin-framework 0.0.2
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/account/accountId.d.ts +16 -0
- package/lib/account/accountId.d.ts.map +1 -0
- package/lib/account/accountId.js +85 -0
- package/lib/account/accountId.js.map +1 -0
- package/lib/account/accountName.d.ts +14 -0
- package/lib/account/accountName.d.ts.map +1 -0
- package/lib/account/accountName.js +17 -0
- package/lib/account/accountName.js.map +1 -0
- package/lib/account/addAccounts.d.ts +35 -0
- package/lib/account/addAccounts.d.ts.map +1 -0
- package/lib/account/addAccounts.js +209 -0
- package/lib/account/addAccounts.js.map +1 -0
- package/lib/account/balanceHistoryCache.d.ts +25 -0
- package/lib/account/balanceHistoryCache.d.ts.map +1 -0
- package/lib/account/balanceHistoryCache.js +115 -0
- package/lib/account/balanceHistoryCache.js.map +1 -0
- package/lib/account/groupOperations.d.ts +17 -0
- package/lib/account/groupOperations.d.ts.map +1 -0
- package/lib/account/groupOperations.js +127 -0
- package/lib/account/groupOperations.js.map +1 -0
- package/lib/account/helpers.d.ts +44 -0
- package/lib/account/helpers.d.ts.map +1 -0
- package/lib/account/helpers.js +333 -0
- package/lib/account/helpers.js.map +1 -0
- package/lib/account/helpers.test.d.ts +2 -0
- package/lib/account/helpers.test.d.ts.map +1 -0
- package/lib/account/helpers.test.js +366 -0
- package/lib/account/helpers.test.js.map +1 -0
- package/lib/account/index.d.ts +11 -0
- package/lib/account/index.d.ts.map +1 -0
- package/lib/account/index.js +27 -0
- package/lib/account/index.js.map +1 -0
- package/lib/account/ordering.d.ts +10 -0
- package/lib/account/ordering.d.ts.map +1 -0
- package/lib/account/ordering.js +110 -0
- package/lib/account/ordering.js.map +1 -0
- package/lib/account/pending.d.ts +33 -0
- package/lib/account/pending.d.ts.map +1 -0
- package/lib/account/pending.js +64 -0
- package/lib/account/pending.js.map +1 -0
- package/lib/account/serialization.d.ts +6 -0
- package/lib/account/serialization.d.ts.map +1 -0
- package/lib/account/serialization.js +118 -0
- package/lib/account/serialization.js.map +1 -0
- package/lib/account/support.d.ts +9 -0
- package/lib/account/support.d.ts.map +1 -0
- package/lib/account/support.js +72 -0
- package/lib/account/support.js.map +1 -0
- package/lib/account.test.d.ts +2 -0
- package/lib/account.test.d.ts.map +1 -0
- package/lib/account.test.js +257 -0
- package/lib/account.test.js.map +1 -0
- package/lib/bot/bot-test-context.d.ts +3 -0
- package/lib/bot/bot-test-context.d.ts.map +1 -0
- package/lib/bot/bot-test-context.js +26 -0
- package/lib/bot/bot-test-context.js.map +1 -0
- package/lib/bot/bot-test-context.test.d.ts +2 -0
- package/lib/bot/bot-test-context.test.d.ts.map +1 -0
- package/lib/bot/bot-test-context.test.js +41 -0
- package/lib/bot/bot-test-context.test.js.map +1 -0
- package/lib/bot/formatters.d.ts +2 -0
- package/lib/bot/formatters.d.ts.map +1 -0
- package/lib/bot/formatters.js +31 -0
- package/lib/bot/formatters.js.map +1 -0
- package/lib/bot/specs.d.ts +50 -0
- package/lib/bot/specs.d.ts.map +1 -0
- package/lib/bot/specs.js +204 -0
- package/lib/bot/specs.js.map +1 -0
- package/lib/bot/types.d.ts +178 -0
- package/lib/bot/types.d.ts.map +1 -0
- package/lib/bot/types.js +3 -0
- package/lib/bot/types.js.map +1 -0
- package/lib/bridge/getAddressWrapper.d.ts +6 -0
- package/lib/bridge/getAddressWrapper.d.ts.map +1 -0
- package/lib/bridge/getAddressWrapper.js +27 -0
- package/lib/bridge/getAddressWrapper.js.map +1 -0
- package/lib/bridge/jsHelpers.d.ts +63 -0
- package/lib/bridge/jsHelpers.d.ts.map +1 -0
- package/lib/bridge/jsHelpers.js +574 -0
- package/lib/bridge/jsHelpers.js.map +1 -0
- package/lib/cache.d.ts +10 -0
- package/lib/cache.d.ts.map +1 -0
- package/lib/cache.js +100 -0
- package/lib/cache.js.map +1 -0
- package/lib/cross.d.ts +42 -0
- package/lib/cross.d.ts.map +1 -0
- package/lib/cross.js +254 -0
- package/lib/cross.js.map +1 -0
- package/lib/cross.test.d.ts +2 -0
- package/lib/cross.test.d.ts.map +1 -0
- package/lib/cross.test.js +99 -0
- package/lib/cross.test.js.map +1 -0
- package/lib/currencies/BigNumberToLocaleString.d.ts +8 -0
- package/lib/currencies/BigNumberToLocaleString.d.ts.map +1 -0
- package/lib/currencies/BigNumberToLocaleString.js +65 -0
- package/lib/currencies/BigNumberToLocaleString.js.map +1 -0
- package/lib/currencies/BigNumberToLocaleString.test.d.ts +2 -0
- package/lib/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
- package/lib/currencies/BigNumberToLocaleString.test.js +108 -0
- package/lib/currencies/BigNumberToLocaleString.test.js.map +1 -0
- package/lib/currencies/CurrencyURIScheme.d.ts +13 -0
- package/lib/currencies/CurrencyURIScheme.d.ts.map +1 -0
- package/lib/currencies/CurrencyURIScheme.js +124 -0
- package/lib/currencies/CurrencyURIScheme.js.map +1 -0
- package/lib/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
- package/lib/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
- package/lib/currencies/chopCurrencyUnitDecimals.js +29 -0
- package/lib/currencies/chopCurrencyUnitDecimals.js.map +1 -0
- package/lib/currencies/formatCurrencyUnit.d.ts +33 -0
- package/lib/currencies/formatCurrencyUnit.d.ts.map +1 -0
- package/lib/currencies/formatCurrencyUnit.js +126 -0
- package/lib/currencies/formatCurrencyUnit.js.map +1 -0
- package/lib/currencies/formatShort.d.ts +8 -0
- package/lib/currencies/formatShort.d.ts.map +1 -0
- package/lib/currencies/formatShort.js +27 -0
- package/lib/currencies/formatShort.js.map +1 -0
- package/lib/currencies/index.d.ts +13 -0
- package/lib/currencies/index.d.ts.map +1 -0
- package/lib/currencies/index.js +65 -0
- package/lib/currencies/index.js.map +1 -0
- package/lib/currencies/localeUtility.d.ts +8 -0
- package/lib/currencies/localeUtility.d.ts.map +1 -0
- package/lib/currencies/localeUtility.js +49 -0
- package/lib/currencies/localeUtility.js.map +1 -0
- package/lib/currencies/parseCurrencyUnit.d.ts +4 -0
- package/lib/currencies/parseCurrencyUnit.d.ts.map +1 -0
- package/lib/currencies/parseCurrencyUnit.js +18 -0
- package/lib/currencies/parseCurrencyUnit.js.map +1 -0
- package/lib/currencies/sanitizeValueString.d.ts +6 -0
- package/lib/currencies/sanitizeValueString.d.ts.map +1 -0
- package/lib/currencies/sanitizeValueString.js +56 -0
- package/lib/currencies/sanitizeValueString.js.map +1 -0
- package/lib/currencies/support.d.ts +8 -0
- package/lib/currencies/support.d.ts.map +1 -0
- package/lib/currencies/support.js +101 -0
- package/lib/currencies/support.js.map +1 -0
- package/lib/currencies/valueFromUnit.d.ts +9 -0
- package/lib/currencies/valueFromUnit.d.ts.map +1 -0
- package/lib/currencies/valueFromUnit.js +14 -0
- package/lib/currencies/valueFromUnit.js.map +1 -0
- package/lib/derivation.d.ts +232 -0
- package/lib/derivation.d.ts.map +1 -0
- package/lib/derivation.js +501 -0
- package/lib/derivation.js.map +1 -0
- package/lib/env.d.ts +30 -0
- package/lib/env.d.ts.map +1 -0
- package/lib/env.js +773 -0
- package/lib/env.js.map +1 -0
- package/lib/errors.d.ts +7 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +7 -0
- package/lib/errors.js.map +1 -0
- package/lib/errors.test.d.ts +2 -0
- package/lib/errors.test.d.ts.map +1 -0
- package/lib/errors.test.js +20 -0
- package/lib/errors.test.js.map +1 -0
- package/lib/mocks/account.d.ts +25 -0
- package/lib/mocks/account.d.ts.map +1 -0
- package/lib/mocks/account.js +368 -0
- package/lib/mocks/account.js.map +1 -0
- package/lib/mocks/fixtures/nfts.d.ts +27 -0
- package/lib/mocks/fixtures/nfts.d.ts.map +1 -0
- package/lib/mocks/fixtures/nfts.js +398 -0
- package/lib/mocks/fixtures/nfts.js.map +1 -0
- package/lib/mocks/fixtures/nfts.test.d.ts +2 -0
- package/lib/mocks/fixtures/nfts.test.d.ts.map +1 -0
- package/lib/mocks/fixtures/nfts.test.js +20 -0
- package/lib/mocks/fixtures/nfts.test.js.map +1 -0
- package/lib/mocks/helpers.d.ts +15 -0
- package/lib/mocks/helpers.d.ts.map +1 -0
- package/lib/mocks/helpers.js +32 -0
- package/lib/mocks/helpers.js.map +1 -0
- package/lib/network.d.ts +5 -0
- package/lib/network.d.ts.map +1 -0
- package/lib/network.js +125 -0
- package/lib/network.js.map +1 -0
- package/lib/nft/nftId.d.ts +8 -0
- package/lib/nft/nftId.d.ts.map +1 -0
- package/lib/nft/nftId.js +34 -0
- package/lib/nft/nftId.js.map +1 -0
- package/lib/operation.d.ts +24 -0
- package/lib/operation.d.ts.map +1 -0
- package/lib/operation.js +183 -0
- package/lib/operation.js.map +1 -0
- package/lib/promise.d.ts +21 -0
- package/lib/promise.d.ts.map +1 -0
- package/lib/promise.js +187 -0
- package/lib/promise.js.map +1 -0
- package/lib/promise.test.d.ts +2 -0
- package/lib/promise.test.d.ts.map +1 -0
- package/lib/promise.test.js +72 -0
- package/lib/promise.test.js.map +1 -0
- package/lib/rangeDates.d.ts +29 -0
- package/lib/rangeDates.d.ts.map +1 -0
- package/lib/rangeDates.js +94 -0
- package/lib/rangeDates.js.map +1 -0
- package/lib/rangeDates.test.d.ts +2 -0
- package/lib/rangeDates.test.d.ts.map +1 -0
- package/lib/rangeDates.test.js +51 -0
- package/lib/rangeDates.test.js.map +1 -0
- package/lib/test-helpers/staticTime.d.ts +2 -0
- package/lib/test-helpers/staticTime.d.ts.map +1 -0
- package/lib/test-helpers/staticTime.js +10 -0
- package/lib/test-helpers/staticTime.js.map +1 -0
- package/lib/transaction/common.d.ts +26 -0
- package/lib/transaction/common.d.ts.map +1 -0
- package/lib/transaction/common.js +123 -0
- package/lib/transaction/common.js.map +1 -0
- package/lib-es/account/accountId.d.ts +16 -0
- package/lib-es/account/accountId.d.ts.map +1 -0
- package/lib-es/account/accountId.js +74 -0
- package/lib-es/account/accountId.js.map +1 -0
- package/lib-es/account/accountName.d.ts +14 -0
- package/lib-es/account/accountName.d.ts.map +1 -0
- package/lib-es/account/accountName.js +12 -0
- package/lib-es/account/accountName.js.map +1 -0
- package/lib-es/account/addAccounts.d.ts +35 -0
- package/lib-es/account/addAccounts.d.ts.map +1 -0
- package/lib-es/account/addAccounts.js +200 -0
- package/lib-es/account/addAccounts.js.map +1 -0
- package/lib-es/account/balanceHistoryCache.d.ts +25 -0
- package/lib-es/account/balanceHistoryCache.d.ts.map +1 -0
- package/lib-es/account/balanceHistoryCache.js +109 -0
- package/lib-es/account/balanceHistoryCache.js.map +1 -0
- package/lib-es/account/groupOperations.d.ts +17 -0
- package/lib-es/account/groupOperations.d.ts.map +1 -0
- package/lib-es/account/groupOperations.js +122 -0
- package/lib-es/account/groupOperations.js.map +1 -0
- package/lib-es/account/helpers.d.ts +44 -0
- package/lib-es/account/helpers.d.ts.map +1 -0
- package/lib-es/account/helpers.js +303 -0
- package/lib-es/account/helpers.js.map +1 -0
- package/lib-es/account/helpers.test.d.ts +2 -0
- package/lib-es/account/helpers.test.d.ts.map +1 -0
- package/lib-es/account/helpers.test.js +361 -0
- package/lib-es/account/helpers.test.js.map +1 -0
- package/lib-es/account/index.d.ts +11 -0
- package/lib-es/account/index.d.ts.map +1 -0
- package/lib-es/account/index.js +11 -0
- package/lib-es/account/index.js.map +1 -0
- package/lib-es/account/ordering.d.ts +10 -0
- package/lib-es/account/ordering.d.ts.map +1 -0
- package/lib-es/account/ordering.js +103 -0
- package/lib-es/account/ordering.js.map +1 -0
- package/lib-es/account/pending.d.ts +33 -0
- package/lib-es/account/pending.d.ts.map +1 -0
- package/lib-es/account/pending.js +59 -0
- package/lib-es/account/pending.js.map +1 -0
- package/lib-es/account/serialization.d.ts +6 -0
- package/lib-es/account/serialization.d.ts.map +1 -0
- package/lib-es/account/serialization.js +112 -0
- package/lib-es/account/serialization.js.map +1 -0
- package/lib-es/account/support.d.ts +9 -0
- package/lib-es/account/support.d.ts.map +1 -0
- package/lib-es/account/support.js +64 -0
- package/lib-es/account/support.js.map +1 -0
- package/lib-es/account.test.d.ts +2 -0
- package/lib-es/account.test.d.ts.map +1 -0
- package/lib-es/account.test.js +252 -0
- package/lib-es/account.test.js.map +1 -0
- package/lib-es/bot/bot-test-context.d.ts +3 -0
- package/lib-es/bot/bot-test-context.d.ts.map +1 -0
- package/lib-es/bot/bot-test-context.js +21 -0
- package/lib-es/bot/bot-test-context.js.map +1 -0
- package/lib-es/bot/bot-test-context.test.d.ts +2 -0
- package/lib-es/bot/bot-test-context.test.d.ts.map +1 -0
- package/lib-es/bot/bot-test-context.test.js +39 -0
- package/lib-es/bot/bot-test-context.test.js.map +1 -0
- package/lib-es/bot/formatters.d.ts +2 -0
- package/lib-es/bot/formatters.d.ts.map +1 -0
- package/lib-es/bot/formatters.js +27 -0
- package/lib-es/bot/formatters.js.map +1 -0
- package/lib-es/bot/specs.d.ts +50 -0
- package/lib-es/bot/specs.d.ts.map +1 -0
- package/lib-es/bot/specs.js +193 -0
- package/lib-es/bot/specs.js.map +1 -0
- package/lib-es/bot/types.d.ts +178 -0
- package/lib-es/bot/types.d.ts.map +1 -0
- package/lib-es/bot/types.js +2 -0
- package/lib-es/bot/types.js.map +1 -0
- package/lib-es/bridge/getAddressWrapper.d.ts +6 -0
- package/lib-es/bridge/getAddressWrapper.d.ts.map +1 -0
- package/lib-es/bridge/getAddressWrapper.js +25 -0
- package/lib-es/bridge/getAddressWrapper.js.map +1 -0
- package/lib-es/bridge/jsHelpers.d.ts +63 -0
- package/lib-es/bridge/jsHelpers.d.ts.map +1 -0
- package/lib-es/bridge/jsHelpers.js +562 -0
- package/lib-es/bridge/jsHelpers.js.map +1 -0
- package/lib-es/cache.d.ts +10 -0
- package/lib-es/cache.d.ts.map +1 -0
- package/lib-es/cache.js +93 -0
- package/lib-es/cache.js.map +1 -0
- package/lib-es/cross.d.ts +42 -0
- package/lib-es/cross.d.ts.map +1 -0
- package/lib-es/cross.js +244 -0
- package/lib-es/cross.js.map +1 -0
- package/lib-es/cross.test.d.ts +2 -0
- package/lib-es/cross.test.d.ts.map +1 -0
- package/lib-es/cross.test.js +97 -0
- package/lib-es/cross.test.js.map +1 -0
- package/lib-es/currencies/BigNumberToLocaleString.d.ts +8 -0
- package/lib-es/currencies/BigNumberToLocaleString.d.ts.map +1 -0
- package/lib-es/currencies/BigNumberToLocaleString.js +61 -0
- package/lib-es/currencies/BigNumberToLocaleString.js.map +1 -0
- package/lib-es/currencies/BigNumberToLocaleString.test.d.ts +2 -0
- package/lib-es/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
- package/lib-es/currencies/BigNumberToLocaleString.test.js +106 -0
- package/lib-es/currencies/BigNumberToLocaleString.test.js.map +1 -0
- package/lib-es/currencies/CurrencyURIScheme.d.ts +13 -0
- package/lib-es/currencies/CurrencyURIScheme.d.ts.map +1 -0
- package/lib-es/currencies/CurrencyURIScheme.js +116 -0
- package/lib-es/currencies/CurrencyURIScheme.js.map +1 -0
- package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
- package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
- package/lib-es/currencies/chopCurrencyUnitDecimals.js +25 -0
- package/lib-es/currencies/chopCurrencyUnitDecimals.js.map +1 -0
- package/lib-es/currencies/formatCurrencyUnit.d.ts +33 -0
- package/lib-es/currencies/formatCurrencyUnit.d.ts.map +1 -0
- package/lib-es/currencies/formatCurrencyUnit.js +121 -0
- package/lib-es/currencies/formatCurrencyUnit.js.map +1 -0
- package/lib-es/currencies/formatShort.d.ts +8 -0
- package/lib-es/currencies/formatShort.d.ts.map +1 -0
- package/lib-es/currencies/formatShort.js +20 -0
- package/lib-es/currencies/formatShort.js.map +1 -0
- package/lib-es/currencies/index.d.ts +13 -0
- package/lib-es/currencies/index.d.ts.map +1 -0
- package/lib-es/currencies/index.js +16 -0
- package/lib-es/currencies/index.js.map +1 -0
- package/lib-es/currencies/localeUtility.d.ts +8 -0
- package/lib-es/currencies/localeUtility.d.ts.map +1 -0
- package/lib-es/currencies/localeUtility.js +43 -0
- package/lib-es/currencies/localeUtility.js.map +1 -0
- package/lib-es/currencies/parseCurrencyUnit.d.ts +4 -0
- package/lib-es/currencies/parseCurrencyUnit.d.ts.map +1 -0
- package/lib-es/currencies/parseCurrencyUnit.js +14 -0
- package/lib-es/currencies/parseCurrencyUnit.js.map +1 -0
- package/lib-es/currencies/sanitizeValueString.d.ts +6 -0
- package/lib-es/currencies/sanitizeValueString.d.ts.map +1 -0
- package/lib-es/currencies/sanitizeValueString.js +52 -0
- package/lib-es/currencies/sanitizeValueString.js.map +1 -0
- package/lib-es/currencies/support.d.ts +8 -0
- package/lib-es/currencies/support.d.ts.map +1 -0
- package/lib-es/currencies/support.js +92 -0
- package/lib-es/currencies/support.js.map +1 -0
- package/lib-es/currencies/valueFromUnit.d.ts +9 -0
- package/lib-es/currencies/valueFromUnit.d.ts.map +1 -0
- package/lib-es/currencies/valueFromUnit.js +10 -0
- package/lib-es/currencies/valueFromUnit.js.map +1 -0
- package/lib-es/derivation.d.ts +232 -0
- package/lib-es/derivation.d.ts.map +1 -0
- package/lib-es/derivation.js +473 -0
- package/lib-es/derivation.js.map +1 -0
- package/lib-es/env.d.ts +30 -0
- package/lib-es/env.d.ts.map +1 -0
- package/lib-es/env.js +758 -0
- package/lib-es/env.js.map +1 -0
- package/lib-es/errors.d.ts +7 -0
- package/lib-es/errors.d.ts.map +1 -0
- package/lib-es/errors.js +4 -0
- package/lib-es/errors.js.map +1 -0
- package/lib-es/errors.test.d.ts +2 -0
- package/lib-es/errors.test.d.ts.map +1 -0
- package/lib-es/errors.test.js +18 -0
- package/lib-es/errors.test.js.map +1 -0
- package/lib-es/mocks/account.d.ts +25 -0
- package/lib-es/mocks/account.d.ts.map +1 -0
- package/lib-es/mocks/account.js +358 -0
- package/lib-es/mocks/account.js.map +1 -0
- package/lib-es/mocks/fixtures/nfts.d.ts +27 -0
- package/lib-es/mocks/fixtures/nfts.d.ts.map +1 -0
- package/lib-es/mocks/fixtures/nfts.js +390 -0
- package/lib-es/mocks/fixtures/nfts.js.map +1 -0
- package/lib-es/mocks/fixtures/nfts.test.d.ts +2 -0
- package/lib-es/mocks/fixtures/nfts.test.d.ts.map +1 -0
- package/lib-es/mocks/fixtures/nfts.test.js +18 -0
- package/lib-es/mocks/fixtures/nfts.test.js.map +1 -0
- package/lib-es/mocks/helpers.d.ts +15 -0
- package/lib-es/mocks/helpers.d.ts.map +1 -0
- package/lib-es/mocks/helpers.js +26 -0
- package/lib-es/mocks/helpers.js.map +1 -0
- package/lib-es/network.d.ts +5 -0
- package/lib-es/network.d.ts.map +1 -0
- package/lib-es/network.js +118 -0
- package/lib-es/network.js.map +1 -0
- package/lib-es/nft/nftId.d.ts +8 -0
- package/lib-es/nft/nftId.d.ts.map +1 -0
- package/lib-es/nft/nftId.js +29 -0
- package/lib-es/nft/nftId.js.map +1 -0
- package/lib-es/operation.d.ts +24 -0
- package/lib-es/operation.d.ts.map +1 -0
- package/lib-es/operation.js +168 -0
- package/lib-es/operation.js.map +1 -0
- package/lib-es/promise.d.ts +21 -0
- package/lib-es/promise.d.ts.map +1 -0
- package/lib-es/promise.js +179 -0
- package/lib-es/promise.js.map +1 -0
- package/lib-es/promise.test.d.ts +2 -0
- package/lib-es/promise.test.d.ts.map +1 -0
- package/lib-es/promise.test.js +70 -0
- package/lib-es/promise.test.js.map +1 -0
- package/lib-es/rangeDates.d.ts +29 -0
- package/lib-es/rangeDates.d.ts.map +1 -0
- package/lib-es/rangeDates.js +84 -0
- package/lib-es/rangeDates.js.map +1 -0
- package/lib-es/rangeDates.test.d.ts +2 -0
- package/lib-es/rangeDates.test.d.ts.map +1 -0
- package/lib-es/rangeDates.test.js +49 -0
- package/lib-es/rangeDates.test.js.map +1 -0
- package/lib-es/test-helpers/staticTime.d.ts +2 -0
- package/lib-es/test-helpers/staticTime.d.ts.map +1 -0
- package/lib-es/test-helpers/staticTime.js +5 -0
- package/lib-es/test-helpers/staticTime.js.map +1 -0
- package/lib-es/transaction/common.d.ts +26 -0
- package/lib-es/transaction/common.d.ts.map +1 -0
- package/lib-es/transaction/common.js +115 -0
- package/lib-es/transaction/common.js.map +1 -0
- package/package.json +113 -0
- package/src/__snapshots__/account.test.ts.snap +2065 -0
- package/src/__snapshots__/cross.test.ts.snap +57 -0
- package/src/account/accountId.ts +93 -0
- package/src/account/accountName.ts +25 -0
- package/src/account/addAccounts.ts +236 -0
- package/src/account/balanceHistoryCache.ts +146 -0
- package/src/account/groupOperations.ts +164 -0
- package/src/account/helpers.test.ts +441 -0
- package/src/account/helpers.ts +380 -0
- package/src/account/index.ts +10 -0
- package/src/account/ordering.ts +109 -0
- package/src/account/pending.ts +66 -0
- package/src/account/serialization.ts +189 -0
- package/src/account/support.ts +96 -0
- package/src/account.test.ts +237 -0
- package/src/bot/bot-test-context.test.ts +37 -0
- package/src/bot/bot-test-context.ts +24 -0
- package/src/bot/formatters.ts +22 -0
- package/src/bot/specs.ts +275 -0
- package/src/bot/types.ts +224 -0
- package/src/bridge/getAddressWrapper.ts +40 -0
- package/src/bridge/jsHelpers.ts +645 -0
- package/src/cache.ts +65 -0
- package/src/cross.test.ts +112 -0
- package/src/cross.ts +366 -0
- package/src/currencies/BigNumberToLocaleString.test.ts +155 -0
- package/src/currencies/BigNumberToLocaleString.ts +80 -0
- package/src/currencies/CurrencyURIScheme.ts +114 -0
- package/src/currencies/chopCurrencyUnitDecimals.ts +34 -0
- package/src/currencies/formatCurrencyUnit.ts +167 -0
- package/src/currencies/formatShort.ts +24 -0
- package/src/currencies/index.ts +78 -0
- package/src/currencies/localeUtility.ts +50 -0
- package/src/currencies/parseCurrencyUnit.ts +16 -0
- package/src/currencies/sanitizeValueString.ts +58 -0
- package/src/currencies/support.ts +107 -0
- package/src/currencies/valueFromUnit.ts +10 -0
- package/src/derivation.ts +595 -0
- package/src/env.ts +780 -0
- package/src/errors.test.ts +21 -0
- package/src/errors.ts +9 -0
- package/src/mocks/account.ts +476 -0
- package/src/mocks/fixtures/nfts.test.ts +25 -0
- package/src/mocks/fixtures/nfts.ts +432 -0
- package/src/mocks/helpers.ts +38 -0
- package/src/network.ts +135 -0
- package/src/nft/nftId.ts +26 -0
- package/src/operation.ts +212 -0
- package/src/promise.test.ts +20 -0
- package/src/promise.ts +101 -0
- package/src/rangeDates.test.ts +66 -0
- package/src/rangeDates.ts +96 -0
- package/src/test-helpers/staticTime.ts +4 -0
- package/src/transaction/common.ts +157 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AccountIdParams, DerivationMode } from "@ledgerhq/types-live";
|
|
2
|
+
import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
3
|
+
export declare function encodeAccountId({ type, version, currencyId, xpubOrAddress, derivationMode, }: AccountIdParams): string;
|
|
4
|
+
export declare function encodeTokenAccountId(accountId: string, token: TokenCurrency): string;
|
|
5
|
+
export declare function decodeTokenAccountId(id: string): {
|
|
6
|
+
accountId: string;
|
|
7
|
+
token: TokenCurrency | null | undefined;
|
|
8
|
+
};
|
|
9
|
+
export declare function decodeAccountId(accountId: string): AccountIdParams;
|
|
10
|
+
export declare function getWalletName({ seedIdentifier, derivationMode, currency, }: {
|
|
11
|
+
seedIdentifier: string;
|
|
12
|
+
derivationMode: DerivationMode;
|
|
13
|
+
currency: CryptoCurrency;
|
|
14
|
+
}): string;
|
|
15
|
+
export declare const inferFamilyFromAccountId: (accountId: string) => string | null | undefined;
|
|
16
|
+
//# sourceMappingURL=accountId.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountId.d.ts","sourceRoot":"","sources":["../../src/account/accountId.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,8BAA8B,CAAC;AAWtC,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,OAAO,EACP,UAAU,EACV,aAAa,EACb,cAAc,GACf,EAAE,eAAe,GAAG,MAAM,CAQ1B;AACD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,aAAa,GACnB,MAAM,CAER;AACD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAYA;AACD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAYlE;AAGD,wBAAgB,aAAa,CAAC,EAC5B,cAAc,EACd,cAAc,EACd,QAAQ,GACT,EAAE;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,cAAc,CAAC;CAC1B,GAAG,MAAM,CAET;AACD,eAAO,MAAM,wBAAwB,EAAE,CACrC,SAAS,EAAE,MAAM,KACd,MAAM,GAAG,IAAI,GAAG,SAOnB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
|
+
};
|
|
21
|
+
exports.__esModule = true;
|
|
22
|
+
exports.inferFamilyFromAccountId = exports.getWalletName = exports.decodeAccountId = exports.decodeTokenAccountId = exports.encodeTokenAccountId = exports.encodeAccountId = void 0;
|
|
23
|
+
var memoize_1 = __importDefault(require("lodash/memoize"));
|
|
24
|
+
var invariant_1 = __importDefault(require("invariant"));
|
|
25
|
+
var derivation_1 = require("../derivation");
|
|
26
|
+
var currencies_1 = require("../currencies");
|
|
27
|
+
var cryptoassets_1 = require("@ledgerhq/cryptoassets");
|
|
28
|
+
function ensureNoColon(value, ctx) {
|
|
29
|
+
(0, invariant_1["default"])(!value.includes(":"), "AccountId '%s' component must not use colon", ctx);
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
function encodeAccountId(_a) {
|
|
33
|
+
var type = _a.type, version = _a.version, currencyId = _a.currencyId, xpubOrAddress = _a.xpubOrAddress, derivationMode = _a.derivationMode;
|
|
34
|
+
return "".concat(ensureNoColon(type, "type"), ":").concat(ensureNoColon(version, "version"), ":").concat(ensureNoColon(currencyId, "currencyId"), ":").concat(ensureNoColon(xpubOrAddress, "xpubOrAddress"), ":").concat(ensureNoColon(derivationMode, "derivationMode"));
|
|
35
|
+
}
|
|
36
|
+
exports.encodeAccountId = encodeAccountId;
|
|
37
|
+
function encodeTokenAccountId(accountId, token) {
|
|
38
|
+
return accountId + "+" + encodeURIComponent(token.id);
|
|
39
|
+
}
|
|
40
|
+
exports.encodeTokenAccountId = encodeTokenAccountId;
|
|
41
|
+
function decodeTokenAccountId(id) {
|
|
42
|
+
var _a = __read(id.split("+"), 2), accountId = _a[0], tokenId = _a[1];
|
|
43
|
+
var decodedTokenId = decodeURIComponent(tokenId);
|
|
44
|
+
var token = (0, currencies_1.findTokenById)(decodedTokenId);
|
|
45
|
+
if (!token) {
|
|
46
|
+
var currencyId = decodeAccountId(accountId).currencyId;
|
|
47
|
+
token = (0, cryptoassets_1.findTokenByAddressInCurrency)(decodedTokenId, currencyId);
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
accountId: accountId,
|
|
51
|
+
token: token
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
exports.decodeTokenAccountId = decodeTokenAccountId;
|
|
55
|
+
function decodeAccountId(accountId) {
|
|
56
|
+
(0, invariant_1["default"])(typeof accountId === "string", "accountId is not a string");
|
|
57
|
+
var splitted = accountId.split(":");
|
|
58
|
+
(0, invariant_1["default"])(splitted.length === 5, "invalid size for accountId");
|
|
59
|
+
var _a = __read(splitted, 5), type = _a[0], version = _a[1], currencyId = _a[2], xpubOrAddress = _a[3], derivationMode = _a[4];
|
|
60
|
+
return {
|
|
61
|
+
type: type,
|
|
62
|
+
version: version,
|
|
63
|
+
currencyId: currencyId,
|
|
64
|
+
xpubOrAddress: xpubOrAddress,
|
|
65
|
+
derivationMode: (0, derivation_1.asDerivationMode)(derivationMode)
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
exports.decodeAccountId = decodeAccountId;
|
|
69
|
+
// you can pass account because type is shape of Account
|
|
70
|
+
// wallet name is a lib-core concept that usually identify a pool of accounts with the same (seed, cointype, derivation scheme) config.
|
|
71
|
+
function getWalletName(_a) {
|
|
72
|
+
var seedIdentifier = _a.seedIdentifier, derivationMode = _a.derivationMode, currency = _a.currency;
|
|
73
|
+
return "".concat(seedIdentifier, "_").concat(currency.id, "_").concat(derivationMode);
|
|
74
|
+
}
|
|
75
|
+
exports.getWalletName = getWalletName;
|
|
76
|
+
exports.inferFamilyFromAccountId = (0, memoize_1["default"])(function (accountId) {
|
|
77
|
+
try {
|
|
78
|
+
var currencyId = decodeAccountId(accountId).currencyId;
|
|
79
|
+
return (0, currencies_1.getCryptoCurrencyById)(currencyId).family;
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=accountId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountId.js","sourceRoot":"","sources":["../../src/account/accountId.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
2
|
+
import { Account, DerivationMode } from "@ledgerhq/types-live";
|
|
3
|
+
export declare const getAccountPlaceholderName: ({ currency, index, }: {
|
|
4
|
+
currency: CryptoCurrency;
|
|
5
|
+
index: number;
|
|
6
|
+
derivationMode: DerivationMode;
|
|
7
|
+
}) => string;
|
|
8
|
+
export declare const getNewAccountPlaceholderName: ({ currency, index, }: {
|
|
9
|
+
currency: CryptoCurrency;
|
|
10
|
+
index: number;
|
|
11
|
+
derivationMode: DerivationMode;
|
|
12
|
+
}) => string;
|
|
13
|
+
export declare const validateNameEdition: (account: Account, name?: string | null | undefined) => string;
|
|
14
|
+
//# sourceMappingURL=accountName.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountName.d.ts","sourceRoot":"","sources":["../../src/account/accountName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG/D,eAAO,MAAM,yBAAyB;cAI1B,cAAc;WACjB,MAAM;oBACG,cAAc;MAC5B,MAEH,CAAC;AACF,eAAO,MAAM,4BAA4B;cAN7B,cAAc;WACjB,MAAM;oBACG,cAAc;MAC5B,MAGiE,CAAC;AAEtE,eAAO,MAAM,mBAAmB,YACrB,OAAO,SACT,MAAM,GAAG,IAAI,GAAG,SAAS,KAC/B,MAKgC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.validateNameEdition = exports.getNewAccountPlaceholderName = exports.getAccountPlaceholderName = void 0;
|
|
4
|
+
var MAX_ACCOUNT_NAME_SIZE = 50;
|
|
5
|
+
var getAccountPlaceholderName = function (_a) {
|
|
6
|
+
var currency = _a.currency, index = _a.index;
|
|
7
|
+
return "".concat(currency.name, " ").concat(index + 1);
|
|
8
|
+
};
|
|
9
|
+
exports.getAccountPlaceholderName = getAccountPlaceholderName;
|
|
10
|
+
exports.getNewAccountPlaceholderName = exports.getAccountPlaceholderName; // same naming
|
|
11
|
+
var validateNameEdition = function (account, name) {
|
|
12
|
+
return ((name || account.name || "").replace(/\s+/g, " ").trim() ||
|
|
13
|
+
account.name ||
|
|
14
|
+
(0, exports.getAccountPlaceholderName)(account)).slice(0, MAX_ACCOUNT_NAME_SIZE);
|
|
15
|
+
};
|
|
16
|
+
exports.validateNameEdition = validateNameEdition;
|
|
17
|
+
//# sourceMappingURL=accountName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountName.js","sourceRoot":"","sources":["../../src/account/accountName.ts"],"names":[],"mappings":";;;AAGA,IAAM,qBAAqB,GAAG,EAAE,CAAC;AAC1B,IAAM,yBAAyB,GAAG,UAAC,EAOzC;QANC,QAAQ,cAAA,EACR,KAAK,WAAA;IAML,OAAO,UAAG,QAAQ,CAAC,IAAI,cAAI,KAAK,GAAG,CAAC,CAAE,CAAC;AACzC,CAAC,CAAC;AATW,QAAA,yBAAyB,6BASpC;AACW,QAAA,4BAA4B,GAAG,iCAAyB,CAAC,CAAC,cAAc;AAE9E,IAAM,mBAAmB,GAAG,UACjC,OAAgB,EAChB,IAAgC;IAEhC,OAAA,CACE,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;QACxD,OAAO,CAAC,IAAI;QACZ,IAAA,iCAAyB,EAAC,OAAO,CAAC,CACnC,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC;AAJjC,CAIiC,CAAC;AARvB,QAAA,mBAAmB,uBAQI"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Account, DerivationMode } from "@ledgerhq/types-live";
|
|
2
|
+
export type AddAccountSupportLink = {
|
|
3
|
+
id: "segwit_or_native_segwit";
|
|
4
|
+
url: string;
|
|
5
|
+
};
|
|
6
|
+
export type AddAccountsSection = {
|
|
7
|
+
id: string;
|
|
8
|
+
selectable: boolean;
|
|
9
|
+
defaultSelected: boolean;
|
|
10
|
+
data: Account[];
|
|
11
|
+
supportLink?: AddAccountSupportLink;
|
|
12
|
+
};
|
|
13
|
+
export type AddAccountsSectionResult = {
|
|
14
|
+
sections: AddAccountsSection[];
|
|
15
|
+
alreadyEmptyAccount: Account | null | undefined;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* logic that for the Add Accounts sectioned list
|
|
19
|
+
*/
|
|
20
|
+
export declare function groupAddAccounts(existingAccounts: Account[], scannedAccounts: Account[], context: {
|
|
21
|
+
scanning: boolean;
|
|
22
|
+
preferredNewAccountSchemes?: DerivationMode[];
|
|
23
|
+
}): AddAccountsSectionResult;
|
|
24
|
+
export type AddAccountsProps = {
|
|
25
|
+
existingAccounts: Account[];
|
|
26
|
+
scannedAccounts: Account[];
|
|
27
|
+
selectedIds: string[];
|
|
28
|
+
renamings: Record<string, string>;
|
|
29
|
+
};
|
|
30
|
+
export declare function migrateAccounts({ scannedAccounts, existingAccounts, }: {
|
|
31
|
+
scannedAccounts: Account[];
|
|
32
|
+
existingAccounts: Account[];
|
|
33
|
+
}): Account[];
|
|
34
|
+
export declare function addAccounts({ scannedAccounts, existingAccounts, selectedIds, renamings, }: AddAccountsProps): Account[];
|
|
35
|
+
//# sourceMappingURL=addAccounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addAccounts.d.ts","sourceRoot":"","sources":["../../src/account/addAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQpE,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,yBAAyB,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,mBAAmB,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;CACjD,CAAC;AAYF;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,OAAO,EAAE,EAC3B,eAAe,EAAE,OAAO,EAAE,EAC1B,OAAO,EAAE;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,0BAA0B,CAAC,EAAE,cAAc,EAAE,CAAC;CAC/C,GACA,wBAAwB,CAoG1B;AACD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC;AAOF,wBAAgB,eAAe,CAAC,EAC9B,eAAe,EACf,gBAAgB,GACjB,EAAE;IACD,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,gBAAgB,EAAE,OAAO,EAAE,CAAC;CAC7B,GAAG,OAAO,EAAE,CAgBZ;AACD,wBAAgB,WAAW,CAAC,EAC1B,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,SAAS,GACV,EAAE,gBAAgB,GAAG,OAAO,EAAE,CAkD9B"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
|
17
|
+
try {
|
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
19
|
+
}
|
|
20
|
+
catch (error) { e = { error: error }; }
|
|
21
|
+
finally {
|
|
22
|
+
try {
|
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
24
|
+
}
|
|
25
|
+
finally { if (e) throw e.error; }
|
|
26
|
+
}
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
30
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
31
|
+
if (ar || !(i in from)) {
|
|
32
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
33
|
+
ar[i] = from[i];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
exports.__esModule = true;
|
|
42
|
+
exports.addAccounts = exports.migrateAccounts = exports.groupAddAccounts = void 0;
|
|
43
|
+
var uniqWith_1 = __importDefault(require("lodash/uniqWith"));
|
|
44
|
+
var accountName_1 = require("./accountName");
|
|
45
|
+
var helpers_1 = require("./helpers");
|
|
46
|
+
var support_1 = require("./support");
|
|
47
|
+
function sameAccountIdentity(a, b) {
|
|
48
|
+
return (a.id === b.id ||
|
|
49
|
+
(a.freshAddress
|
|
50
|
+
? a.currency === b.currency && a.freshAddress === b.freshAddress
|
|
51
|
+
: false) ||
|
|
52
|
+
(a.xpub ? a.currency === b.currency && a.xpub === b.xpub : false));
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* logic that for the Add Accounts sectioned list
|
|
56
|
+
*/
|
|
57
|
+
function groupAddAccounts(existingAccounts, scannedAccounts, context) {
|
|
58
|
+
var importedAccounts = [];
|
|
59
|
+
var importableAccounts = [];
|
|
60
|
+
var creatableAccounts = [];
|
|
61
|
+
var migrateAccounts = [];
|
|
62
|
+
var alreadyEmptyAccount = null;
|
|
63
|
+
var scannedAccountsWithoutMigrate = __spreadArray([], __read(scannedAccounts), false);
|
|
64
|
+
existingAccounts.forEach(function (existingAccount) {
|
|
65
|
+
var migrate = (0, support_1.findAccountMigration)(existingAccount, scannedAccountsWithoutMigrate);
|
|
66
|
+
if (migrate) {
|
|
67
|
+
migrateAccounts.push(__assign(__assign({}, migrate), { name: existingAccount.name }));
|
|
68
|
+
var index = scannedAccountsWithoutMigrate.indexOf(migrate);
|
|
69
|
+
if (index !== -1) {
|
|
70
|
+
scannedAccountsWithoutMigrate[index] =
|
|
71
|
+
scannedAccountsWithoutMigrate[scannedAccountsWithoutMigrate.length - 1];
|
|
72
|
+
scannedAccountsWithoutMigrate.pop();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
scannedAccountsWithoutMigrate.forEach(function (acc) {
|
|
77
|
+
var existingAccount = existingAccounts.find(function (a) {
|
|
78
|
+
return sameAccountIdentity(a, acc);
|
|
79
|
+
});
|
|
80
|
+
if (existingAccount) {
|
|
81
|
+
if (!acc.used && !alreadyEmptyAccount) {
|
|
82
|
+
alreadyEmptyAccount = existingAccount;
|
|
83
|
+
}
|
|
84
|
+
importedAccounts.push(existingAccount);
|
|
85
|
+
}
|
|
86
|
+
else if (!acc.used) {
|
|
87
|
+
creatableAccounts.push(acc);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
importableAccounts.push(acc);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
var sections = [];
|
|
94
|
+
if (importableAccounts.length) {
|
|
95
|
+
sections.push({
|
|
96
|
+
id: "importable",
|
|
97
|
+
selectable: true,
|
|
98
|
+
defaultSelected: true,
|
|
99
|
+
data: importableAccounts
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
if (migrateAccounts.length) {
|
|
103
|
+
sections.push({
|
|
104
|
+
id: "migrate",
|
|
105
|
+
selectable: true,
|
|
106
|
+
defaultSelected: true,
|
|
107
|
+
data: migrateAccounts
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
if (!context.scanning || creatableAccounts.length) {
|
|
111
|
+
// NB if data is empty, need to do custom placeholder that depends on alreadyEmptyAccount
|
|
112
|
+
sections.push({
|
|
113
|
+
id: "creatable",
|
|
114
|
+
selectable: true,
|
|
115
|
+
defaultSelected: false,
|
|
116
|
+
data: context.preferredNewAccountSchemes &&
|
|
117
|
+
context.preferredNewAccountSchemes.length > 0
|
|
118
|
+
? creatableAccounts.filter(function (a) {
|
|
119
|
+
return context.preferredNewAccountSchemes &&
|
|
120
|
+
// Note: we could use a simple preferredNewAccountScheme param
|
|
121
|
+
a.derivationMode === context.preferredNewAccountSchemes[0];
|
|
122
|
+
})
|
|
123
|
+
: creatableAccounts
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
if (importedAccounts.length) {
|
|
127
|
+
sections.push({
|
|
128
|
+
id: "imported",
|
|
129
|
+
selectable: false,
|
|
130
|
+
defaultSelected: false,
|
|
131
|
+
data: importedAccounts
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
sections: sections,
|
|
136
|
+
alreadyEmptyAccount: alreadyEmptyAccount
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
exports.groupAddAccounts = groupAddAccounts;
|
|
140
|
+
var preserveUserData = function (update, existing) { return (__assign(__assign({}, update), { name: existing.name })); };
|
|
141
|
+
function migrateAccounts(_a) {
|
|
142
|
+
var scannedAccounts = _a.scannedAccounts, existingAccounts = _a.existingAccounts;
|
|
143
|
+
// subset of scannedAccounts that exists to not add them but just do migration part
|
|
144
|
+
var subset = [];
|
|
145
|
+
existingAccounts.forEach(function (existing) {
|
|
146
|
+
var migration = (0, support_1.findAccountMigration)(existing, scannedAccounts);
|
|
147
|
+
if (migration && !subset.some(function (a) { return a.id === migration.id; })) {
|
|
148
|
+
subset.push(migration);
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
return addAccounts({
|
|
152
|
+
scannedAccounts: subset,
|
|
153
|
+
existingAccounts: existingAccounts,
|
|
154
|
+
selectedIds: subset.map(function (a) { return a.id; }),
|
|
155
|
+
renamings: {}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
exports.migrateAccounts = migrateAccounts;
|
|
159
|
+
function addAccounts(_a) {
|
|
160
|
+
var scannedAccounts = _a.scannedAccounts, existingAccounts = _a.existingAccounts, selectedIds = _a.selectedIds, renamings = _a.renamings;
|
|
161
|
+
var newAccounts = [];
|
|
162
|
+
// scanned accounts that was selected
|
|
163
|
+
var selected = scannedAccounts.filter(function (a) { return selectedIds.includes(a.id); });
|
|
164
|
+
// we'll search for potential migration and append to newAccounts
|
|
165
|
+
existingAccounts.forEach(function (existing) {
|
|
166
|
+
var migration = (0, support_1.findAccountMigration)(existing, selected);
|
|
167
|
+
if (migration) {
|
|
168
|
+
if (!newAccounts.some(function (a) { return a.id === migration.id; })) {
|
|
169
|
+
newAccounts.push(preserveUserData(migration, existing));
|
|
170
|
+
var index = selected.indexOf(migration);
|
|
171
|
+
if (index !== -1) {
|
|
172
|
+
selected[index] = selected[selected.length - 1];
|
|
173
|
+
selected.pop();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
// we'll try to find an updated version of the existing account as opportunity to refresh the operations
|
|
179
|
+
var update = selected.find(function (a) { return sameAccountIdentity(a, existing); });
|
|
180
|
+
if (update) {
|
|
181
|
+
// preserve existing name
|
|
182
|
+
var acc = preserveUserData(update, existing);
|
|
183
|
+
if (update.id !== existing.id) {
|
|
184
|
+
acc = (0, helpers_1.clearAccount)(acc);
|
|
185
|
+
}
|
|
186
|
+
newAccounts.push(acc);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
newAccounts.push(existing);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
// append the new accounts
|
|
194
|
+
selected.forEach(function (acc) {
|
|
195
|
+
var alreadyThere = newAccounts.find(function (a) { return sameAccountIdentity(a, acc); });
|
|
196
|
+
if (!alreadyThere) {
|
|
197
|
+
newAccounts.push(acc);
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
// dedup and apply the renaming
|
|
201
|
+
return (0, uniqWith_1["default"])(newAccounts, sameAccountIdentity).map(function (a) {
|
|
202
|
+
var name = (0, accountName_1.validateNameEdition)(a, renamings[a.id]);
|
|
203
|
+
if (name)
|
|
204
|
+
return __assign(__assign({}, a), { name: name });
|
|
205
|
+
return a;
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
exports.addAccounts = addAccounts;
|
|
209
|
+
//# sourceMappingURL=addAccounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addAccounts.js","sourceRoot":"","sources":["../../src/account/addAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6DAAuC;AACvC,6CAAoD;AACpD,qCAAyC;AACzC,qCAAiD;AAoBjD,SAAS,mBAAmB,CAAC,CAAU,EAAE,CAAU;IACjD,OAAO,CACL,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;QACb,CAAC,CAAC,CAAC,YAAY;YACb,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY;YAChE,CAAC,CAAC,KAAK,CAAC;QACV,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAClE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,gBAA2B,EAC3B,eAA0B,EAC1B,OAGC;IAED,IAAM,gBAAgB,GAAc,EAAE,CAAC;IACvC,IAAM,kBAAkB,GAAc,EAAE,CAAC;IACzC,IAAM,iBAAiB,GAAc,EAAE,CAAC;IACxC,IAAM,eAAe,GAAc,EAAE,CAAC;IACtC,IAAI,mBAAmB,GAAmB,IAAI,CAAC;IAC/C,IAAM,6BAA6B,4BAAO,eAAe,SAAC,CAAC;IAC3D,gBAAgB,CAAC,OAAO,CAAC,UAAC,eAAe;QACvC,IAAM,OAAO,GAAG,IAAA,8BAAoB,EAClC,eAAe,EACf,6BAA6B,CAC9B,CAAC;QAEF,IAAI,OAAO,EAAE;YACX,eAAe,CAAC,IAAI,uBAAM,OAAO,KAAE,IAAI,EAAE,eAAe,CAAC,IAAI,IAAG,CAAC;YACjE,IAAM,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE7D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,6BAA6B,CAAC,KAAK,CAAC;oBAClC,6BAA6B,CAC3B,6BAA6B,CAAC,MAAM,GAAG,CAAC,CACzC,CAAC;gBACJ,6BAA6B,CAAC,GAAG,EAAE,CAAC;aACrC;SACF;IACH,CAAC,CAAC,CAAC;IACH,6BAA6B,CAAC,OAAO,CAAC,UAAC,GAAG;QACxC,IAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAC,CAAC;YAC9C,OAAA,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC;QAA3B,CAA2B,CAC5B,CAAC;QAEF,IAAI,eAAe,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBACrC,mBAAmB,GAAG,eAAe,CAAC;aACvC;YAED,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACxC;aAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YACpB,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC7B;aAAM;YACL,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC,CAAC;IACH,IAAM,QAAQ,GAKT,EAAE,CAAC;IAER,IAAI,kBAAkB,CAAC,MAAM,EAAE;QAC7B,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,YAAY;YAChB,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAC;KACJ;IAED,IAAI,eAAe,CAAC,MAAM,EAAE;QAC1B,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,SAAS;YACb,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE,eAAe;SACtB,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC,MAAM,EAAE;QACjD,yFAAyF;QACzF,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,WAAW;YACf,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,KAAK;YACtB,IAAI,EACF,OAAO,CAAC,0BAA0B;gBAClC,OAAO,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC;gBAC3C,CAAC,CAAC,iBAAiB,CAAC,MAAM,CACtB,UAAC,CAAC;oBACA,OAAA,OAAO,CAAC,0BAA0B;wBAClC,8DAA8D;wBAC9D,CAAC,CAAC,cAAc,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBAF1D,CAE0D,CAC7D;gBACH,CAAC,CAAC,iBAAiB;SACxB,CAAC,CAAC;KACJ;IAED,IAAI,gBAAgB,CAAC,MAAM,EAAE;QAC3B,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,UAAU;YACd,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,gBAAgB;SACvB,CAAC,CAAC;KACJ;IAED,OAAO;QACL,QAAQ,UAAA;QACR,mBAAmB,qBAAA;KACpB,CAAC;AACJ,CAAC;AA3GD,4CA2GC;AAQD,IAAM,gBAAgB,GAAG,UAAC,MAAe,EAAE,QAAiB,IAAc,OAAA,uBACrE,MAAM,KACT,IAAI,EAAE,QAAQ,CAAC,IAAI,IACnB,EAHwE,CAGxE,CAAC;AAEH,SAAgB,eAAe,CAAC,EAM/B;QALC,eAAe,qBAAA,EACf,gBAAgB,sBAAA;IAKhB,mFAAmF;IACnF,IAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,gBAAgB,CAAC,OAAO,CAAC,UAAC,QAAQ;QAChC,IAAM,SAAS,GAAG,IAAA,8BAAoB,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAElE,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,EAArB,CAAqB,CAAC,EAAE;YAC3D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;QACjB,eAAe,EAAE,MAAM;QACvB,gBAAgB,kBAAA;QAChB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,EAAJ,CAAI,CAAC;QACpC,SAAS,EAAE,EAAE;KACd,CAAC,CAAC;AACL,CAAC;AAtBD,0CAsBC;AACD,SAAgB,WAAW,CAAC,EAKT;QAJjB,eAAe,qBAAA,EACf,gBAAgB,sBAAA,EAChB,WAAW,iBAAA,EACX,SAAS,eAAA;IAET,IAAM,WAAW,GAAc,EAAE,CAAC;IAClC,qCAAqC;IACrC,IAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAA1B,CAA0B,CAAC,CAAC;IAC3E,iEAAiE;IACjE,gBAAgB,CAAC,OAAO,CAAC,UAAC,QAAQ;QAChC,IAAM,SAAS,GAAG,IAAA,8BAAoB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE3D,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,EAArB,CAAqB,CAAC,EAAE;gBACnD,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACxD,IAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAE1C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAChD,QAAQ,CAAC,GAAG,EAAE,CAAC;iBAChB;aACF;SACF;aAAM;YACL,wGAAwG;YACxG,IAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAhC,CAAgC,CAAC,CAAC;YAEtE,IAAI,MAAM,EAAE;gBACV,yBAAyB;gBACzB,IAAI,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAE7C,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE;oBAC7B,GAAG,GAAG,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC;iBACzB;gBAED,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACvB;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5B;SACF;IACH,CAAC,CAAC,CAAC;IACH,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,CAAC,UAAC,GAAG;QACnB,IAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC,EAA3B,CAA2B,CAAC,CAAC;QAE1E,IAAI,CAAC,YAAY,EAAE;YACjB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IACH,+BAA+B;IAC/B,OAAO,IAAA,qBAAQ,EAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC;QACtD,IAAM,IAAI,GAAG,IAAA,iCAAmB,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,IAAI,IAAI;YAAE,6BAAY,CAAC,KAAE,IAAI,MAAA,IAAG;QAChC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAvDD,kCAuDC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { GranularityId, BalanceHistoryCache, AccountLike, Account } from "@ledgerhq/types-live";
|
|
2
|
+
export declare const emptyHistoryCache: {
|
|
3
|
+
HOUR: {
|
|
4
|
+
latestDate: null;
|
|
5
|
+
balances: never[];
|
|
6
|
+
};
|
|
7
|
+
DAY: {
|
|
8
|
+
latestDate: null;
|
|
9
|
+
balances: never[];
|
|
10
|
+
};
|
|
11
|
+
WEEK: {
|
|
12
|
+
latestDate: null;
|
|
13
|
+
balances: never[];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export declare function generateHistoryFromOperations(account: AccountLike): BalanceHistoryCache;
|
|
17
|
+
/**
|
|
18
|
+
* get the current balance history of the account. if possible from the cache.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getAccountHistoryBalances(account: AccountLike, g: GranularityId): number[];
|
|
21
|
+
/**
|
|
22
|
+
* utility used at the end of an account synchronisation to recalculate the balance history if necessary
|
|
23
|
+
*/
|
|
24
|
+
export declare function recalculateAccountBalanceHistories(res: Account, prev: Account): Account;
|
|
25
|
+
//# sourceMappingURL=balanceHistoryCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balanceHistoryCache.d.ts","sourceRoot":"","sources":["../../src/account/balanceHistoryCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAEnB,WAAW,EACX,OAAO,EAER,MAAM,sBAAsB,CAAC;AAG9B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAa7B,CAAC;AAkDF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,WAAW,GACnB,mBAAmB,CAMrB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,EACpB,CAAC,EAAE,aAAa,GACf,MAAM,EAAE,CAWV;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,OAAO,GACZ,OAAO,CAqCT"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
exports.__esModule = true;
|
|
14
|
+
exports.recalculateAccountBalanceHistories = exports.getAccountHistoryBalances = exports.generateHistoryFromOperations = exports.emptyHistoryCache = void 0;
|
|
15
|
+
var operation_1 = require("../operation");
|
|
16
|
+
var rangeDates_1 = require("../rangeDates");
|
|
17
|
+
exports.emptyHistoryCache = {
|
|
18
|
+
HOUR: {
|
|
19
|
+
latestDate: null,
|
|
20
|
+
balances: []
|
|
21
|
+
},
|
|
22
|
+
DAY: {
|
|
23
|
+
latestDate: null,
|
|
24
|
+
balances: []
|
|
25
|
+
},
|
|
26
|
+
WEEK: {
|
|
27
|
+
latestDate: null,
|
|
28
|
+
balances: []
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
function generateHistoryFromOperationsG(account, g, // partial=true allows a faster implementation that only recompose the last part of the history
|
|
32
|
+
// to only use when we do not recalculate the history but we just want to access it
|
|
33
|
+
partial) {
|
|
34
|
+
if (partial === void 0) { partial = false; }
|
|
35
|
+
var _a = rangeDates_1.granularities[g], increment = _a.increment, startOf = _a.startOf, maxDatapoints = _a.maxDatapoints;
|
|
36
|
+
var latestDate = startOf(new Date()).getTime();
|
|
37
|
+
var balances = [];
|
|
38
|
+
var balance = account.balance;
|
|
39
|
+
var operationsLength = account.operations.length;
|
|
40
|
+
var date = latestDate;
|
|
41
|
+
var reference = account.balanceHistoryCache[g];
|
|
42
|
+
for (var i = 0; i < operationsLength;) {
|
|
43
|
+
if ((partial && reference.latestDate && date < reference.latestDate) ||
|
|
44
|
+
balances.length > maxDatapoints) {
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
// accumulate operations after time t
|
|
48
|
+
while (i < operationsLength &&
|
|
49
|
+
// FIXME: added valueOf here to make typescript happy
|
|
50
|
+
account.operations[i].date.valueOf() > date) {
|
|
51
|
+
balance = balance.minus((0, operation_1.getOperationAmountNumberWithInternals)(account.operations[i]));
|
|
52
|
+
i++;
|
|
53
|
+
}
|
|
54
|
+
balances.unshift(Math.max(balance.toNumber(), 0));
|
|
55
|
+
date -= increment;
|
|
56
|
+
}
|
|
57
|
+
if (partial) {
|
|
58
|
+
balances = reference.balances.concat(balances);
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
balances: balances,
|
|
62
|
+
latestDate: latestDate
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function generateHistoryFromOperations(account) {
|
|
66
|
+
return {
|
|
67
|
+
HOUR: generateHistoryFromOperationsG(account, "HOUR"),
|
|
68
|
+
DAY: generateHistoryFromOperationsG(account, "DAY"),
|
|
69
|
+
WEEK: generateHistoryFromOperationsG(account, "WEEK")
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
exports.generateHistoryFromOperations = generateHistoryFromOperations;
|
|
73
|
+
/**
|
|
74
|
+
* get the current balance history of the account. if possible from the cache.
|
|
75
|
+
*/
|
|
76
|
+
function getAccountHistoryBalances(account, g) {
|
|
77
|
+
var _a = account.balanceHistoryCache[g], balances = _a.balances, latestDate = _a.latestDate;
|
|
78
|
+
var startOf = rangeDates_1.granularities[g].startOf;
|
|
79
|
+
var now = startOf(new Date()).getTime();
|
|
80
|
+
if (latestDate && latestDate === now) {
|
|
81
|
+
return balances;
|
|
82
|
+
}
|
|
83
|
+
// account cache was not up to date. recalculating on the fly
|
|
84
|
+
return generateHistoryFromOperationsG(account, g, true).balances;
|
|
85
|
+
}
|
|
86
|
+
exports.getAccountHistoryBalances = getAccountHistoryBalances;
|
|
87
|
+
/**
|
|
88
|
+
* utility used at the end of an account synchronisation to recalculate the balance history if necessary
|
|
89
|
+
*/
|
|
90
|
+
function recalculateAccountBalanceHistories(res, prev) {
|
|
91
|
+
// recalculate balance history cache
|
|
92
|
+
if (prev.balanceHistoryCache === res.balanceHistoryCache) {
|
|
93
|
+
// we only regenerate if it was not overriden by the implemenetation.
|
|
94
|
+
res = __assign(__assign({}, res), { balanceHistoryCache: generateHistoryFromOperations(res) });
|
|
95
|
+
}
|
|
96
|
+
var prevSubAccounts = prev.subAccounts;
|
|
97
|
+
var nextSubAccounts = res.subAccounts;
|
|
98
|
+
if (nextSubAccounts &&
|
|
99
|
+
prevSubAccounts &&
|
|
100
|
+
prevSubAccounts !== nextSubAccounts) {
|
|
101
|
+
// when sub accounts changes, we need to recalculate
|
|
102
|
+
res.subAccounts = nextSubAccounts.map(function (subAccount) {
|
|
103
|
+
var old = prevSubAccounts.find(function (a) { return a.id === subAccount.id; });
|
|
104
|
+
if (!old ||
|
|
105
|
+
old.balanceHistoryCache === subAccount.balanceHistoryCache) {
|
|
106
|
+
// we only regenerate if it was not overriden by the implemenetation.
|
|
107
|
+
subAccount = __assign(__assign({}, subAccount), { balanceHistoryCache: generateHistoryFromOperations(subAccount) });
|
|
108
|
+
}
|
|
109
|
+
return subAccount;
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
return res;
|
|
113
|
+
}
|
|
114
|
+
exports.recalculateAccountBalanceHistories = recalculateAccountBalanceHistories;
|
|
115
|
+
//# sourceMappingURL=balanceHistoryCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balanceHistoryCache.js","sourceRoot":"","sources":["../../src/account/balanceHistoryCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AccountLike, AccountLikeArray, DailyOperations, Operation } from "@ledgerhq/types-live";
|
|
2
|
+
type GroupOpsByDayOpts = {
|
|
3
|
+
count: number;
|
|
4
|
+
withSubAccounts?: boolean;
|
|
5
|
+
filterOperation?: (arg0: Operation, arg1: AccountLike) => boolean;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @memberof account
|
|
9
|
+
*/
|
|
10
|
+
export declare function groupAccountsOperationsByDay(inputAccounts: AccountLikeArray, { count, withSubAccounts, filterOperation }: GroupOpsByDayOpts): DailyOperations;
|
|
11
|
+
/**
|
|
12
|
+
* Return a list of `{count}` operations grouped by day.
|
|
13
|
+
* @memberof account
|
|
14
|
+
*/
|
|
15
|
+
export declare function groupAccountOperationsByDay(account: AccountLike, arg: GroupOpsByDayOpts): DailyOperations;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=groupOperations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupOperations.d.ts","sourceRoot":"","sources":["../../src/account/groupOperations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,SAAS,EACV,MAAM,sBAAsB,CAAC;AAU9B,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;CACnE,CAAC;AAKF;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,gBAAgB,EAC/B,EAAE,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,EAAE,iBAAiB,GAC7D,eAAe,CAuHjB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,iBAAiB,GACrB,eAAe,CAGjB"}
|