Skip to content

Commit d22adb9

Browse files
committed
Use keyring controller sign authorization action
1 parent 5b74b24 commit d22adb9

File tree

3 files changed

+8
-24
lines changed

3 files changed

+8
-24
lines changed

packages/transaction-controller/src/TransactionController.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import type {
2626
FetchGasFeeEstimateOptions,
2727
GasFeeState,
2828
} from '@metamask/gas-fee-controller';
29+
import type { KeyringControllerSignEip7702AuthorizationAction } from '@metamask/keyring-controller';
2930
import type {
3031
BlockTracker,
3132
NetworkClientId,
@@ -105,7 +106,6 @@ import {
105106
SimulationErrorCode,
106107
} from './types';
107108
import { addTransactionBatch, isAtomicBatchSupported } from './utils/batch';
108-
import type { KeyringControllerSignAuthorization } from './utils/eip7702';
109109
import { signAuthorizationList } from './utils/eip7702';
110110
import { validateConfirmedExternalTransaction } from './utils/external-transactions';
111111
import { addGasBuffer, estimateGas, updateGas } from './utils/gas';
@@ -379,7 +379,7 @@ export type AllowedActions =
379379
| AccountsControllerGetSelectedAccountAction
380380
| AccountsControllerGetStateAction
381381
| AddApprovalRequest
382-
| KeyringControllerSignAuthorization
382+
| KeyringControllerSignEip7702AuthorizationAction
383383
| NetworkControllerFindNetworkClientIdByChainIdAction
384384
| NetworkControllerGetNetworkClientByIdAction
385385
| RemoteFeatureFlagControllerGetStateAction;

packages/transaction-controller/src/utils/eip7702.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import type { RemoteFeatureFlagControllerGetStateAction } from '@metamask/remote
44
import type { Hex } from '@metamask/utils';
55
import { remove0x } from '@metamask/utils';
66

7-
import type { KeyringControllerSignAuthorization } from './eip7702';
87
import {
98
DELEGATION_PREFIX,
109
doesChainSupportEIP7702,
@@ -17,6 +16,7 @@ import {
1716
getEIP7702SupportedChains,
1817
} from './feature-flags';
1918
import { Messenger } from '../../../base-controller/src';
19+
import type { KeyringControllerSignEip7702AuthorizationAction } from '../../../keyring-controller/src';
2020
import type { TransactionControllerMessenger } from '../TransactionController';
2121
import type { AuthorizationList } from '../types';
2222
import { TransactionStatus, type TransactionMeta } from '../types';
@@ -72,7 +72,7 @@ const AUTHORIZATION_LIST_MOCK: AuthorizationList = [
7272

7373
describe('EIP-7702 Utils', () => {
7474
let baseMessenger: Messenger<
75-
| KeyringControllerSignAuthorization
75+
| KeyringControllerSignEip7702AuthorizationAction
7676
| RemoteFeatureFlagControllerGetStateAction,
7777
never
7878
>;
@@ -87,7 +87,7 @@ describe('EIP-7702 Utils', () => {
8787
);
8888

8989
let signAuthorizationMock: jest.MockedFn<
90-
KeyringControllerSignAuthorization['handler']
90+
KeyringControllerSignEip7702AuthorizationAction['handler']
9191
>;
9292

9393
beforeEach(() => {
@@ -100,13 +100,13 @@ describe('EIP-7702 Utils', () => {
100100
.mockResolvedValue(AUTHORIZATION_SIGNATURE_MOCK);
101101

102102
baseMessenger.registerActionHandler(
103-
'KeyringController:signEip7702AuthorizationMessage',
103+
'KeyringController:signEip7702Authorization',
104104
signAuthorizationMock,
105105
);
106106

107107
controllerMessenger = baseMessenger.getRestricted({
108108
name: 'TransactionController',
109-
allowedActions: ['KeyringController:signEip7702AuthorizationMessage'],
109+
allowedActions: ['KeyringController:signEip7702Authorization'],
110110
allowedEvents: [],
111111
});
112112
});

packages/transaction-controller/src/utils/eip7702.ts

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,6 @@ import type {
1818
TransactionMeta,
1919
} from '../types';
2020

21-
export type KeyringControllerAuthorization = [
22-
chainId: number,
23-
contractAddress: string,
24-
nonce: number,
25-
];
26-
27-
export type KeyringControllerSignAuthorization = {
28-
type: 'KeyringController:signEip7702AuthorizationMessage';
29-
handler: (authorization: {
30-
chainId: number;
31-
contractAddress: string;
32-
from: string;
33-
nonce: number;
34-
}) => Promise<string>;
35-
};
36-
3721
export const DELEGATION_PREFIX = '0xef0100';
3822
export const BATCH_FUNCTION_NAME = 'execute';
3923
export const CALLS_SIGNATURE = '(address,uint256,bytes)[]';
@@ -208,7 +192,7 @@ async function signAuthorization(
208192
const nonceDecimal = parseInt(nonce, 16);
209193

210194
const signature = await messenger.call(
211-
'KeyringController:signEip7702AuthorizationMessage',
195+
'KeyringController:signEip7702Authorization',
212196
{
213197
chainId: chainIdDecimal,
214198
contractAddress: address,

0 commit comments

Comments
 (0)