Skip to content

Commit 0cebaec

Browse files
authored
Merge pull request #172 from AElfProject/feature/ecoEarn-support
feat: add slot and logic for forgetting pin code
2 parents 59b99f5 + 2ed50f8 commit 0cebaec

File tree

16 files changed

+231
-190
lines changed

16 files changed

+231
-190
lines changed

README.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,21 @@
2727
# Install
2828

2929
```sh
30-
yarn add @aelf-web-login/wallet-adapter-night-elf @aelf-web-login/wallet-adapter-portkey-aa @aelf-web-login/wallet-adapter-portkey-discover @aelf-web-login/wallet-adapter-react @aelf-web-login/wallet-adapter-base @aelf-web-login/wallet-adapter-bridge @aelf-web-login/utils
30+
yarn add @aelf-web-login/wallet-adapter-night-elf @aelf-web-login/wallet-adapter-portkey-aa @aelf-web-login/wallet-adapter-portkey-discover @aelf-web-login/wallet-adapter-react @aelf-web-login/wallet-adapter-base @aelf-web-login/wallet-adapter-bridge @aelf-web-login/utils @portkey/did-ui-react
3131
```
3232

3333
Then the `package.json` will be like this
3434

3535
```json
3636
"dependencies": {
37-
"@aelf-web-login/wallet-adapter-night-elf": "^0.1.0",
38-
"@aelf-web-login/wallet-adapter-portkey-aa": "^0.1.0",
39-
"@aelf-web-login/wallet-adapter-portkey-discover": "^0.1.0",
40-
"@aelf-web-login/wallet-adapter-react": "^0.1.0",
41-
"@aelf-web-login/wallet-adapter-base": "^0.1.0",
42-
"@aelf-web-login/wallet-adapter-bridge": "^0.1.0",
43-
"@aelf-web-login/utils": "^0.1.0",
37+
"@aelf-web-login/wallet-adapter-night-elf": "^0.1.7",
38+
"@aelf-web-login/wallet-adapter-portkey-aa": "^0.1.7",
39+
"@aelf-web-login/wallet-adapter-portkey-discover": "^0.1.7",
40+
"@aelf-web-login/wallet-adapter-react": "^0.1.7",
41+
"@aelf-web-login/wallet-adapter-base": "^0.1.7",
42+
"@aelf-web-login/wallet-adapter-bridge": "^0.1.7",
43+
"@aelf-web-login/utils": "^0.1.7",
44+
"@portkey/did-ui-react": "^2.13.2",
4445
}
4546
```
4647

@@ -67,7 +68,7 @@ const RPC_SERVER_AELF = 'https://aelf-test-node.aelf.io';
6768
const RPC_SERVER_TDVV = 'https://tdvv-public-node.aelf.io';
6869
const RPC_SERVER_TDVW = 'https://tdvw-test-node.aelf.io';
6970
const GRAPHQL_SERVER =
70-
'https://dapp-aa-portkey-test.portkey.finance/Portkey_DID/PortKeyIndexerCASchema/graphql';
71+
'https://dapp-aa-portkey-test.portkey.finance/aefinder-v2/api/app/graphql/portkey';
7172
const CONNECT_SERVER = 'https://auth-aa-portkey-test.portkey.finance';
7273
const SERVICE_SERVER = 'https://aa-portkey-test.portkey.finance';
7374
const TELEGRAM_BOT_ID = 'xx';
@@ -103,7 +104,7 @@ const baseConfig = {
103104
// },
104105
// omitTelegramScript: false,
105106
// cancelAutoLoginInTelegram: false,
106-
enableAcceleration: true,
107+
enableAcceleration: false,
107108
networkType: NETWORK_TYPE,
108109
showVconsole: false,
109110
chainId: CHAIN_ID,

packages/base/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@aelf-web-login/wallet-adapter-base",
3-
"version": "0.1.17",
3+
"version": "0.1.18",
44
"type": "module",
55
"main": "dist/esm/index.js",
66
"module": "dist/esm/index.js",
@@ -33,8 +33,8 @@
3333
"@babel/core": "^7.24.7",
3434
"@babel/preset-env": "^7.24.7",
3535
"@babel/preset-typescript": "^7.24.7",
36-
"@portkey/did-ui-react": "^2.11.0",
37-
"@portkey/types": "^2.11.0",
36+
"@portkey/did-ui-react": "^2.13.2",
37+
"@portkey/types": "^2.13.2",
3838
"@types/jest": "^29.5.12",
3939
"babel-jest": "^29.7.0",
4040
"jest": "^29.7.0",
@@ -44,7 +44,7 @@
4444
"typescript": "^5.3.3"
4545
},
4646
"peerDependencies": {
47-
"@portkey/did-ui-react": "^2.11.0"
47+
"@portkey/did-ui-react": "^2.13.2"
4848
},
4949
"publishConfig": {
5050
"registry": "https://registry.npmjs.org",

packages/base/src/adapter.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export interface IWalletAdapter<Name extends string = string> {
3232
noNeedForConfirm?: boolean;
3333

3434
login(arg?: DIDWalletInfo): Promise<TWalletInfo>;
35-
logout(): Promise<void>;
35+
logout(isForgetPin?: boolean): Promise<void>;
3636
loginEagerly(type?: string): Promise<void>;
3737
// getAccounts(chainId: TChainId): Promise<string>;
3838
// callContract<T, R>(params: ICallContractParams<T>): Promise<R>;
@@ -67,7 +67,7 @@ export abstract class BaseWalletAdapter<Name extends string = string>
6767
abstract wallet: TWalletInfo;
6868

6969
abstract login(arg?: DIDWalletInfo): Promise<TWalletInfo>;
70-
abstract logout(): Promise<void>;
70+
abstract logout(isForgetPin?: boolean): Promise<void>;
7171
abstract loginEagerly(type?: string): Promise<void>;
7272
// abstract getAccounts(chainId: TChainId): Promise<string>;
7373
// abstract callContract<T, R>(params: ICallContractParams<T>): Promise<R>;

packages/bridge/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@aelf-web-login/wallet-adapter-bridge",
3-
"version": "0.1.17",
3+
"version": "0.1.18",
44
"type": "module",
55
"main": "dist/esm/index.js",
66
"module": "dist/esm/index.js",
@@ -29,21 +29,21 @@
2929
},
3030
"dependencies": {
3131
"@aelf-web-login/wallet-adapter-base": "workspace:*",
32-
"@portkey/services": "^2.11.0",
32+
"@portkey/services": "^2.13.2",
3333
"@reduxjs/toolkit": "^2.2.3",
3434
"react": "^18.0.0",
3535
"react-dom": "^18.0.0"
3636
},
3737
"devDependencies": {
38-
"@portkey/did-ui-react": "^2.11.0",
38+
"@portkey/did-ui-react": "^2.13.2",
3939
"@types/react": "^18.3.1",
4040
"@types/react-dom": "^18.3.0",
4141
"antd": "4.24.14",
4242
"father": "^4.3.8",
4343
"typescript": "^5.3.3"
4444
},
4545
"peerDependencies": {
46-
"@portkey/did-ui-react": "^2.11.0"
46+
"@portkey/did-ui-react": "^2.13.2"
4747
},
4848
"publishConfig": {
4949
"registry": "https://registry.npmjs.org",

packages/bridge/src/bridge.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,19 +99,19 @@ class Bridge {
9999
});
100100
};
101101

102-
doubleCheckDisconnect = async () => {
102+
doubleCheckDisconnect = async (isForgetPin?: boolean) => {
103103
if (isDisconnectClicked) {
104104
return;
105105
}
106106
isDisconnectClicked = true;
107-
await this.activeWallet?.logout();
107+
await this.activeWallet?.logout(isForgetPin);
108108
this.closeConfirmLogoutPanel();
109109
this.closeLockPanel();
110110
isDisconnectClicked = false;
111111
this._logoutResolve(true);
112112
};
113113

114-
disConnect = async (): Promise<boolean> => {
114+
disConnect = async (isForgetPin?: boolean): Promise<boolean> => {
115115
return new Promise((resolve, reject) => {
116116
this._logoutResolve = resolve;
117117
this._logoutReject = reject;
@@ -121,7 +121,7 @@ class Bridge {
121121
try {
122122
if (this.isAAWallet) {
123123
if (this.activeWallet!.noNeedForConfirm) {
124-
await this.doubleCheckDisconnect();
124+
await this.doubleCheckDisconnect(isForgetPin);
125125
} else {
126126
this.openConfirmLogoutPanel();
127127
}
@@ -228,6 +228,7 @@ class Bridge {
228228
dispatch(clearWalletInfo());
229229
dispatch(clearWalletType());
230230
dispatch(clearLoginError());
231+
dispatch(setLocking(false));
231232
};
232233

233234
onLockHandler = () => {

packages/bridge/src/ui.css

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,3 +152,17 @@
152152
justify-content: space-between;
153153
align-items: center;
154154
}
155+
.unlock-footer-text{
156+
color: #55585E;
157+
font-size: 14px;
158+
font-weight: 400;
159+
text-align: center;
160+
line-height: 20px;
161+
margin-left: 14px;
162+
margin-right: 14px;
163+
.unlock-footer-text-href{
164+
color: #5D42FF;
165+
padding: 0 4px;
166+
cursor: pointer;
167+
}
168+
}

packages/bridge/src/ui.tsx

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ const SignInModal: React.FC<ISignInModalProps> = (props: ISignInModalProps) => {
270270
await bridgeInstance.doubleCheckDisconnect();
271271
TelegramPlatform.close();
272272
};
273-
TelegramPlatform.initializeTelegramWebApp({ handleLogout });
273+
TelegramPlatform.initializeTelegramWebApp({ tgUserChanged: handleLogout });
274274
};
275275

276276
console.log('begin to init and execute handleTelegram', TelegramPlatform.isTelegramPlatform());
@@ -464,6 +464,26 @@ const SignInModal: React.FC<ISignInModalProps> = (props: ISignInModalProps) => {
464464
isShowNestedModal,
465465
]);
466466

467+
const onForgetPinHandler = useCallback(async () => {
468+
// await bridgeInstance.onPortkeyAAUnLock(defaultPin);
469+
await bridgeInstance.disConnect(true);
470+
if (TelegramPlatform.isTelegramPlatform()) {
471+
TelegramPlatform.close();
472+
}
473+
}, [bridgeInstance]);
474+
475+
const forgetPinElement = useMemo(() => {
476+
return (
477+
<div className="unlock-footer-text">
478+
Forgot your PIN? Click
479+
<span className="unlock-footer-text-href" onClick={onForgetPinHandler}>
480+
here
481+
</span>
482+
to log back in.
483+
</div>
484+
);
485+
}, [onForgetPinHandler]);
486+
467487
return (
468488
// <PortkeyProvider networkType={baseConfig.networkType} theme="dark">
469489
<div>
@@ -477,6 +497,7 @@ const SignInModal: React.FC<ISignInModalProps> = (props: ISignInModalProps) => {
477497
onChange={setPassword}
478498
onCancel={onCloseWrapperInternal}
479499
onUnlock={onUnlockInternal}
500+
footer={forgetPinElement}
480501
/>
481502
) : (
482503
<DynamicWrapper

packages/react/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@aelf-web-login/wallet-adapter-react",
3-
"version": "0.1.17",
3+
"version": "0.1.18",
44
"type": "module",
55
"main": "dist/esm/index.js",
66
"module": "dist/esm/index.js",

packages/starter/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@
5454
"@aelf-web-login/wallet-adapter-portkey-aa": "workspace:*",
5555
"@aelf-web-login/wallet-adapter-portkey-discover": "workspace:*",
5656
"@aelf-web-login/wallet-adapter-react": "workspace:*",
57+
"@portkey/did-ui-react": "^2.13.2",
58+
"aelf-sdk": "^3.4.16-alpha.7",
5759
"flatted": "^3.3.1",
5860
"react": "^18.0.0",
59-
"react-dom": "^18.0.0",
60-
"@portkey/did-ui-react": "^2.11.0",
61-
"aelf-sdk": "^3.4.16-alpha.7"
61+
"react-dom": "^18.0.0"
6262
},
6363
"devDependencies": {
6464
"@types/react": "^18.3.1",

packages/starter/src/Demo/demo.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const RPC_SERVER_AELF = 'https://explorer-test.aelf.io/chain';
2121
const RPC_SERVER_TDVV = 'https://explorer-test-side02.aelf.io/chain';
2222
const RPC_SERVER_TDVW = 'https://explorer-test-side02.aelf.io/chain';
2323
const GRAPHQL_SERVER =
24-
'https://dapp-aa-portkey-test.portkey.finance/Portkey_DID/PortKeyIndexerCASchema/graphql';
24+
'https://dapp-aa-portkey-test.portkey.finance/aefinder-v2/api/app/graphql/portkey';
2525
const CONNECT_SERVER = 'https://auth-aa-portkey-test.portkey.finance';
2626
const SERVICE_SERVER = 'https://aa-portkey-test.portkey.finance';
2727
const TELEGRAM_BOT_ID = '7329439364';
@@ -60,7 +60,7 @@ const baseConfig = {
6060
// ConfirmLogoutDialog: CustomizedConfirmLogoutDialog,
6161
// SignInComponent: SignInProxy,
6262
defaultPin: '111111',
63-
enableAcceleration: true,
63+
enableAcceleration: false,
6464
PortkeyProviderProps: {
6565
theme: 'light' as any,
6666
},
@@ -82,7 +82,7 @@ const wallets = [
8282
appName: APP_NAME,
8383
chainId: CHAIN_ID,
8484
autoShowUnlock: true,
85-
noNeedForConfirm: false,
85+
noNeedForConfirm: true,
8686
}),
8787
new PortkeyDiscoverWallet({
8888
networkType: NETWORK_TYPE,

0 commit comments

Comments
 (0)