Skip to content

Commit 680acc6

Browse files
🎨 (signer-utils): Moved ApplicationChecker into SignerUtils
1 parent cb2e1e1 commit 680acc6

File tree

15 files changed

+296
-405
lines changed

15 files changed

+296
-405
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@ledgerhq/device-signer-kit-solana": patch
3+
"@ledgerhq/signer-utils": patch
4+
"@ledgerhq/device-signer-kit-ethereum": patch
5+
---
6+
7+
Moved ApplicationChecker into SignerUtils

‎packages/signer/signer-eth/src/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.ts‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ import {
1010
UserInteractionRequired,
1111
XStateDeviceAction,
1212
} from "@ledgerhq/device-management-kit";
13+
import {
14+
ApplicationChecker,
15+
ApplicationCheckerSupportedAppNames,
16+
} from "@ledgerhq/signer-utils";
1317
import { Left, Right } from "purify-ts";
1418
import { and, assign, fromPromise, setup } from "xstate";
1519

@@ -52,7 +56,6 @@ import {
5256
type ProvideTransactionContextsTaskResult,
5357
} from "@internal/app-binder/task/ProvideTransactionContextsTask";
5458
import { SendSignTransactionTask } from "@internal/app-binder/task/SendSignTransactionTask";
55-
import { ApplicationChecker } from "@internal/shared/utils/ApplicationChecker";
5659

5760
export type MachineDependencies = {
5861
readonly getAddress: (arg0: {
@@ -146,6 +149,7 @@ export class SignTransactionDeviceAction extends XStateDeviceAction<
146149
new ApplicationChecker(
147150
internalApi.getDeviceSessionState(),
148151
context._internalState.appConfig!,
152+
ApplicationCheckerSupportedAppNames.Ethereum,
149153
)
150154
.withMinVersionExclusive("1.15.0")
151155
.excludeDeviceModel(DeviceModelId.NANO_S)

‎packages/signer/signer-eth/src/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.ts‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ import {
1111
UserInteractionRequired,
1212
XStateDeviceAction,
1313
} from "@ledgerhq/device-management-kit";
14+
import {
15+
ApplicationChecker,
16+
ApplicationCheckerSupportedAppNames,
17+
} from "@ledgerhq/signer-utils";
1418
import { Left, Nothing, Right } from "purify-ts";
1519
import { and, assign, fromPromise, setup } from "xstate";
1620

@@ -44,7 +48,6 @@ import {
4448
type ProvideEIP712ContextTaskReturnType,
4549
} from "@internal/app-binder/task/ProvideEIP712ContextTask";
4650
import { SignTypedDataLegacyTask } from "@internal/app-binder/task/SignTypedDataLegacyTask";
47-
import { ApplicationChecker } from "@internal/shared/utils/ApplicationChecker";
4851
import { type TransactionMapperService } from "@internal/transaction/service/mapper/TransactionMapperService";
4952
import { type TransactionParserService } from "@internal/transaction/service/parser/TransactionParserService";
5053
import { type TypedDataParserService } from "@internal/typed-data/service/TypedDataParserService";
@@ -152,6 +155,7 @@ export class SignTypedDataDeviceAction extends XStateDeviceAction<
152155
new ApplicationChecker(
153156
internalApi.getDeviceSessionState(),
154157
context._internalState.appConfig!,
158+
ApplicationCheckerSupportedAppNames.Ethereum,
155159
)
156160
.withMinVersionExclusive("1.15.0")
157161
.excludeDeviceModel(DeviceModelId.NANO_S)

‎packages/signer/signer-eth/src/internal/app-binder/task/BuildBaseContexts.ts‎

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,15 @@ import {
1111
type InternalApi,
1212
isSuccessCommandResult,
1313
} from "@ledgerhq/device-management-kit";
14+
import {
15+
ApplicationChecker,
16+
ApplicationCheckerSupportedAppNames,
17+
} from "@ledgerhq/signer-utils";
1418

1519
import { type GetConfigCommandResponse } from "@api/app-binder/GetConfigCommandTypes";
1620
import { ClearSigningType } from "@api/model/ClearSigningType";
1721
import { type TransactionOptions } from "@api/model/TransactionOptions";
1822
import { GetChallengeCommand } from "@internal/app-binder/command/GetChallengeCommand";
19-
import { ApplicationChecker } from "@internal/shared/utils/ApplicationChecker";
2023

2124
export const NESTED_CALLDATA_CONTEXT_TYPES_FILTER: ClearSignContextType[] = [
2225
ClearSignContextType.TRANSACTION_INFO,
@@ -220,7 +223,11 @@ export class BuildBaseContexts {
220223
deviceState: DeviceSessionState,
221224
appConfig: GetConfigCommandResponse,
222225
): boolean {
223-
return new ApplicationChecker(deviceState, appConfig)
226+
return new ApplicationChecker(
227+
deviceState,
228+
appConfig,
229+
ApplicationCheckerSupportedAppNames.Ethereum,
230+
)
224231
.withMinVersionExclusive("1.14.0")
225232
.excludeDeviceModel(DeviceModelId.NANO_S)
226233
.check();

‎packages/signer/signer-eth/src/internal/app-binder/task/BuildEIP712ContextTask.ts‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ import {
1111
type InternalApi,
1212
isSuccessCommandResult,
1313
} from "@ledgerhq/device-management-kit";
14+
import {
15+
ApplicationChecker,
16+
ApplicationCheckerSupportedAppNames,
17+
} from "@ledgerhq/signer-utils";
1418
import { Just, type Maybe, Nothing } from "purify-ts";
1519

1620
import { type GetConfigCommandResponse } from "@api/app-binder/GetConfigCommandTypes";
@@ -23,7 +27,6 @@ import {
2327
type ContextWithSubContexts,
2428
} from "@internal/app-binder/task/BuildFullContextsTask";
2529
import { type ProvideEIP712ContextTaskArgs } from "@internal/app-binder/task/ProvideEIP712ContextTask";
26-
import { ApplicationChecker } from "@internal/shared/utils/ApplicationChecker";
2730
import { type TransactionMapperService } from "@internal/transaction/service/mapper/TransactionMapperService";
2831
import { type TransactionParserService } from "@internal/transaction/service/parser/TransactionParserService";
2932
import { TypedDataValueField } from "@internal/typed-data/model/Types";
@@ -147,7 +150,11 @@ export class BuildEIP712ContextTask {
147150
deviceState: DeviceSessionState,
148151
): Maybe<"v1" | "v2"> {
149152
if (
150-
!new ApplicationChecker(deviceState, this.appConfig)
153+
!new ApplicationChecker(
154+
deviceState,
155+
this.appConfig,
156+
ApplicationCheckerSupportedAppNames.Ethereum,
157+
)
151158
.withMinVersionInclusive("1.10.0")
152159
.excludeDeviceModel(DeviceModelId.NANO_S)
153160
.check()
@@ -166,6 +173,7 @@ export class BuildEIP712ContextTask {
166173
const shouldUseV2Filters = new ApplicationChecker(
167174
deviceState,
168175
this.appConfig,
176+
ApplicationCheckerSupportedAppNames.Ethereum,
169177
)
170178
.withMinVersionInclusive("1.12.0")
171179
.check();

‎packages/signer/signer-eth/src/internal/shared/utils/ApplicationChecker.ts‎

Lines changed: 0 additions & 66 deletions
This file was deleted.

‎packages/signer/signer-solana/src/internal/app-binder/device-action/SignTransactionDeviceAction.ts‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ import {
1111
UserInteractionRequired,
1212
XStateDeviceAction,
1313
} from "@ledgerhq/device-management-kit";
14+
import {
15+
ApplicationChecker,
16+
ApplicationCheckerSupportedAppNames,
17+
} from "@ledgerhq/signer-utils";
1418
import { Left, type Maybe, Right } from "purify-ts";
1519
import { assign, fromPromise, setup } from "xstate";
1620

@@ -28,7 +32,6 @@ import { type TransactionResolutionContext } from "@api/model/TransactionResolut
2832
import { GetAppConfigurationCommand } from "@internal/app-binder/command/GetAppConfigurationCommand";
2933
import { SignTransactionCommand } from "@internal/app-binder/command/SignTransactionCommand";
3034
import { type SolanaAppErrorCodes } from "@internal/app-binder/command/utils/SolanaApplicationErrors";
31-
import { ApplicationChecker } from "@internal/app-binder/services/ApplicationChecker";
3235
import {
3336
SolanaTransactionTypes,
3437
TransactionInspector,
@@ -142,6 +145,7 @@ export class SignTransactionDeviceAction extends XStateDeviceAction<
142145
new ApplicationChecker(
143146
internalApi.getDeviceSessionState(),
144147
context._internalState.appConfig!,
148+
ApplicationCheckerSupportedAppNames.Solana,
145149
)
146150
.withMinVersionExclusive("1.4.0")
147151
.excludeDeviceModel(DeviceModelId.NANO_S)

0 commit comments

Comments
 (0)