@sign-global/tokentable 0.3.0 → 0.4.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/beta.yml +28 -0
- package/dist/cjs/airdrop/AirdropClient.d.ts +46 -0
- package/dist/cjs/airdrop/AirdropClient.js +244 -0
- package/dist/cjs/airdrop/AirdropClient.js.map +1 -0
- package/dist/cjs/airdrop/SignatureAirdropClient.d.ts +26 -0
- package/dist/cjs/airdrop/SignatureAirdropClient.js +109 -0
- package/dist/cjs/airdrop/SignatureAirdropClient.js.map +1 -0
- package/dist/cjs/airdrop/common/index.d.ts +1 -1
- package/dist/cjs/airdrop/constants/index.d.ts +4 -0
- package/dist/cjs/airdrop/constants/index.js +5 -1
- package/dist/cjs/airdrop/constants/index.js.map +1 -1
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/WalletBase.d.ts +32 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/WalletBase.js +71 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/WalletBase.js.map +1 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/WalletFactory.d.ts +8 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/WalletFactory.js +38 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/WalletFactory.js.map +1 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/index.d.ts +2 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/index.js +21 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/index.js.map +1 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.d.ts +26 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js +70 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js.map +1 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/index.d.ts +9 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js +35 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js.map +1 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/index.d.ts +3 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/index.js +14 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/index.js.map +1 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/solana/index.d.ts +27 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js +119 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js.map +1 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.d.ts +23 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js +117 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js.map +1 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/index.d.ts +9 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/index.js +29 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/index.js.map +1 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/types.d.ts +38 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/types.js +30 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/types.js.map +1 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/utils/index.d.ts +8 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/utils/index.js +41 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/utils/index.js.map +1 -0
- package/dist/cjs/airdrop/index.d.ts +4 -46
- package/dist/cjs/airdrop/index.js +22 -241
- package/dist/cjs/airdrop/index.js.map +1 -1
- package/dist/cjs/airdrop/services/index.d.ts +15 -0
- package/dist/cjs/airdrop/services/index.js +16 -1
- package/dist/cjs/airdrop/services/index.js.map +1 -1
- package/dist/cjs/airdrop/types/index.d.ts +18 -4
- package/dist/cjs/airdrop/types/index.js +7 -1
- package/dist/cjs/airdrop/types/index.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +7 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/utils.d.ts +1 -0
- package/dist/cjs/utils/utils.js +2 -1
- package/dist/cjs/utils/utils.js.map +1 -1
- package/dist/esm/airdrop/AirdropClient.d.ts +46 -0
- package/dist/esm/airdrop/AirdropClient.js +240 -0
- package/dist/esm/airdrop/AirdropClient.js.map +1 -0
- package/dist/esm/airdrop/SignatureAirdropClient.d.ts +26 -0
- package/dist/esm/airdrop/SignatureAirdropClient.js +105 -0
- package/dist/esm/airdrop/SignatureAirdropClient.js.map +1 -0
- package/dist/esm/airdrop/common/index.d.ts +1 -1
- package/dist/esm/airdrop/constants/index.d.ts +4 -0
- package/dist/esm/airdrop/constants/index.js +4 -0
- package/dist/esm/airdrop/constants/index.js.map +1 -1
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/WalletBase.d.ts +32 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/WalletBase.js +67 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/WalletBase.js.map +1 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/WalletFactory.d.ts +8 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/WalletFactory.js +34 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/WalletFactory.js.map +1 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/index.d.ts +2 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/index.js +3 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/index.js.map +1 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.d.ts +26 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js +65 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js.map +1 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/index.d.ts +9 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js +29 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js.map +1 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/index.d.ts +3 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/index.js +5 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/index.js.map +1 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/solana/index.d.ts +27 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js +109 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js.map +1 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.d.ts +23 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js +112 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js.map +1 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/index.d.ts +9 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/index.js +24 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/index.js.map +1 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/types.d.ts +38 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/types.js +27 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/types.js.map +1 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/utils/index.d.ts +8 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/utils/index.js +35 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/utils/index.js.map +1 -0
- package/dist/esm/airdrop/index.d.ts +4 -46
- package/dist/esm/airdrop/index.js +4 -239
- package/dist/esm/airdrop/index.js.map +1 -1
- package/dist/esm/airdrop/services/index.d.ts +15 -0
- package/dist/esm/airdrop/services/index.js +12 -0
- package/dist/esm/airdrop/services/index.js.map +1 -1
- package/dist/esm/airdrop/types/index.d.ts +18 -4
- package/dist/esm/airdrop/types/index.js +6 -0
- package/dist/esm/airdrop/types/index.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/utils.d.ts +1 -0
- package/dist/esm/utils/utils.js +1 -0
- package/dist/esm/utils/utils.js.map +1 -1
- package/package.json +15 -3
- package/src/airdrop/AirdropClient.ts +301 -0
- package/src/airdrop/SignatureAirdropClient.ts +120 -0
- package/src/airdrop/constants/index.ts +5 -0
- package/src/airdrop/core/useWeb3ConnectWallet/WalletBase.ts +92 -0
- package/src/airdrop/core/useWeb3ConnectWallet/WalletFactory.tsx +35 -0
- package/src/airdrop/core/useWeb3ConnectWallet/index.ts +3 -0
- package/src/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.ts +90 -0
- package/src/airdrop/core/useWeb3ConnectWallet/providers/evm/index.tsx +43 -0
- package/src/airdrop/core/useWeb3ConnectWallet/providers/index.ts +4 -0
- package/src/airdrop/core/useWeb3ConnectWallet/providers/solana/index.tsx +141 -0
- package/src/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.ts +149 -0
- package/src/airdrop/core/useWeb3ConnectWallet/providers/ton/index.tsx +41 -0
- package/src/airdrop/core/useWeb3ConnectWallet/types.ts +45 -0
- package/src/airdrop/core/useWeb3ConnectWallet/utils/index.ts +61 -0
- package/src/airdrop/index.ts +4 -304
- package/src/airdrop/services/index.ts +29 -1
- package/src/airdrop/types/index.ts +22 -5
- package/src/index.ts +9 -1
- package/src/utils/utils.ts +2 -0
- package/tsconfig.json +2 -2
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { WalletBase } from '../../WalletBase';
|
|
2
|
+
import { disconnect, getAccount, signMessage } from 'wagmi/actions';
|
|
3
|
+
import { EventEmitter } from 'events';
|
|
4
|
+
import { get4361Message, prepareSignMessage } from '../../utils';
|
|
5
|
+
export const eventBus = new EventEmitter();
|
|
6
|
+
const EVM_EVENT_KEY = 'evm_signin';
|
|
7
|
+
export const evmStore = {
|
|
8
|
+
account: null,
|
|
9
|
+
connectModal: undefined,
|
|
10
|
+
walletClient: undefined,
|
|
11
|
+
config: undefined,
|
|
12
|
+
counter: 0
|
|
13
|
+
};
|
|
14
|
+
export const getEventKey = () => {
|
|
15
|
+
return `${EVM_EVENT_KEY}_${evmStore.counter}`;
|
|
16
|
+
};
|
|
17
|
+
export class EvmWallet extends WalletBase {
|
|
18
|
+
get isConnected() {
|
|
19
|
+
return !!(evmStore.account?.address && evmStore.account?.isConnected);
|
|
20
|
+
}
|
|
21
|
+
connect() {
|
|
22
|
+
evmStore?.connectModal?.openConnectModal?.();
|
|
23
|
+
}
|
|
24
|
+
async disconnect() {
|
|
25
|
+
await disconnect(evmStore.config);
|
|
26
|
+
}
|
|
27
|
+
async sign(_message) {
|
|
28
|
+
const sign = await signMessage(evmStore.config, {
|
|
29
|
+
message: _message
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
message: _message,
|
|
33
|
+
signature: sign
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
async signin(statement) {
|
|
37
|
+
return new Promise((resolve) => {
|
|
38
|
+
const signCallback = (data) => {
|
|
39
|
+
this.address = data.address;
|
|
40
|
+
this.chainId = data.chainId;
|
|
41
|
+
const msg = prepareSignMessage({ statement, chainId: data.chainId, address: data.address });
|
|
42
|
+
const fullMessage = get4361Message(msg);
|
|
43
|
+
const res = this.sign(fullMessage);
|
|
44
|
+
resolve(res);
|
|
45
|
+
};
|
|
46
|
+
const account = getAccount(evmStore.config);
|
|
47
|
+
this.provider = evmStore.walletClient;
|
|
48
|
+
if (this.isConnected) {
|
|
49
|
+
signCallback(account);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
evmStore.counter++;
|
|
53
|
+
this.connect();
|
|
54
|
+
const eventKey = getEventKey();
|
|
55
|
+
eventBus.once(eventKey, (data) => {
|
|
56
|
+
console.log('listen event key success, event key = %s, data = %j', eventKey, data);
|
|
57
|
+
signCallback(data);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
getStore() {
|
|
62
|
+
return evmStore;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=EvmWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmWallet.js","sourceRoot":"","sources":["../../../../../../../src/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import '@rainbow-me/rainbowkit/styles.css';
|
|
2
|
+
import { ResolvedRegister } from 'wagmi';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
export { EvmWallet } from './EvmWallet';
|
|
5
|
+
export declare const EVMConnector: () => null;
|
|
6
|
+
export declare const EvmProvider: ({ children, config }: {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
config: ResolvedRegister["config"];
|
|
9
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import '@rainbow-me/rainbowkit/styles.css';
|
|
3
|
+
import { RainbowKitProvider, lightTheme, useConnectModal } from '@rainbow-me/rainbowkit';
|
|
4
|
+
import { WagmiProvider, useAccount, useWalletClient } from 'wagmi';
|
|
5
|
+
import { useEffect } from 'react';
|
|
6
|
+
import { evmStore, getEventKey, eventBus } from './EvmWallet';
|
|
7
|
+
export { EvmWallet } from './EvmWallet';
|
|
8
|
+
export const EVMConnector = () => {
|
|
9
|
+
const connectModal = useConnectModal();
|
|
10
|
+
const walletClient = useWalletClient();
|
|
11
|
+
const account = useAccount();
|
|
12
|
+
evmStore.connectModal = connectModal;
|
|
13
|
+
evmStore.walletClient = walletClient;
|
|
14
|
+
evmStore.account = account;
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (account.isConnected) {
|
|
17
|
+
const eventKey = getEventKey();
|
|
18
|
+
eventBus.emit(eventKey, account);
|
|
19
|
+
}
|
|
20
|
+
}, [account]);
|
|
21
|
+
return null;
|
|
22
|
+
};
|
|
23
|
+
export const EvmProvider = ({ children, config }) => {
|
|
24
|
+
evmStore.config = config;
|
|
25
|
+
return (_jsx(WagmiProvider, { config: config, children: _jsxs(RainbowKitProvider, { theme: lightTheme({
|
|
26
|
+
accentColor: '#DD8D58'
|
|
27
|
+
}), children: [children, _jsx(EVMConnector, {})] }) }));
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/airdrop/core/useWeb3ConnectWallet/providers/evm/index.tsx"],"names":[],"mappings":";AAAA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAoB,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACrF,OAAO,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAA+D,EAAE,EAAE;IAC/G,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,OAAO,CACL,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,YAC3B,MAAC,kBAAkB,IACjB,KAAK,EAAE,UAAU,CAAC;gBAChB,WAAW,EAAE,SAAS;aACvB,CAAC,aAED,QAAQ,EACT,KAAC,YAAY,KAAG,IACG,GACP,CACjB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/airdrop/core/useWeb3ConnectWallet/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrD,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { WalletBase } from '../../WalletBase';
|
|
3
|
+
import { useWalletModal } from '@solana/wallet-adapter-react-ui';
|
|
4
|
+
import '@solana/wallet-adapter-react-ui/styles.css';
|
|
5
|
+
import { ISignResult } from '../../types';
|
|
6
|
+
import { useWallet } from '@solana/wallet-adapter-react';
|
|
7
|
+
import EventEmitter from 'events';
|
|
8
|
+
interface SolStoreType {
|
|
9
|
+
connectModal: ReturnType<typeof useWalletModal> | null;
|
|
10
|
+
account: ReturnType<typeof useWallet> | null;
|
|
11
|
+
counter: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const eventBus: EventEmitter<[never]>;
|
|
14
|
+
export declare const getEventKey: () => string;
|
|
15
|
+
export declare class SolWallet extends WalletBase<SolStoreType> {
|
|
16
|
+
getStore(): SolStoreType;
|
|
17
|
+
get isConnected(): boolean;
|
|
18
|
+
connect(): void;
|
|
19
|
+
disconnect(): void;
|
|
20
|
+
sign(message: string): Promise<ISignResult>;
|
|
21
|
+
signin(statement?: string): Promise<ISignResult>;
|
|
22
|
+
}
|
|
23
|
+
export declare const SolConnector: () => null;
|
|
24
|
+
export declare const SolanaProvider: ({ children }: {
|
|
25
|
+
children: ReactNode;
|
|
26
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useMemo } from 'react';
|
|
3
|
+
import { WalletBase } from '../../WalletBase';
|
|
4
|
+
import { useWalletModal, WalletModalProvider } from '@solana/wallet-adapter-react-ui';
|
|
5
|
+
import '@solana/wallet-adapter-react-ui/styles.css';
|
|
6
|
+
import { ConnectionProvider, useWallet, WalletProvider } from '@solana/wallet-adapter-react';
|
|
7
|
+
import { PhantomWalletAdapter } from '@solana/wallet-adapter-wallets';
|
|
8
|
+
import { clusterApiUrl } from '@solana/web3.js';
|
|
9
|
+
import bs58 from 'bs58';
|
|
10
|
+
import { get4361Message, prepareSignMessage } from '../../utils';
|
|
11
|
+
import EventEmitter from 'events';
|
|
12
|
+
const solStore = {
|
|
13
|
+
connectModal: null,
|
|
14
|
+
account: null,
|
|
15
|
+
counter: 0
|
|
16
|
+
};
|
|
17
|
+
export const eventBus = new EventEmitter();
|
|
18
|
+
const SOL_EVENT_KEY = 'sol_signin';
|
|
19
|
+
export const getEventKey = () => {
|
|
20
|
+
return `${SOL_EVENT_KEY}_${solStore.counter}`;
|
|
21
|
+
};
|
|
22
|
+
export class SolWallet extends WalletBase {
|
|
23
|
+
getStore() {
|
|
24
|
+
return solStore;
|
|
25
|
+
}
|
|
26
|
+
get isConnected() {
|
|
27
|
+
return !!solStore.account?.connected;
|
|
28
|
+
}
|
|
29
|
+
connect() {
|
|
30
|
+
solStore.connectModal?.setVisible(true);
|
|
31
|
+
}
|
|
32
|
+
disconnect() {
|
|
33
|
+
solStore.account?.disconnect();
|
|
34
|
+
}
|
|
35
|
+
async sign(message) {
|
|
36
|
+
try {
|
|
37
|
+
const provider = solStore.account;
|
|
38
|
+
const encodedMessage = new TextEncoder().encode(message);
|
|
39
|
+
const signedMessage = await provider.signMessage?.(encodedMessage);
|
|
40
|
+
console.log(signedMessage, 'signedMessage');
|
|
41
|
+
return {
|
|
42
|
+
message,
|
|
43
|
+
signature: bs58.encode(signedMessage)
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
console.error(error);
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
signin(statement) {
|
|
52
|
+
return new Promise((resolve) => {
|
|
53
|
+
const signCallback = (data) => {
|
|
54
|
+
this.publicKey = data.publicKey?.toString();
|
|
55
|
+
this.address = this.publicKey;
|
|
56
|
+
this.chainId = 1;
|
|
57
|
+
const msg = prepareSignMessage({ statement, chainId: '1', address: this.address });
|
|
58
|
+
const fullMessage = get4361Message(msg);
|
|
59
|
+
const res = this.sign(fullMessage);
|
|
60
|
+
resolve(res);
|
|
61
|
+
};
|
|
62
|
+
// const account = getAccount(evmStore.config!);
|
|
63
|
+
// this.provider = evmStore.walletClient;
|
|
64
|
+
if (this.isConnected) {
|
|
65
|
+
console.log(solStore);
|
|
66
|
+
signCallback(solStore.account);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
solStore.counter++;
|
|
70
|
+
this.connect();
|
|
71
|
+
const eventKey = getEventKey();
|
|
72
|
+
console.log(eventKey);
|
|
73
|
+
eventBus.once(eventKey, (data) => {
|
|
74
|
+
console.log('listen event key success, event key = %s, data = %j', eventKey, data);
|
|
75
|
+
signCallback(data);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export const SolConnector = () => {
|
|
81
|
+
const walletModal = useWalletModal();
|
|
82
|
+
const wallet = useWallet();
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
console.log(wallet, 'wallet');
|
|
85
|
+
if (wallet.wallet) {
|
|
86
|
+
if (wallet.connected) {
|
|
87
|
+
const eventKey = getEventKey();
|
|
88
|
+
eventBus.emit(eventKey, wallet);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
wallet.connect().catch((error) => {
|
|
92
|
+
console.error(error);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}, [wallet]);
|
|
97
|
+
solStore.connectModal = walletModal;
|
|
98
|
+
solStore.account = wallet;
|
|
99
|
+
return null;
|
|
100
|
+
};
|
|
101
|
+
export const SolanaProvider = ({ children }) => {
|
|
102
|
+
const endpoint = clusterApiUrl('mainnet-beta');
|
|
103
|
+
const wallets = useMemo(() => [new PhantomWalletAdapter()], []);
|
|
104
|
+
const onError = useCallback((error) => {
|
|
105
|
+
console.error(error);
|
|
106
|
+
}, []);
|
|
107
|
+
return (_jsx(ConnectionProvider, { endpoint: endpoint, children: _jsx(WalletProvider, { wallets: wallets, onError: onError, children: _jsxs(WalletModalProvider, { children: [_jsx(SolConnector, {}), children] }) }) }));
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/airdrop/core/useWeb3ConnectWallet/providers/solana/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,4CAA4C,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,YAAY,MAAM,QAAQ,CAAC;AAQlC,MAAM,QAAQ,GAAiB;IAC7B,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;AAE3C,MAAM,aAAa,GAAG,YAAY,CAAC;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,OAAO,GAAG,aAAa,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,OAAO,SAAU,SAAQ,UAAwB;IACrD,QAAQ;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IACvC,CAAC;IACD,OAAO;QACL,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU;QACR,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAQ,CAAC;YACnC,MAAM,cAAc,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,CAAC;YAEnE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAE5C,OAAO;gBACL,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAc,CAAC;aACvC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,CAAC,SAAkB;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,YAAY,GAAG,CAAC,IAAkC,EAAE,EAAE;gBAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;gBACjB,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAQ,EAAE,CAAC,CAAC;gBACpF,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBAExC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEnC,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,gDAAgD;YAChD,yCAAyC;YAEzC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtB,YAAY,CAAC,QAAQ,CAAC,OAAQ,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,OAAO,CAAC,GAAG,CAAC,qDAAqD,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACnF,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE;IACtE,MAAM,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,CACL,KAAC,kBAAkB,IAAC,QAAQ,EAAE,QAAQ,YACpC,KAAC,cAAc,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,YAChD,MAAC,mBAAmB,eAClB,KAAC,YAAY,KAAG,EACf,QAAQ,IACW,GACP,GACE,CACtB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useTonConnectUI, useTonWallet, useTonConnectModal, TonConnectUIProviderProps } from '@tonconnect/ui-react';
|
|
2
|
+
import { WalletBase } from '../../WalletBase';
|
|
3
|
+
import { ISignResult } from '../../types';
|
|
4
|
+
import { EventEmitter } from 'events';
|
|
5
|
+
export interface TonStoreType {
|
|
6
|
+
account: ReturnType<typeof useTonWallet> | null;
|
|
7
|
+
connectModal: ReturnType<typeof useTonConnectModal> | undefined;
|
|
8
|
+
walletClient: ReturnType<typeof useTonConnectUI>[0] | undefined;
|
|
9
|
+
config: TonConnectUIProviderProps | undefined;
|
|
10
|
+
counter: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const tonStore: TonStoreType;
|
|
13
|
+
export declare const eventBus: EventEmitter<[never]>;
|
|
14
|
+
export declare const getEventKey: () => string;
|
|
15
|
+
export declare class TonWallet extends WalletBase<TonStoreType> {
|
|
16
|
+
get isConnected(): boolean;
|
|
17
|
+
connect(): void;
|
|
18
|
+
disconnect(): Promise<void>;
|
|
19
|
+
private getPublicKey;
|
|
20
|
+
sign(originMsg: string): Promise<ISignResult>;
|
|
21
|
+
signin(statement?: string): Promise<ISignResult>;
|
|
22
|
+
getStore(): TonStoreType;
|
|
23
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { WalletBase } from '../../WalletBase';
|
|
2
|
+
import { getCustomNaNoId } from '../../utils';
|
|
3
|
+
import { hashSha256 } from '@ethsign/utils-web';
|
|
4
|
+
import { CHAIN, toUserFriendlyAddress } from '@tonconnect/ui';
|
|
5
|
+
import { EventEmitter } from 'events';
|
|
6
|
+
import { Cell } from 'ton-core';
|
|
7
|
+
export const tonStore = {
|
|
8
|
+
account: null,
|
|
9
|
+
connectModal: undefined,
|
|
10
|
+
walletClient: undefined,
|
|
11
|
+
config: undefined,
|
|
12
|
+
counter: 0
|
|
13
|
+
};
|
|
14
|
+
export const eventBus = new EventEmitter();
|
|
15
|
+
export const getEventKey = () => {
|
|
16
|
+
return `ton_sign_${tonStore.counter}`;
|
|
17
|
+
};
|
|
18
|
+
export class TonWallet extends WalletBase {
|
|
19
|
+
get isConnected() {
|
|
20
|
+
return !!tonStore.account?.account;
|
|
21
|
+
}
|
|
22
|
+
connect() {
|
|
23
|
+
tonStore?.connectModal?.open?.();
|
|
24
|
+
}
|
|
25
|
+
async disconnect() {
|
|
26
|
+
await tonStore.walletClient?.disconnect();
|
|
27
|
+
}
|
|
28
|
+
getPublicKey(stateInit) {
|
|
29
|
+
const state_init = Cell.fromBase64(stateInit);
|
|
30
|
+
const bits = state_init.refs[1].bits;
|
|
31
|
+
const pubKey = bits.toString().substring(16, 80).toLowerCase();
|
|
32
|
+
return pubKey;
|
|
33
|
+
}
|
|
34
|
+
async sign(originMsg) {
|
|
35
|
+
const message = await hashSha256(originMsg);
|
|
36
|
+
const tonConnectUI = tonStore.walletClient;
|
|
37
|
+
// const walletInfo = tonConnectUI?.wallet;
|
|
38
|
+
const authType = '';
|
|
39
|
+
// if (walletInfo?.jsBridgeKey && walletInfo?.openMethod !== 'qrcode') {
|
|
40
|
+
// authType = walletInfo.jsBridgeKey;
|
|
41
|
+
// }
|
|
42
|
+
console.log(this.isConnected, tonConnectUI, 'connected');
|
|
43
|
+
if (this.isConnected) {
|
|
44
|
+
await tonConnectUI.disconnect();
|
|
45
|
+
}
|
|
46
|
+
tonStore.counter++;
|
|
47
|
+
if (authType) {
|
|
48
|
+
const wallets = await tonConnectUI.getWallets();
|
|
49
|
+
const currentWallet = wallets.find((wallet) => [wallet.name, wallet.appName].includes(authType));
|
|
50
|
+
console.log(wallets, currentWallet, 'ww');
|
|
51
|
+
const link = tonConnectUI.connector.connect({
|
|
52
|
+
bridgeUrl: currentWallet.bridgeUrl,
|
|
53
|
+
universalLink: currentWallet.universalLink
|
|
54
|
+
}, {
|
|
55
|
+
tonProof: message
|
|
56
|
+
});
|
|
57
|
+
// tonspace在tg内部打开
|
|
58
|
+
window.open(link);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
console.log('first time, call setConnectRequestParameters');
|
|
62
|
+
tonConnectUI.setConnectRequestParameters({
|
|
63
|
+
state: 'ready',
|
|
64
|
+
value: {
|
|
65
|
+
tonProof: message // 不能有空格,特殊字符
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
this.connect();
|
|
69
|
+
}
|
|
70
|
+
const connectedWallet = await new Promise((resolve) => {
|
|
71
|
+
const eventKey = getEventKey();
|
|
72
|
+
console.log('start listen event key, key = %s', eventKey);
|
|
73
|
+
eventBus.once(eventKey, (data) => {
|
|
74
|
+
console.log('listen event key success, event key = %s, data = %j', eventKey, data);
|
|
75
|
+
resolve(data);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
this.provider = tonStore.walletClient;
|
|
79
|
+
const proof = connectedWallet.connectItems?.tonProof?.proof;
|
|
80
|
+
this.publicKey = connectedWallet.account.publicKey || this.getPublicKey(connectedWallet.account.walletStateInit); //使用walletStateInit,publicKey由后端计算
|
|
81
|
+
this.address = toUserFriendlyAddress(connectedWallet.account.address);
|
|
82
|
+
this.chainId = connectedWallet.account.chain;
|
|
83
|
+
this.network = this.chainId === CHAIN.MAINNET ? 'TON_MAINNET' : 'TON_TESTNET';
|
|
84
|
+
const fullMessage = JSON.stringify({
|
|
85
|
+
timestamp: proof.timestamp,
|
|
86
|
+
payload: proof.payload,
|
|
87
|
+
domain: proof.domain
|
|
88
|
+
});
|
|
89
|
+
const signature = proof.signature;
|
|
90
|
+
return {
|
|
91
|
+
message: JSON.stringify({
|
|
92
|
+
fullMessage,
|
|
93
|
+
message: originMsg
|
|
94
|
+
}),
|
|
95
|
+
signature,
|
|
96
|
+
tonProof: message
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
async signin(statement) {
|
|
100
|
+
const fullMessage = {
|
|
101
|
+
statement: statement || 'Welcome to EthSign',
|
|
102
|
+
issuedAt: new Date().toISOString(),
|
|
103
|
+
nonce: getCustomNaNoId()
|
|
104
|
+
};
|
|
105
|
+
const signRes = await this.sign(JSON.stringify(fullMessage, null, ' '));
|
|
106
|
+
return signRes;
|
|
107
|
+
}
|
|
108
|
+
getStore() {
|
|
109
|
+
return tonStore;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=TonWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TonWallet.js","sourceRoot":"","sources":["../../../../../../../src/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,KAAK,EAA0C,qBAAqB,EAAU,MAAM,gBAAgB,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAUhC,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,OAAO,YAAY,QAAQ,CAAC,OAAO,EAAE,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,OAAO,SAAU,SAAQ,UAAwB;IACrD,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IACrC,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC;IAC5C,CAAC;IAEO,YAAY,CAAC,SAAiB;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC,YAA4B,CAAC;QAC3D,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,wEAAwE;QACxE,0CAA0C;QAC1C,IAAI;QAEJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAClC,CAAC;QACD,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAEhD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5C,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC7B,CAAC;YAEtB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;YAE1C,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CACzC;gBACE,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,aAAa,EAAE,aAAa,CAAC,aAAa;aAC3C,EACD;gBACE,QAAQ,EAAE,OAAO;aAClB,CACF,CAAC;YAEF,kBAAkB;YAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,YAAY,CAAC,2BAA2B,CAAC;gBACvC,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,QAAQ,EAAE,OAAO,CAAC,aAAa;iBAChC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QAED,MAAM,eAAe,GAAW,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,QAAQ,CAAC,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,OAAO,CAAC,GAAG,CAAC,qDAAqD,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACnF,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC;QACtC,MAAM,KAAK,GAAI,eAAe,CAAC,YAAY,EAAE,QAAqC,EAAE,KAAK,CAAC;QAC1F,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,kCAAkC;QACpJ,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;QAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAElC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACtB,WAAW;gBACX,OAAO,EAAE,SAAS;aACnB,CAAC;YACF,SAAS;YACT,QAAQ,EAAE,OAAO;SAClB,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,SAAkB;QACtC,MAAM,WAAW,GAAG;YAClB,SAAS,EAAE,SAAS,IAAI,oBAAoB;YAC5C,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAClC,KAAK,EAAE,eAAe,EAAE;SACzB,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TonConnectUIProviderProps } from '@tonconnect/ui-react';
|
|
3
|
+
import { TonWallet } from './TonWallet';
|
|
4
|
+
export { TonWallet };
|
|
5
|
+
export declare const TonConnector: () => null;
|
|
6
|
+
export declare const TonProvider: ({ children, config }: {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
config: TonConnectUIProviderProps;
|
|
9
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect } from 'react';
|
|
3
|
+
import { TonConnectUIProvider, useTonConnectUI, useTonWallet, useTonConnectModal } from '@tonconnect/ui-react';
|
|
4
|
+
import { tonStore, eventBus, getEventKey, TonWallet } from './TonWallet';
|
|
5
|
+
export { TonWallet };
|
|
6
|
+
export const TonConnector = () => {
|
|
7
|
+
const wallet = useTonWallet();
|
|
8
|
+
const [tonConnectUI] = useTonConnectUI();
|
|
9
|
+
const connectModal = useTonConnectModal();
|
|
10
|
+
tonStore.connectModal = connectModal;
|
|
11
|
+
tonStore.walletClient = tonConnectUI;
|
|
12
|
+
tonStore.account = wallet;
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (wallet) {
|
|
15
|
+
eventBus.emit(getEventKey(), wallet);
|
|
16
|
+
}
|
|
17
|
+
}, [wallet]);
|
|
18
|
+
return null;
|
|
19
|
+
};
|
|
20
|
+
export const TonProvider = ({ children, config }) => {
|
|
21
|
+
tonStore.config = config;
|
|
22
|
+
return (_jsxs(TonConnectUIProvider, { ...config, children: [children, _jsx(TonConnector, {})] }));
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/airdrop/core/useWeb3ConnectWallet/providers/ton/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,CAAC,YAAY,CAAC,GAAG,eAAe,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAE1C,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC;IAE1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAA8D,EAAE,EAAE;IAC9G,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAEzB,OAAO,CACL,MAAC,oBAAoB,OAAK,MAAM,aAC7B,QAAQ,EACT,KAAC,YAAY,KAAG,IACK,CACxB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare enum WalletType {
|
|
2
|
+
EVM = "evm",
|
|
3
|
+
BITCOIN = "bitcoin",
|
|
4
|
+
SOLANA = "solana",
|
|
5
|
+
TON = "ton",
|
|
6
|
+
APTOS = "aptos",
|
|
7
|
+
PARTICLE = "particle-evm",
|
|
8
|
+
OKX = "okx",
|
|
9
|
+
Cyber = "cyber",
|
|
10
|
+
StarkNet = "starknet",
|
|
11
|
+
WALLETCONNECT = "walletconnect",
|
|
12
|
+
Cardano = "cardano"
|
|
13
|
+
}
|
|
14
|
+
export declare enum ChainType {
|
|
15
|
+
Evm = "evm",
|
|
16
|
+
Ton = "ton",
|
|
17
|
+
Solana = "solana"
|
|
18
|
+
}
|
|
19
|
+
export declare enum ExtendedWalletType {
|
|
20
|
+
UNISAT = "unisat",
|
|
21
|
+
OKXBTC = "okx_btc"
|
|
22
|
+
}
|
|
23
|
+
export type ProviderType = WalletType | ExtendedWalletType;
|
|
24
|
+
export type ISignResult = {
|
|
25
|
+
message: string;
|
|
26
|
+
signature: string;
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
} | undefined;
|
|
29
|
+
export interface ISignInMessage {
|
|
30
|
+
domain?: string;
|
|
31
|
+
version?: string;
|
|
32
|
+
nonce: string;
|
|
33
|
+
issuedAt: string;
|
|
34
|
+
statement: string;
|
|
35
|
+
chainId?: number | string;
|
|
36
|
+
uri?: string;
|
|
37
|
+
address?: string;
|
|
38
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export var WalletType;
|
|
2
|
+
(function (WalletType) {
|
|
3
|
+
WalletType["EVM"] = "evm";
|
|
4
|
+
WalletType["BITCOIN"] = "bitcoin";
|
|
5
|
+
WalletType["SOLANA"] = "solana";
|
|
6
|
+
WalletType["TON"] = "ton";
|
|
7
|
+
WalletType["APTOS"] = "aptos";
|
|
8
|
+
WalletType["PARTICLE"] = "particle-evm";
|
|
9
|
+
WalletType["OKX"] = "okx";
|
|
10
|
+
WalletType["Cyber"] = "cyber";
|
|
11
|
+
WalletType["StarkNet"] = "starknet";
|
|
12
|
+
WalletType["WALLETCONNECT"] = "walletconnect";
|
|
13
|
+
WalletType["Cardano"] = "cardano";
|
|
14
|
+
})(WalletType || (WalletType = {}));
|
|
15
|
+
export var ChainType;
|
|
16
|
+
(function (ChainType) {
|
|
17
|
+
ChainType["Evm"] = "evm";
|
|
18
|
+
ChainType["Ton"] = "ton";
|
|
19
|
+
// Starknet = 'starknet',
|
|
20
|
+
ChainType["Solana"] = "solana";
|
|
21
|
+
})(ChainType || (ChainType = {}));
|
|
22
|
+
export var ExtendedWalletType;
|
|
23
|
+
(function (ExtendedWalletType) {
|
|
24
|
+
ExtendedWalletType["UNISAT"] = "unisat";
|
|
25
|
+
ExtendedWalletType["OKXBTC"] = "okx_btc";
|
|
26
|
+
})(ExtendedWalletType || (ExtendedWalletType = {}));
|
|
27
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/airdrop/core/useWeb3ConnectWallet/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAYX;AAZD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,yBAAW,CAAA;IACX,6BAAe,CAAA;IACf,uCAAyB,CAAA;IACzB,yBAAW,CAAA;IACX,6BAAe,CAAA;IACf,mCAAqB,CAAA;IACrB,6CAA+B,CAAA;IAC/B,iCAAmB,CAAA;AACrB,CAAC,EAZW,UAAU,KAAV,UAAU,QAYrB;AAED,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,yBAAyB;IACzB,8BAAiB,CAAA;AACnB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AACD,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,wCAAkB,CAAA;AACpB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ISignInMessage } from '../types';
|
|
2
|
+
export declare const getCustomNaNoId: () => string;
|
|
3
|
+
export declare function prepareSignMessage({ chainId, address, statement }: {
|
|
4
|
+
address: string;
|
|
5
|
+
chainId: number | string;
|
|
6
|
+
statement?: string;
|
|
7
|
+
}): ISignInMessage;
|
|
8
|
+
export declare const get4361Message: ({ domain, version, nonce, issuedAt, statement, chainId, uri, address }: ISignInMessage) => string;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { customAlphabet } from 'nanoid';
|
|
2
|
+
export const getCustomNaNoId = () => {
|
|
3
|
+
const nanoid = customAlphabet('1234567890abcdefghijklmnopqrstuvwxyz', 10);
|
|
4
|
+
return nanoid();
|
|
5
|
+
};
|
|
6
|
+
export function prepareSignMessage({ chainId, address, statement }) {
|
|
7
|
+
return {
|
|
8
|
+
statement: statement || 'Welcome to EthSign',
|
|
9
|
+
chainId: chainId,
|
|
10
|
+
address: address,
|
|
11
|
+
issuedAt: new Date().toISOString(),
|
|
12
|
+
domain: window.location.host,
|
|
13
|
+
uri: window.location.origin,
|
|
14
|
+
version: '1',
|
|
15
|
+
nonce: getCustomNaNoId()
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export const get4361Message = ({ domain, version, nonce, issuedAt, statement, chainId, uri, address }) => {
|
|
19
|
+
const header = `${domain} wants you to sign in with your Ethereum account:`;
|
|
20
|
+
const uriField = `URI: ${uri}`;
|
|
21
|
+
let prefix = [header, address].join('\n');
|
|
22
|
+
const versionField = `Version: ${version}`;
|
|
23
|
+
// const addressField = `Address: ` + address;
|
|
24
|
+
const chainField = `Chain ID: ` + chainId || '1';
|
|
25
|
+
const nonceField = `Nonce: ${nonce}`;
|
|
26
|
+
const suffixArray = [uriField, versionField, chainField, nonceField];
|
|
27
|
+
suffixArray.push(`Issued At: ${issuedAt}`);
|
|
28
|
+
const suffix = suffixArray.join('\n');
|
|
29
|
+
prefix = [prefix, statement].join('\n\n');
|
|
30
|
+
if (statement) {
|
|
31
|
+
prefix += '\n';
|
|
32
|
+
}
|
|
33
|
+
return [prefix, suffix].join('\n');
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/airdrop/core/useWeb3ConnectWallet/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE;IAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,MAAM,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,EACjC,OAAO,EACP,OAAO,EACP,SAAS,EAKV;IACC,OAAO;QACL,SAAS,EAAE,SAAS,IAAI,oBAAoB;QAC5C,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;QAC5B,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAC3B,OAAO,EAAE,GAAG;QACZ,KAAK,EAAE,eAAe,EAAE;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,OAAO,EACP,GAAG,EACH,OAAO,EACQ,EAAU,EAAE;IAC3B,MAAM,MAAM,GAAG,GAAG,MAAM,mDAAmD,CAAC;IAC5E,MAAM,QAAQ,GAAG,QAAQ,GAAG,EAAE,CAAC;IAC/B,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,YAAY,OAAO,EAAE,CAAC;IAE3C,8CAA8C;IAE9C,MAAM,UAAU,GAAG,YAAY,GAAG,OAAO,IAAI,GAAG,CAAC;IAEjD,MAAM,UAAU,GAAG,UAAU,KAAK,EAAE,CAAC;IAErC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAErE,WAAW,CAAC,IAAI,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC"}
|
|
@@ -1,46 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
private tonClient?;
|
|
6
|
-
private slug?;
|
|
7
|
-
private projectId?;
|
|
8
|
-
private endpoint?;
|
|
9
|
-
private project;
|
|
10
|
-
protected claims?: IAirdropClaim[];
|
|
11
|
-
private projectPromise;
|
|
12
|
-
private claimHook;
|
|
13
|
-
private contractConfig;
|
|
14
|
-
constructor(params: IAirdropOptions);
|
|
15
|
-
setTonClient(tonClient: TonClient): void;
|
|
16
|
-
private getTonClient;
|
|
17
|
-
private fetchProjectFromSlug;
|
|
18
|
-
private fetchProjectDetails;
|
|
19
|
-
protected initializeProjects(address?: string): Promise<void>;
|
|
20
|
-
getProjectInfo(): Promise<IProject>;
|
|
21
|
-
getAirdropClaims(data: {
|
|
22
|
-
address: string;
|
|
23
|
-
}): Promise<IAirdropClaim[]>;
|
|
24
|
-
getStrategy(walletClient?: IWalletClient): Promise<IAirdropStrategy>;
|
|
25
|
-
private getClaimDataById;
|
|
26
|
-
setClaimHook(fn: (v: any) => any): void;
|
|
27
|
-
private getDefaultExtraData;
|
|
28
|
-
private calculateClaimFee;
|
|
29
|
-
claimAirdrop({ claimId, walletClient }: {
|
|
30
|
-
claimId: string;
|
|
31
|
-
walletClient: IWalletClient;
|
|
32
|
-
}, options?: {
|
|
33
|
-
onLoading?: () => void;
|
|
34
|
-
}): Promise<any>;
|
|
35
|
-
checkClaimed(claimId: string): Promise<boolean>;
|
|
36
|
-
private getContractConfig;
|
|
37
|
-
getVersion(): Promise<string>;
|
|
38
|
-
getPaused(): Promise<boolean>;
|
|
39
|
-
getClaimFee(amount?: bigint): Promise<string | bigint>;
|
|
40
|
-
batchCheckClaimed(): Promise<{
|
|
41
|
-
result: boolean;
|
|
42
|
-
status: string;
|
|
43
|
-
}[]>;
|
|
44
|
-
getNFT(): Promise<string>;
|
|
45
|
-
getKycThreshold(): Promise<bigint>;
|
|
46
|
-
}
|
|
1
|
+
export { AirdropClient } from './AirdropClient';
|
|
2
|
+
export { SignatureAirdropClient } from './SignatureAirdropClient';
|
|
3
|
+
export { CONST } from './constants';
|
|
4
|
+
export * from './core/useWeb3ConnectWallet';
|