@ton/appkit 0.0.2 → 0.0.4-alpha.0
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 +24 -0
- package/README.md +6 -0
- package/dist/cjs/actions/balances/get-balance-by-address.d.ts +1 -2
- package/dist/cjs/actions/balances/get-balance-by-address.d.ts.map +1 -1
- package/dist/cjs/actions/balances/get-balance-by-address.js +2 -1
- package/dist/cjs/actions/balances/get-balance.d.ts +2 -1
- package/dist/cjs/actions/balances/get-balance.d.ts.map +1 -1
- package/dist/cjs/actions/balances/get-balance.js +1 -1
- package/dist/cjs/actions/connectors/connect.d.ts.map +1 -1
- package/dist/cjs/actions/connectors/connect.js +3 -1
- package/dist/cjs/actions/index.d.ts +3 -0
- package/dist/cjs/actions/index.d.ts.map +1 -1
- package/dist/cjs/actions/index.js +7 -1
- 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 +2 -1
- package/dist/cjs/actions/jettons/get-jetton-info.d.ts +1 -1
- package/dist/cjs/actions/jettons/get-jetton-info.d.ts.map +1 -1
- package/dist/cjs/actions/jettons/get-jetton-info.js +2 -2
- 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 +2 -1
- package/dist/cjs/actions/jettons/get-jettons-by-address.d.ts +1 -1
- package/dist/cjs/actions/jettons/get-jettons-by-address.d.ts.map +1 -1
- package/dist/cjs/actions/jettons/get-jettons-by-address.js +2 -1
- package/dist/cjs/actions/jettons/get-jettons.d.ts +2 -1
- package/dist/cjs/actions/jettons/get-jettons.d.ts.map +1 -1
- package/dist/cjs/actions/network/get-default-network.d.ts +15 -0
- package/dist/cjs/actions/network/get-default-network.d.ts.map +1 -0
- package/dist/cjs/actions/network/get-default-network.js +17 -0
- package/dist/cjs/actions/network/get-network.d.ts +1 -1
- package/dist/cjs/actions/network/get-network.d.ts.map +1 -1
- package/dist/cjs/actions/network/get-networks.d.ts +1 -1
- package/dist/cjs/actions/network/get-networks.d.ts.map +1 -1
- package/dist/cjs/actions/network/set-default-network.d.ts +20 -0
- package/dist/cjs/actions/network/set-default-network.d.ts.map +1 -0
- package/dist/cjs/actions/network/set-default-network.js +19 -0
- package/dist/cjs/actions/network/watch-default-network.d.ts +18 -0
- package/dist/cjs/actions/network/watch-default-network.d.ts.map +1 -0
- package/dist/cjs/actions/network/watch-default-network.js +23 -0
- package/dist/cjs/actions/network/watch-networks.d.ts +1 -1
- package/dist/cjs/actions/network/watch-networks.d.ts.map +1 -1
- package/dist/cjs/actions/nft/get-nft.d.ts +2 -2
- package/dist/cjs/actions/nft/get-nft.d.ts.map +1 -1
- package/dist/cjs/actions/nft/get-nft.js +2 -1
- package/dist/cjs/actions/nft/get-nfts-by-address.d.ts +1 -1
- package/dist/cjs/actions/nft/get-nfts-by-address.d.ts.map +1 -1
- package/dist/cjs/actions/nft/get-nfts-by-address.js +2 -1
- package/dist/cjs/actions/nft/get-nfts.d.ts +2 -1
- package/dist/cjs/actions/nft/get-nfts.d.ts.map +1 -1
- package/dist/cjs/actions/signing/sign-binary.d.ts +1 -1
- package/dist/cjs/actions/signing/sign-binary.d.ts.map +1 -1
- package/dist/cjs/actions/signing/sign-binary.js +2 -1
- package/dist/cjs/actions/signing/sign-cell.d.ts +1 -1
- package/dist/cjs/actions/signing/sign-cell.d.ts.map +1 -1
- package/dist/cjs/actions/signing/sign-cell.js +2 -1
- package/dist/cjs/actions/signing/sign-text.d.ts +1 -1
- package/dist/cjs/actions/signing/sign-text.d.ts.map +1 -1
- package/dist/cjs/actions/signing/sign-text.js +2 -1
- package/dist/cjs/actions/transaction/get-transaction-status.d.ts +1 -1
- package/dist/cjs/actions/transaction/get-transaction-status.d.ts.map +1 -1
- package/dist/cjs/actions/transaction/get-transaction-status.js +2 -2
- package/dist/cjs/connectors/tonconnect/adapters/ton-connect-wallet-adapter.d.ts +1 -1
- package/dist/cjs/connectors/tonconnect/adapters/ton-connect-wallet-adapter.d.ts.map +1 -1
- package/dist/cjs/connectors/tonconnect/adapters/ton-connect-wallet-adapter.js +2 -1
- package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.d.ts +4 -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 +8 -2
- package/dist/cjs/core/app-kit/constants/events.d.ts +1 -0
- package/dist/cjs/core/app-kit/constants/events.d.ts.map +1 -1
- package/dist/cjs/core/app-kit/constants/events.js +1 -0
- 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 -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 +4 -3
- package/dist/cjs/core/app-kit/types/config.d.ts +7 -0
- package/dist/cjs/core/app-kit/types/config.d.ts.map +1 -1
- package/dist/cjs/core/app-kit/types/events.d.ts +5 -0
- package/dist/cjs/core/app-kit/types/events.d.ts.map +1 -1
- package/dist/cjs/core/network/index.d.ts +10 -0
- package/dist/cjs/core/network/index.d.ts.map +1 -0
- package/dist/cjs/core/network/index.js +15 -0
- package/dist/cjs/core/network/services/app-kit-network-manager.d.ts +27 -0
- package/dist/cjs/core/network/services/app-kit-network-manager.d.ts.map +1 -0
- package/dist/cjs/core/{app-kit → network}/services/app-kit-network-manager.js +16 -1
- 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/swap/dedust/index.d.ts +9 -0
- package/dist/cjs/swap/dedust/index.d.ts.map +1 -0
- package/dist/cjs/swap/dedust/index.js +24 -0
- package/dist/cjs/swap/index.d.ts +1 -1
- package/dist/cjs/swap/index.d.ts.map +1 -1
- package/dist/cjs/types/connector.d.ts +4 -3
- package/dist/cjs/types/connector.d.ts.map +1 -1
- package/dist/cjs/types/wallet.d.ts +2 -1
- package/dist/cjs/types/wallet.d.ts.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/network/resolve-network.d.ts +20 -0
- package/dist/cjs/utils/network/resolve-network.d.ts.map +1 -0
- package/dist/cjs/utils/network/resolve-network.js +31 -0
- package/dist/esm/actions/balances/get-balance-by-address.d.ts +1 -2
- package/dist/esm/actions/balances/get-balance-by-address.d.ts.map +1 -1
- package/dist/esm/actions/balances/get-balance-by-address.js +3 -2
- package/dist/esm/actions/balances/get-balance.d.ts +2 -1
- package/dist/esm/actions/balances/get-balance.d.ts.map +1 -1
- package/dist/esm/actions/balances/get-balance.js +1 -1
- package/dist/esm/actions/connectors/connect.d.ts.map +1 -1
- package/dist/esm/actions/connectors/connect.js +3 -1
- package/dist/esm/actions/index.d.ts +3 -0
- package/dist/esm/actions/index.d.ts.map +1 -1
- package/dist/esm/actions/index.js +3 -0
- 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 +3 -2
- package/dist/esm/actions/jettons/get-jetton-info.d.ts +1 -1
- package/dist/esm/actions/jettons/get-jetton-info.d.ts.map +1 -1
- package/dist/esm/actions/jettons/get-jetton-info.js +2 -2
- 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 +3 -2
- package/dist/esm/actions/jettons/get-jettons-by-address.d.ts +1 -1
- package/dist/esm/actions/jettons/get-jettons-by-address.d.ts.map +1 -1
- package/dist/esm/actions/jettons/get-jettons-by-address.js +3 -2
- package/dist/esm/actions/jettons/get-jettons.d.ts +2 -1
- package/dist/esm/actions/jettons/get-jettons.d.ts.map +1 -1
- package/dist/esm/actions/network/get-default-network.d.ts +15 -0
- package/dist/esm/actions/network/get-default-network.d.ts.map +1 -0
- package/dist/esm/actions/network/get-default-network.js +13 -0
- package/dist/esm/actions/network/get-network.d.ts +1 -1
- package/dist/esm/actions/network/get-network.d.ts.map +1 -1
- package/dist/esm/actions/network/get-networks.d.ts +1 -1
- package/dist/esm/actions/network/get-networks.d.ts.map +1 -1
- package/dist/esm/actions/network/set-default-network.d.ts +20 -0
- package/dist/esm/actions/network/set-default-network.d.ts.map +1 -0
- package/dist/esm/actions/network/set-default-network.js +15 -0
- package/dist/esm/actions/network/watch-default-network.d.ts +18 -0
- package/dist/esm/actions/network/watch-default-network.d.ts.map +1 -0
- package/dist/esm/actions/network/watch-default-network.js +19 -0
- package/dist/esm/actions/network/watch-networks.d.ts +1 -1
- package/dist/esm/actions/network/watch-networks.d.ts.map +1 -1
- package/dist/esm/actions/nft/get-nft.d.ts +2 -2
- package/dist/esm/actions/nft/get-nft.d.ts.map +1 -1
- package/dist/esm/actions/nft/get-nft.js +3 -2
- package/dist/esm/actions/nft/get-nfts-by-address.d.ts +1 -1
- package/dist/esm/actions/nft/get-nfts-by-address.d.ts.map +1 -1
- package/dist/esm/actions/nft/get-nfts-by-address.js +3 -2
- package/dist/esm/actions/nft/get-nfts.d.ts +2 -1
- package/dist/esm/actions/nft/get-nfts.d.ts.map +1 -1
- package/dist/esm/actions/signing/sign-binary.d.ts +1 -1
- package/dist/esm/actions/signing/sign-binary.d.ts.map +1 -1
- package/dist/esm/actions/signing/sign-binary.js +2 -1
- package/dist/esm/actions/signing/sign-cell.d.ts +1 -1
- package/dist/esm/actions/signing/sign-cell.d.ts.map +1 -1
- package/dist/esm/actions/signing/sign-cell.js +2 -1
- package/dist/esm/actions/signing/sign-text.d.ts +1 -1
- package/dist/esm/actions/signing/sign-text.d.ts.map +1 -1
- package/dist/esm/actions/signing/sign-text.js +2 -1
- package/dist/esm/actions/transaction/get-transaction-status.d.ts +1 -1
- package/dist/esm/actions/transaction/get-transaction-status.d.ts.map +1 -1
- package/dist/esm/actions/transaction/get-transaction-status.js +2 -2
- package/dist/esm/connectors/tonconnect/adapters/ton-connect-wallet-adapter.d.ts +1 -1
- package/dist/esm/connectors/tonconnect/adapters/ton-connect-wallet-adapter.d.ts.map +1 -1
- package/dist/esm/connectors/tonconnect/adapters/ton-connect-wallet-adapter.js +2 -1
- package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts +4 -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 +9 -3
- package/dist/esm/core/app-kit/constants/events.d.ts +1 -0
- package/dist/esm/core/app-kit/constants/events.d.ts.map +1 -1
- package/dist/esm/core/app-kit/constants/events.js +1 -0
- 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 -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 +3 -2
- package/dist/esm/core/app-kit/types/config.d.ts +7 -0
- package/dist/esm/core/app-kit/types/config.d.ts.map +1 -1
- package/dist/esm/core/app-kit/types/events.d.ts +5 -0
- package/dist/esm/core/app-kit/types/events.d.ts.map +1 -1
- package/dist/esm/core/network/index.d.ts +10 -0
- package/dist/esm/core/network/index.d.ts.map +1 -0
- package/dist/esm/core/network/index.js +9 -0
- package/dist/esm/core/network/services/app-kit-network-manager.d.ts +27 -0
- package/dist/esm/core/network/services/app-kit-network-manager.d.ts.map +1 -0
- package/dist/esm/core/{app-kit → network}/services/app-kit-network-manager.js +16 -1
- 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/swap/dedust/index.d.ts +9 -0
- package/dist/esm/swap/dedust/index.d.ts.map +1 -0
- package/dist/esm/swap/dedust/index.js +8 -0
- package/dist/esm/swap/index.d.ts +1 -1
- package/dist/esm/swap/index.d.ts.map +1 -1
- package/dist/esm/types/connector.d.ts +4 -3
- package/dist/esm/types/connector.d.ts.map +1 -1
- package/dist/esm/types/wallet.d.ts +2 -1
- package/dist/esm/types/wallet.d.ts.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/network/resolve-network.d.ts +20 -0
- package/dist/esm/utils/network/resolve-network.d.ts.map +1 -0
- package/dist/esm/utils/network/resolve-network.js +27 -0
- package/docs/actions.md +6 -0
- package/docs/connectors.md +6 -0
- package/docs/swap.md +25 -14
- package/package.json +15 -2
- package/src/actions/balances/get-balance-by-address.ts +4 -3
- package/src/actions/balances/get-balance.ts +3 -2
- package/src/actions/connectors/connect.ts +3 -1
- package/src/actions/index.ts +11 -0
- package/src/actions/jettons/get-jetton-balance.ts +4 -2
- package/src/actions/jettons/get-jetton-info.ts +3 -2
- package/src/actions/jettons/get-jetton-wallet-address.ts +4 -2
- package/src/actions/jettons/get-jettons-by-address.ts +4 -2
- package/src/actions/jettons/get-jettons.ts +2 -1
- package/src/actions/network/get-default-network.ts +19 -0
- package/src/actions/network/get-network.ts +1 -2
- package/src/actions/network/get-networks.ts +1 -2
- package/src/actions/network/set-default-network.ts +28 -0
- package/src/actions/network/watch-default-network.ts +34 -0
- package/src/actions/network/watch-networks.ts +1 -2
- package/src/actions/nft/get-nft.ts +5 -3
- package/src/actions/nft/get-nfts-by-address.ts +4 -2
- package/src/actions/nft/get-nfts.ts +2 -1
- package/src/actions/signing/sign-binary.ts +3 -3
- package/src/actions/signing/sign-cell.ts +3 -3
- package/src/actions/signing/sign-text.ts +3 -3
- package/src/actions/transaction/get-transaction-status.ts +3 -2
- package/src/connectors/tonconnect/adapters/ton-connect-wallet-adapter.ts +2 -1
- package/src/connectors/tonconnect/connectors/ton-connect-connector.ts +12 -3
- package/src/core/app-kit/constants/events.ts +1 -0
- package/src/core/app-kit/index.ts +1 -0
- package/src/core/app-kit/services/app-kit.ts +4 -4
- package/src/core/app-kit/types/config.ts +9 -0
- package/src/core/app-kit/types/events.ts +6 -0
- package/src/core/network/index.ts +10 -0
- package/src/core/network/services/app-kit-network-manager.ts +45 -0
- package/src/index.ts +1 -0
- package/src/swap/dedust/index.ts +9 -0
- package/src/swap/index.ts +14 -1
- package/src/types/connector.ts +4 -4
- package/src/types/wallet.ts +2 -1
- package/src/utils/index.ts +1 -0
- package/src/utils/network/resolve-network.ts +30 -0
- package/dist/cjs/core/app-kit/services/app-kit-network-manager.d.ts +0 -16
- package/dist/cjs/core/app-kit/services/app-kit-network-manager.d.ts.map +0 -1
- package/dist/esm/core/app-kit/services/app-kit-network-manager.d.ts +0 -16
- package/dist/esm/core/app-kit/services/app-kit-network-manager.d.ts.map +0 -1
- package/src/core/app-kit/services/app-kit-network-manager.ts +0 -27
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type { Network } from '
|
|
10
|
-
|
|
9
|
+
import type { Network } from '../../types/network';
|
|
11
10
|
import type { AppKit } from '../../core/app-kit';
|
|
12
11
|
import type { SignDataResponse } from '../../types/signing';
|
|
13
12
|
import { getSelectedWallet } from '../wallets/get-selected-wallet';
|
|
14
13
|
import type { Base64String } from '../../types/primitives';
|
|
14
|
+
import { getDefaultNetwork } from '../network/get-default-network';
|
|
15
15
|
|
|
16
16
|
export interface SignBinaryParameters {
|
|
17
17
|
/** Binary data to sign (base64 encoded) */
|
|
@@ -39,7 +39,7 @@ export const signBinary = async (appKit: AppKit, parameters: SignBinaryParameter
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
return await wallet.signData({
|
|
42
|
-
network: parameters.network,
|
|
42
|
+
network: parameters.network ?? getDefaultNetwork(appKit),
|
|
43
43
|
data: {
|
|
44
44
|
type: 'binary',
|
|
45
45
|
value: { content: parameters.bytes },
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type { Network } from '
|
|
10
|
-
|
|
9
|
+
import type { Network } from '../../types/network';
|
|
11
10
|
import type { AppKit } from '../../core/app-kit';
|
|
12
11
|
import type { SignDataResponse } from '../../types/signing';
|
|
13
12
|
import { getSelectedWallet } from '../wallets/get-selected-wallet';
|
|
14
13
|
import type { Base64String } from '../../types/primitives';
|
|
14
|
+
import { getDefaultNetwork } from '../network/get-default-network';
|
|
15
15
|
|
|
16
16
|
export interface SignCellParameters {
|
|
17
17
|
/** Base64 encoded Bag of Cells */
|
|
@@ -45,7 +45,7 @@ export const signCell = async (appKit: AppKit, parameters: SignCellParameters):
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
return await wallet.signData({
|
|
48
|
-
network: parameters.network,
|
|
48
|
+
network: parameters.network ?? getDefaultNetwork(appKit),
|
|
49
49
|
data: {
|
|
50
50
|
type: 'cell',
|
|
51
51
|
value: {
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type { Network } from '
|
|
10
|
-
|
|
9
|
+
import type { Network } from '../../types/network';
|
|
11
10
|
import type { AppKit } from '../../core/app-kit';
|
|
12
11
|
import type { SignDataResponse } from '../../types/signing';
|
|
13
12
|
import { getSelectedWallet } from '../wallets/get-selected-wallet';
|
|
13
|
+
import { getDefaultNetwork } from '../network/get-default-network';
|
|
14
14
|
|
|
15
15
|
export interface SignTextParameters {
|
|
16
16
|
/** Text message to sign */
|
|
@@ -38,7 +38,7 @@ export const signText = async (appKit: AppKit, parameters: SignTextParameters):
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
return await wallet.signData({
|
|
41
|
-
network: parameters.network,
|
|
41
|
+
network: parameters.network ?? getDefaultNetwork(appKit),
|
|
42
42
|
data: {
|
|
43
43
|
type: 'text',
|
|
44
44
|
value: { content: parameters.text },
|
|
@@ -10,7 +10,8 @@ import type { TransactionStatusResponse } from '@ton/walletkit';
|
|
|
10
10
|
import { getTransactionStatus as walletKitGetTransactionStatus } from '@ton/walletkit';
|
|
11
11
|
|
|
12
12
|
import type { AppKit } from '../../core/app-kit';
|
|
13
|
-
import { Network } from '../../types/network';
|
|
13
|
+
import type { Network } from '../../types/network';
|
|
14
|
+
import { resolveNetwork } from '../../utils/network/resolve-network';
|
|
14
15
|
|
|
15
16
|
export type GetTransactionStatusParameters = {
|
|
16
17
|
/** Network to check the transaction on */
|
|
@@ -56,7 +57,7 @@ export const getTransactionStatus = async (
|
|
|
56
57
|
): Promise<GetTransactionStatusReturnType> => {
|
|
57
58
|
const { boc, normalizedHash, network } = parameters;
|
|
58
59
|
|
|
59
|
-
const client = appKit.networkManager.getClient(network
|
|
60
|
+
const client = appKit.networkManager.getClient(resolveNetwork(appKit, network));
|
|
60
61
|
|
|
61
62
|
if (boc) {
|
|
62
63
|
return walletKitGetTransactionStatus(client, { boc });
|
|
@@ -10,7 +10,7 @@ import { Address } from '@ton/core';
|
|
|
10
10
|
import type { Wallet as TonConnectWallet } from '@tonconnect/sdk';
|
|
11
11
|
import type { SignDataPayload as TonConnectSignDataPayload } from '@tonconnect/sdk';
|
|
12
12
|
import type { SendTransactionResponse, UserFriendlyAddress, Hex } from '@ton/walletkit';
|
|
13
|
-
import {
|
|
13
|
+
import { asHex, createWalletId, getNormalizedExtMessageHash } from '@ton/walletkit';
|
|
14
14
|
import type { TonConnectUI } from '@tonconnect/ui';
|
|
15
15
|
|
|
16
16
|
import type { TransactionRequest } from '../../../types/transaction';
|
|
@@ -18,6 +18,7 @@ import type { Base64String } from '../../../types/primitives';
|
|
|
18
18
|
import { getValidUntil } from '../utils/transaction';
|
|
19
19
|
import type { WalletInterface } from '../../../types/wallet';
|
|
20
20
|
import type { SignDataRequest, SignDataResponse } from '../../../types/signing';
|
|
21
|
+
import { Network } from '../../../types/network';
|
|
21
22
|
|
|
22
23
|
/**
|
|
23
24
|
* Configuration for TonConnectWalletAdapter
|
|
@@ -9,12 +9,14 @@
|
|
|
9
9
|
import { TonConnectUI } from '@tonconnect/ui';
|
|
10
10
|
import type { TonConnectUiCreateOptions } from '@tonconnect/ui';
|
|
11
11
|
|
|
12
|
+
import type { Network } from '../../../types/network';
|
|
12
13
|
import { TonConnectWalletAdapter } from '../adapters/ton-connect-wallet-adapter';
|
|
13
|
-
import { CONNECTOR_EVENTS } from '../../../core/app-kit';
|
|
14
|
+
import { CONNECTOR_EVENTS, NETWORKS_EVENTS } from '../../../core/app-kit';
|
|
14
15
|
import type { Connector, ConnectorMetadata } from '../../../types/connector';
|
|
15
16
|
import type { WalletInterface } from '../../../types/wallet';
|
|
16
17
|
import type { AppKitEmitter } from '../../../core/app-kit';
|
|
17
18
|
import { TONCONNECT_DEFAULT_CONNECTOR_ID } from '../constants/id';
|
|
19
|
+
import type { AppKitNetworkManager } from '../../../core/network';
|
|
18
20
|
|
|
19
21
|
export interface TonConnectConnectorConfig {
|
|
20
22
|
id?: string;
|
|
@@ -49,7 +51,7 @@ export class TonConnectConnector implements Connector {
|
|
|
49
51
|
};
|
|
50
52
|
}
|
|
51
53
|
|
|
52
|
-
async initialize(emitter: AppKitEmitter): Promise<void> {
|
|
54
|
+
async initialize(emitter: AppKitEmitter, networkManager: AppKitNetworkManager): Promise<void> {
|
|
53
55
|
this.emitter = emitter;
|
|
54
56
|
|
|
55
57
|
// Subscribe to TonConnect status changes
|
|
@@ -63,6 +65,12 @@ export class TonConnectConnector implements Connector {
|
|
|
63
65
|
}
|
|
64
66
|
});
|
|
65
67
|
|
|
68
|
+
// Set default network and subscribe to changes
|
|
69
|
+
this.tonConnectUI.setConnectionNetwork(networkManager.getDefaultNetwork()?.chainId);
|
|
70
|
+
this.emitter?.on(NETWORKS_EVENTS.DEFAULT_CHANGED, ({ payload }) => {
|
|
71
|
+
this.tonConnectUI.setConnectionNetwork(payload.network?.chainId);
|
|
72
|
+
});
|
|
73
|
+
|
|
66
74
|
// Restore existing connection
|
|
67
75
|
await this.tonConnectUI.connector.restoreConnection();
|
|
68
76
|
}
|
|
@@ -73,7 +81,8 @@ export class TonConnectConnector implements Connector {
|
|
|
73
81
|
this.emitter = null;
|
|
74
82
|
}
|
|
75
83
|
|
|
76
|
-
async connectWallet(): Promise<void> {
|
|
84
|
+
async connectWallet(network?: Network): Promise<void> {
|
|
85
|
+
this.tonConnectUI.setConnectionNetwork(network?.chainId);
|
|
77
86
|
await this.tonConnectUI.openModal();
|
|
78
87
|
}
|
|
79
88
|
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import
|
|
10
|
-
import { Network, SwapManager } from '@ton/walletkit';
|
|
9
|
+
import { SwapManager } from '@ton/walletkit';
|
|
11
10
|
import type { Provider } from 'src/types/provider';
|
|
12
11
|
|
|
13
12
|
import type { AppKitConfig } from '../types/config';
|
|
@@ -17,7 +16,8 @@ import { CONNECTOR_EVENTS, WALLETS_EVENTS } from '../constants/events';
|
|
|
17
16
|
import type { AppKitEmitter, AppKitEvents } from '../types/events';
|
|
18
17
|
import type { WalletInterface } from '../../../types/wallet';
|
|
19
18
|
import { WalletsManager } from '../../wallets-manager';
|
|
20
|
-
import { AppKitNetworkManager } from '
|
|
19
|
+
import { AppKitNetworkManager } from '../../network';
|
|
20
|
+
import { Network } from '../../../types/network';
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Central hub for wallet management.
|
|
@@ -29,7 +29,7 @@ export class AppKit {
|
|
|
29
29
|
readonly walletsManager: WalletsManager;
|
|
30
30
|
readonly swapManager: SwapManager;
|
|
31
31
|
|
|
32
|
-
readonly networkManager:
|
|
32
|
+
readonly networkManager: AppKitNetworkManager;
|
|
33
33
|
readonly config: AppKitConfig;
|
|
34
34
|
|
|
35
35
|
constructor(config: AppKitConfig) {
|
|
@@ -10,6 +10,7 @@ import type { NetworkAdapters } from '@ton/walletkit';
|
|
|
10
10
|
|
|
11
11
|
import type { Connector } from '../../../types/connector';
|
|
12
12
|
import type { Provider } from '../../../types/provider';
|
|
13
|
+
import type { Network } from '../../../types/network';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Configuration for AppKit
|
|
@@ -23,6 +24,14 @@ export interface AppKitConfig {
|
|
|
23
24
|
* Values contain apiClient configuration (url and optional API key)
|
|
24
25
|
*/
|
|
25
26
|
networks?: NetworkAdapters;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Default network for wallet connections.
|
|
30
|
+
* If set, connectors (e.g. TonConnect) will enforce this network when connecting.
|
|
31
|
+
* Set to `undefined` to allow any network.
|
|
32
|
+
*/
|
|
33
|
+
defaultNetwork?: Network;
|
|
34
|
+
|
|
26
35
|
connectors?: Connector[];
|
|
27
36
|
providers?: Provider[];
|
|
28
37
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import type { Network } from '../../../types/network';
|
|
9
10
|
import type { Emitter } from '../../emitter';
|
|
10
11
|
import type { CONNECTOR_EVENTS, WALLETS_EVENTS, PLUGIN_EVENTS, NETWORKS_EVENTS } from '../constants/events';
|
|
11
12
|
import type { WalletInterface } from '../../../types/wallet';
|
|
@@ -24,6 +25,10 @@ export interface PluginRegisteredPayload {
|
|
|
24
25
|
pluginType: string;
|
|
25
26
|
}
|
|
26
27
|
|
|
28
|
+
export interface DefaultNetworkChangedPayload {
|
|
29
|
+
network: Network | undefined;
|
|
30
|
+
}
|
|
31
|
+
|
|
27
32
|
export interface AppKitEvents {
|
|
28
33
|
// Connector events
|
|
29
34
|
[CONNECTOR_EVENTS.CONNECTED]: WalletConnectedPayload;
|
|
@@ -35,6 +40,7 @@ export interface AppKitEvents {
|
|
|
35
40
|
|
|
36
41
|
// Networks events
|
|
37
42
|
[NETWORKS_EVENTS.UPDATED]: Record<string, never>;
|
|
43
|
+
[NETWORKS_EVENTS.DEFAULT_CHANGED]: DefaultNetworkChangedPayload;
|
|
38
44
|
|
|
39
45
|
// Plugin events
|
|
40
46
|
[PLUGIN_EVENTS.REGISTERED]: PluginRegisteredPayload;
|
|
@@ -0,0 +1,10 @@
|
|
|
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 { AppKitNetworkManager } from './services/app-kit-network-manager';
|
|
10
|
+
export { ApiClient, ApiClientToncenter, ApiClientTonApi } from '@ton/walletkit';
|
|
@@ -0,0 +1,45 @@
|
|
|
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 type { ApiClient } from '@ton/walletkit';
|
|
10
|
+
import { KitNetworkManager } from '@ton/walletkit';
|
|
11
|
+
|
|
12
|
+
import { NETWORKS_EVENTS } from '../../app-kit/constants/events';
|
|
13
|
+
import type { AppKitEmitter } from '../../app-kit/types/events';
|
|
14
|
+
import type { Network } from '../../../types/network';
|
|
15
|
+
|
|
16
|
+
export class AppKitNetworkManager extends KitNetworkManager {
|
|
17
|
+
private emitter: AppKitEmitter;
|
|
18
|
+
private defaultNetwork: Network | undefined = undefined;
|
|
19
|
+
|
|
20
|
+
constructor(options: ConstructorParameters<typeof KitNetworkManager>[0], emitter: AppKitEmitter) {
|
|
21
|
+
super(options);
|
|
22
|
+
this.emitter = emitter;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Get the current default network
|
|
27
|
+
*/
|
|
28
|
+
getDefaultNetwork(): Network | undefined {
|
|
29
|
+
return this.defaultNetwork;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Set the default network for wallet connections.
|
|
34
|
+
* Emits a change event and propagates to all connectors.
|
|
35
|
+
*/
|
|
36
|
+
setDefaultNetwork(network: Network | undefined): void {
|
|
37
|
+
this.defaultNetwork = network;
|
|
38
|
+
this.emitter.emit(NETWORKS_EVENTS.DEFAULT_CHANGED, { network }, 'network-manager');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
override setClient(network: Network, client: ApiClient): void {
|
|
42
|
+
super.setClient(network, client);
|
|
43
|
+
this.emitter.emit(NETWORKS_EVENTS.UPDATED, {}, 'network-manager');
|
|
44
|
+
}
|
|
45
|
+
}
|
package/src/index.ts
CHANGED
package/src/swap/index.ts
CHANGED
|
@@ -6,4 +6,17 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
export type {
|
|
9
|
+
export type {
|
|
10
|
+
SwapToken,
|
|
11
|
+
TokenAmount,
|
|
12
|
+
SwapParams,
|
|
13
|
+
SwapAPI,
|
|
14
|
+
SwapFee,
|
|
15
|
+
SwapQuote,
|
|
16
|
+
SwapQuoteParams,
|
|
17
|
+
DefiManagerAPI,
|
|
18
|
+
DefiProvider,
|
|
19
|
+
SwapProvider,
|
|
20
|
+
SwapError,
|
|
21
|
+
SwapManager,
|
|
22
|
+
} from '@ton/walletkit';
|
package/src/types/connector.ts
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type { NetworkManager } from '@ton/walletkit';
|
|
10
|
-
|
|
11
9
|
import type { WalletInterface } from './wallet';
|
|
12
10
|
import type { AppKitEmitter } from '../core/app-kit';
|
|
11
|
+
import type { AppKitNetworkManager } from '../core/network';
|
|
12
|
+
import type { Network } from './network';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Interface for wallet connectors
|
|
@@ -24,13 +24,13 @@ export interface Connector {
|
|
|
24
24
|
readonly metadata: ConnectorMetadata;
|
|
25
25
|
|
|
26
26
|
/** Initialize connector (restore connections, setup event listeners) */
|
|
27
|
-
initialize(emitter: AppKitEmitter, networkManager:
|
|
27
|
+
initialize(emitter: AppKitEmitter, networkManager: AppKitNetworkManager): Promise<void>;
|
|
28
28
|
|
|
29
29
|
/** Cleanup connector resources */
|
|
30
30
|
destroy(): void;
|
|
31
31
|
|
|
32
32
|
/** Connect a wallet */
|
|
33
|
-
connectWallet(): Promise<void>;
|
|
33
|
+
connectWallet(network?: Network): Promise<void>;
|
|
34
34
|
|
|
35
35
|
/** Disconnect a wallet */
|
|
36
36
|
disconnectWallet(): Promise<void>;
|
package/src/types/wallet.ts
CHANGED
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type {
|
|
9
|
+
import type { SendTransactionResponse, Hex, UserFriendlyAddress } from '@ton/walletkit';
|
|
10
10
|
|
|
11
11
|
import type { TransactionRequest } from './transaction';
|
|
12
12
|
import type { SignDataRequest, SignDataResponse } from './signing';
|
|
13
|
+
import type { Network } from './network';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Minimal wallet interface for appkit.
|
package/src/utils/index.ts
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
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 { Network } from '../../types/network';
|
|
10
|
+
import type { AppKit } from '../../core/app-kit';
|
|
11
|
+
import { getSelectedWallet } from '../../actions/wallets/get-selected-wallet';
|
|
12
|
+
import { getDefaultNetwork } from '../../actions/network/get-default-network';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Resolve the network to use for API requests.
|
|
16
|
+
*
|
|
17
|
+
* Priority:
|
|
18
|
+
* 1. Explicitly passed `network` parameter
|
|
19
|
+
* 2. Selected wallet's network
|
|
20
|
+
* 3. Configured default network
|
|
21
|
+
* 4. Mainnet (last resort)
|
|
22
|
+
*/
|
|
23
|
+
export const resolveNetwork = (appKit: AppKit, network?: Network): Network => {
|
|
24
|
+
if (network) return network;
|
|
25
|
+
|
|
26
|
+
const wallet = getSelectedWallet(appKit);
|
|
27
|
+
if (wallet) return wallet.getNetwork();
|
|
28
|
+
|
|
29
|
+
return getDefaultNetwork(appKit) ?? Network.mainnet();
|
|
30
|
+
};
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
import type { ApiClient, Network } from '@ton/walletkit';
|
|
9
|
-
import { KitNetworkManager } from '@ton/walletkit';
|
|
10
|
-
import type { AppKitEmitter } from '../types/events';
|
|
11
|
-
export declare class AppKitNetworkManager extends KitNetworkManager {
|
|
12
|
-
private emitter;
|
|
13
|
-
constructor(options: ConstructorParameters<typeof KitNetworkManager>[0], emitter: AppKitEmitter);
|
|
14
|
-
setClient(network: Network, client: ApiClient): void;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=app-kit-network-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-kit-network-manager.d.ts","sourceRoot":"","sources":["../../../../../src/core/app-kit/services/app-kit-network-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,qBAAa,oBAAqB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,OAAO,CAAgB;gBAEnB,OAAO,EAAE,qBAAqB,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa;IAKtF,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI;CAIhE"}
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
import type { ApiClient, Network } from '@ton/walletkit';
|
|
9
|
-
import { KitNetworkManager } from '@ton/walletkit';
|
|
10
|
-
import type { AppKitEmitter } from '../types/events';
|
|
11
|
-
export declare class AppKitNetworkManager extends KitNetworkManager {
|
|
12
|
-
private emitter;
|
|
13
|
-
constructor(options: ConstructorParameters<typeof KitNetworkManager>[0], emitter: AppKitEmitter);
|
|
14
|
-
setClient(network: Network, client: ApiClient): void;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=app-kit-network-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-kit-network-manager.d.ts","sourceRoot":"","sources":["../../../../../src/core/app-kit/services/app-kit-network-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,qBAAa,oBAAqB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,OAAO,CAAgB;gBAEnB,OAAO,EAAE,qBAAqB,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa;IAKtF,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI;CAIhE"}
|
|
@@ -1,27 +0,0 @@
|
|
|
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 type { ApiClient, Network } from '@ton/walletkit';
|
|
10
|
-
import { KitNetworkManager } from '@ton/walletkit';
|
|
11
|
-
|
|
12
|
-
import { NETWORKS_EVENTS } from '../constants/events';
|
|
13
|
-
import type { AppKitEmitter } from '../types/events';
|
|
14
|
-
|
|
15
|
-
export class AppKitNetworkManager extends KitNetworkManager {
|
|
16
|
-
private emitter: AppKitEmitter;
|
|
17
|
-
|
|
18
|
-
constructor(options: ConstructorParameters<typeof KitNetworkManager>[0], emitter: AppKitEmitter) {
|
|
19
|
-
super(options);
|
|
20
|
-
this.emitter = emitter;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
override setClient(network: Network, client: ApiClient): void {
|
|
24
|
-
super.setClient(network, client);
|
|
25
|
-
this.emitter.emit(NETWORKS_EVENTS.UPDATED, {}, 'network-manager');
|
|
26
|
-
}
|
|
27
|
-
}
|