diff --git a/packages/transaction-controller/src/types.ts b/packages/transaction-controller/src/types.ts index 3282ce2cebb..9da2656b1b8 100644 --- a/packages/transaction-controller/src/types.ts +++ b/packages/transaction-controller/src/types.ts @@ -1321,6 +1321,14 @@ export enum TransactionEnvelopeType { */ feeMarket = '0x2', + /** + * EIP-4844 defined the blob transaction type that allows for submitting + * binary large objects (blobs) to be persisted in the beacon node for a + * limited period of time. Blob transactions use EIP-1559 fee market + * parameters plus an additional `maxFeePerBlobGas` field. + */ + blob = '0x3', + /** * Adds code to externally owned accounts according to the signed authorizations * in the new `authorizationList` parameter. diff --git a/packages/transaction-controller/src/utils/validation.test.ts b/packages/transaction-controller/src/utils/validation.test.ts index 05e1b802160..918c5c6878e 100644 --- a/packages/transaction-controller/src/utils/validation.test.ts +++ b/packages/transaction-controller/src/utils/validation.test.ts @@ -44,9 +44,9 @@ describe('validation', () => { describe('validateTxParams', () => { it('should throw if unknown transaction envelope type is specified', () => { // eslint-disable-next-line @typescript-eslint/no-explicit-any - expect(() => validateTxParams({ type: '0x3' } as any)).toThrow( + expect(() => validateTxParams({ type: '0x5' } as any)).toThrow( rpcErrors.invalidParams( - 'Invalid transaction envelope type: "0x3". Must be one of: 0x0, 0x1, 0x2, 0x4', + 'Invalid transaction envelope type: "0x5". Must be one of: 0x0, 0x1, 0x2, 0x3, 0x4', ), ); }); diff --git a/packages/transaction-controller/src/utils/validation.ts b/packages/transaction-controller/src/utils/validation.ts index 203aaf075a0..4a30ac52bc9 100644 --- a/packages/transaction-controller/src/utils/validation.ts +++ b/packages/transaction-controller/src/utils/validation.ts @@ -21,6 +21,7 @@ export enum ErrorCode { const TRANSACTION_ENVELOPE_TYPES_FEE_MARKET = [ TransactionEnvelopeType.feeMarket, + TransactionEnvelopeType.blob, TransactionEnvelopeType.setCode, ];