@ton/appkit 1.0.0-alpha.0 → 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.
Files changed (76) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/CHANGELOG.md +12 -0
  3. package/README.md +8 -7
  4. package/dist/cjs/actions/connectors/watch-connector-by-id.d.ts.map +1 -1
  5. package/dist/cjs/actions/connectors/watch-connector-by-id.js +8 -3
  6. package/dist/cjs/actions/connectors/watch-connectors.d.ts.map +1 -1
  7. package/dist/cjs/actions/connectors/watch-connectors.js +8 -3
  8. package/dist/cjs/actions/providers/register-provider.d.ts +2 -1
  9. package/dist/cjs/actions/providers/register-provider.d.ts.map +1 -1
  10. package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.d.ts +1 -2
  11. package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.d.ts.map +1 -1
  12. package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.js +14 -16
  13. package/dist/cjs/core/app-kit/constants/events.d.ts +3 -2
  14. package/dist/cjs/core/app-kit/constants/events.d.ts.map +1 -1
  15. package/dist/cjs/core/app-kit/constants/events.js +3 -2
  16. package/dist/cjs/core/app-kit/index.d.ts +1 -1
  17. package/dist/cjs/core/app-kit/index.d.ts.map +1 -1
  18. package/dist/cjs/core/app-kit/services/app-kit.d.ts +2 -1
  19. package/dist/cjs/core/app-kit/services/app-kit.d.ts.map +1 -1
  20. package/dist/cjs/core/app-kit/services/app-kit.js +8 -2
  21. package/dist/cjs/core/app-kit/types/config.d.ts +2 -1
  22. package/dist/cjs/core/app-kit/types/config.d.ts.map +1 -1
  23. package/dist/cjs/core/app-kit/types/events.d.ts +11 -6
  24. package/dist/cjs/core/app-kit/types/events.d.ts.map +1 -1
  25. package/dist/cjs/swap/index.d.ts +1 -1
  26. package/dist/cjs/swap/index.d.ts.map +1 -1
  27. package/dist/cjs/swap/index.js +3 -1
  28. package/dist/cjs/types/connector.d.ts +0 -5
  29. package/dist/cjs/types/connector.d.ts.map +1 -1
  30. package/dist/cjs/types/provider.d.ts +3 -3
  31. package/dist/cjs/types/provider.d.ts.map +1 -1
  32. package/dist/esm/actions/connectors/watch-connector-by-id.d.ts.map +1 -1
  33. package/dist/esm/actions/connectors/watch-connector-by-id.js +8 -3
  34. package/dist/esm/actions/connectors/watch-connectors.d.ts.map +1 -1
  35. package/dist/esm/actions/connectors/watch-connectors.js +8 -3
  36. package/dist/esm/actions/providers/register-provider.d.ts +2 -1
  37. package/dist/esm/actions/providers/register-provider.d.ts.map +1 -1
  38. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts +1 -2
  39. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts.map +1 -1
  40. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.js +14 -16
  41. package/dist/esm/core/app-kit/constants/events.d.ts +3 -2
  42. package/dist/esm/core/app-kit/constants/events.d.ts.map +1 -1
  43. package/dist/esm/core/app-kit/constants/events.js +3 -2
  44. package/dist/esm/core/app-kit/index.d.ts +1 -1
  45. package/dist/esm/core/app-kit/index.d.ts.map +1 -1
  46. package/dist/esm/core/app-kit/services/app-kit.d.ts +2 -1
  47. package/dist/esm/core/app-kit/services/app-kit.d.ts.map +1 -1
  48. package/dist/esm/core/app-kit/services/app-kit.js +8 -2
  49. package/dist/esm/core/app-kit/types/config.d.ts +2 -1
  50. package/dist/esm/core/app-kit/types/config.d.ts.map +1 -1
  51. package/dist/esm/core/app-kit/types/events.d.ts +11 -6
  52. package/dist/esm/core/app-kit/types/events.d.ts.map +1 -1
  53. package/dist/esm/swap/index.d.ts +1 -1
  54. package/dist/esm/swap/index.d.ts.map +1 -1
  55. package/dist/esm/swap/index.js +1 -1
  56. package/dist/esm/types/connector.d.ts +0 -5
  57. package/dist/esm/types/connector.d.ts.map +1 -1
  58. package/dist/esm/types/provider.d.ts +3 -3
  59. package/dist/esm/types/provider.d.ts.map +1 -1
  60. package/docs/actions.md +7 -6
  61. package/docs/connectors.md +5 -25
  62. package/docs/staking.md +7 -6
  63. package/docs/swap.md +7 -6
  64. package/package.json +2 -2
  65. package/src/actions/connectors/watch-connector-by-id.ts +9 -3
  66. package/src/actions/connectors/watch-connectors.ts +9 -3
  67. package/src/actions/providers/register-provider.ts +2 -1
  68. package/src/connectors/tonconnect/connectors/ton-connect-connector.ts +20 -18
  69. package/src/core/app-kit/constants/events.ts +3 -2
  70. package/src/core/app-kit/index.ts +3 -2
  71. package/src/core/app-kit/services/app-kit.ts +11 -4
  72. package/src/core/app-kit/types/config.ts +2 -1
  73. package/src/core/app-kit/types/events.ts +12 -6
  74. package/src/swap/index.ts +1 -1
  75. package/src/types/connector.ts +0 -7
  76. package/src/types/provider.ts +3 -3
@@ -7,7 +7,7 @@
7
7
  */
8
8
 
9
9
  import { SwapManager, StreamingManager } from '@ton/walletkit';
10
- import type { ProviderInput, SwapProviderInterface, StakingProviderInterface } from '@ton/walletkit';
10
+ import type { ProviderInput, SwapProviderInterface, StakingProviderInterface, StreamingProvider } from '@ton/walletkit';
11
11
 
12
12
  import type { AppKitConfig } from '../types/config';
13
13
  import { CONNECTOR_EVENTS, WALLETS_EVENTS } from '../constants/events';
@@ -21,6 +21,7 @@ import { AppKitNetworkManager } from '../../network';
21
21
  import { Network } from '../../../types/network';
22
22
  import type { AppKitCache } from '../../cache';
23
23
  import { LruAppKitCache } from '../../cache';
24
+ import type { AppKitProvider } from '../../../types/provider';
24
25
 
25
26
  /**
26
27
  * Central hub for wallet management.
@@ -43,8 +44,7 @@ export class AppKit {
43
44
  this.cache = config.cache ?? new LruAppKitCache();
44
45
 
45
46
  this.emitter = new EventEmitter<AppKitEvents>();
46
- this.emitter.on(CONNECTOR_EVENTS.CONNECTED, this.updateWalletsFromConnectors.bind(this));
47
- this.emitter.on(CONNECTOR_EVENTS.DISCONNECTED, this.updateWalletsFromConnectors.bind(this));
47
+ this.emitter.on(CONNECTOR_EVENTS.WALLETS_UPDATED, this.updateWalletsFromConnectors.bind(this));
48
48
 
49
49
  // Use provided networks config or default to mainnet
50
50
  const networks = config.networks ?? {
@@ -88,6 +88,8 @@ export class AppKit {
88
88
  }
89
89
 
90
90
  this.connectors.push(connector);
91
+ this.updateWalletsFromConnectors();
92
+ this.emitter.emit(CONNECTOR_EVENTS.ADDED, { connector }, 'appkit');
91
93
 
92
94
  return () => {
93
95
  this.removeConnector(connector);
@@ -104,13 +106,15 @@ export class AppKit {
104
106
  if (oldConnector) {
105
107
  oldConnector.destroy();
106
108
  this.connectors.splice(this.connectors.indexOf(oldConnector), 1);
109
+ this.updateWalletsFromConnectors();
110
+ this.emitter.emit(CONNECTOR_EVENTS.REMOVED, { connector: oldConnector }, 'appkit');
107
111
  }
108
112
  }
109
113
 
110
114
  /**
111
115
  * Add a provider
112
116
  */
113
- registerProvider(input: ProviderInput): void {
117
+ registerProvider(input: ProviderInput<AppKitProvider>): void {
114
118
  const provider = typeof input === 'function' ? input(this.createFactoryContext()) : input;
115
119
  switch (provider.type) {
116
120
  case 'swap':
@@ -119,6 +123,9 @@ export class AppKit {
119
123
  case 'staking':
120
124
  this.stakingManager.registerProvider(provider as StakingProviderInterface);
121
125
  break;
126
+ case 'streaming':
127
+ this.streamingManager.registerProvider(provider as StreamingProvider);
128
+ break;
122
129
  default:
123
130
  throw new Error('Unknown provider type');
124
131
  }
@@ -11,6 +11,7 @@ import type { NetworkAdapters, ProviderInput } from '@ton/walletkit';
11
11
  import type { AppKitCache } from '../../cache';
12
12
  import type { ConnectorInput } from '../../../types/connector';
13
13
  import type { Network } from '../../../types/network';
14
+ import type { AppKitProvider } from '../../../types/provider';
14
15
 
15
16
  /**
16
17
  * Configuration for AppKit
@@ -37,7 +38,7 @@ export interface AppKitConfig {
37
38
  */
38
39
  defaultNetwork?: Network;
39
40
 
40
- providers?: ProviderInput[];
41
+ providers?: ProviderInput<AppKitProvider>[];
41
42
 
42
43
  /**
43
44
  * Custom cache implementation.
@@ -6,19 +6,24 @@
6
6
  *
7
7
  */
8
8
 
9
+ import type { Connector } from '../../../types/connector';
9
10
  import type { Network } from '../../../types/network';
10
11
  import type { CONNECTOR_EVENTS, WALLETS_EVENTS, NETWORKS_EVENTS } from '../constants/events';
11
12
  import type { SharedKitEvents } from '../../emitter';
12
13
  import type { EventEmitter } from '../../emitter';
13
14
  import type { WalletInterface } from '../../../types/wallet';
14
15
 
15
- export interface WalletConnectedPayload {
16
- wallets: WalletInterface[];
17
- connectorId: string;
16
+ export interface ConnectorAddedPayload {
17
+ connector: Connector;
18
18
  }
19
19
 
20
- export interface WalletDisconnectedPayload {
20
+ export interface ConnectorRemovedPayload {
21
+ connector: Connector;
22
+ }
23
+
24
+ export interface ConnectorWalletsUpdatedPayload {
21
25
  connectorId: string;
26
+ wallets: WalletInterface[];
22
27
  }
23
28
 
24
29
  export interface DefaultNetworkChangedPayload {
@@ -27,8 +32,9 @@ export interface DefaultNetworkChangedPayload {
27
32
 
28
33
  export type AppKitEvents = {
29
34
  // Connector events
30
- [CONNECTOR_EVENTS.CONNECTED]: WalletConnectedPayload;
31
- [CONNECTOR_EVENTS.DISCONNECTED]: WalletDisconnectedPayload;
35
+ [CONNECTOR_EVENTS.ADDED]: ConnectorAddedPayload;
36
+ [CONNECTOR_EVENTS.REMOVED]: ConnectorRemovedPayload;
37
+ [CONNECTOR_EVENTS.WALLETS_UPDATED]: ConnectorWalletsUpdatedPayload;
32
38
 
33
39
  // Wallets events
34
40
  [WALLETS_EVENTS.UPDATED]: { wallets: WalletInterface[] };
package/src/swap/index.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
 
9
- export { DefiError, SwapError, SwapProvider, SwapManager } from '@ton/walletkit';
9
+ export { DefiError, DefiErrorCode, SwapError, SwapErrorCode, SwapProvider, SwapManager } from '@ton/walletkit';
10
10
 
11
11
  export type {
12
12
  SwapToken,
@@ -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,11 +34,6 @@ 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
  */
@@ -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
- * Provider configuration
12
+ * Available provider types in AppKit.
13
13
  */
14
- export type Provider = SwapProviderInterface | StakingProviderInterface;
14
+ export type AppKitProvider = SwapProviderInterface | StakingProviderInterface | StreamingProvider;