From 6bc7bd9aaa8462a5492642bce9db5fc7287c0cbb Mon Sep 17 00:00:00 2001 From: Hayden Fowler Date: Fri, 4 Aug 2023 15:59:01 +1000 Subject: [PATCH] ID-981 Add `isPassport` to zkEVM provider --- CHANGELOG.md | 27 +++++++++++++++++-- packages/passport/sdk/src/zkEvm/types.ts | 1 + .../sdk/src/zkEvm/zkEvmProvider.test.ts | 10 +++++++ .../passport/sdk/src/zkEvm/zkEvmProvider.ts | 2 ++ 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c44e2c4c6..c94a724d24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,13 +9,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- @imtbl/blockchain-data: Added Deposit and Withdrawal activity types +### Fixed + +### Changed + +### Removed + +### Deprecated + +## [0.4.4] - 2023-08-04 + +### Added + +- @imtbl/passport: Added `isPassport` property to Passport zkEVM provider + +## [0.4.3] - 2023-08-04 + +### Added + - @imtbl/passport: Added zkEVM Support, see the [zkEVM Passport documentation](https://docs.immutable.com/docs/zkevm/products/passport/) for more information. +- Fixed an issue where the API version was appended to the header twice in every API call + +## [0.4.2] - 2023-07-31 + +### Added + +- @imtbl/blockchain-data: Added Deposit and Withdrawal activity types ### Fixed - @imtbl/immutablex_client: Updated to use core-sdk v2.0.2 with grind key fixes. -- Fixed an issue where the API version was appended to the header twice in every API call ### Changed diff --git a/packages/passport/sdk/src/zkEvm/types.ts b/packages/passport/sdk/src/zkEvm/types.ts index 3ecdb8cd1d..9f1ca04245 100644 --- a/packages/passport/sdk/src/zkEvm/types.ts +++ b/packages/passport/sdk/src/zkEvm/types.ts @@ -77,6 +77,7 @@ export type Provider = { ) => void; on: (event: string, listener: (...args: any[]) => void) => void; removeListener: (event: string, listener: (...args: any[]) => void) => void; + isPassport: boolean; }; export enum ProviderEvent { diff --git a/packages/passport/sdk/src/zkEvm/zkEvmProvider.test.ts b/packages/passport/sdk/src/zkEvm/zkEvmProvider.test.ts index dc2c13414c..f5087131ce 100644 --- a/packages/passport/sdk/src/zkEvm/zkEvmProvider.test.ts +++ b/packages/passport/sdk/src/zkEvm/zkEvmProvider.test.ts @@ -5,6 +5,7 @@ import { sendTransaction } from './sendTransaction'; import { JsonRpcError, ProviderErrorCode } from './JsonRpcError'; import GuardianClient from '../guardian/guardian'; import { RelayerClient } from './relayerClient'; +import { Provider } from './types'; jest.mock('@ethersproject/providers'); jest.mock('./relayerClient'); @@ -274,4 +275,13 @@ describe('ZkEvmProvider', () => { }); }); }); + + describe('isPassport', () => { + it('should be set to true', () => { + const provider = getProvider(); + + expect(provider.isPassport).toBe(true); + expect((provider as Provider).isPassport).toBe(true); + }); + }); }); diff --git a/packages/passport/sdk/src/zkEvm/zkEvmProvider.ts b/packages/passport/sdk/src/zkEvm/zkEvmProvider.ts index e7ffb54795..b7dad2a6ba 100644 --- a/packages/passport/sdk/src/zkEvm/zkEvmProvider.ts +++ b/packages/passport/sdk/src/zkEvm/zkEvmProvider.ts @@ -83,6 +83,8 @@ export class ZkEvmProvider implements Provider { this.eventEmitter = new TypedEventEmitter(); } + public isPassport: boolean = true; + private isLoggedIn(): this is LoggedInZkEvmProvider { return this.magicProvider !== undefined && this.user !== undefined