@ton/appkit 1.0.0-alpha.0 → 1.0.0-alpha.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.
Files changed (100) hide show
  1. package/.turbo/turbo-build.log +4 -16
  2. package/CHANGELOG.md +23 -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/cjs/utils/index.d.ts +1 -1
  33. package/dist/cjs/utils/index.d.ts.map +1 -1
  34. package/dist/cjs/utils/index.js +1 -1
  35. package/dist/{esm/utils/promise/cancel-promise.test.d.ts → cjs/utils/promise/with-timeout.d.ts} +2 -2
  36. package/dist/cjs/utils/promise/with-timeout.d.ts.map +1 -0
  37. package/dist/cjs/utils/promise/with-timeout.js +13 -0
  38. package/dist/esm/actions/connectors/watch-connector-by-id.d.ts.map +1 -1
  39. package/dist/esm/actions/connectors/watch-connector-by-id.js +8 -3
  40. package/dist/esm/actions/connectors/watch-connectors.d.ts.map +1 -1
  41. package/dist/esm/actions/connectors/watch-connectors.js +8 -3
  42. package/dist/esm/actions/providers/register-provider.d.ts +2 -1
  43. package/dist/esm/actions/providers/register-provider.d.ts.map +1 -1
  44. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts +1 -2
  45. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts.map +1 -1
  46. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.js +14 -16
  47. package/dist/esm/core/app-kit/constants/events.d.ts +3 -2
  48. package/dist/esm/core/app-kit/constants/events.d.ts.map +1 -1
  49. package/dist/esm/core/app-kit/constants/events.js +3 -2
  50. package/dist/esm/core/app-kit/index.d.ts +1 -1
  51. package/dist/esm/core/app-kit/index.d.ts.map +1 -1
  52. package/dist/esm/core/app-kit/services/app-kit.d.ts +2 -1
  53. package/dist/esm/core/app-kit/services/app-kit.d.ts.map +1 -1
  54. package/dist/esm/core/app-kit/services/app-kit.js +8 -2
  55. package/dist/esm/core/app-kit/types/config.d.ts +2 -1
  56. package/dist/esm/core/app-kit/types/config.d.ts.map +1 -1
  57. package/dist/esm/core/app-kit/types/events.d.ts +11 -6
  58. package/dist/esm/core/app-kit/types/events.d.ts.map +1 -1
  59. package/dist/esm/swap/index.d.ts +1 -1
  60. package/dist/esm/swap/index.d.ts.map +1 -1
  61. package/dist/esm/swap/index.js +1 -1
  62. package/dist/esm/types/connector.d.ts +0 -5
  63. package/dist/esm/types/connector.d.ts.map +1 -1
  64. package/dist/esm/types/provider.d.ts +3 -3
  65. package/dist/esm/types/provider.d.ts.map +1 -1
  66. package/dist/esm/utils/index.d.ts +1 -1
  67. package/dist/esm/utils/index.d.ts.map +1 -1
  68. package/dist/esm/utils/index.js +1 -1
  69. package/dist/{cjs/utils/promise/cancel-promise.test.d.ts → esm/utils/promise/with-timeout.d.ts} +2 -2
  70. package/dist/esm/utils/promise/with-timeout.d.ts.map +1 -0
  71. package/dist/{cjs/utils/promise/cancel-promise.d.ts → esm/utils/promise/with-timeout.js} +2 -2
  72. package/docs/actions.md +7 -6
  73. package/docs/connectors.md +5 -25
  74. package/docs/staking.md +7 -6
  75. package/docs/swap.md +7 -6
  76. package/package.json +9 -8
  77. package/src/actions/connectors/watch-connector-by-id.ts +9 -3
  78. package/src/actions/connectors/watch-connectors.ts +9 -3
  79. package/src/actions/providers/register-provider.ts +2 -1
  80. package/src/connectors/tonconnect/connectors/ton-connect-connector.ts +20 -18
  81. package/src/core/app-kit/constants/events.ts +3 -2
  82. package/src/core/app-kit/index.ts +3 -2
  83. package/src/core/app-kit/services/app-kit.ts +11 -4
  84. package/src/core/app-kit/types/config.ts +2 -1
  85. package/src/core/app-kit/types/events.ts +12 -6
  86. package/src/swap/index.ts +1 -1
  87. package/src/types/connector.ts +0 -7
  88. package/src/types/provider.ts +3 -3
  89. package/src/utils/index.ts +1 -1
  90. package/{dist/esm/utils/promise/cancel-promise.d.ts → src/utils/promise/with-timeout.ts} +3 -2
  91. package/dist/cjs/utils/promise/cancel-promise.d.ts.map +0 -1
  92. package/dist/cjs/utils/promise/cancel-promise.js +0 -19
  93. package/dist/cjs/utils/promise/cancel-promise.test.d.ts.map +0 -1
  94. package/dist/cjs/utils/promise/cancel-promise.test.js +0 -25
  95. package/dist/esm/utils/promise/cancel-promise.d.ts.map +0 -1
  96. package/dist/esm/utils/promise/cancel-promise.js +0 -15
  97. package/dist/esm/utils/promise/cancel-promise.test.d.ts.map +0 -1
  98. package/dist/esm/utils/promise/cancel-promise.test.js +0 -23
  99. package/src/utils/promise/cancel-promise.test.ts +0 -28
  100. package/src/utils/promise/cancel-promise.ts +0 -16
@@ -7,10 +7,9 @@
7
7
  */
8
8
  import { TonConnectUI } from '@tonconnect/ui';
9
9
  import type { TonConnectUiCreateOptions } from '@tonconnect/ui';
10
- import type { Connector, ConnectorMetadata } from '../../../types/connector';
10
+ import type { Connector } from '../../../types/connector';
11
11
  export interface TonConnectConnectorConfig {
12
12
  id?: string;
13
- metadata?: ConnectorMetadata;
14
13
  tonConnectOptions?: TonConnectUiCreateOptions;
15
14
  tonConnectUI?: TonConnectUI;
16
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ton-connect-connector.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/tonconnect/connectors/ton-connect-connector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAIhE,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7E,MAAM,WAAW,yBAAyB;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC1C,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,QAAQ,yBAAyB,wCAgH1E,CAAC"}
1
+ {"version":3,"file":"ton-connect-connector.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/tonconnect/connectors/ton-connect-connector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAIhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAK1D,MAAM,WAAW,yBAAyB;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC1C,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,QAAQ,yBAAyB,wCAmH1E,CAAC"}
@@ -14,8 +14,13 @@ export const createTonConnectConnector = (config) => {
14
14
  return createConnector(({ eventEmitter, networkManager }) => {
15
15
  let originalTonConnectUI = null;
16
16
  let unsubscribeTonConnect = null;
17
+ let unsubscribeDefaultNetwork = null;
18
+ let destroyed = false;
17
19
  const id = config.id ?? TONCONNECT_DEFAULT_CONNECTOR_ID;
18
- function getTonConnectUI() {
20
+ const getTonConnectUI = () => {
21
+ if (destroyed) {
22
+ return null;
23
+ }
19
24
  if (originalTonConnectUI) {
20
25
  return originalTonConnectUI;
21
26
  }
@@ -35,7 +40,7 @@ export const createTonConnectConnector = (config) => {
35
40
  originalTonConnectUI.connector.restoreConnection();
36
41
  }
37
42
  return originalTonConnectUI;
38
- }
43
+ };
39
44
  function getConnectedWallets() {
40
45
  const ui = getTonConnectUI();
41
46
  if (ui && ui.connected && ui.wallet) {
@@ -54,18 +59,12 @@ export const createTonConnectConnector = (config) => {
54
59
  if (!originalTonConnectUI || unsubscribeTonConnect) {
55
60
  return;
56
61
  }
57
- unsubscribeTonConnect = originalTonConnectUI.onStatusChange((wallet) => {
58
- const wallets = getConnectedWallets();
59
- if (wallet) {
60
- eventEmitter.emit(CONNECTOR_EVENTS.CONNECTED, { wallets, connectorId: id }, id);
61
- }
62
- else {
63
- eventEmitter.emit(CONNECTOR_EVENTS.DISCONNECTED, { connectorId: id }, id);
64
- }
62
+ unsubscribeTonConnect = originalTonConnectUI.onStatusChange(() => {
63
+ eventEmitter.emit(CONNECTOR_EVENTS.WALLETS_UPDATED, { connectorId: id, wallets: getConnectedWallets() }, id);
65
64
  });
66
65
  // Set default network and subscribe to changes
67
66
  originalTonConnectUI.setConnectionNetwork(networkManager.getDefaultNetwork()?.chainId);
68
- eventEmitter.on(NETWORKS_EVENTS.DEFAULT_CHANGED, ({ payload }) => {
67
+ unsubscribeDefaultNetwork = eventEmitter.on(NETWORKS_EVENTS.DEFAULT_CHANGED, ({ payload }) => {
69
68
  if (originalTonConnectUI) {
70
69
  originalTonConnectUI.setConnectionNetwork(payload.network?.chainId);
71
70
  }
@@ -74,11 +73,6 @@ export const createTonConnectConnector = (config) => {
74
73
  return {
75
74
  id,
76
75
  type: 'tonconnect',
77
- metadata: {
78
- name: 'TonConnect',
79
- iconUrl: 'https://avatars.githubusercontent.com/u/113980577',
80
- ...config.metadata,
81
- },
82
76
  get tonConnectUI() {
83
77
  return getTonConnectUI();
84
78
  },
@@ -96,7 +90,11 @@ export const createTonConnectConnector = (config) => {
96
90
  }
97
91
  },
98
92
  destroy() {
93
+ destroyed = true;
99
94
  unsubscribeTonConnect?.();
95
+ unsubscribeDefaultNetwork?.();
96
+ unsubscribeTonConnect = null;
97
+ unsubscribeDefaultNetwork = null;
100
98
  originalTonConnectUI = null;
101
99
  },
102
100
  };
@@ -9,8 +9,9 @@
9
9
  * Connector events
10
10
  */
11
11
  export declare const CONNECTOR_EVENTS: {
12
- readonly CONNECTED: "connector:connected";
13
- readonly DISCONNECTED: "connector:disconnected";
12
+ readonly ADDED: "connector:added";
13
+ readonly REMOVED: "connector:removed";
14
+ readonly WALLETS_UPDATED: "connector:wallets-updated";
14
15
  };
15
16
  /**
16
17
  * Wallet events
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../../src/core/app-kit/constants/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;CAGlB,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../../src/core/app-kit/constants/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;CAGlB,CAAC"}
@@ -9,8 +9,9 @@
9
9
  * Connector events
10
10
  */
11
11
  export const CONNECTOR_EVENTS = {
12
- CONNECTED: 'connector:connected',
13
- DISCONNECTED: 'connector:disconnected',
12
+ ADDED: 'connector:added',
13
+ REMOVED: 'connector:removed',
14
+ WALLETS_UPDATED: 'connector:wallets-updated',
14
15
  };
15
16
  /**
16
17
  * Wallet events
@@ -8,5 +8,5 @@
8
8
  export { AppKit } from './services/app-kit';
9
9
  export { CONNECTOR_EVENTS, WALLETS_EVENTS, NETWORKS_EVENTS } from './constants/events';
10
10
  export type { AppKitConfig } from './types/config';
11
- export type { AppKitEmitter, AppKitEvents, WalletConnectedPayload, WalletDisconnectedPayload, DefaultNetworkChangedPayload, } from './types/events';
11
+ export type { AppKitEmitter, AppKitEvents, ConnectorAddedPayload, ConnectorRemovedPayload, ConnectorWalletsUpdatedPayload, DefaultNetworkChangedPayload, } from './types/events';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/app-kit/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvF,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EACR,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,GAC/B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/app-kit/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvF,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EACR,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,4BAA4B,GAC/B,MAAM,gBAAgB,CAAC"}
@@ -14,6 +14,7 @@ import type { AppKitEmitter } from '../types/events';
14
14
  import { WalletsManager } from '../../wallets-manager';
15
15
  import { AppKitNetworkManager } from '../../network';
16
16
  import type { AppKitCache } from '../../cache';
17
+ import type { AppKitProvider } from '../../../types/provider';
17
18
  /**
18
19
  * Central hub for wallet management.
19
20
  * Stores emitter, providers, and manages wallet connections.
@@ -41,7 +42,7 @@ export declare class AppKit {
41
42
  /**
42
43
  * Add a provider
43
44
  */
44
- registerProvider(input: ProviderInput): void;
45
+ registerProvider(input: ProviderInput<AppKitProvider>): void;
45
46
  /**
46
47
  * Get all connected wallets from all connectors
47
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"app-kit.d.ts","sourceRoot":"","sources":["../../../../../src/core/app-kit/services/app-kit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAmD,MAAM,gBAAgB,CAAC;AAErG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEnG,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C;;;GAGG;AACH,qBAAa,MAAM;IACf,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IACtC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;gBAEhB,MAAM,EAAE,YAAY;IAiChC,oBAAoB,IAAI,uBAAuB;IAI/C;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,IAAI;IAgB/C;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAU3C;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAc5C;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAWtC"}
1
+ {"version":3,"file":"app-kit.d.ts","sourceRoot":"","sources":["../../../../../src/core/app-kit/services/app-kit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAsE,MAAM,gBAAgB,CAAC;AAExH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEnG,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;GAGG;AACH,qBAAa,MAAM;IACf,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IACtC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;gBAEhB,MAAM,EAAE,YAAY;IAgChC,oBAAoB,IAAI,uBAAuB;IAI/C;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,IAAI;IAkB/C;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAY3C;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI;IAiB5D;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAWtC"}
@@ -23,8 +23,7 @@ export class AppKit {
23
23
  this.config = config;
24
24
  this.cache = config.cache ?? new LruAppKitCache();
25
25
  this.emitter = new EventEmitter();
26
- this.emitter.on(CONNECTOR_EVENTS.CONNECTED, this.updateWalletsFromConnectors.bind(this));
27
- this.emitter.on(CONNECTOR_EVENTS.DISCONNECTED, this.updateWalletsFromConnectors.bind(this));
26
+ this.emitter.on(CONNECTOR_EVENTS.WALLETS_UPDATED, this.updateWalletsFromConnectors.bind(this));
28
27
  // Use provided networks config or default to mainnet
29
28
  const networks = config.networks ?? {
30
29
  [Network.mainnet().chainId]: {},
@@ -59,6 +58,8 @@ export class AppKit {
59
58
  this.removeConnector(oldConnector);
60
59
  }
61
60
  this.connectors.push(connector);
61
+ this.updateWalletsFromConnectors();
62
+ this.emitter.emit(CONNECTOR_EVENTS.ADDED, { connector }, 'appkit');
62
63
  return () => {
63
64
  this.removeConnector(connector);
64
65
  };
@@ -72,6 +73,8 @@ export class AppKit {
72
73
  if (oldConnector) {
73
74
  oldConnector.destroy();
74
75
  this.connectors.splice(this.connectors.indexOf(oldConnector), 1);
76
+ this.updateWalletsFromConnectors();
77
+ this.emitter.emit(CONNECTOR_EVENTS.REMOVED, { connector: oldConnector }, 'appkit');
75
78
  }
76
79
  }
77
80
  /**
@@ -86,6 +89,9 @@ export class AppKit {
86
89
  case 'staking':
87
90
  this.stakingManager.registerProvider(provider);
88
91
  break;
92
+ case 'streaming':
93
+ this.streamingManager.registerProvider(provider);
94
+ break;
89
95
  default:
90
96
  throw new Error('Unknown provider type');
91
97
  }
@@ -9,6 +9,7 @@ import type { NetworkAdapters, ProviderInput } from '@ton/walletkit';
9
9
  import type { AppKitCache } from '../../cache';
10
10
  import type { ConnectorInput } from '../../../types/connector';
11
11
  import type { Network } from '../../../types/network';
12
+ import type { AppKitProvider } from '../../../types/provider';
12
13
  /**
13
14
  * Configuration for AppKit
14
15
  */
@@ -31,7 +32,7 @@ export interface AppKitConfig {
31
32
  * Set to `undefined` to allow any network.
32
33
  */
33
34
  defaultNetwork?: Network;
34
- providers?: ProviderInput[];
35
+ providers?: ProviderInput<AppKitProvider>[];
35
36
  /**
36
37
  * Custom cache implementation.
37
38
  * Defaults to an LRU cache with a 10-minute TTL and a maximum of 1000 entries.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/core/app-kit/types/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAE9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAE5B;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/core/app-kit/types/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAE9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,SAAS,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;IAE5C;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB"}
@@ -5,24 +5,29 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
+ import type { Connector } from '../../../types/connector';
8
9
  import type { Network } from '../../../types/network';
9
10
  import type { CONNECTOR_EVENTS, WALLETS_EVENTS, NETWORKS_EVENTS } from '../constants/events';
10
11
  import type { SharedKitEvents } from '../../emitter';
11
12
  import type { EventEmitter } from '../../emitter';
12
13
  import type { WalletInterface } from '../../../types/wallet';
13
- export interface WalletConnectedPayload {
14
- wallets: WalletInterface[];
15
- connectorId: string;
14
+ export interface ConnectorAddedPayload {
15
+ connector: Connector;
16
16
  }
17
- export interface WalletDisconnectedPayload {
17
+ export interface ConnectorRemovedPayload {
18
+ connector: Connector;
19
+ }
20
+ export interface ConnectorWalletsUpdatedPayload {
18
21
  connectorId: string;
22
+ wallets: WalletInterface[];
19
23
  }
20
24
  export interface DefaultNetworkChangedPayload {
21
25
  network: Network | undefined;
22
26
  }
23
27
  export type AppKitEvents = {
24
- [CONNECTOR_EVENTS.CONNECTED]: WalletConnectedPayload;
25
- [CONNECTOR_EVENTS.DISCONNECTED]: WalletDisconnectedPayload;
28
+ [CONNECTOR_EVENTS.ADDED]: ConnectorAddedPayload;
29
+ [CONNECTOR_EVENTS.REMOVED]: ConnectorRemovedPayload;
30
+ [CONNECTOR_EVENTS.WALLETS_UPDATED]: ConnectorWalletsUpdatedPayload;
26
31
  [WALLETS_EVENTS.UPDATED]: {
27
32
  wallets: WalletInterface[];
28
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../../src/core/app-kit/types/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACtC,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IACzC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,MAAM,YAAY,GAAG;IAEvB,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACrD,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,yBAAyB,CAAC;IAG3D,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IACzD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAGhE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,4BAA4B,CAAC;CACnE,GAAG,eAAe,CAAC;AAEpB,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../../src/core/app-kit/types/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,8BAA8B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IACzC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,MAAM,YAAY,GAAG;IAEvB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAChD,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IACpD,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC;IAGnE,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IACzD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAGhE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,4BAA4B,CAAC;CACnE,GAAG,eAAe,CAAC;AAEpB,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC"}
@@ -5,6 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export { DefiError, SwapError, SwapProvider, SwapManager } from '@ton/walletkit';
8
+ export { DefiError, DefiErrorCode, SwapError, SwapErrorCode, SwapProvider, SwapManager } from '@ton/walletkit';
9
9
  export type { SwapToken, TokenAmount, SwapParams, SwapAPI, SwapQuote, SwapQuoteParams, DefiManagerAPI, DefiProvider, } from '@ton/walletkit';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swap/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjF,YAAY,EACR,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,eAAe,EACf,cAAc,EACd,YAAY,GACf,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swap/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE/G,YAAY,EACR,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,eAAe,EACf,cAAc,EACd,YAAY,GACf,MAAM,gBAAgB,CAAC"}
@@ -5,4 +5,4 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export { DefiError, SwapError, SwapProvider, SwapManager } from '@ton/walletkit';
8
+ export { DefiError, DefiErrorCode, SwapError, SwapErrorCode, SwapProvider, SwapManager } from '@ton/walletkit';
@@ -17,7 +17,6 @@ export interface Connector {
17
17
  readonly id: string;
18
18
  /** Protocol type (e.g. 'tonconnect') */
19
19
  readonly type: string;
20
- readonly metadata: ConnectorMetadata;
21
20
  /** Cleanup connector resources */
22
21
  destroy(): void;
23
22
  /** Connect a wallet */
@@ -27,10 +26,6 @@ export interface Connector {
27
26
  /** Get connected wallets */
28
27
  getConnectedWallets(): WalletInterface[];
29
28
  }
30
- export interface ConnectorMetadata {
31
- name: string;
32
- iconUrl?: string;
33
- }
34
29
  /**
35
30
  * Context passed to connector factory functions.
36
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/types/connector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAErC,kCAAkC;IAClC,OAAO,IAAI,IAAI,CAAC;IAEhB,uBAAuB;IACvB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,0BAA0B;IAC1B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,4BAA4B;IAC5B,mBAAmB,IAAI,eAAe,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,oBAAoB,CAAC;IACrC,YAAY,EAAE,aAAa,CAAC;CAC/B;AAED,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,uBAAuB,KAAK,SAAS,CAAC;AAE3E,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAE1D,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CAE3E"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/types/connector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,kCAAkC;IAClC,OAAO,IAAI,IAAI,CAAC;IAEhB,uBAAuB;IACvB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,0BAA0B;IAC1B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,4BAA4B;IAC5B,mBAAmB,IAAI,eAAe,EAAE,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,oBAAoB,CAAC;IACrC,YAAY,EAAE,aAAa,CAAC;CAC/B;AAED,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,uBAAuB,KAAK,SAAS,CAAC;AAE3E,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAE1D,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CAE3E"}
@@ -5,9 +5,9 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- import type { SwapProviderInterface, StakingProviderInterface } from '@ton/walletkit';
8
+ import type { SwapProviderInterface, StakingProviderInterface, StreamingProvider } from '@ton/walletkit';
9
9
  /**
10
- * Provider configuration
10
+ * Available provider types in AppKit.
11
11
  */
12
- export type Provider = SwapProviderInterface | StakingProviderInterface;
12
+ export type AppKitProvider = SwapProviderInterface | StakingProviderInterface | StreamingProvider;
13
13
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,qBAAqB,GAAG,wBAAwB,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEzG;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,wBAAwB,GAAG,iBAAiB,CAAC"}
@@ -25,7 +25,7 @@ export * from './nft/nft-info';
25
25
  export * from './object/map-values';
26
26
  export * from './predicate/is-number';
27
27
  export * from './predicate/is-string';
28
- export * from './promise/cancel-promise';
28
+ export * from './promise/with-timeout';
29
29
  export * from './promise/sleep';
30
30
  export * from './query/filter-query-options';
31
31
  export * from './network/resolve-network';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEzE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEzE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
@@ -25,7 +25,7 @@ export * from './nft/nft-info';
25
25
  export * from './object/map-values';
26
26
  export * from './predicate/is-number';
27
27
  export * from './predicate/is-string';
28
- export * from './promise/cancel-promise';
28
+ export * from './promise/with-timeout';
29
29
  export * from './promise/sleep';
30
30
  export * from './query/filter-query-options';
31
31
  export * from './network/resolve-network';
@@ -5,5 +5,5 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export {};
9
- //# sourceMappingURL=cancel-promise.test.d.ts.map
8
+ export { withTimeout } from '@ton/walletkit';
9
+ //# sourceMappingURL=with-timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-timeout.d.ts","sourceRoot":"","sources":["../../../../src/utils/promise/with-timeout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -5,5 +5,5 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export declare const cancelPromise: <T>(promise: T, timeoutMs: number) => Promise<T>;
9
- //# sourceMappingURL=cancel-promise.d.ts.map
8
+ // Re-exported from walletkit so the kit packages share a single source of truth.
9
+ export { withTimeout } from '@ton/walletkit';
package/docs/actions.md CHANGED
@@ -1,9 +1,3 @@
1
- <!--
2
- This file is auto-generated. Do not edit manually.
3
- Changes will be overwritten when running the docs update script.
4
- Source template: template/packages/appkit/docs/actions.md
5
- -->
6
-
7
1
  # Actions
8
2
 
9
3
  AppKit provides a set of actions to interact with the blockchain and wallets.
@@ -751,3 +745,10 @@ const unsubscribe = watchSelectedWallet(appKit, {
751
745
 
752
746
  // Later: unsubscribe();
753
747
  ```
748
+
749
+ <!--
750
+ This file is auto-generated. Do not edit manually.
751
+ Changes will be overwritten when running the docs update script.
752
+ Source template: template/packages/appkit/docs/actions.md
753
+ -->
754
+
@@ -1,9 +1,3 @@
1
- <!--
2
- This file is auto-generated. Do not edit manually.
3
- Changes will be overwritten when running the docs update script.
4
- Source template: template/packages/appkit/docs/connectors.md
5
- -->
6
-
7
1
  # Connectors
8
2
 
9
3
  AppKit supports wallet connections through connectors. The primary connector is `TonConnect`.
@@ -116,26 +110,12 @@ interface TonConnectConnectorConfig {
116
110
  * @default 'tonconnect'
117
111
  */
118
112
  id?: string;
119
- /**
120
- * Connector metadata
121
- */
122
- metadata?: ConnectorMetadata;
123
113
  }
124
114
  ```
125
115
 
126
- ### Connector Metadata
127
-
128
- You can provide metadata for the connector, which can be used to display connector information in the UI.
116
+ <!--
117
+ This file is auto-generated. Do not edit manually.
118
+ Changes will be overwritten when running the docs update script.
119
+ Source template: template/packages/appkit/docs/connectors.md
120
+ -->
129
121
 
130
- ```typescript
131
- interface ConnectorMetadata {
132
- /**
133
- * Connector name
134
- */
135
- name: string;
136
- /**
137
- * Connector icon URL
138
- */
139
- iconUrl?: string;
140
- }
141
- ```
package/docs/staking.md CHANGED
@@ -1,9 +1,3 @@
1
- <!--
2
- This file is auto-generated. Do not edit manually.
3
- Changes will be overwritten when running the docs update script.
4
- Source template: template/packages/appkit/docs/staking.md
5
- -->
6
-
7
1
  # Staking
8
2
 
9
3
  AppKit supports staking through various providers. Available providers:
@@ -56,3 +50,10 @@ registerProvider(appKit, createTonstakersProvider());
56
50
  ## Configuration
57
51
 
58
52
  - **Tonstakers**: [Tonstakers documentation](https://docs.tonstakers.com) and [provider README](https://github.com/ton-connect/kit/blob/main/packages/walletkit/src/defi/staking/tonstakers/README.md)
53
+
54
+ <!--
55
+ This file is auto-generated. Do not edit manually.
56
+ Changes will be overwritten when running the docs update script.
57
+ Source template: template/packages/appkit/docs/staking.md
58
+ -->
59
+
package/docs/swap.md CHANGED
@@ -1,9 +1,3 @@
1
- <!--
2
- This file is auto-generated. Do not edit manually.
3
- Changes will be overwritten when running the docs update script.
4
- Source template: template/packages/appkit/docs/swap.md
5
- -->
6
-
7
1
  # Swap
8
2
 
9
3
  AppKit supports swapping assets through the `SwapProvider` interface. Available providers:
@@ -75,3 +69,10 @@ registerProvider(appKit, createDeDustProvider({ defaultSlippageBps: 100 }));
75
69
 
76
70
  - **Omniston**: [Omniston SDK documentation](https://docs.ston.org/docs/developer-section/sdk/omniston-sdk) and [provider README](https://github.com/ton-connect/kit/blob/main/packages/walletkit/src/defi/swap/omniston/README.md)
77
71
  - **DeDust**: [provider README](https://github.com/ton-connect/kit/blob/main/packages/walletkit/src/defi/swap/dedust/README.md)
72
+
73
+ <!--
74
+ This file is auto-generated. Do not edit manually.
75
+ Changes will be overwritten when running the docs update script.
76
+ Source template: template/packages/appkit/docs/swap.md
77
+ -->
78
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ton/appkit",
3
- "version": "1.0.0-alpha.0",
3
+ "version": "1.0.0-alpha.2",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -79,14 +79,15 @@
79
79
  }
80
80
  },
81
81
  "dependencies": {
82
- "lru-cache": "11.3.5",
83
- "@ton/walletkit": "1.0.0-alpha.0"
82
+ "lru-cache": "^11.5.0",
83
+ "@ton/walletkit": "1.0.0-alpha.2"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "@tanstack/query-core": ">=5.0.0",
87
87
  "@ton/core": "^0.62.0 || ^0.63.0",
88
88
  "@ton/crypto": "^3.3.0",
89
- "@tonconnect/ui": ">=2.4.1"
89
+ "@tonconnect/ui": ">=2.5.0-alpha.1",
90
+ "@tonconnect/sdk": ">=3.5.0-alpha.1"
90
91
  },
91
92
  "peerDependenciesMeta": {
92
93
  "@tonconnect/ui": {
@@ -103,10 +104,10 @@
103
104
  "author": "",
104
105
  "license": "ISC",
105
106
  "devDependencies": {
106
- "@tanstack/query-core": "5.99.0",
107
- "@ton/core": "0.63.1",
108
- "@tonconnect/ui": "2.5.0-alpha.0",
109
- "typescript": "~5.9.3",
107
+ "@tanstack/query-core": "^5.100.14",
108
+ "@ton/core": "^0.63.1",
109
+ "@tonconnect/ui": "^2.5.0-alpha.0",
110
+ "typescript": "5.9.3",
110
111
  "vitest": "^4.1.4"
111
112
  },
112
113
  "scripts": {
@@ -27,9 +27,15 @@ export const watchConnectorById = (
27
27
  ): WatchConnectorByIdReturnType => {
28
28
  const { id, onChange } = parameters;
29
29
 
30
- const unsubscribe = appKit.emitter.on(CONNECTOR_EVENTS.CONNECTED, () => {
30
+ const handler = (): void => {
31
31
  onChange(getConnectorById(appKit, { id }));
32
- });
32
+ };
33
33
 
34
- return unsubscribe;
34
+ const unsubscribeAdded = appKit.emitter.on(CONNECTOR_EVENTS.ADDED, handler);
35
+ const unsubscribeRemoved = appKit.emitter.on(CONNECTOR_EVENTS.REMOVED, handler);
36
+
37
+ return () => {
38
+ unsubscribeAdded();
39
+ unsubscribeRemoved();
40
+ };
35
41
  };
@@ -23,9 +23,15 @@ export type WatchConnectorsReturnType = () => void;
23
23
  export const watchConnectors = (appKit: AppKit, parameters: WatchConnectorsParameters): WatchConnectorsReturnType => {
24
24
  const { onChange } = parameters;
25
25
 
26
- const unsubscribe = appKit.emitter.on(CONNECTOR_EVENTS.CONNECTED, () => {
26
+ const handler = (): void => {
27
27
  onChange(getConnectors(appKit));
28
- });
28
+ };
29
29
 
30
- return unsubscribe;
30
+ const unsubscribeAdded = appKit.emitter.on(CONNECTOR_EVENTS.ADDED, handler);
31
+ const unsubscribeRemoved = appKit.emitter.on(CONNECTOR_EVENTS.REMOVED, handler);
32
+
33
+ return () => {
34
+ unsubscribeAdded();
35
+ unsubscribeRemoved();
36
+ };
31
37
  };
@@ -8,9 +8,10 @@
8
8
 
9
9
  import type { ProviderInput } from '@ton/walletkit';
10
10
 
11
+ import type { AppKitProvider } from '../../types/provider';
11
12
  import type { AppKit } from '../../core/app-kit';
12
13
 
13
- export type RegisterProviderOptions = ProviderInput;
14
+ export type RegisterProviderOptions = ProviderInput<AppKitProvider>;
14
15
 
15
16
  /**
16
17
  * Register provider