@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.
- package/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +12 -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/providers/register-provider.d.ts +2 -1
- package/dist/cjs/actions/providers/register-provider.d.ts.map +1 -1
- 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 +14 -16
- package/dist/cjs/core/app-kit/constants/events.d.ts +3 -2
- package/dist/cjs/core/app-kit/constants/events.d.ts.map +1 -1
- package/dist/cjs/core/app-kit/constants/events.js +3 -2
- package/dist/cjs/core/app-kit/index.d.ts +1 -1
- package/dist/cjs/core/app-kit/index.d.ts.map +1 -1
- package/dist/cjs/core/app-kit/services/app-kit.d.ts +2 -1
- package/dist/cjs/core/app-kit/services/app-kit.d.ts.map +1 -1
- package/dist/cjs/core/app-kit/services/app-kit.js +8 -2
- package/dist/cjs/core/app-kit/types/config.d.ts +2 -1
- package/dist/cjs/core/app-kit/types/config.d.ts.map +1 -1
- package/dist/cjs/core/app-kit/types/events.d.ts +11 -6
- package/dist/cjs/core/app-kit/types/events.d.ts.map +1 -1
- package/dist/cjs/swap/index.d.ts +1 -1
- package/dist/cjs/swap/index.d.ts.map +1 -1
- package/dist/cjs/swap/index.js +3 -1
- package/dist/cjs/types/connector.d.ts +0 -5
- package/dist/cjs/types/connector.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/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/providers/register-provider.d.ts +2 -1
- package/dist/esm/actions/providers/register-provider.d.ts.map +1 -1
- 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 +14 -16
- package/dist/esm/core/app-kit/constants/events.d.ts +3 -2
- package/dist/esm/core/app-kit/constants/events.d.ts.map +1 -1
- package/dist/esm/core/app-kit/constants/events.js +3 -2
- package/dist/esm/core/app-kit/index.d.ts +1 -1
- package/dist/esm/core/app-kit/index.d.ts.map +1 -1
- package/dist/esm/core/app-kit/services/app-kit.d.ts +2 -1
- package/dist/esm/core/app-kit/services/app-kit.d.ts.map +1 -1
- package/dist/esm/core/app-kit/services/app-kit.js +8 -2
- package/dist/esm/core/app-kit/types/config.d.ts +2 -1
- package/dist/esm/core/app-kit/types/config.d.ts.map +1 -1
- package/dist/esm/core/app-kit/types/events.d.ts +11 -6
- package/dist/esm/core/app-kit/types/events.d.ts.map +1 -1
- package/dist/esm/swap/index.d.ts +1 -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 -5
- package/dist/esm/types/connector.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/docs/actions.md +7 -6
- package/docs/connectors.md +5 -25
- package/docs/staking.md +7 -6
- package/docs/swap.md +7 -6
- package/package.json +2 -2
- package/src/actions/connectors/watch-connector-by-id.ts +9 -3
- package/src/actions/connectors/watch-connectors.ts +9 -3
- package/src/actions/providers/register-provider.ts +2 -1
- package/src/connectors/tonconnect/connectors/ton-connect-connector.ts +20 -18
- package/src/core/app-kit/constants/events.ts +3 -2
- package/src/core/app-kit/index.ts +3 -2
- package/src/core/app-kit/services/app-kit.ts +11 -4
- package/src/core/app-kit/types/config.ts +2 -1
- package/src/core/app-kit/types/events.ts +12 -6
- package/src/swap/index.ts +1 -1
- package/src/types/connector.ts +0 -7
- 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.
|
|
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
|
|
16
|
-
|
|
17
|
-
connectorId: string;
|
|
16
|
+
export interface ConnectorAddedPayload {
|
|
17
|
+
connector: Connector;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export interface
|
|
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.
|
|
31
|
-
[CONNECTOR_EVENTS.
|
|
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
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,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
|
*/
|
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;
|