@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,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WalletFactory = void 0;
|
|
4
|
+
const evm_1 = require("./providers/evm");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
const ton_1 = require("./providers/ton");
|
|
7
|
+
const solana_1 = require("./providers/solana");
|
|
8
|
+
class WalletFactory {
|
|
9
|
+
static instances = {};
|
|
10
|
+
static getWallet(type, userAddress) {
|
|
11
|
+
if (!this.instances[type]) {
|
|
12
|
+
let WalletClass;
|
|
13
|
+
switch (type) {
|
|
14
|
+
case types_1.ChainType.Evm:
|
|
15
|
+
WalletClass = evm_1.EvmWallet;
|
|
16
|
+
break;
|
|
17
|
+
case types_1.ChainType.Ton:
|
|
18
|
+
WalletClass = ton_1.TonWallet;
|
|
19
|
+
break;
|
|
20
|
+
// case ChainType.Starknet:
|
|
21
|
+
// WalletClass = StarknetWallet;
|
|
22
|
+
// break;
|
|
23
|
+
case types_1.ChainType.Solana:
|
|
24
|
+
WalletClass = solana_1.SolWallet;
|
|
25
|
+
break;
|
|
26
|
+
default:
|
|
27
|
+
throw new Error('Unsupported wallet type');
|
|
28
|
+
}
|
|
29
|
+
if (!WalletClass) {
|
|
30
|
+
throw new Error('Unsupported wallet type');
|
|
31
|
+
}
|
|
32
|
+
this.instances[type] = new WalletClass(type, userAddress);
|
|
33
|
+
}
|
|
34
|
+
return this.instances[type];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.WalletFactory = WalletFactory;
|
|
38
|
+
//# sourceMappingURL=WalletFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletFactory.js","sourceRoot":"","sources":["../../../../../src/airdrop/core/useWeb3ConnectWallet/WalletFactory.tsx"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,mCAAoC;AACpC,yCAA4C;AAC5C,+CAA+C;AAE/C,MAAsB,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,iBAAS,CAAC,GAAG;oBAChB,WAAW,GAAG,eAAS,CAAC;oBACxB,MAAM;gBACR,KAAK,iBAAS,CAAC,GAAG;oBAChB,WAAW,GAAG,eAAS,CAAC;oBACxB,MAAM;gBACR,2BAA2B;gBAC3B,kCAAkC;gBAClC,WAAW;gBACX,KAAK,iBAAS,CAAC,MAAM;oBACnB,WAAW,GAAG,kBAAS,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;;AA5BH,sCA6BC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.WalletFactory = void 0;
|
|
18
|
+
var WalletFactory_1 = require("./WalletFactory");
|
|
19
|
+
Object.defineProperty(exports, "WalletFactory", { enumerable: true, get: function () { return WalletFactory_1.WalletFactory; } });
|
|
20
|
+
__exportStar(require("./providers"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/airdrop/core/useWeb3ConnectWallet/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,8CAA4B"}
|
|
@@ -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,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EvmWallet = exports.getEventKey = exports.evmStore = exports.eventBus = void 0;
|
|
4
|
+
const WalletBase_1 = require("../../WalletBase");
|
|
5
|
+
const actions_1 = require("wagmi/actions");
|
|
6
|
+
const events_1 = require("events");
|
|
7
|
+
const utils_1 = require("../../utils");
|
|
8
|
+
exports.eventBus = new events_1.EventEmitter();
|
|
9
|
+
const EVM_EVENT_KEY = 'evm_signin';
|
|
10
|
+
exports.evmStore = {
|
|
11
|
+
account: null,
|
|
12
|
+
connectModal: undefined,
|
|
13
|
+
walletClient: undefined,
|
|
14
|
+
config: undefined,
|
|
15
|
+
counter: 0
|
|
16
|
+
};
|
|
17
|
+
const getEventKey = () => {
|
|
18
|
+
return `${EVM_EVENT_KEY}_${exports.evmStore.counter}`;
|
|
19
|
+
};
|
|
20
|
+
exports.getEventKey = getEventKey;
|
|
21
|
+
class EvmWallet extends WalletBase_1.WalletBase {
|
|
22
|
+
get isConnected() {
|
|
23
|
+
return !!(exports.evmStore.account?.address && exports.evmStore.account?.isConnected);
|
|
24
|
+
}
|
|
25
|
+
connect() {
|
|
26
|
+
exports.evmStore?.connectModal?.openConnectModal?.();
|
|
27
|
+
}
|
|
28
|
+
async disconnect() {
|
|
29
|
+
await (0, actions_1.disconnect)(exports.evmStore.config);
|
|
30
|
+
}
|
|
31
|
+
async sign(_message) {
|
|
32
|
+
const sign = await (0, actions_1.signMessage)(exports.evmStore.config, {
|
|
33
|
+
message: _message
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
message: _message,
|
|
37
|
+
signature: sign
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async signin(statement) {
|
|
41
|
+
return new Promise((resolve) => {
|
|
42
|
+
const signCallback = (data) => {
|
|
43
|
+
this.address = data.address;
|
|
44
|
+
this.chainId = data.chainId;
|
|
45
|
+
const msg = (0, utils_1.prepareSignMessage)({ statement, chainId: data.chainId, address: data.address });
|
|
46
|
+
const fullMessage = (0, utils_1.get4361Message)(msg);
|
|
47
|
+
const res = this.sign(fullMessage);
|
|
48
|
+
resolve(res);
|
|
49
|
+
};
|
|
50
|
+
const account = (0, actions_1.getAccount)(exports.evmStore.config);
|
|
51
|
+
this.provider = exports.evmStore.walletClient;
|
|
52
|
+
if (this.isConnected) {
|
|
53
|
+
signCallback(account);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
exports.evmStore.counter++;
|
|
57
|
+
this.connect();
|
|
58
|
+
const eventKey = (0, exports.getEventKey)();
|
|
59
|
+
exports.eventBus.once(eventKey, (data) => {
|
|
60
|
+
console.log('listen event key success, event key = %s, data = %j', eventKey, data);
|
|
61
|
+
signCallback(data);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
getStore() {
|
|
66
|
+
return exports.evmStore;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.EvmWallet = EvmWallet;
|
|
70
|
+
//# 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":";;;AAEA,iDAA8C;AAC9C,2CAAoE;AACpE,mCAAsC;AAEtC,uCAAiE;AAEpD,QAAA,QAAQ,GAAG,IAAI,qBAAY,EAAE,CAAC;AAE3C,MAAM,aAAa,GAAG,YAAY,CAAC;AAUtB,QAAA,QAAQ,GAAiB;IACpC,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,CAAC;CACX,CAAC;AAEK,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,OAAO,GAAG,aAAa,IAAI,gBAAQ,CAAC,OAAO,EAAE,CAAC;AAChD,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAEF,MAAa,SAAU,SAAQ,uBAAwB;IACrD,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,CAAC,gBAAQ,CAAC,OAAO,EAAE,OAAO,IAAI,gBAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,gBAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAA,oBAAU,EAAC,gBAAQ,CAAC,MAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB;QACzB,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAW,EAAC,gBAAQ,CAAC,MAAO,EAAE;YAC/C,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,SAAkB;QACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,YAAY,GAAG,CAAC,IAAmC,EAAE,EAAE;gBAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC5B,MAAM,GAAG,GAAG,IAAA,0BAAkB,EAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAQ,EAAE,CAAC,CAAC;gBAC9F,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAC;gBAExC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEnC,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,gBAAQ,CAAC,MAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,GAAG,gBAAQ,CAAC,YAAY,CAAC;YAEtC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,gBAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAA,mBAAW,GAAE,CAAC;YAC/B,gBAAQ,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;IAED,QAAQ;QACN,OAAO,gBAAQ,CAAC;IAClB,CAAC;CACF;AAzDD,8BAyDC"}
|
|
@@ -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,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EvmProvider = exports.EVMConnector = exports.EvmWallet = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
require("@rainbow-me/rainbowkit/styles.css");
|
|
6
|
+
const rainbowkit_1 = require("@rainbow-me/rainbowkit");
|
|
7
|
+
const wagmi_1 = require("wagmi");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const EvmWallet_1 = require("./EvmWallet");
|
|
10
|
+
var EvmWallet_2 = require("./EvmWallet");
|
|
11
|
+
Object.defineProperty(exports, "EvmWallet", { enumerable: true, get: function () { return EvmWallet_2.EvmWallet; } });
|
|
12
|
+
const EVMConnector = () => {
|
|
13
|
+
const connectModal = (0, rainbowkit_1.useConnectModal)();
|
|
14
|
+
const walletClient = (0, wagmi_1.useWalletClient)();
|
|
15
|
+
const account = (0, wagmi_1.useAccount)();
|
|
16
|
+
EvmWallet_1.evmStore.connectModal = connectModal;
|
|
17
|
+
EvmWallet_1.evmStore.walletClient = walletClient;
|
|
18
|
+
EvmWallet_1.evmStore.account = account;
|
|
19
|
+
(0, react_1.useEffect)(() => {
|
|
20
|
+
if (account.isConnected) {
|
|
21
|
+
const eventKey = (0, EvmWallet_1.getEventKey)();
|
|
22
|
+
EvmWallet_1.eventBus.emit(eventKey, account);
|
|
23
|
+
}
|
|
24
|
+
}, [account]);
|
|
25
|
+
return null;
|
|
26
|
+
};
|
|
27
|
+
exports.EVMConnector = EVMConnector;
|
|
28
|
+
const EvmProvider = ({ children, config }) => {
|
|
29
|
+
EvmWallet_1.evmStore.config = config;
|
|
30
|
+
return ((0, jsx_runtime_1.jsx)(wagmi_1.WagmiProvider, { config: config, children: (0, jsx_runtime_1.jsxs)(rainbowkit_1.RainbowKitProvider, { theme: (0, rainbowkit_1.lightTheme)({
|
|
31
|
+
accentColor: '#DD8D58'
|
|
32
|
+
}), children: [children, (0, jsx_runtime_1.jsx)(exports.EVMConnector, {})] }) }));
|
|
33
|
+
};
|
|
34
|
+
exports.EvmProvider = EvmProvider;
|
|
35
|
+
//# 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,6CAA2C;AAC3C,uDAAyF;AACzF,iCAAqF;AACrF,iCAA6C;AAE7C,2CAA8D;AAE9D,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAEX,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,YAAY,GAAG,IAAA,4BAAe,GAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAA,uBAAe,GAAE,CAAC;IACvC,MAAM,OAAO,GAAG,IAAA,kBAAU,GAAE,CAAC;IAE7B,oBAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,oBAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,oBAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAE3B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAA,uBAAW,GAAE,CAAC;YAC/B,oBAAQ,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;AAjBW,QAAA,YAAY,gBAiBvB;AAEK,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAA+D,EAAE,EAAE;IAC/G,oBAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,OAAO,CACL,uBAAC,qBAAa,IAAC,MAAM,EAAE,MAAM,YAC3B,wBAAC,+BAAkB,IACjB,KAAK,EAAE,IAAA,uBAAU,EAAC;gBAChB,WAAW,EAAE,SAAS;aACvB,CAAC,aAED,QAAQ,EACT,uBAAC,oBAAY,KAAG,IACG,GACP,CACjB,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,WAAW,eActB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TonProvider = exports.TonWallet = exports.SolanaProvider = exports.SolWallet = exports.EvmProvider = exports.EvmWallet = void 0;
|
|
4
|
+
var evm_1 = require("./evm");
|
|
5
|
+
Object.defineProperty(exports, "EvmWallet", { enumerable: true, get: function () { return evm_1.EvmWallet; } });
|
|
6
|
+
Object.defineProperty(exports, "EvmProvider", { enumerable: true, get: function () { return evm_1.EvmProvider; } });
|
|
7
|
+
var solana_1 = require("./solana");
|
|
8
|
+
Object.defineProperty(exports, "SolWallet", { enumerable: true, get: function () { return solana_1.SolWallet; } });
|
|
9
|
+
Object.defineProperty(exports, "SolanaProvider", { enumerable: true, get: function () { return solana_1.SolanaProvider; } });
|
|
10
|
+
// export { StarknetWallet } from './starknet';
|
|
11
|
+
var ton_1 = require("./ton");
|
|
12
|
+
Object.defineProperty(exports, "TonWallet", { enumerable: true, get: function () { return ton_1.TonWallet; } });
|
|
13
|
+
Object.defineProperty(exports, "TonProvider", { enumerable: true, get: function () { return ton_1.TonProvider; } });
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/airdrop/core/useWeb3ConnectWallet/providers/index.ts"],"names":[],"mappings":";;;AAAA,6BAA+C;AAAtC,gGAAA,SAAS,OAAA;AAAE,kGAAA,WAAW,OAAA;AAC/B,mCAAqD;AAA5C,mGAAA,SAAS,OAAA;AAAE,wGAAA,cAAc,OAAA;AAClC,+CAA+C;AAC/C,6BAA+C;AAAtC,gGAAA,SAAS,OAAA;AAAE,kGAAA,WAAW,OAAA"}
|
|
@@ -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,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SolanaProvider = exports.SolConnector = exports.SolWallet = exports.getEventKey = exports.eventBus = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const WalletBase_1 = require("../../WalletBase");
|
|
10
|
+
const wallet_adapter_react_ui_1 = require("@solana/wallet-adapter-react-ui");
|
|
11
|
+
require("@solana/wallet-adapter-react-ui/styles.css");
|
|
12
|
+
const wallet_adapter_react_1 = require("@solana/wallet-adapter-react");
|
|
13
|
+
const wallet_adapter_wallets_1 = require("@solana/wallet-adapter-wallets");
|
|
14
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
15
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
16
|
+
const utils_1 = require("../../utils");
|
|
17
|
+
const events_1 = __importDefault(require("events"));
|
|
18
|
+
const solStore = {
|
|
19
|
+
connectModal: null,
|
|
20
|
+
account: null,
|
|
21
|
+
counter: 0
|
|
22
|
+
};
|
|
23
|
+
exports.eventBus = new events_1.default();
|
|
24
|
+
const SOL_EVENT_KEY = 'sol_signin';
|
|
25
|
+
const getEventKey = () => {
|
|
26
|
+
return `${SOL_EVENT_KEY}_${solStore.counter}`;
|
|
27
|
+
};
|
|
28
|
+
exports.getEventKey = getEventKey;
|
|
29
|
+
class SolWallet extends WalletBase_1.WalletBase {
|
|
30
|
+
getStore() {
|
|
31
|
+
return solStore;
|
|
32
|
+
}
|
|
33
|
+
get isConnected() {
|
|
34
|
+
return !!solStore.account?.connected;
|
|
35
|
+
}
|
|
36
|
+
connect() {
|
|
37
|
+
solStore.connectModal?.setVisible(true);
|
|
38
|
+
}
|
|
39
|
+
disconnect() {
|
|
40
|
+
solStore.account?.disconnect();
|
|
41
|
+
}
|
|
42
|
+
async sign(message) {
|
|
43
|
+
try {
|
|
44
|
+
const provider = solStore.account;
|
|
45
|
+
const encodedMessage = new TextEncoder().encode(message);
|
|
46
|
+
const signedMessage = await provider.signMessage?.(encodedMessage);
|
|
47
|
+
console.log(signedMessage, 'signedMessage');
|
|
48
|
+
return {
|
|
49
|
+
message,
|
|
50
|
+
signature: bs58_1.default.encode(signedMessage)
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.error(error);
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
signin(statement) {
|
|
59
|
+
return new Promise((resolve) => {
|
|
60
|
+
const signCallback = (data) => {
|
|
61
|
+
this.publicKey = data.publicKey?.toString();
|
|
62
|
+
this.address = this.publicKey;
|
|
63
|
+
this.chainId = 1;
|
|
64
|
+
const msg = (0, utils_1.prepareSignMessage)({ statement, chainId: '1', address: this.address });
|
|
65
|
+
const fullMessage = (0, utils_1.get4361Message)(msg);
|
|
66
|
+
const res = this.sign(fullMessage);
|
|
67
|
+
resolve(res);
|
|
68
|
+
};
|
|
69
|
+
// const account = getAccount(evmStore.config!);
|
|
70
|
+
// this.provider = evmStore.walletClient;
|
|
71
|
+
if (this.isConnected) {
|
|
72
|
+
console.log(solStore);
|
|
73
|
+
signCallback(solStore.account);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
solStore.counter++;
|
|
77
|
+
this.connect();
|
|
78
|
+
const eventKey = (0, exports.getEventKey)();
|
|
79
|
+
console.log(eventKey);
|
|
80
|
+
exports.eventBus.once(eventKey, (data) => {
|
|
81
|
+
console.log('listen event key success, event key = %s, data = %j', eventKey, data);
|
|
82
|
+
signCallback(data);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.SolWallet = SolWallet;
|
|
88
|
+
const SolConnector = () => {
|
|
89
|
+
const walletModal = (0, wallet_adapter_react_ui_1.useWalletModal)();
|
|
90
|
+
const wallet = (0, wallet_adapter_react_1.useWallet)();
|
|
91
|
+
(0, react_1.useEffect)(() => {
|
|
92
|
+
console.log(wallet, 'wallet');
|
|
93
|
+
if (wallet.wallet) {
|
|
94
|
+
if (wallet.connected) {
|
|
95
|
+
const eventKey = (0, exports.getEventKey)();
|
|
96
|
+
exports.eventBus.emit(eventKey, wallet);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
wallet.connect().catch((error) => {
|
|
100
|
+
console.error(error);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}, [wallet]);
|
|
105
|
+
solStore.connectModal = walletModal;
|
|
106
|
+
solStore.account = wallet;
|
|
107
|
+
return null;
|
|
108
|
+
};
|
|
109
|
+
exports.SolConnector = SolConnector;
|
|
110
|
+
const SolanaProvider = ({ children }) => {
|
|
111
|
+
const endpoint = (0, web3_js_1.clusterApiUrl)('mainnet-beta');
|
|
112
|
+
const wallets = (0, react_1.useMemo)(() => [new wallet_adapter_wallets_1.PhantomWalletAdapter()], []);
|
|
113
|
+
const onError = (0, react_1.useCallback)((error) => {
|
|
114
|
+
console.error(error);
|
|
115
|
+
}, []);
|
|
116
|
+
return ((0, jsx_runtime_1.jsx)(wallet_adapter_react_1.ConnectionProvider, { endpoint: endpoint, children: (0, jsx_runtime_1.jsx)(wallet_adapter_react_1.WalletProvider, { wallets: wallets, onError: onError, children: (0, jsx_runtime_1.jsxs)(wallet_adapter_react_ui_1.WalletModalProvider, { children: [(0, jsx_runtime_1.jsx)(exports.SolConnector, {}), children] }) }) }));
|
|
117
|
+
};
|
|
118
|
+
exports.SolanaProvider = SolanaProvider;
|
|
119
|
+
//# 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":"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"}
|
|
@@ -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,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TonWallet = exports.getEventKey = exports.eventBus = exports.tonStore = void 0;
|
|
4
|
+
const WalletBase_1 = require("../../WalletBase");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
const utils_web_1 = require("@ethsign/utils-web");
|
|
7
|
+
const ui_1 = require("@tonconnect/ui");
|
|
8
|
+
const events_1 = require("events");
|
|
9
|
+
const ton_core_1 = require("ton-core");
|
|
10
|
+
exports.tonStore = {
|
|
11
|
+
account: null,
|
|
12
|
+
connectModal: undefined,
|
|
13
|
+
walletClient: undefined,
|
|
14
|
+
config: undefined,
|
|
15
|
+
counter: 0
|
|
16
|
+
};
|
|
17
|
+
exports.eventBus = new events_1.EventEmitter();
|
|
18
|
+
const getEventKey = () => {
|
|
19
|
+
return `ton_sign_${exports.tonStore.counter}`;
|
|
20
|
+
};
|
|
21
|
+
exports.getEventKey = getEventKey;
|
|
22
|
+
class TonWallet extends WalletBase_1.WalletBase {
|
|
23
|
+
get isConnected() {
|
|
24
|
+
return !!exports.tonStore.account?.account;
|
|
25
|
+
}
|
|
26
|
+
connect() {
|
|
27
|
+
exports.tonStore?.connectModal?.open?.();
|
|
28
|
+
}
|
|
29
|
+
async disconnect() {
|
|
30
|
+
await exports.tonStore.walletClient?.disconnect();
|
|
31
|
+
}
|
|
32
|
+
getPublicKey(stateInit) {
|
|
33
|
+
const state_init = ton_core_1.Cell.fromBase64(stateInit);
|
|
34
|
+
const bits = state_init.refs[1].bits;
|
|
35
|
+
const pubKey = bits.toString().substring(16, 80).toLowerCase();
|
|
36
|
+
return pubKey;
|
|
37
|
+
}
|
|
38
|
+
async sign(originMsg) {
|
|
39
|
+
const message = await (0, utils_web_1.hashSha256)(originMsg);
|
|
40
|
+
const tonConnectUI = exports.tonStore.walletClient;
|
|
41
|
+
// const walletInfo = tonConnectUI?.wallet;
|
|
42
|
+
const authType = '';
|
|
43
|
+
// if (walletInfo?.jsBridgeKey && walletInfo?.openMethod !== 'qrcode') {
|
|
44
|
+
// authType = walletInfo.jsBridgeKey;
|
|
45
|
+
// }
|
|
46
|
+
console.log(this.isConnected, tonConnectUI, 'connected');
|
|
47
|
+
if (this.isConnected) {
|
|
48
|
+
await tonConnectUI.disconnect();
|
|
49
|
+
}
|
|
50
|
+
exports.tonStore.counter++;
|
|
51
|
+
if (authType) {
|
|
52
|
+
const wallets = await tonConnectUI.getWallets();
|
|
53
|
+
const currentWallet = wallets.find((wallet) => [wallet.name, wallet.appName].includes(authType));
|
|
54
|
+
console.log(wallets, currentWallet, 'ww');
|
|
55
|
+
const link = tonConnectUI.connector.connect({
|
|
56
|
+
bridgeUrl: currentWallet.bridgeUrl,
|
|
57
|
+
universalLink: currentWallet.universalLink
|
|
58
|
+
}, {
|
|
59
|
+
tonProof: message
|
|
60
|
+
});
|
|
61
|
+
// tonspace在tg内部打开
|
|
62
|
+
window.open(link);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.log('first time, call setConnectRequestParameters');
|
|
66
|
+
tonConnectUI.setConnectRequestParameters({
|
|
67
|
+
state: 'ready',
|
|
68
|
+
value: {
|
|
69
|
+
tonProof: message // 不能有空格,特殊字符
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
this.connect();
|
|
73
|
+
}
|
|
74
|
+
const connectedWallet = await new Promise((resolve) => {
|
|
75
|
+
const eventKey = (0, exports.getEventKey)();
|
|
76
|
+
console.log('start listen event key, key = %s', eventKey);
|
|
77
|
+
exports.eventBus.once(eventKey, (data) => {
|
|
78
|
+
console.log('listen event key success, event key = %s, data = %j', eventKey, data);
|
|
79
|
+
resolve(data);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
this.provider = exports.tonStore.walletClient;
|
|
83
|
+
const proof = connectedWallet.connectItems?.tonProof?.proof;
|
|
84
|
+
this.publicKey = connectedWallet.account.publicKey || this.getPublicKey(connectedWallet.account.walletStateInit); //使用walletStateInit,publicKey由后端计算
|
|
85
|
+
this.address = (0, ui_1.toUserFriendlyAddress)(connectedWallet.account.address);
|
|
86
|
+
this.chainId = connectedWallet.account.chain;
|
|
87
|
+
this.network = this.chainId === ui_1.CHAIN.MAINNET ? 'TON_MAINNET' : 'TON_TESTNET';
|
|
88
|
+
const fullMessage = JSON.stringify({
|
|
89
|
+
timestamp: proof.timestamp,
|
|
90
|
+
payload: proof.payload,
|
|
91
|
+
domain: proof.domain
|
|
92
|
+
});
|
|
93
|
+
const signature = proof.signature;
|
|
94
|
+
return {
|
|
95
|
+
message: JSON.stringify({
|
|
96
|
+
fullMessage,
|
|
97
|
+
message: originMsg
|
|
98
|
+
}),
|
|
99
|
+
signature,
|
|
100
|
+
tonProof: message
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
async signin(statement) {
|
|
104
|
+
const fullMessage = {
|
|
105
|
+
statement: statement || 'Welcome to EthSign',
|
|
106
|
+
issuedAt: new Date().toISOString(),
|
|
107
|
+
nonce: (0, utils_1.getCustomNaNoId)()
|
|
108
|
+
};
|
|
109
|
+
const signRes = await this.sign(JSON.stringify(fullMessage, null, ' '));
|
|
110
|
+
return signRes;
|
|
111
|
+
}
|
|
112
|
+
getStore() {
|
|
113
|
+
return exports.tonStore;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.TonWallet = TonWallet;
|
|
117
|
+
//# 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,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TonProvider = exports.TonConnector = exports.TonWallet = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const ui_react_1 = require("@tonconnect/ui-react");
|
|
7
|
+
const TonWallet_1 = require("./TonWallet");
|
|
8
|
+
Object.defineProperty(exports, "TonWallet", { enumerable: true, get: function () { return TonWallet_1.TonWallet; } });
|
|
9
|
+
const TonConnector = () => {
|
|
10
|
+
const wallet = (0, ui_react_1.useTonWallet)();
|
|
11
|
+
const [tonConnectUI] = (0, ui_react_1.useTonConnectUI)();
|
|
12
|
+
const connectModal = (0, ui_react_1.useTonConnectModal)();
|
|
13
|
+
TonWallet_1.tonStore.connectModal = connectModal;
|
|
14
|
+
TonWallet_1.tonStore.walletClient = tonConnectUI;
|
|
15
|
+
TonWallet_1.tonStore.account = wallet;
|
|
16
|
+
(0, react_1.useEffect)(() => {
|
|
17
|
+
if (wallet) {
|
|
18
|
+
TonWallet_1.eventBus.emit((0, TonWallet_1.getEventKey)(), wallet);
|
|
19
|
+
}
|
|
20
|
+
}, [wallet]);
|
|
21
|
+
return null;
|
|
22
|
+
};
|
|
23
|
+
exports.TonConnector = TonConnector;
|
|
24
|
+
const TonProvider = ({ children, config }) => {
|
|
25
|
+
TonWallet_1.tonStore.config = config;
|
|
26
|
+
return ((0, jsx_runtime_1.jsxs)(ui_react_1.TonConnectUIProvider, { ...config, children: [children, (0, jsx_runtime_1.jsx)(exports.TonConnector, {})] }));
|
|
27
|
+
};
|
|
28
|
+
exports.TonProvider = TonProvider;
|
|
29
|
+
//# 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,iCAA6C;AAC7C,mDAM8B;AAE9B,2CAAyE;AAEhE,0FAFiC,qBAAS,OAEjC;AAEX,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,MAAM,GAAG,IAAA,uBAAY,GAAE,CAAC;IAC9B,MAAM,CAAC,YAAY,CAAC,GAAG,IAAA,0BAAe,GAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAA,6BAAkB,GAAE,CAAC;IAE1C,oBAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,oBAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,oBAAQ,CAAC,OAAO,GAAG,MAAM,CAAC;IAE1B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE,CAAC;YACX,oBAAQ,CAAC,IAAI,CAAC,IAAA,uBAAW,GAAE,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAhBW,QAAA,YAAY,gBAgBvB;AAEK,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAA8D,EAAE,EAAE;IAC9G,oBAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAEzB,OAAO,CACL,wBAAC,+BAAoB,OAAK,MAAM,aAC7B,QAAQ,EACT,uBAAC,oBAAY,KAAG,IACK,CACxB,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,WAAW,eAStB"}
|
|
@@ -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
|
+
}
|