@ant-design/web3-ton 1.0.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/CHANGELOG.md +13 -0
- package/LICENSE +21 -0
- package/dist/esm/chains/index.d.ts +1 -0
- package/dist/esm/chains/index.js +1 -0
- package/dist/esm/hooks/index.d.ts +1 -0
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/useTonConnector.d.ts +7 -0
- package/dist/esm/hooks/useTonConnector.js +13 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/ton-provider/TonConnectSdk.d.ts +15 -0
- package/dist/esm/ton-provider/TonConnectSdk.js +101 -0
- package/dist/esm/ton-provider/TonWeb3ConfigProvider.d.ts +21 -0
- package/dist/esm/ton-provider/TonWeb3ConfigProvider.js +90 -0
- package/dist/esm/ton-provider/config-provider.d.ts +8 -0
- package/dist/esm/ton-provider/config-provider.js +105 -0
- package/dist/esm/ton-provider/index.d.ts +1 -0
- package/dist/esm/ton-provider/index.js +1 -0
- package/dist/esm/wallets/dewallet.d.ts +2 -0
- package/dist/esm/wallets/dewallet.js +6 -0
- package/dist/esm/wallets/factory.d.ts +2 -0
- package/dist/esm/wallets/factory.js +27 -0
- package/dist/esm/wallets/index.d.ts +7 -0
- package/dist/esm/wallets/index.js +7 -0
- package/dist/esm/wallets/myTonWallet.d.ts +2 -0
- package/dist/esm/wallets/myTonWallet.js +6 -0
- package/dist/esm/wallets/okxTonWallet.d.ts +2 -0
- package/dist/esm/wallets/okxTonWallet.js +7 -0
- package/dist/esm/wallets/openmask.d.ts +2 -0
- package/dist/esm/wallets/openmask.js +6 -0
- package/dist/esm/wallets/telegramWallet.d.ts +2 -0
- package/dist/esm/wallets/telegramWallet.js +6 -0
- package/dist/esm/wallets/tonhub.d.ts +2 -0
- package/dist/esm/wallets/tonhub.js +6 -0
- package/dist/esm/wallets/tonkeeper.d.ts +2 -0
- package/dist/esm/wallets/tonkeeper.js +7 -0
- package/dist/esm/wallets/type.d.ts +10 -0
- package/dist/esm/wallets/type.js +1 -0
- package/dist/lib/chains/index.d.ts +1 -0
- package/dist/lib/chains/index.js +12 -0
- package/dist/lib/hooks/index.d.ts +1 -0
- package/dist/lib/hooks/index.js +16 -0
- package/dist/lib/hooks/useTonConnector.d.ts +7 -0
- package/dist/lib/hooks/useTonConnector.js +20 -0
- package/dist/lib/index.d.ts +4 -0
- package/dist/lib/index.js +49 -0
- package/dist/lib/ton-provider/TonConnectSdk.d.ts +15 -0
- package/dist/lib/ton-provider/TonConnectSdk.js +56 -0
- package/dist/lib/ton-provider/TonWeb3ConfigProvider.d.ts +21 -0
- package/dist/lib/ton-provider/TonWeb3ConfigProvider.js +74 -0
- package/dist/lib/ton-provider/config-provider.d.ts +8 -0
- package/dist/lib/ton-provider/config-provider.js +69 -0
- package/dist/lib/ton-provider/index.d.ts +1 -0
- package/dist/lib/ton-provider/index.js +16 -0
- package/dist/lib/wallets/dewallet.d.ts +2 -0
- package/dist/lib/wallets/dewallet.js +12 -0
- package/dist/lib/wallets/factory.d.ts +2 -0
- package/dist/lib/wallets/factory.js +24 -0
- package/dist/lib/wallets/index.d.ts +7 -0
- package/dist/lib/wallets/index.js +82 -0
- package/dist/lib/wallets/myTonWallet.d.ts +2 -0
- package/dist/lib/wallets/myTonWallet.js +12 -0
- package/dist/lib/wallets/okxTonWallet.d.ts +2 -0
- package/dist/lib/wallets/okxTonWallet.js +13 -0
- package/dist/lib/wallets/openmask.d.ts +2 -0
- package/dist/lib/wallets/openmask.js +12 -0
- package/dist/lib/wallets/telegramWallet.d.ts +2 -0
- package/dist/lib/wallets/telegramWallet.js +12 -0
- package/dist/lib/wallets/tonhub.d.ts +2 -0
- package/dist/lib/wallets/tonhub.js +12 -0
- package/dist/lib/wallets/tonkeeper.d.ts +2 -0
- package/dist/lib/wallets/tonkeeper.js +13 -0
- package/dist/lib/wallets/type.d.ts +10 -0
- package/dist/lib/wallets/type.js +5 -0
- package/package.json +64 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Wallet, WalletMetadata } from '@ant-design/web3-common';
|
|
2
|
+
import type { WalletInfo } from '@tonconnect/sdk';
|
|
3
|
+
export type TonBasicWallet = TonWalletMetadata & WalletInfo & {
|
|
4
|
+
universalLink?: string;
|
|
5
|
+
};
|
|
6
|
+
export type TonWallet = Wallet & WalletInfo;
|
|
7
|
+
export interface WalletFactory {
|
|
8
|
+
create: () => TonWallet;
|
|
9
|
+
}
|
|
10
|
+
export type TonWalletMetadata = Omit<WalletMetadata, 'name' | 'remark'>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CHAIN } from '@tonconnect/sdk';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useTonConnector';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _useTonConnector = require("./useTonConnector");
|
|
7
|
+
Object.keys(_useTonConnector).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _useTonConnector[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _useTonConnector[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const useTonConnector: () => {
|
|
2
|
+
connector: import("../ton-provider/TonConnectSdk").default | null | undefined;
|
|
3
|
+
account: import("@tonconnect/sdk").Account | null | undefined;
|
|
4
|
+
tonSelectWallet: import("@tonconnect/sdk").Wallet | null | undefined;
|
|
5
|
+
setTonSelectWallet: ((sdk: import("@tonconnect/sdk").Wallet | null) => void) | undefined;
|
|
6
|
+
connectConfig: import("../ton-provider/TonConnectSdk").TonConnectSdkConfigType | undefined;
|
|
7
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useTonConnector = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _TonWeb3ConfigProvider = require("../ton-provider/TonWeb3ConfigProvider");
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
const useTonConnector = () => {
|
|
11
|
+
const provider = _react.default.useContext(_TonWeb3ConfigProvider.TonConnectorContext);
|
|
12
|
+
return {
|
|
13
|
+
connector: provider?.tonConnectSdk,
|
|
14
|
+
account: provider?.tonConnectSdk?.account,
|
|
15
|
+
tonSelectWallet: provider?.tonSelectWallet,
|
|
16
|
+
setTonSelectWallet: provider?.setTonSelectWallet,
|
|
17
|
+
connectConfig: provider?.connectConfig
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
exports.useTonConnector = useTonConnector;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _tonProvider = require("./ton-provider");
|
|
7
|
+
Object.keys(_tonProvider).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _tonProvider[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _tonProvider[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _wallets = require("./wallets");
|
|
18
|
+
Object.keys(_wallets).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _wallets[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _wallets[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _chains = require("./chains");
|
|
29
|
+
Object.keys(_chains).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _chains[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _chains[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _hooks = require("./hooks");
|
|
40
|
+
Object.keys(_hooks).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _hooks[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _hooks[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import TonConnect, { CHAIN, type TonConnectOptions } from '@tonconnect/sdk';
|
|
2
|
+
export interface TonConnectSdkConfigType extends TonConnectOptions {
|
|
3
|
+
chain?: CHAIN;
|
|
4
|
+
}
|
|
5
|
+
declare class TonConnectSdk extends TonConnect {
|
|
6
|
+
private _api;
|
|
7
|
+
private _network;
|
|
8
|
+
constructor(options: TonConnectSdkConfigType);
|
|
9
|
+
get network(): CHAIN;
|
|
10
|
+
set network(network: CHAIN);
|
|
11
|
+
get api(): string;
|
|
12
|
+
private _switchNetwork;
|
|
13
|
+
getBalance(url?: string): Promise<bigint>;
|
|
14
|
+
}
|
|
15
|
+
export default TonConnectSdk;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _sdk = _interopRequireWildcard(require("@tonconnect/sdk"));
|
|
8
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
9
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
|
+
class TonConnectSdk extends _sdk.default {
|
|
11
|
+
_api;
|
|
12
|
+
_network;
|
|
13
|
+
constructor(options) {
|
|
14
|
+
super({
|
|
15
|
+
manifestUrl: options?.manifestUrl
|
|
16
|
+
});
|
|
17
|
+
this._api = '';
|
|
18
|
+
this._network = _sdk.CHAIN.MAINNET;
|
|
19
|
+
this._switchNetwork(options.chain || this._network);
|
|
20
|
+
}
|
|
21
|
+
get network() {
|
|
22
|
+
return this._network;
|
|
23
|
+
}
|
|
24
|
+
set network(network) {
|
|
25
|
+
this._switchNetwork(network);
|
|
26
|
+
}
|
|
27
|
+
get api() {
|
|
28
|
+
return this._api;
|
|
29
|
+
}
|
|
30
|
+
_switchNetwork(network) {
|
|
31
|
+
if (network === _sdk.CHAIN.MAINNET) {
|
|
32
|
+
this._api = 'https://toncenter.com/api/v3';
|
|
33
|
+
} else {
|
|
34
|
+
this._api = 'https://testnet.toncenter.com/api/v3';
|
|
35
|
+
}
|
|
36
|
+
this._network = network;
|
|
37
|
+
}
|
|
38
|
+
async getBalance(url) {
|
|
39
|
+
if (!this.account?.address && !url) return Promise.resolve(0n);
|
|
40
|
+
const queryUrl = url || `${this._api}/account?address=${this.account?.address}`;
|
|
41
|
+
return fetch(queryUrl, {
|
|
42
|
+
method: 'GET',
|
|
43
|
+
headers: {
|
|
44
|
+
'Content-Type': 'application/json'
|
|
45
|
+
}
|
|
46
|
+
}).then(res => {
|
|
47
|
+
if (!res.ok) {
|
|
48
|
+
throw new Error('Failed to fetch balance');
|
|
49
|
+
}
|
|
50
|
+
return res.json();
|
|
51
|
+
}).then(res => {
|
|
52
|
+
return res.balance;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
var _default = exports.default = TonConnectSdk;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React, { type PropsWithChildren } from 'react';
|
|
2
|
+
import type { Locale } from '@ant-design/web3-common';
|
|
3
|
+
import type { CHAIN, TonConnectOptions, Wallet } from '@tonconnect/sdk';
|
|
4
|
+
import type { TonWalletMetadata } from '../wallets/type';
|
|
5
|
+
import TonConnectSdk, { type TonConnectSdkConfigType } from './TonConnectSdk';
|
|
6
|
+
interface TonConnectorContextProps {
|
|
7
|
+
tonConnectSdk: TonConnectSdk | null;
|
|
8
|
+
tonSelectWallet: Wallet | null;
|
|
9
|
+
setTonSelectWallet: (sdk: Wallet | null) => void;
|
|
10
|
+
connectConfig: TonConnectSdkConfigType;
|
|
11
|
+
}
|
|
12
|
+
export declare const TonConnectorContext: React.Context<TonConnectorContextProps | null>;
|
|
13
|
+
export interface TonWeb3ConfigProviderProps extends TonConnectOptions {
|
|
14
|
+
locale?: Locale;
|
|
15
|
+
balance?: boolean;
|
|
16
|
+
wallets: TonWalletMetadata[];
|
|
17
|
+
chain?: CHAIN;
|
|
18
|
+
reconnect?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare const TonWeb3ConfigProvider: React.FC<PropsWithChildren<TonWeb3ConfigProviderProps>>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TonWeb3ConfigProvider = exports.TonConnectorContext = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _factory = require("../wallets/factory");
|
|
9
|
+
var _configProvider = _interopRequireDefault(require("./config-provider"));
|
|
10
|
+
var _TonConnectSdk = _interopRequireDefault(require("./TonConnectSdk"));
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
+
const TonConnectorContext = exports.TonConnectorContext = /*#__PURE__*/_react.default.createContext(null);
|
|
16
|
+
const TonWeb3ConfigProvider = ({
|
|
17
|
+
children,
|
|
18
|
+
...restProps
|
|
19
|
+
}) => {
|
|
20
|
+
const {
|
|
21
|
+
balance,
|
|
22
|
+
locale,
|
|
23
|
+
wallets,
|
|
24
|
+
chain,
|
|
25
|
+
reconnect = true
|
|
26
|
+
} = restProps;
|
|
27
|
+
const [tonConnectSdk, setTonConnectSdk] = _react.default.useState(null);
|
|
28
|
+
const [tonSelectWallet, setTonSelectWallet] = _react.default.useState(null);
|
|
29
|
+
const [tonWallets, setTonWallets] = _react.default.useState([]);
|
|
30
|
+
(0, _react.useEffect)(() => {
|
|
31
|
+
if (!tonConnectSdk) {
|
|
32
|
+
const tonSdk = new _TonConnectSdk.default({
|
|
33
|
+
...restProps,
|
|
34
|
+
chain
|
|
35
|
+
});
|
|
36
|
+
if (reconnect) {
|
|
37
|
+
tonSdk.restoreConnection();
|
|
38
|
+
}
|
|
39
|
+
tonSdk.onStatusChange(s => {
|
|
40
|
+
setTonSelectWallet(s);
|
|
41
|
+
});
|
|
42
|
+
setTonConnectSdk(tonSdk);
|
|
43
|
+
}
|
|
44
|
+
}, [tonConnectSdk, restProps, reconnect, chain]);
|
|
45
|
+
_react.default.useEffect(() => {
|
|
46
|
+
if (tonConnectSdk && wallets?.length) {
|
|
47
|
+
tonConnectSdk.getWallets().then(res => {
|
|
48
|
+
const availableWallets = wallets.filter(w => res.findIndex(t => t.appName === w.key) >= 0);
|
|
49
|
+
setTonWallets(availableWallets.map(w => {
|
|
50
|
+
const tonBasicWallet = res.find(t => t.appName === w.key);
|
|
51
|
+
return {
|
|
52
|
+
...w,
|
|
53
|
+
...tonBasicWallet
|
|
54
|
+
};
|
|
55
|
+
}));
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}, [wallets, tonConnectSdk]);
|
|
59
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TonConnectorContext.Provider, {
|
|
60
|
+
value: {
|
|
61
|
+
tonConnectSdk,
|
|
62
|
+
tonSelectWallet,
|
|
63
|
+
setTonSelectWallet,
|
|
64
|
+
connectConfig: restProps
|
|
65
|
+
},
|
|
66
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_configProvider.default, {
|
|
67
|
+
wallets: tonWallets.map(w => (0, _factory.TonWalletFactory)(w).create()),
|
|
68
|
+
balance: balance,
|
|
69
|
+
locale: locale,
|
|
70
|
+
children: children
|
|
71
|
+
})
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
exports.TonWeb3ConfigProvider = TonWeb3ConfigProvider;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React, { type PropsWithChildren } from 'react';
|
|
2
|
+
import type { TonWallet } from '../wallets/type';
|
|
3
|
+
import type { TonWeb3ConfigProviderProps } from './TonWeb3ConfigProvider';
|
|
4
|
+
interface TonConfigProviderProps extends Omit<TonWeb3ConfigProviderProps, 'wallets' | 'connectConfig'> {
|
|
5
|
+
wallets?: TonWallet[];
|
|
6
|
+
}
|
|
7
|
+
declare const TonConfigProvider: React.FC<PropsWithChildren<TonConfigProviderProps>>;
|
|
8
|
+
export default TonConfigProvider;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _web3Common = require("@ant-design/web3-common");
|
|
9
|
+
var _web3Icons = require("@ant-design/web3-icons");
|
|
10
|
+
var _sdk = require("@tonconnect/sdk");
|
|
11
|
+
var _hooks = require("../hooks");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
+
const TonConfigProvider = ({
|
|
16
|
+
children,
|
|
17
|
+
locale,
|
|
18
|
+
balance: showBalance,
|
|
19
|
+
wallets
|
|
20
|
+
}) => {
|
|
21
|
+
const {
|
|
22
|
+
connector,
|
|
23
|
+
tonSelectWallet,
|
|
24
|
+
setTonSelectWallet
|
|
25
|
+
} = (0, _hooks.useTonConnector)();
|
|
26
|
+
const [balance, setBalance] = _react.default.useState();
|
|
27
|
+
const [account, setAccount] = _react.default.useState();
|
|
28
|
+
(0, _react.useEffect)(() => {
|
|
29
|
+
if (!showBalance || !connector) return;
|
|
30
|
+
connector?.getBalance().then(res => {
|
|
31
|
+
setBalance({
|
|
32
|
+
value: BigInt(res)
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}, [connector, showBalance, tonSelectWallet]);
|
|
36
|
+
(0, _react.useEffect)(() => {
|
|
37
|
+
if (tonSelectWallet) {
|
|
38
|
+
setAccount({
|
|
39
|
+
address: (0, _sdk.toUserFriendlyAddress)(tonSelectWallet.account.address)
|
|
40
|
+
});
|
|
41
|
+
} else {
|
|
42
|
+
setAccount(undefined);
|
|
43
|
+
}
|
|
44
|
+
}, [tonSelectWallet]);
|
|
45
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_web3Common.Web3ConfigProvider, {
|
|
46
|
+
addressPrefix: false,
|
|
47
|
+
locale: locale,
|
|
48
|
+
availableWallets: wallets,
|
|
49
|
+
balance: balance ? {
|
|
50
|
+
...balance,
|
|
51
|
+
decimals: 9,
|
|
52
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_web3Icons.TonCircleColorful, {}),
|
|
53
|
+
symbol: 'TON'
|
|
54
|
+
} : undefined,
|
|
55
|
+
account: account,
|
|
56
|
+
connect: async wallet => {
|
|
57
|
+
const walletInfo = wallets?.find(w => w.appName === wallet?.key);
|
|
58
|
+
connector?.connect(walletInfo);
|
|
59
|
+
},
|
|
60
|
+
disconnect: async () => {
|
|
61
|
+
await connector?.disconnect();
|
|
62
|
+
if (!connector?.connected) {
|
|
63
|
+
setTonSelectWallet?.(null);
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
children: children
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
var _default = exports.default = TonConfigProvider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TonWeb3ConfigProvider';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _TonWeb3ConfigProvider = require("./TonWeb3ConfigProvider");
|
|
7
|
+
Object.keys(_TonWeb3ConfigProvider).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _TonWeb3ConfigProvider[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _TonWeb3ConfigProvider[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.dewallet = void 0;
|
|
7
|
+
var _web3Icons = require("@ant-design/web3-icons");
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
const dewallet = exports.dewallet = {
|
|
10
|
+
key: 'dewallet',
|
|
11
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_web3Icons.DeWalletCircleColorful, {})
|
|
12
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TonWalletFactory = void 0;
|
|
7
|
+
var _sdk = require("@tonconnect/sdk");
|
|
8
|
+
const TonWalletFactory = metadata => {
|
|
9
|
+
const isReady = (0, _sdk.isWalletInfoCurrentlyInjected)(metadata);
|
|
10
|
+
return {
|
|
11
|
+
create: () => {
|
|
12
|
+
return {
|
|
13
|
+
...metadata,
|
|
14
|
+
name: metadata.name,
|
|
15
|
+
remark: metadata.appName,
|
|
16
|
+
key: metadata.appName,
|
|
17
|
+
icon: metadata.icon ?? metadata.imageUrl,
|
|
18
|
+
hasWalletReady: () => Promise.resolve(isReady),
|
|
19
|
+
hasExtensionInstalled: () => Promise.resolve(isReady)
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
exports.TonWalletFactory = TonWalletFactory;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _tonkeeper = require("./tonkeeper");
|
|
7
|
+
Object.keys(_tonkeeper).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _tonkeeper[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _tonkeeper[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _telegramWallet = require("./telegramWallet");
|
|
18
|
+
Object.keys(_telegramWallet).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _telegramWallet[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _telegramWallet[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _myTonWallet = require("./myTonWallet");
|
|
29
|
+
Object.keys(_myTonWallet).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _myTonWallet[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _myTonWallet[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _openmask = require("./openmask");
|
|
40
|
+
Object.keys(_openmask).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _openmask[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _openmask[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
var _tonhub = require("./tonhub");
|
|
51
|
+
Object.keys(_tonhub).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _tonhub[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _tonhub[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
var _dewallet = require("./dewallet");
|
|
62
|
+
Object.keys(_dewallet).forEach(function (key) {
|
|
63
|
+
if (key === "default" || key === "__esModule") return;
|
|
64
|
+
if (key in exports && exports[key] === _dewallet[key]) return;
|
|
65
|
+
Object.defineProperty(exports, key, {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function () {
|
|
68
|
+
return _dewallet[key];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
var _okxTonWallet = require("./okxTonWallet");
|
|
73
|
+
Object.keys(_okxTonWallet).forEach(function (key) {
|
|
74
|
+
if (key === "default" || key === "__esModule") return;
|
|
75
|
+
if (key in exports && exports[key] === _okxTonWallet[key]) return;
|
|
76
|
+
Object.defineProperty(exports, key, {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function () {
|
|
79
|
+
return _okxTonWallet[key];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.myTonWallet = void 0;
|
|
7
|
+
var _web3Icons = require("@ant-design/web3-icons");
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
const myTonWallet = exports.myTonWallet = {
|
|
10
|
+
key: 'mytonwallet',
|
|
11
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_web3Icons.MytonWalletCircleColorful, {})
|
|
12
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.okxTonWallet = void 0;
|
|
7
|
+
var _web3Icons = require("@ant-design/web3-icons");
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
const okxTonWallet = exports.okxTonWallet = {
|
|
10
|
+
key: 'okxTonWallet',
|
|
11
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_web3Icons.OkxWalletColorful, {}),
|
|
12
|
+
group: 'Popular'
|
|
13
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.openmask = void 0;
|
|
7
|
+
var _web3Icons = require("@ant-design/web3-icons");
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
const openmask = exports.openmask = {
|
|
10
|
+
key: 'openmask',
|
|
11
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_web3Icons.OpenmaskCircleColorful, {})
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.telegramWallet = void 0;
|
|
7
|
+
var _web3Icons = require("@ant-design/web3-icons");
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
const telegramWallet = exports.telegramWallet = {
|
|
10
|
+
key: 'telegram-wallet',
|
|
11
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_web3Icons.TgWalletCircleColorful, {})
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tonhub = void 0;
|
|
7
|
+
var _web3Icons = require("@ant-design/web3-icons");
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
const tonhub = exports.tonhub = {
|
|
10
|
+
key: 'tonhub',
|
|
11
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_web3Icons.TonhubCircleColorful, {})
|
|
12
|
+
};
|