@ton/appkit 0.0.5-alpha.3 → 1.0.0-alpha.1
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/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +144 -0
- package/README.md +8 -7
- package/dist/cjs/actions/connectors/watch-connector-by-id.d.ts.map +1 -1
- package/dist/cjs/actions/connectors/watch-connector-by-id.js +8 -3
- package/dist/cjs/actions/connectors/watch-connectors.d.ts.map +1 -1
- package/dist/cjs/actions/connectors/watch-connectors.js +8 -3
- package/dist/cjs/actions/index.d.ts +8 -0
- package/dist/cjs/actions/index.d.ts.map +1 -1
- package/dist/cjs/actions/index.js +18 -2
- package/dist/cjs/actions/jettons/create-transfer-jetton-transaction.d.ts +1 -1
- package/dist/cjs/actions/jettons/create-transfer-jetton-transaction.d.ts.map +1 -1
- package/dist/cjs/actions/jettons/create-transfer-jetton-transaction.js +17 -5
- package/dist/cjs/actions/jettons/get-jetton-balance.d.ts +1 -1
- package/dist/cjs/actions/jettons/get-jetton-balance.d.ts.map +1 -1
- package/dist/cjs/actions/jettons/get-jetton-balance.js +8 -3
- package/dist/cjs/actions/jettons/get-jetton-info.d.ts.map +1 -1
- package/dist/cjs/actions/jettons/get-jetton-info.js +15 -6
- package/dist/cjs/actions/jettons/get-jetton-wallet-address.d.ts +1 -1
- package/dist/cjs/actions/jettons/get-jetton-wallet-address.d.ts.map +1 -1
- package/dist/cjs/actions/jettons/get-jetton-wallet-address.js +15 -4
- package/dist/cjs/actions/nft/get-nft.d.ts +1 -1
- package/dist/cjs/actions/nft/get-nft.d.ts.map +1 -1
- package/dist/cjs/actions/providers/register-provider.d.ts +2 -1
- package/dist/cjs/actions/providers/register-provider.d.ts.map +1 -1
- package/dist/cjs/actions/staking/get-staking-provider-metadata.d.ts +19 -0
- package/dist/cjs/actions/staking/get-staking-provider-metadata.d.ts.map +1 -0
- package/dist/cjs/actions/staking/get-staking-provider-metadata.js +18 -0
- package/dist/cjs/actions/staking/get-staking-provider.d.ts +21 -0
- package/dist/cjs/actions/staking/get-staking-provider.d.ts.map +1 -0
- package/dist/cjs/actions/staking/get-staking-provider.js +17 -0
- package/dist/cjs/actions/staking/get-staking-providers.d.ts +3 -2
- package/dist/cjs/actions/staking/get-staking-providers.d.ts.map +1 -1
- package/dist/cjs/actions/staking/get-staking-providers.js +2 -2
- package/dist/cjs/actions/staking/set-default-staking-provider.d.ts +18 -0
- package/dist/cjs/actions/staking/set-default-staking-provider.d.ts.map +1 -0
- package/dist/cjs/actions/staking/set-default-staking-provider.js +18 -0
- package/dist/cjs/actions/staking/watch-staking-providers.d.ts +17 -0
- package/dist/cjs/actions/staking/watch-staking-providers.d.ts.map +1 -0
- package/dist/cjs/actions/staking/watch-staking-providers.js +28 -0
- package/dist/cjs/actions/swap/get-swap-provider.d.ts +15 -0
- package/dist/cjs/actions/swap/get-swap-provider.d.ts.map +1 -0
- package/dist/cjs/actions/swap/get-swap-provider.js +14 -0
- package/dist/cjs/actions/swap/get-swap-providers.d.ts +15 -0
- package/dist/cjs/actions/swap/get-swap-providers.d.ts.map +1 -0
- package/dist/cjs/actions/swap/get-swap-providers.js +17 -0
- package/dist/cjs/actions/swap/get-swap-quote.d.ts.map +1 -1
- package/dist/cjs/actions/swap/get-swap-quote.js +6 -1
- package/dist/cjs/actions/swap/set-default-swap-provider.d.ts +18 -0
- package/dist/cjs/actions/swap/set-default-swap-provider.d.ts.map +1 -0
- package/dist/cjs/actions/swap/set-default-swap-provider.js +18 -0
- package/dist/cjs/actions/swap/watch-swap-providers.d.ts +17 -0
- package/dist/cjs/actions/swap/watch-swap-providers.d.ts.map +1 -0
- package/dist/cjs/actions/swap/watch-swap-providers.js +29 -0
- package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.d.ts +1 -2
- package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.d.ts.map +1 -1
- package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.js +16 -18
- package/dist/cjs/core/app-kit/constants/events.d.ts +3 -8
- package/dist/cjs/core/app-kit/constants/events.d.ts.map +1 -1
- package/dist/cjs/core/app-kit/constants/events.js +4 -9
- package/dist/cjs/core/app-kit/index.d.ts +2 -2
- package/dist/cjs/core/app-kit/index.d.ts.map +1 -1
- package/dist/cjs/core/app-kit/index.js +1 -2
- package/dist/cjs/core/app-kit/services/app-kit.d.ts +5 -2
- package/dist/cjs/core/app-kit/services/app-kit.d.ts.map +1 -1
- package/dist/cjs/core/app-kit/services/app-kit.js +12 -4
- package/dist/cjs/core/app-kit/types/config.d.ts +6 -3
- package/dist/cjs/core/app-kit/types/config.d.ts.map +1 -1
- package/dist/cjs/core/app-kit/types/events.d.ts +13 -13
- package/dist/cjs/core/app-kit/types/events.d.ts.map +1 -1
- package/dist/cjs/core/cache/adapters/lru-app-kit-cache.d.ts +20 -0
- package/dist/cjs/core/cache/adapters/lru-app-kit-cache.d.ts.map +1 -0
- package/dist/cjs/core/cache/adapters/lru-app-kit-cache.js +32 -0
- package/dist/cjs/core/cache/adapters/lru-app-kit-cache.test.d.ts +9 -0
- package/dist/cjs/core/cache/adapters/lru-app-kit-cache.test.d.ts.map +1 -0
- package/dist/cjs/core/cache/adapters/lru-app-kit-cache.test.js +68 -0
- package/dist/cjs/core/cache/index.d.ts +11 -0
- package/dist/cjs/core/cache/index.d.ts.map +1 -0
- package/dist/cjs/core/cache/index.js +14 -0
- package/dist/cjs/core/cache/types/app-kit-cache.d.ts +14 -0
- package/dist/cjs/core/cache/types/app-kit-cache.d.ts.map +1 -0
- package/dist/cjs/core/cache/types/app-kit-cache.js +9 -0
- package/dist/cjs/core/cache/utils/get-cache-key.d.ts +9 -0
- package/dist/cjs/core/cache/utils/get-cache-key.d.ts.map +1 -0
- package/dist/cjs/core/cache/utils/get-cache-key.js +12 -0
- package/dist/cjs/core/cache/utils/get-cache-key.test.d.ts +9 -0
- package/dist/cjs/core/cache/utils/get-cache-key.test.d.ts.map +1 -0
- package/dist/cjs/core/cache/utils/get-cache-key.test.js +30 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/queries/balances/get-balance-by-address.d.ts.map +1 -1
- package/dist/cjs/queries/balances/get-balance-by-address.js +9 -3
- package/dist/cjs/queries/index.d.ts +0 -1
- package/dist/cjs/queries/index.d.ts.map +1 -1
- package/dist/cjs/queries/index.js +1 -3
- package/dist/cjs/queries/jettons/get-jetton-balance-by-address.d.ts.map +1 -1
- package/dist/cjs/queries/jettons/get-jetton-balance-by-address.js +11 -11
- package/dist/cjs/queries/jettons/get-jetton-info.d.ts.map +1 -1
- package/dist/cjs/queries/jettons/get-jetton-info.js +5 -1
- package/dist/cjs/queries/jettons/get-jetton-wallet-address.d.ts.map +1 -1
- package/dist/cjs/queries/jettons/get-jetton-wallet-address.js +6 -1
- package/dist/cjs/queries/jettons/get-jettons-by-address.d.ts.map +1 -1
- package/dist/cjs/queries/jettons/get-jettons-by-address.js +9 -3
- package/dist/cjs/queries/nft/get-nft.d.ts +1 -1
- package/dist/cjs/queries/nft/get-nft.d.ts.map +1 -1
- package/dist/cjs/queries/nft/get-nft.js +5 -1
- package/dist/cjs/queries/nft/get-nfts-by-address.d.ts.map +1 -1
- package/dist/cjs/queries/nft/get-nfts-by-address.js +5 -1
- package/dist/cjs/queries/staking/get-staked-balance.d.ts +1 -1
- package/dist/cjs/queries/staking/get-staked-balance.d.ts.map +1 -1
- package/dist/cjs/queries/staking/get-staked-balance.js +7 -1
- package/dist/cjs/queries/staking/get-staking-provider-info.d.ts +1 -1
- package/dist/cjs/queries/staking/get-staking-provider-info.d.ts.map +1 -1
- package/dist/cjs/queries/staking/get-staking-provider-info.js +3 -1
- package/dist/cjs/queries/staking/get-staking-quote.d.ts +1 -1
- package/dist/cjs/queries/staking/get-staking-quote.d.ts.map +1 -1
- package/dist/cjs/queries/staking/get-staking-quote.js +8 -2
- package/dist/cjs/queries/swap/get-swap-quote.d.ts.map +1 -1
- package/dist/cjs/queries/swap/get-swap-quote.js +1 -1
- package/dist/cjs/staking/index.d.ts +2 -2
- package/dist/cjs/staking/index.d.ts.map +1 -1
- package/dist/cjs/staking/index.js +3 -1
- package/dist/cjs/swap/index.d.ts +2 -1
- package/dist/cjs/swap/index.d.ts.map +1 -1
- package/dist/cjs/swap/index.js +8 -0
- package/dist/cjs/types/connector.d.ts +0 -6
- package/dist/cjs/types/connector.d.ts.map +1 -1
- package/dist/cjs/types/primitives.d.ts +1 -1
- package/dist/cjs/types/primitives.d.ts.map +1 -1
- package/dist/cjs/types/provider.d.ts +3 -3
- package/dist/cjs/types/provider.d.ts.map +1 -1
- package/dist/cjs/utils/address/is-valid-address.d.ts +11 -0
- package/dist/cjs/utils/address/is-valid-address.d.ts.map +1 -0
- package/dist/cjs/utils/address/is-valid-address.js +38 -0
- package/dist/cjs/utils/address/to-bounceble-address.d.ts +11 -0
- package/dist/cjs/utils/address/to-bounceble-address.d.ts.map +1 -0
- package/dist/cjs/utils/address/to-bounceble-address.js +36 -0
- package/dist/cjs/utils/address/to-non-bounceble-address.d.ts +11 -0
- package/dist/cjs/utils/address/to-non-bounceble-address.d.ts.map +1 -0
- package/dist/cjs/utils/address/to-non-bounceble-address.js +36 -0
- package/dist/cjs/utils/amount/calc-fiat-value.d.ts +13 -0
- package/dist/cjs/utils/amount/calc-fiat-value.d.ts.map +1 -0
- package/dist/cjs/utils/amount/calc-fiat-value.js +22 -0
- package/dist/cjs/utils/amount/calc-fiat-value.test.d.ts +9 -0
- package/dist/cjs/utils/amount/calc-fiat-value.test.d.ts.map +1 -0
- package/dist/cjs/utils/amount/calc-fiat-value.test.js +39 -0
- package/dist/cjs/utils/amount/format-large-value.d.ts +9 -0
- package/dist/cjs/utils/amount/format-large-value.d.ts.map +1 -0
- package/dist/cjs/utils/amount/format-large-value.js +40 -0
- package/dist/cjs/utils/amount/format-large-value.test.d.ts +9 -0
- package/dist/cjs/utils/amount/format-large-value.test.d.ts.map +1 -0
- package/dist/cjs/utils/amount/format-large-value.test.js +43 -0
- package/dist/cjs/utils/amount/truncate-decimals.d.ts +9 -0
- package/dist/cjs/utils/amount/truncate-decimals.d.ts.map +1 -0
- package/dist/cjs/utils/amount/truncate-decimals.js +59 -0
- package/dist/cjs/utils/amount/truncate-decimals.test.d.ts +9 -0
- package/dist/cjs/utils/amount/truncate-decimals.test.d.ts.map +1 -0
- package/dist/cjs/utils/amount/truncate-decimals.test.js +83 -0
- package/dist/cjs/utils/balance/calc-max-spendable.d.ts +33 -0
- package/dist/cjs/utils/balance/calc-max-spendable.d.ts.map +1 -0
- package/dist/cjs/utils/balance/calc-max-spendable.js +29 -0
- package/dist/cjs/utils/balance/calc-max-spendable.test.d.ts +9 -0
- package/dist/cjs/utils/balance/calc-max-spendable.test.d.ts.map +1 -0
- package/dist/cjs/utils/balance/calc-max-spendable.test.js +38 -0
- package/dist/cjs/utils/balance/get-ton-shortfall.d.ts +58 -0
- package/dist/cjs/utils/balance/get-ton-shortfall.d.ts.map +1 -0
- package/dist/cjs/utils/balance/get-ton-shortfall.js +46 -0
- package/dist/cjs/utils/balance/get-ton-shortfall.test.d.ts +9 -0
- package/dist/cjs/utils/balance/get-ton-shortfall.test.d.ts.map +1 -0
- package/dist/cjs/utils/balance/get-ton-shortfall.test.js +133 -0
- package/dist/cjs/utils/functions/debounce.d.ts +80 -0
- package/dist/cjs/utils/functions/debounce.d.ts.map +1 -0
- package/dist/cjs/utils/functions/debounce.js +107 -0
- package/dist/cjs/utils/index.d.ts +10 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +10 -0
- package/dist/cjs/utils/jetton/jetton-info.d.ts +2 -1
- package/dist/cjs/utils/jetton/jetton-info.d.ts.map +1 -1
- package/dist/cjs/utils/jetton/jetton-info.js +11 -1
- package/dist/cjs/utils/jetton/jetton-info.test.d.ts +9 -0
- package/dist/cjs/utils/jetton/jetton-info.test.d.ts.map +1 -0
- package/dist/cjs/utils/jetton/jetton-info.test.js +54 -0
- package/dist/cjs/utils/predicate/is-number.d.ts +9 -0
- package/dist/cjs/utils/predicate/is-number.d.ts.map +1 -0
- package/dist/cjs/utils/predicate/is-number.js +20 -0
- package/dist/cjs/utils/predicate/is-string.d.ts +1 -1
- package/dist/cjs/utils/predicate/is-string.d.ts.map +1 -1
- package/dist/cjs/utils/predicate/is-string.js +4 -3
- package/dist/esm/actions/connectors/watch-connector-by-id.d.ts.map +1 -1
- package/dist/esm/actions/connectors/watch-connector-by-id.js +8 -3
- package/dist/esm/actions/connectors/watch-connectors.d.ts.map +1 -1
- package/dist/esm/actions/connectors/watch-connectors.js +8 -3
- package/dist/esm/actions/index.d.ts +8 -0
- package/dist/esm/actions/index.d.ts.map +1 -1
- package/dist/esm/actions/index.js +8 -0
- package/dist/esm/actions/jettons/create-transfer-jetton-transaction.d.ts +1 -1
- package/dist/esm/actions/jettons/create-transfer-jetton-transaction.d.ts.map +1 -1
- package/dist/esm/actions/jettons/create-transfer-jetton-transaction.js +17 -5
- package/dist/esm/actions/jettons/get-jetton-balance.d.ts +1 -1
- package/dist/esm/actions/jettons/get-jetton-balance.d.ts.map +1 -1
- package/dist/esm/actions/jettons/get-jetton-balance.js +7 -2
- package/dist/esm/actions/jettons/get-jetton-info.d.ts.map +1 -1
- package/dist/esm/actions/jettons/get-jetton-info.js +15 -6
- package/dist/esm/actions/jettons/get-jetton-wallet-address.d.ts +1 -1
- package/dist/esm/actions/jettons/get-jetton-wallet-address.d.ts.map +1 -1
- package/dist/esm/actions/jettons/get-jetton-wallet-address.js +15 -4
- package/dist/esm/actions/nft/get-nft.d.ts +1 -1
- package/dist/esm/actions/nft/get-nft.d.ts.map +1 -1
- package/dist/esm/actions/providers/register-provider.d.ts +2 -1
- package/dist/esm/actions/providers/register-provider.d.ts.map +1 -1
- package/dist/esm/actions/staking/get-staking-provider-metadata.d.ts +19 -0
- package/dist/esm/actions/staking/get-staking-provider-metadata.d.ts.map +1 -0
- package/dist/esm/actions/staking/get-staking-provider-metadata.js +14 -0
- package/dist/esm/actions/staking/get-staking-provider.d.ts +21 -0
- package/dist/esm/actions/staking/get-staking-provider.d.ts.map +1 -0
- package/dist/esm/actions/staking/get-staking-provider.js +13 -0
- package/dist/esm/actions/staking/get-staking-providers.d.ts +3 -2
- package/dist/esm/actions/staking/get-staking-providers.d.ts.map +1 -1
- package/dist/esm/actions/staking/get-staking-providers.js +2 -2
- package/dist/esm/actions/staking/set-default-staking-provider.d.ts +18 -0
- package/dist/esm/actions/staking/set-default-staking-provider.d.ts.map +1 -0
- package/dist/esm/actions/staking/set-default-staking-provider.js +14 -0
- package/dist/esm/actions/staking/watch-staking-providers.d.ts +17 -0
- package/dist/esm/actions/staking/watch-staking-providers.d.ts.map +1 -0
- package/dist/esm/actions/staking/watch-staking-providers.js +24 -0
- package/dist/esm/actions/swap/get-swap-provider.d.ts +15 -0
- package/dist/esm/actions/swap/get-swap-provider.d.ts.map +1 -0
- package/dist/esm/actions/swap/get-swap-provider.js +10 -0
- package/dist/esm/actions/swap/get-swap-providers.d.ts +15 -0
- package/dist/esm/actions/swap/get-swap-providers.d.ts.map +1 -0
- package/dist/esm/actions/swap/get-swap-providers.js +13 -0
- package/dist/esm/actions/swap/get-swap-quote.d.ts.map +1 -1
- package/dist/esm/actions/swap/get-swap-quote.js +6 -1
- package/dist/esm/actions/swap/set-default-swap-provider.d.ts +18 -0
- package/dist/esm/actions/swap/set-default-swap-provider.d.ts.map +1 -0
- package/dist/esm/actions/swap/set-default-swap-provider.js +14 -0
- package/dist/esm/actions/swap/watch-swap-providers.d.ts +17 -0
- package/dist/esm/actions/swap/watch-swap-providers.d.ts.map +1 -0
- package/dist/esm/actions/swap/watch-swap-providers.js +25 -0
- package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts +1 -2
- package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts.map +1 -1
- package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.js +16 -18
- package/dist/esm/core/app-kit/constants/events.d.ts +3 -8
- package/dist/esm/core/app-kit/constants/events.d.ts.map +1 -1
- package/dist/esm/core/app-kit/constants/events.js +3 -8
- package/dist/esm/core/app-kit/index.d.ts +2 -2
- package/dist/esm/core/app-kit/index.d.ts.map +1 -1
- package/dist/esm/core/app-kit/index.js +1 -1
- package/dist/esm/core/app-kit/services/app-kit.d.ts +5 -2
- package/dist/esm/core/app-kit/services/app-kit.d.ts.map +1 -1
- package/dist/esm/core/app-kit/services/app-kit.js +12 -4
- package/dist/esm/core/app-kit/types/config.d.ts +6 -3
- package/dist/esm/core/app-kit/types/config.d.ts.map +1 -1
- package/dist/esm/core/app-kit/types/events.d.ts +13 -13
- package/dist/esm/core/app-kit/types/events.d.ts.map +1 -1
- package/dist/esm/core/cache/adapters/lru-app-kit-cache.d.ts +20 -0
- package/dist/esm/core/cache/adapters/lru-app-kit-cache.d.ts.map +1 -0
- package/dist/esm/core/cache/adapters/lru-app-kit-cache.js +28 -0
- package/dist/esm/core/cache/adapters/lru-app-kit-cache.test.d.ts +9 -0
- package/dist/esm/core/cache/adapters/lru-app-kit-cache.test.d.ts.map +1 -0
- package/dist/esm/core/cache/adapters/lru-app-kit-cache.test.js +66 -0
- package/dist/esm/core/cache/index.d.ts +11 -0
- package/dist/esm/core/cache/index.d.ts.map +1 -0
- package/dist/esm/core/cache/index.js +9 -0
- package/dist/esm/core/cache/types/app-kit-cache.d.ts +14 -0
- package/dist/esm/core/cache/types/app-kit-cache.d.ts.map +1 -0
- package/dist/esm/core/cache/types/app-kit-cache.js +8 -0
- package/dist/esm/core/cache/utils/get-cache-key.d.ts +9 -0
- package/dist/esm/core/cache/utils/get-cache-key.d.ts.map +1 -0
- package/dist/esm/core/cache/utils/get-cache-key.js +8 -0
- package/dist/esm/core/cache/utils/get-cache-key.test.d.ts +9 -0
- package/dist/esm/core/cache/utils/get-cache-key.test.d.ts.map +1 -0
- package/dist/esm/core/cache/utils/get-cache-key.test.js +28 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/queries/balances/get-balance-by-address.d.ts.map +1 -1
- package/dist/esm/queries/balances/get-balance-by-address.js +10 -4
- package/dist/esm/queries/index.d.ts +0 -1
- package/dist/esm/queries/index.d.ts.map +1 -1
- package/dist/esm/queries/index.js +0 -1
- package/dist/esm/queries/jettons/get-jetton-balance-by-address.d.ts.map +1 -1
- package/dist/esm/queries/jettons/get-jetton-balance-by-address.js +12 -12
- package/dist/esm/queries/jettons/get-jetton-info.d.ts.map +1 -1
- package/dist/esm/queries/jettons/get-jetton-info.js +6 -2
- package/dist/esm/queries/jettons/get-jetton-wallet-address.d.ts.map +1 -1
- package/dist/esm/queries/jettons/get-jetton-wallet-address.js +7 -2
- package/dist/esm/queries/jettons/get-jettons-by-address.d.ts.map +1 -1
- package/dist/esm/queries/jettons/get-jettons-by-address.js +10 -4
- package/dist/esm/queries/nft/get-nft.d.ts +1 -1
- package/dist/esm/queries/nft/get-nft.d.ts.map +1 -1
- package/dist/esm/queries/nft/get-nft.js +6 -2
- package/dist/esm/queries/nft/get-nfts-by-address.d.ts.map +1 -1
- package/dist/esm/queries/nft/get-nfts-by-address.js +6 -2
- package/dist/esm/queries/staking/get-staked-balance.d.ts +1 -1
- package/dist/esm/queries/staking/get-staked-balance.d.ts.map +1 -1
- package/dist/esm/queries/staking/get-staked-balance.js +8 -2
- package/dist/esm/queries/staking/get-staking-provider-info.d.ts +1 -1
- package/dist/esm/queries/staking/get-staking-provider-info.d.ts.map +1 -1
- package/dist/esm/queries/staking/get-staking-provider-info.js +4 -2
- package/dist/esm/queries/staking/get-staking-quote.d.ts +1 -1
- package/dist/esm/queries/staking/get-staking-quote.d.ts.map +1 -1
- package/dist/esm/queries/staking/get-staking-quote.js +9 -3
- package/dist/esm/queries/swap/get-swap-quote.d.ts.map +1 -1
- package/dist/esm/queries/swap/get-swap-quote.js +1 -1
- package/dist/esm/staking/index.d.ts +2 -2
- package/dist/esm/staking/index.d.ts.map +1 -1
- package/dist/esm/staking/index.js +1 -1
- package/dist/esm/swap/index.d.ts +2 -1
- package/dist/esm/swap/index.d.ts.map +1 -1
- package/dist/esm/swap/index.js +1 -1
- package/dist/esm/types/connector.d.ts +0 -6
- package/dist/esm/types/connector.d.ts.map +1 -1
- package/dist/esm/types/primitives.d.ts +1 -1
- package/dist/esm/types/primitives.d.ts.map +1 -1
- package/dist/esm/types/provider.d.ts +3 -3
- package/dist/esm/types/provider.d.ts.map +1 -1
- package/dist/esm/utils/address/is-valid-address.d.ts +11 -0
- package/dist/esm/utils/address/is-valid-address.d.ts.map +1 -0
- package/dist/esm/utils/address/is-valid-address.js +33 -0
- package/dist/esm/utils/address/to-bounceble-address.d.ts +11 -0
- package/dist/esm/utils/address/to-bounceble-address.d.ts.map +1 -0
- package/dist/esm/utils/address/to-bounceble-address.js +31 -0
- package/dist/esm/utils/address/to-non-bounceble-address.d.ts +11 -0
- package/dist/esm/utils/address/to-non-bounceble-address.d.ts.map +1 -0
- package/dist/esm/utils/address/to-non-bounceble-address.js +31 -0
- package/dist/esm/utils/amount/calc-fiat-value.d.ts +13 -0
- package/dist/esm/utils/amount/calc-fiat-value.d.ts.map +1 -0
- package/dist/esm/utils/amount/calc-fiat-value.js +19 -0
- package/dist/esm/utils/amount/calc-fiat-value.test.d.ts +9 -0
- package/dist/esm/utils/amount/calc-fiat-value.test.d.ts.map +1 -0
- package/dist/esm/utils/amount/calc-fiat-value.test.js +37 -0
- package/dist/esm/utils/amount/format-large-value.d.ts +9 -0
- package/dist/esm/utils/amount/format-large-value.d.ts.map +1 -0
- package/dist/esm/utils/amount/format-large-value.js +36 -0
- package/dist/esm/utils/amount/format-large-value.test.d.ts +9 -0
- package/dist/esm/utils/amount/format-large-value.test.d.ts.map +1 -0
- package/dist/esm/utils/amount/format-large-value.test.js +41 -0
- package/dist/esm/utils/amount/truncate-decimals.d.ts +9 -0
- package/dist/esm/utils/amount/truncate-decimals.d.ts.map +1 -0
- package/dist/esm/utils/amount/truncate-decimals.js +55 -0
- package/dist/esm/utils/amount/truncate-decimals.test.d.ts +9 -0
- package/dist/esm/utils/amount/truncate-decimals.test.d.ts.map +1 -0
- package/dist/esm/utils/amount/truncate-decimals.test.js +81 -0
- package/dist/esm/utils/balance/calc-max-spendable.d.ts +33 -0
- package/dist/esm/utils/balance/calc-max-spendable.d.ts.map +1 -0
- package/dist/esm/utils/balance/calc-max-spendable.js +25 -0
- package/dist/esm/utils/balance/calc-max-spendable.test.d.ts +9 -0
- package/dist/esm/utils/balance/calc-max-spendable.test.d.ts.map +1 -0
- package/dist/esm/utils/balance/calc-max-spendable.test.js +36 -0
- package/dist/esm/utils/balance/get-ton-shortfall.d.ts +58 -0
- package/dist/esm/utils/balance/get-ton-shortfall.d.ts.map +1 -0
- package/dist/esm/utils/balance/get-ton-shortfall.js +42 -0
- package/dist/esm/utils/balance/get-ton-shortfall.test.d.ts +9 -0
- package/dist/esm/utils/balance/get-ton-shortfall.test.d.ts.map +1 -0
- package/dist/esm/utils/balance/get-ton-shortfall.test.js +131 -0
- package/dist/esm/utils/functions/debounce.d.ts +80 -0
- package/dist/esm/utils/functions/debounce.d.ts.map +1 -0
- package/dist/esm/utils/functions/debounce.js +103 -0
- package/dist/esm/utils/index.d.ts +10 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +10 -0
- package/dist/esm/utils/jetton/jetton-info.d.ts +2 -1
- package/dist/esm/utils/jetton/jetton-info.d.ts.map +1 -1
- package/dist/esm/utils/jetton/jetton-info.js +9 -0
- package/dist/esm/utils/jetton/jetton-info.test.d.ts +9 -0
- package/dist/esm/utils/jetton/jetton-info.test.d.ts.map +1 -0
- package/dist/esm/utils/jetton/jetton-info.test.js +52 -0
- package/dist/esm/utils/predicate/is-number.d.ts +9 -0
- package/dist/esm/utils/predicate/is-number.d.ts.map +1 -0
- package/dist/esm/utils/predicate/is-number.js +16 -0
- package/dist/esm/utils/predicate/is-string.d.ts +1 -1
- package/dist/esm/utils/predicate/is-string.d.ts.map +1 -1
- package/dist/esm/utils/predicate/is-string.js +2 -2
- package/docs/actions.md +64 -15
- package/docs/connectors.md +5 -25
- package/docs/staking.md +7 -6
- package/docs/swap.md +11 -10
- package/package.json +4 -3
- package/src/actions/connectors/watch-connector-by-id.ts +9 -3
- package/src/actions/connectors/watch-connectors.ts +9 -3
- package/src/actions/index.ts +32 -0
- package/src/actions/jettons/create-transfer-jetton-transaction.ts +22 -6
- package/src/actions/jettons/get-jetton-balance.ts +10 -3
- package/src/actions/jettons/get-jetton-info.ts +18 -6
- package/src/actions/jettons/get-jetton-wallet-address.ts +19 -5
- package/src/actions/nft/get-nft.ts +1 -1
- package/src/actions/providers/register-provider.ts +2 -1
- package/src/actions/staking/get-staking-provider-metadata.ts +32 -0
- package/src/actions/staking/get-staking-provider.ts +30 -0
- package/src/actions/staking/get-staking-providers.ts +5 -3
- package/src/actions/staking/set-default-staking-provider.ts +26 -0
- package/src/actions/staking/watch-staking-providers.ts +39 -0
- package/src/actions/swap/get-swap-provider.ts +21 -0
- package/src/actions/swap/get-swap-providers.ts +20 -0
- package/src/actions/swap/get-swap-quote.ts +7 -1
- package/src/actions/swap/set-default-swap-provider.ts +26 -0
- package/src/actions/swap/watch-swap-providers.ts +38 -0
- package/src/connectors/tonconnect/connectors/ton-connect-connector.ts +22 -20
- package/src/core/app-kit/constants/events.ts +3 -9
- package/src/core/app-kit/index.ts +4 -4
- package/src/core/app-kit/services/app-kit.ts +18 -7
- package/src/core/app-kit/types/config.ts +6 -3
- package/src/core/app-kit/types/events.ts +13 -15
- package/src/core/cache/adapters/lru-app-kit-cache.test.ts +77 -0
- package/src/core/cache/adapters/lru-app-kit-cache.ts +38 -0
- package/src/core/cache/index.ts +12 -0
- package/src/core/cache/types/app-kit-cache.ts +14 -0
- package/src/core/cache/utils/get-cache-key.test.ts +34 -0
- package/src/core/cache/utils/get-cache-key.ts +12 -0
- package/src/index.ts +1 -0
- package/src/queries/balances/get-balance-by-address.ts +11 -4
- package/src/queries/index.ts +0 -6
- package/src/queries/jettons/get-jetton-balance-by-address.ts +13 -12
- package/src/queries/jettons/get-jetton-info.ts +6 -2
- package/src/queries/jettons/get-jetton-wallet-address.ts +7 -2
- package/src/queries/jettons/get-jettons-by-address.ts +18 -4
- package/src/queries/nft/get-nft.ts +7 -3
- package/src/queries/nft/get-nfts-by-address.ts +6 -2
- package/src/queries/staking/get-staked-balance.ts +10 -3
- package/src/queries/staking/get-staking-provider-info.ts +5 -2
- package/src/queries/staking/get-staking-quote.ts +13 -4
- package/src/queries/swap/get-swap-quote.ts +3 -1
- package/src/staking/index.ts +10 -1
- package/src/swap/index.ts +2 -4
- package/src/types/connector.ts +0 -8
- package/src/types/primitives.ts +1 -1
- package/src/types/provider.ts +3 -3
- package/src/utils/address/is-valid-address.ts +40 -0
- package/src/utils/address/to-bounceble-address.ts +35 -0
- package/src/utils/address/to-non-bounceble-address.ts +35 -0
- package/src/utils/amount/calc-fiat-value.test.ts +46 -0
- package/src/utils/amount/calc-fiat-value.ts +18 -0
- package/src/utils/amount/format-large-value.test.ts +50 -0
- package/src/utils/amount/format-large-value.ts +43 -0
- package/src/utils/amount/truncate-decimals.test.ts +97 -0
- package/src/utils/amount/truncate-decimals.ts +56 -0
- package/src/utils/balance/calc-max-spendable.test.ts +46 -0
- package/src/utils/balance/calc-max-spendable.ts +44 -0
- package/src/utils/balance/get-ton-shortfall.test.ts +148 -0
- package/src/utils/balance/get-ton-shortfall.ts +82 -0
- package/src/utils/functions/debounce.ts +169 -0
- package/src/utils/index.ts +10 -0
- package/src/utils/jetton/jetton-info.test.ts +65 -0
- package/src/utils/jetton/jetton-info.ts +12 -1
- package/src/utils/predicate/is-number.ts +19 -0
- package/src/utils/predicate/is-string.ts +2 -2
- package/dist/cjs/queries/staking/get-staking-providers.d.ts +0 -20
- package/dist/cjs/queries/staking/get-staking-providers.d.ts.map +0 -1
- package/dist/cjs/queries/staking/get-staking-providers.js +0 -25
- package/dist/esm/queries/staking/get-staking-providers.d.ts +0 -20
- package/dist/esm/queries/staking/get-staking-providers.d.ts.map +0 -1
- package/dist/esm/queries/staking/get-staking-providers.js +0 -20
- package/src/queries/staking/get-staking-providers.ts +0 -52
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) TonTech.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { LRUCache } from 'lru-cache';
|
|
10
|
+
|
|
11
|
+
import type { AppKitCache } from '../types/app-kit-cache';
|
|
12
|
+
|
|
13
|
+
export class LruAppKitCache implements AppKitCache {
|
|
14
|
+
private readonly cache: LRUCache<string, { value: unknown }>;
|
|
15
|
+
|
|
16
|
+
constructor(options?: { max?: number; ttl?: number }) {
|
|
17
|
+
this.cache = new LRUCache({
|
|
18
|
+
max: options?.max ?? 1000,
|
|
19
|
+
ttl: options?.ttl ?? 1000 * 60 * 10,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async get<T = unknown>(key: string): Promise<T | undefined> {
|
|
24
|
+
return this.cache.get(key)?.value as T | undefined;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async set(key: string, value: unknown): Promise<void> {
|
|
28
|
+
this.cache.set(key, { value });
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
async remove(key: string): Promise<void> {
|
|
32
|
+
this.cache.delete(key);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
async clear(): Promise<void> {
|
|
36
|
+
this.cache.clear();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) TonTech.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export { LruAppKitCache } from './adapters/lru-app-kit-cache';
|
|
10
|
+
export { getCacheKey } from './utils/get-cache-key';
|
|
11
|
+
|
|
12
|
+
export type { AppKitCache } from './types/app-kit-cache';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) TonTech.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export interface AppKitCache {
|
|
10
|
+
get<T = unknown>(key: string): Promise<T | undefined>;
|
|
11
|
+
set(key: string, value: unknown): Promise<void>;
|
|
12
|
+
remove(key: string): Promise<void>;
|
|
13
|
+
clear(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) TonTech.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { describe, expect, it } from 'vitest';
|
|
10
|
+
|
|
11
|
+
import { getCacheKey } from './get-cache-key';
|
|
12
|
+
|
|
13
|
+
describe('getCacheKey', () => {
|
|
14
|
+
it('should build a key with a single param', () => {
|
|
15
|
+
const key = getCacheKey('jetton-info');
|
|
16
|
+
expect(key('EQabc')).toBe('jetton-info:EQabc');
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it('should build a key with multiple params', () => {
|
|
20
|
+
const key = getCacheKey('jetton-info');
|
|
21
|
+
expect(key('mainnet', 'EQabc')).toBe('jetton-info:mainnet:EQabc');
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it('should build a key with no params', () => {
|
|
25
|
+
const key = getCacheKey('jetton-info');
|
|
26
|
+
expect(key()).toBe('jetton-info:');
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('should scope keys independently per prefix', () => {
|
|
30
|
+
const infoKey = getCacheKey('jetton-info');
|
|
31
|
+
const walletKey = getCacheKey('jetton-wallet');
|
|
32
|
+
expect(infoKey('EQabc')).not.toBe(walletKey('EQabc'));
|
|
33
|
+
});
|
|
34
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) TonTech.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export const getCacheKey =
|
|
10
|
+
(prefix: string) =>
|
|
11
|
+
(...params: string[]): string =>
|
|
12
|
+
`${prefix}:${params.join(':')}`;
|
package/src/index.ts
CHANGED
|
@@ -13,7 +13,7 @@ import { getBalanceByAddress } from '../../actions/balances/get-balance-by-addre
|
|
|
13
13
|
import type { GetBalanceByAddressOptions } from '../../actions/balances/get-balance-by-address';
|
|
14
14
|
import type { QueryOptions, QueryParameter } from '../../types/query';
|
|
15
15
|
import type { Compute, ExactPartial } from '../../types/utils';
|
|
16
|
-
import { filterQueryOptions, resolveNetwork, sleep } from '../../utils';
|
|
16
|
+
import { filterQueryOptions, resolveNetwork, sleep, tryToBounceableAddress } from '../../utils';
|
|
17
17
|
import type { GetBalanceByAddressReturnType } from '../../actions/balances/get-balance-by-address';
|
|
18
18
|
import type { BalanceUpdate } from '../../core/streaming';
|
|
19
19
|
import type { Network } from '../../types/network';
|
|
@@ -32,7 +32,11 @@ export const getBalanceByAddressQueryOptions = <selectData = GetBalanceByAddress
|
|
|
32
32
|
initialOptions: GetBalanceByAddressQueryConfig<selectData> = {},
|
|
33
33
|
): GetBalanceByAddressQueryOptions<selectData> => {
|
|
34
34
|
const network = resolveNetwork(appKit, initialOptions.network);
|
|
35
|
-
const options = {
|
|
35
|
+
const options = {
|
|
36
|
+
...initialOptions,
|
|
37
|
+
network,
|
|
38
|
+
address: tryToBounceableAddress(initialOptions.address) ?? initialOptions.address,
|
|
39
|
+
};
|
|
36
40
|
|
|
37
41
|
return {
|
|
38
42
|
...options.query,
|
|
@@ -72,14 +76,17 @@ export const handleBalanceUpdate = (
|
|
|
72
76
|
{ address, network }: { address: string; network: Network },
|
|
73
77
|
update: BalanceUpdate,
|
|
74
78
|
) => {
|
|
79
|
+
const queryKey = getBalanceByAddressQueryKey({
|
|
80
|
+
address: tryToBounceableAddress(address) ?? address,
|
|
81
|
+
network,
|
|
82
|
+
});
|
|
83
|
+
|
|
75
84
|
if (update.status === 'finalized') {
|
|
76
|
-
const queryKey = getBalanceByAddressQueryKey({ address, network });
|
|
77
85
|
queryClient.setQueryData(queryKey, update.balance);
|
|
78
86
|
sleep(5000).then(() => queryClient.invalidateQueries({ queryKey }));
|
|
79
87
|
}
|
|
80
88
|
|
|
81
89
|
if (update.status === 'invalidated') {
|
|
82
|
-
const queryKey = getBalanceByAddressQueryKey({ address, network });
|
|
83
90
|
queryClient.invalidateQueries({ queryKey });
|
|
84
91
|
}
|
|
85
92
|
};
|
package/src/queries/index.ts
CHANGED
|
@@ -166,12 +166,6 @@ export {
|
|
|
166
166
|
} from './swap/build-swap-transaction';
|
|
167
167
|
|
|
168
168
|
// Staking
|
|
169
|
-
export {
|
|
170
|
-
getStakingProvidersQueryOptions,
|
|
171
|
-
type GetStakingProvidersData,
|
|
172
|
-
type GetStakingProvidersErrorType,
|
|
173
|
-
type GetStakingProvidersQueryConfig,
|
|
174
|
-
} from './staking/get-staking-providers';
|
|
175
169
|
export {
|
|
176
170
|
getStakingQuoteQueryOptions,
|
|
177
171
|
type GetStakingQuoteQueryConfig,
|
|
@@ -14,7 +14,7 @@ import { getJettonBalance } from '../../actions/jettons/get-jetton-balance';
|
|
|
14
14
|
import type { GetJettonBalanceOptions as GetJettonBalanceParameters } from '../../actions/jettons/get-jetton-balance';
|
|
15
15
|
import type { QueryOptions, QueryParameter } from '../../types/query';
|
|
16
16
|
import type { Compute, ExactPartial } from '../../types/utils';
|
|
17
|
-
import { filterQueryOptions, resolveNetwork, sleep } from '../../utils';
|
|
17
|
+
import { filterQueryOptions, resolveNetwork, sleep, tryToBounceableAddress } from '../../utils';
|
|
18
18
|
import type { JettonUpdate } from '../../core/streaming';
|
|
19
19
|
import type { Network } from '../../types/network';
|
|
20
20
|
|
|
@@ -37,7 +37,12 @@ export const getJettonBalanceByAddressQueryOptions = <selectData = GetJettonBala
|
|
|
37
37
|
initialOptions: GetJettonBalanceByAddressQueryConfig<selectData> = {},
|
|
38
38
|
): GetJettonBalanceByAddressQueryOptions<selectData> => {
|
|
39
39
|
const network = resolveNetwork(appKit, initialOptions.network);
|
|
40
|
-
const options = {
|
|
40
|
+
const options = {
|
|
41
|
+
...initialOptions,
|
|
42
|
+
network,
|
|
43
|
+
jettonAddress: tryToBounceableAddress(initialOptions.jettonAddress) ?? initialOptions.jettonAddress,
|
|
44
|
+
ownerAddress: tryToBounceableAddress(initialOptions.ownerAddress) ?? initialOptions.ownerAddress,
|
|
45
|
+
};
|
|
41
46
|
|
|
42
47
|
return {
|
|
43
48
|
...options.query,
|
|
@@ -82,22 +87,18 @@ export const handleJettonBalanceUpdate = (
|
|
|
82
87
|
{ ownerAddress, jettonAddress, network }: { ownerAddress: string; jettonAddress: string; network: Network },
|
|
83
88
|
update: JettonUpdate,
|
|
84
89
|
) => {
|
|
90
|
+
const queryKey = getJettonBalanceByAddressQueryKey({
|
|
91
|
+
ownerAddress: tryToBounceableAddress(ownerAddress) ?? ownerAddress,
|
|
92
|
+
jettonAddress: tryToBounceableAddress(jettonAddress) ?? jettonAddress,
|
|
93
|
+
network,
|
|
94
|
+
});
|
|
95
|
+
|
|
85
96
|
if (update.status === 'finalized') {
|
|
86
|
-
const queryKey = getJettonBalanceByAddressQueryKey({
|
|
87
|
-
ownerAddress,
|
|
88
|
-
jettonAddress,
|
|
89
|
-
network,
|
|
90
|
-
});
|
|
91
97
|
queryClient.setQueryData(queryKey, update.balance);
|
|
92
98
|
sleep(5000).then(() => queryClient.invalidateQueries({ queryKey }));
|
|
93
99
|
}
|
|
94
100
|
|
|
95
101
|
if (update.status === 'invalidated') {
|
|
96
|
-
const queryKey = getJettonBalanceByAddressQueryKey({
|
|
97
|
-
ownerAddress,
|
|
98
|
-
jettonAddress,
|
|
99
|
-
network,
|
|
100
|
-
});
|
|
101
102
|
queryClient.invalidateQueries({ queryKey });
|
|
102
103
|
}
|
|
103
104
|
};
|
|
@@ -12,7 +12,7 @@ import type { GetJettonInfoOptions } from '../../actions/jettons/get-jetton-info
|
|
|
12
12
|
import type { GetJettonInfoReturnType } from '../../actions/jettons/get-jetton-info';
|
|
13
13
|
import type { QueryOptions, QueryParameter } from '../../types/query';
|
|
14
14
|
import type { Compute, ExactPartial } from '../../types/utils';
|
|
15
|
-
import { filterQueryOptions, resolveNetwork } from '../../utils';
|
|
15
|
+
import { filterQueryOptions, resolveNetwork, tryToBounceableAddress } from '../../utils';
|
|
16
16
|
|
|
17
17
|
export type GetJettonInfoErrorType = Error;
|
|
18
18
|
|
|
@@ -24,7 +24,11 @@ export const getJettonInfoQueryOptions = <selectData = GetJettonInfoData>(
|
|
|
24
24
|
initialOptions: GetJettonInfoQueryConfig<selectData> = {},
|
|
25
25
|
): GetJettonInfoQueryOptions<selectData> => {
|
|
26
26
|
const network = resolveNetwork(appKit, initialOptions.network);
|
|
27
|
-
const options = {
|
|
27
|
+
const options = {
|
|
28
|
+
...initialOptions,
|
|
29
|
+
network,
|
|
30
|
+
address: tryToBounceableAddress(initialOptions.address) ?? initialOptions.address,
|
|
31
|
+
};
|
|
28
32
|
|
|
29
33
|
return {
|
|
30
34
|
...options.query,
|
|
@@ -13,7 +13,7 @@ import { getJettonWalletAddress } from '../../actions/jettons/get-jetton-wallet-
|
|
|
13
13
|
import type { GetJettonWalletAddressOptions as GetJettonWalletAddressParameters } from '../../actions/jettons/get-jetton-wallet-address';
|
|
14
14
|
import type { QueryOptions, QueryParameter } from '../../types/query';
|
|
15
15
|
import type { Compute, ExactPartial } from '../../types/utils';
|
|
16
|
-
import { filterQueryOptions, resolveNetwork } from '../../utils';
|
|
16
|
+
import { filterQueryOptions, resolveNetwork, tryToBounceableAddress } from '../../utils';
|
|
17
17
|
|
|
18
18
|
export type GetJettonWalletAddressErrorType = Error;
|
|
19
19
|
|
|
@@ -32,7 +32,12 @@ export const getJettonWalletAddressQueryOptions = <selectData = GetJettonWalletA
|
|
|
32
32
|
initialOptions: GetJettonWalletAddressQueryConfig<selectData> = {},
|
|
33
33
|
): GetJettonWalletAddressQueryOptions<selectData> => {
|
|
34
34
|
const network = resolveNetwork(appKit, initialOptions.network);
|
|
35
|
-
const options = {
|
|
35
|
+
const options = {
|
|
36
|
+
...initialOptions,
|
|
37
|
+
network,
|
|
38
|
+
jettonAddress: tryToBounceableAddress(initialOptions.jettonAddress) ?? initialOptions.jettonAddress,
|
|
39
|
+
ownerAddress: tryToBounceableAddress(initialOptions.ownerAddress) ?? initialOptions.ownerAddress,
|
|
40
|
+
};
|
|
36
41
|
|
|
37
42
|
return {
|
|
38
43
|
...options.query,
|
|
@@ -13,7 +13,14 @@ import { getJettonsByAddress } from '../../actions/jettons/get-jettons-by-addres
|
|
|
13
13
|
import type { GetJettonsByAddressOptions } from '../../actions/jettons/get-jettons-by-address';
|
|
14
14
|
import type { QueryOptions, QueryParameter } from '../../types/query';
|
|
15
15
|
import type { Compute, ExactPartial } from '../../types/utils';
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
filterQueryOptions,
|
|
18
|
+
resolveNetwork,
|
|
19
|
+
compareAddress,
|
|
20
|
+
formatUnits,
|
|
21
|
+
sleep,
|
|
22
|
+
tryToBounceableAddress,
|
|
23
|
+
} from '../../utils';
|
|
17
24
|
import type { GetJettonsByAddressReturnType } from '../../actions/jettons/get-jettons-by-address';
|
|
18
25
|
import type { JettonUpdate } from '../../core/streaming';
|
|
19
26
|
import type { Network } from '../../types/network';
|
|
@@ -32,7 +39,11 @@ export const getJettonsByAddressQueryOptions = <selectData = GetJettonsByAddress
|
|
|
32
39
|
initialOptions: GetJettonsByAddressQueryConfig<selectData> = {},
|
|
33
40
|
): GetJettonsByAddressQueryOptions<selectData> => {
|
|
34
41
|
const network = resolveNetwork(appKit, initialOptions.network);
|
|
35
|
-
const options = {
|
|
42
|
+
const options = {
|
|
43
|
+
...initialOptions,
|
|
44
|
+
network,
|
|
45
|
+
address: tryToBounceableAddress(initialOptions.address) ?? initialOptions.address,
|
|
46
|
+
};
|
|
36
47
|
|
|
37
48
|
return {
|
|
38
49
|
...options.query,
|
|
@@ -73,8 +84,12 @@ export const handleJettonsUpdate = (
|
|
|
73
84
|
{ address, network }: { address: string; network: Network },
|
|
74
85
|
update: JettonUpdate,
|
|
75
86
|
) => {
|
|
87
|
+
const queryKey = getJettonsByAddressQueryKey({
|
|
88
|
+
address: tryToBounceableAddress(address) ?? address,
|
|
89
|
+
network,
|
|
90
|
+
});
|
|
91
|
+
|
|
76
92
|
if (update.status === 'finalized') {
|
|
77
|
-
const queryKey = getJettonsByAddressQueryKey({ address, network });
|
|
78
93
|
const currentData = queryClient.getQueryData(queryKey) as GetJettonsByAddressData | undefined;
|
|
79
94
|
|
|
80
95
|
if (currentData?.jettons) {
|
|
@@ -99,7 +114,6 @@ export const handleJettonsUpdate = (
|
|
|
99
114
|
}
|
|
100
115
|
|
|
101
116
|
if (update.status === 'invalidated') {
|
|
102
|
-
const queryKey = getJettonsByAddressQueryKey({ address, network });
|
|
103
117
|
queryClient.invalidateQueries({ queryKey });
|
|
104
118
|
}
|
|
105
119
|
};
|
|
@@ -13,7 +13,7 @@ import { getNft } from '../../actions/nft/get-nft';
|
|
|
13
13
|
import type { GetNftOptions as GetNftParameters } from '../../actions/nft/get-nft';
|
|
14
14
|
import type { QueryOptions, QueryParameter } from '../../types/query';
|
|
15
15
|
import type { Compute, ExactPartial } from '../../types/utils';
|
|
16
|
-
import { filterQueryOptions, resolveNetwork } from '../../utils';
|
|
16
|
+
import { filterQueryOptions, resolveNetwork, tryToBounceableAddress } from '../../utils';
|
|
17
17
|
|
|
18
18
|
export type GetNftErrorType = Error;
|
|
19
19
|
|
|
@@ -25,7 +25,11 @@ export const getNftQueryOptions = <selectData = GetNftData>(
|
|
|
25
25
|
initialOptions: GetNftQueryConfig<selectData> = {},
|
|
26
26
|
): GetNftQueryOptions<selectData> => {
|
|
27
27
|
const network = resolveNetwork(appKit, initialOptions.network);
|
|
28
|
-
const options = {
|
|
28
|
+
const options = {
|
|
29
|
+
...initialOptions,
|
|
30
|
+
network,
|
|
31
|
+
address: tryToBounceableAddress(initialOptions.address) ?? initialOptions.address,
|
|
32
|
+
};
|
|
29
33
|
|
|
30
34
|
return {
|
|
31
35
|
...options.query,
|
|
@@ -41,7 +45,7 @@ export const getNftQueryOptions = <selectData = GetNftData>(
|
|
|
41
45
|
};
|
|
42
46
|
};
|
|
43
47
|
|
|
44
|
-
export type GetNftQueryFnData = Compute<NFT |
|
|
48
|
+
export type GetNftQueryFnData = Compute<NFT | undefined>;
|
|
45
49
|
|
|
46
50
|
export type GetNftData = GetNftQueryFnData;
|
|
47
51
|
|
|
@@ -11,7 +11,7 @@ import { getNftsByAddress } from '../../actions/nft/get-nfts-by-address';
|
|
|
11
11
|
import type { GetNftsByAddressOptions } from '../../actions/nft/get-nfts-by-address';
|
|
12
12
|
import type { QueryOptions, QueryParameter } from '../../types/query';
|
|
13
13
|
import type { Compute, ExactPartial } from '../../types/utils';
|
|
14
|
-
import { filterQueryOptions, resolveNetwork } from '../../utils';
|
|
14
|
+
import { filterQueryOptions, resolveNetwork, tryToBounceableAddress } from '../../utils';
|
|
15
15
|
import type { GetNftsByAddressReturnType } from '../../actions/nft/get-nfts-by-address';
|
|
16
16
|
|
|
17
17
|
export type GetNFTsErrorType = Error;
|
|
@@ -28,7 +28,11 @@ export const getNFTsByAddressQueryOptions = <selectData = GetNFTsByAddressData>(
|
|
|
28
28
|
initialOptions: GetNFTsByAddressQueryConfig<selectData> = {},
|
|
29
29
|
): GetNFTsByAddressQueryOptions<selectData> => {
|
|
30
30
|
const network = resolveNetwork(appKit, initialOptions.network);
|
|
31
|
-
const options = {
|
|
31
|
+
const options = {
|
|
32
|
+
...initialOptions,
|
|
33
|
+
network,
|
|
34
|
+
address: tryToBounceableAddress(initialOptions.address) ?? initialOptions.address,
|
|
35
|
+
};
|
|
32
36
|
|
|
33
37
|
return {
|
|
34
38
|
...options.query,
|
|
@@ -12,7 +12,7 @@ import type { GetStakedBalanceReturnType } from '../../actions/staking/get-stake
|
|
|
12
12
|
import type { AppKit } from '../../core/app-kit';
|
|
13
13
|
import type { QueryOptions, QueryParameter } from '../../types/query';
|
|
14
14
|
import type { Compute, ExactPartial } from '../../types/utils';
|
|
15
|
-
import { filterQueryOptions } from '../../utils';
|
|
15
|
+
import { filterQueryOptions, resolveNetwork, tryToBounceableAddress } from '../../utils';
|
|
16
16
|
|
|
17
17
|
export type GetStakedBalanceErrorType = Error;
|
|
18
18
|
|
|
@@ -23,8 +23,15 @@ export type GetStakedBalanceQueryConfig<selectData = GetStakedBalanceData> = Com
|
|
|
23
23
|
|
|
24
24
|
export const getStakedBalanceQueryOptions = <selectData = GetStakedBalanceData>(
|
|
25
25
|
appKit: AppKit,
|
|
26
|
-
|
|
26
|
+
initialOptions: GetStakedBalanceQueryConfig<selectData> = {},
|
|
27
27
|
): GetStakedBalanceQueryOptions<selectData> => {
|
|
28
|
+
const network = resolveNetwork(appKit, initialOptions.network);
|
|
29
|
+
const options = {
|
|
30
|
+
...initialOptions,
|
|
31
|
+
network,
|
|
32
|
+
userAddress: tryToBounceableAddress(initialOptions.userAddress) ?? initialOptions.userAddress,
|
|
33
|
+
};
|
|
34
|
+
|
|
28
35
|
return {
|
|
29
36
|
...options.query,
|
|
30
37
|
enabled: Boolean(options.userAddress && (options.query?.enabled ?? true)),
|
|
@@ -47,7 +54,7 @@ export type GetStakedBalanceData = GetStakedBalanceQueryFnData;
|
|
|
47
54
|
export const getStakedBalanceQueryKey = (
|
|
48
55
|
options: Compute<ExactPartial<GetStakedBalanceOptions>> = {},
|
|
49
56
|
): GetStakedBalanceQueryKey => {
|
|
50
|
-
return ['stakedBalance', filterQueryOptions(options
|
|
57
|
+
return ['stakedBalance', filterQueryOptions(options)] as const;
|
|
51
58
|
};
|
|
52
59
|
|
|
53
60
|
export type GetStakedBalanceQueryKey = readonly ['stakedBalance', Compute<ExactPartial<GetStakedBalanceOptions>>];
|
|
@@ -12,7 +12,7 @@ import type { GetStakingProviderInfoReturnType } from '../../actions/staking/get
|
|
|
12
12
|
import type { AppKit } from '../../core/app-kit';
|
|
13
13
|
import type { QueryOptions, QueryParameter } from '../../types/query';
|
|
14
14
|
import type { Compute, ExactPartial } from '../../types/utils';
|
|
15
|
-
import { filterQueryOptions } from '../../utils';
|
|
15
|
+
import { filterQueryOptions, resolveNetwork } from '../../utils';
|
|
16
16
|
|
|
17
17
|
export type GetStakingProviderInfoErrorType = Error;
|
|
18
18
|
|
|
@@ -28,8 +28,11 @@ export type GetStakingProviderInfoQueryConfig<selectData = GetStakingProviderInf
|
|
|
28
28
|
|
|
29
29
|
export const getStakingProviderInfoQueryOptions = <selectData = GetStakingProviderInfoData>(
|
|
30
30
|
appKit: AppKit,
|
|
31
|
-
|
|
31
|
+
initialOptions: GetStakingProviderInfoQueryConfig<selectData> = {},
|
|
32
32
|
): GetStakingProviderInfoQueryOptions<selectData> => {
|
|
33
|
+
const network = resolveNetwork(appKit, initialOptions.network);
|
|
34
|
+
const options = { ...initialOptions, network };
|
|
35
|
+
|
|
33
36
|
return {
|
|
34
37
|
...options.query,
|
|
35
38
|
queryFn: async (context) => {
|
|
@@ -12,7 +12,7 @@ import type { GetStakingQuoteReturnType } from '../../actions/staking/get-stakin
|
|
|
12
12
|
import type { AppKit } from '../../core/app-kit';
|
|
13
13
|
import type { QueryOptions, QueryParameter } from '../../types/query';
|
|
14
14
|
import type { Compute, ExactPartial } from '../../types/utils';
|
|
15
|
-
import { filterQueryOptions } from '../../utils';
|
|
15
|
+
import { filterQueryOptions, resolveNetwork, tryToBounceableAddress } from '../../utils';
|
|
16
16
|
|
|
17
17
|
export type GetStakingQuoteErrorType = Error;
|
|
18
18
|
|
|
@@ -23,11 +23,20 @@ export type GetStakingQuoteQueryConfig<selectData = GetStakingQuoteData> = Compu
|
|
|
23
23
|
|
|
24
24
|
export const getStakingQuoteQueryOptions = <selectData = GetStakingQuoteData>(
|
|
25
25
|
appKit: AppKit,
|
|
26
|
-
|
|
26
|
+
initialOptions: GetStakingQuoteQueryConfig<selectData> = {},
|
|
27
27
|
): GetStakingQuoteQueryOptions<selectData> => {
|
|
28
|
+
const network = resolveNetwork(appKit, initialOptions.network);
|
|
29
|
+
const options = {
|
|
30
|
+
...initialOptions,
|
|
31
|
+
network,
|
|
32
|
+
userAddress: tryToBounceableAddress(initialOptions.userAddress) ?? initialOptions.userAddress,
|
|
33
|
+
};
|
|
34
|
+
|
|
28
35
|
return {
|
|
29
36
|
...options.query,
|
|
30
|
-
enabled: Boolean(
|
|
37
|
+
enabled: Boolean(
|
|
38
|
+
options.amount && options.amount !== '0' && options.direction && (options.query?.enabled ?? true),
|
|
39
|
+
),
|
|
31
40
|
queryFn: async (context) => {
|
|
32
41
|
const [, parameters] = context.queryKey as [string, GetStakingQuoteOptions];
|
|
33
42
|
if (!parameters.amount || !parameters.direction) {
|
|
@@ -47,7 +56,7 @@ export type GetStakingQuoteData = GetStakingQuoteQueryFnData;
|
|
|
47
56
|
export const getStakingQuoteQueryKey = (
|
|
48
57
|
options: Compute<ExactPartial<GetStakingQuoteOptions>> = {},
|
|
49
58
|
): GetStakingQuoteQueryKey => {
|
|
50
|
-
return ['stakingQuote', filterQueryOptions(options
|
|
59
|
+
return ['stakingQuote', filterQueryOptions(options)] as const;
|
|
51
60
|
};
|
|
52
61
|
|
|
53
62
|
export type GetStakingQuoteQueryKey = readonly ['stakingQuote', Compute<ExactPartial<GetStakingQuoteOptions>>];
|
|
@@ -28,7 +28,9 @@ export const getSwapQuoteQueryOptions = <selectData = GetSwapQuoteData>(
|
|
|
28
28
|
|
|
29
29
|
return {
|
|
30
30
|
...options.query,
|
|
31
|
-
enabled: Boolean(
|
|
31
|
+
enabled: Boolean(
|
|
32
|
+
options.amount && options.amount !== '0' && options.from && options.to && (options.query?.enabled ?? true),
|
|
33
|
+
),
|
|
32
34
|
queryFn: async (context) => {
|
|
33
35
|
const [, parameters] = context.queryKey as [string, GetSwapQuoteOptions];
|
|
34
36
|
if (!parameters.amount || !parameters.from || !parameters.to) {
|
package/src/staking/index.ts
CHANGED
|
@@ -6,7 +6,14 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
export {
|
|
9
|
+
export {
|
|
10
|
+
DefiError,
|
|
11
|
+
StakingProvider,
|
|
12
|
+
UnstakeMode,
|
|
13
|
+
StakingError,
|
|
14
|
+
StakingErrorCode,
|
|
15
|
+
StakingManager,
|
|
16
|
+
} from '@ton/walletkit';
|
|
10
17
|
|
|
11
18
|
export type {
|
|
12
19
|
UnstakeModes,
|
|
@@ -18,4 +25,6 @@ export type {
|
|
|
18
25
|
StakingProviderInfo,
|
|
19
26
|
StakingProviderInterface,
|
|
20
27
|
StakingQuoteDirection,
|
|
28
|
+
StakingProviderMetadata,
|
|
29
|
+
StakingTokenInfo,
|
|
21
30
|
} from '@ton/walletkit';
|
package/src/swap/index.ts
CHANGED
|
@@ -6,17 +6,15 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
export { DefiError, DefiErrorCode, SwapError, SwapErrorCode, SwapProvider, SwapManager } from '@ton/walletkit';
|
|
10
|
+
|
|
9
11
|
export type {
|
|
10
12
|
SwapToken,
|
|
11
13
|
TokenAmount,
|
|
12
14
|
SwapParams,
|
|
13
15
|
SwapAPI,
|
|
14
|
-
SwapFee,
|
|
15
16
|
SwapQuote,
|
|
16
17
|
SwapQuoteParams,
|
|
17
18
|
DefiManagerAPI,
|
|
18
19
|
DefiProvider,
|
|
19
|
-
SwapProvider,
|
|
20
|
-
SwapError,
|
|
21
|
-
SwapManager,
|
|
22
20
|
} from '@ton/walletkit';
|
package/src/types/connector.ts
CHANGED
|
@@ -21,8 +21,6 @@ export interface Connector {
|
|
|
21
21
|
/** Protocol type (e.g. 'tonconnect') */
|
|
22
22
|
readonly type: string;
|
|
23
23
|
|
|
24
|
-
readonly metadata: ConnectorMetadata;
|
|
25
|
-
|
|
26
24
|
/** Cleanup connector resources */
|
|
27
25
|
destroy(): void;
|
|
28
26
|
|
|
@@ -36,18 +34,12 @@ export interface Connector {
|
|
|
36
34
|
getConnectedWallets(): WalletInterface[];
|
|
37
35
|
}
|
|
38
36
|
|
|
39
|
-
export interface ConnectorMetadata {
|
|
40
|
-
name: string;
|
|
41
|
-
iconUrl?: string;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
37
|
/**
|
|
45
38
|
* Context passed to connector factory functions.
|
|
46
39
|
*/
|
|
47
40
|
export interface ConnectorFactoryContext {
|
|
48
41
|
networkManager: AppKitNetworkManager;
|
|
49
42
|
eventEmitter: AppKitEmitter;
|
|
50
|
-
ssr?: boolean;
|
|
51
43
|
}
|
|
52
44
|
|
|
53
45
|
/** Factory function that creates a connector from context */
|
package/src/types/primitives.ts
CHANGED
package/src/types/provider.ts
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type { SwapProviderInterface, StakingProviderInterface } from '@ton/walletkit';
|
|
9
|
+
import type { SwapProviderInterface, StakingProviderInterface, StreamingProvider } from '@ton/walletkit';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Available provider types in AppKit.
|
|
13
13
|
*/
|
|
14
|
-
export type
|
|
14
|
+
export type AppKitProvider = SwapProviderInterface | StakingProviderInterface | StreamingProvider;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) TonTech.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { Address } from '@ton/core';
|
|
10
|
+
|
|
11
|
+
import type { UserFriendlyAddress } from '../../types/primitives';
|
|
12
|
+
import { isString } from '../predicate/is-string';
|
|
13
|
+
|
|
14
|
+
export const isValidAddress = (address: unknown): address is string => {
|
|
15
|
+
if (typeof address !== 'string') {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
Address.parse(address);
|
|
21
|
+
} catch (_) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return true;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export const isFriendlyTonAddress = (address: unknown): address is UserFriendlyAddress => {
|
|
29
|
+
if (!isString(address)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
try {
|
|
34
|
+
Address.parseFriendly(address);
|
|
35
|
+
} catch (_) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return true;
|
|
40
|
+
};
|