@sign-global/tokentable 0.3.0 → 0.4.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/beta.yml +28 -0
- package/dist/cjs/airdrop/AirdropClient.d.ts +46 -0
- package/dist/cjs/airdrop/AirdropClient.js +251 -0
- package/dist/cjs/airdrop/AirdropClient.js.map +1 -0
- package/dist/cjs/airdrop/SignatureAirdropClient.d.ts +24 -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/evm/contracts/AirdropSignatureClient.d.ts +15 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropSignatureClient.js +51 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropSignatureClient.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/abis/FungibleTokenECDSADistributor.json +564 -0
- 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 +19 -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 +247 -0
- package/dist/esm/airdrop/AirdropClient.js.map +1 -0
- package/dist/esm/airdrop/SignatureAirdropClient.d.ts +24 -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/evm/contracts/AirdropSignatureClient.d.ts +15 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropSignatureClient.js +44 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropSignatureClient.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/abis/FungibleTokenECDSADistributor.json +564 -0
- 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 +19 -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 +307 -0
- package/src/airdrop/SignatureAirdropClient.ts +120 -0
- package/src/airdrop/constants/index.ts +5 -0
- package/src/airdrop/core/evm/contracts/AirdropSignatureClient.ts +59 -0
- package/src/airdrop/core/evm/contracts/abis/FungibleTokenECDSADistributor.json +564 -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 +23 -5
- package/src/index.ts +9 -1
- package/src/utils/utils.ts +2 -0
- package/tsconfig.json +2 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { EvmWallet } from './providers/evm';
|
|
2
|
+
import { ChainType } from './types';
|
|
3
|
+
import { TonWallet } from './providers/ton';
|
|
4
|
+
import { SolWallet } from './providers/solana';
|
|
5
|
+
export class WalletFactory {
|
|
6
|
+
static instances = {};
|
|
7
|
+
static getWallet(type, userAddress) {
|
|
8
|
+
if (!this.instances[type]) {
|
|
9
|
+
let WalletClass;
|
|
10
|
+
switch (type) {
|
|
11
|
+
case ChainType.Evm:
|
|
12
|
+
WalletClass = EvmWallet;
|
|
13
|
+
break;
|
|
14
|
+
case ChainType.Ton:
|
|
15
|
+
WalletClass = TonWallet;
|
|
16
|
+
break;
|
|
17
|
+
// case ChainType.Starknet:
|
|
18
|
+
// WalletClass = StarknetWallet;
|
|
19
|
+
// break;
|
|
20
|
+
case ChainType.Solana:
|
|
21
|
+
WalletClass = SolWallet;
|
|
22
|
+
break;
|
|
23
|
+
default:
|
|
24
|
+
throw new Error('Unsupported wallet type');
|
|
25
|
+
}
|
|
26
|
+
if (!WalletClass) {
|
|
27
|
+
throw new Error('Unsupported wallet type');
|
|
28
|
+
}
|
|
29
|
+
this.instances[type] = new WalletClass(type, userAddress);
|
|
30
|
+
}
|
|
31
|
+
return this.instances[type];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=WalletFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletFactory.js","sourceRoot":"","sources":["../../../../../src/airdrop/core/useWeb3ConnectWallet/WalletFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,OAAgB,aAAa;IACzB,MAAM,CAAC,SAAS,GAAsD,EAAE,CAAC;IACjF,MAAM,CAAC,SAAS,CAAC,IAAe,EAAE,WAAoB;QACpD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,WAAW,CAAC;YAChB,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,SAAS,CAAC,GAAG;oBAChB,WAAW,GAAG,SAAS,CAAC;oBACxB,MAAM;gBACR,KAAK,SAAS,CAAC,GAAG;oBAChB,WAAW,GAAG,SAAS,CAAC;oBACxB,MAAM;gBACR,2BAA2B;gBAC3B,kCAAkC;gBAClC,WAAW;gBACX,KAAK,SAAS,CAAC,MAAM;oBACnB,WAAW,GAAG,SAAS,CAAC;oBACxB,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/airdrop/core/useWeb3ConnectWallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useConnectModal } from '@rainbow-me/rainbowkit';
|
|
2
|
+
import { ResolvedRegister, useAccount, useWalletClient } from 'wagmi';
|
|
3
|
+
import { WalletBase } from '../../WalletBase';
|
|
4
|
+
import { EventEmitter } from 'events';
|
|
5
|
+
import { ISignResult } from '../../types';
|
|
6
|
+
export declare const eventBus: EventEmitter<[never]>;
|
|
7
|
+
export interface EVMStoreType {
|
|
8
|
+
account: ReturnType<typeof useAccount> | null;
|
|
9
|
+
connectModal: ReturnType<typeof useConnectModal> | undefined;
|
|
10
|
+
walletClient: ReturnType<typeof useWalletClient> | undefined;
|
|
11
|
+
config: ResolvedRegister['config'] | undefined;
|
|
12
|
+
counter: number;
|
|
13
|
+
}
|
|
14
|
+
export declare const evmStore: EVMStoreType;
|
|
15
|
+
export declare const getEventKey: () => string;
|
|
16
|
+
export declare class EvmWallet extends WalletBase<EVMStoreType> {
|
|
17
|
+
get isConnected(): boolean;
|
|
18
|
+
connect(): void;
|
|
19
|
+
disconnect(): Promise<void>;
|
|
20
|
+
sign(_message: string): Promise<{
|
|
21
|
+
message: string;
|
|
22
|
+
signature: `0x${string}`;
|
|
23
|
+
}>;
|
|
24
|
+
signin(statement?: string): Promise<ISignResult>;
|
|
25
|
+
getStore(): EVMStoreType;
|
|
26
|
+
}
|
|
@@ -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":"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"}
|
|
@@ -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;
|