New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@aztec/blob-lib

Package Overview
Dependencies
Maintainers
6
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aztec/blob-lib - npm Package Compare versions

Comparing version 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 to 0.76.1

dest/blob.d.ts

245

dest/blob.js

@@ -8,3 +8,4 @@ // Importing directly from 'c-kzg' does not work, ignoring import/no-named-as-default-member err:

import { BlobDeserializationError } from './errors.js';
/* eslint-disable import/no-named-as-default-member */ const { BYTES_PER_BLOB, FIELD_ELEMENTS_PER_BLOB, blobToKzgCommitment, computeKzgProof, verifyKzgProof } = cKzg;
/* eslint-disable import/no-named-as-default-member */
const { BYTES_PER_BLOB, FIELD_ELEMENTS_PER_BLOB, blobToKzgCommitment, computeKzgProof, verifyKzgProof } = cKzg;
// The prefix to the EVM blobHash, defined here: https://eips.ethereum.org/EIPS/eip-4844#specification

@@ -14,10 +15,17 @@ export const VERSIONED_HASH_VERSION_KZG = 0x01;

* A class to create, manage, and prove EVM blobs.
*/ export class Blob {
data;
fieldsHash;
challengeZ;
evaluationY;
commitment;
proof;
constructor(/** The blob to be broadcast on L1 in bytes form. */ data, /** The hash of all tx effects inside the blob. Used in generating the challenge z and proving that we have included all required effects. */ fieldsHash, /** Challenge point z (= H(H(tx_effects), kzgCommmitment). Used such that p(z) = y. */ challengeZ, /** Evaluation y = p(z), where p() is the blob polynomial. BLS12 field element, rep. as BigNum in nr, bigint in ts. */ evaluationY, /** Commitment to the blob C. Used in compressed BLS12 point format (48 bytes). */ commitment, /** KZG opening proof for y = p(z). The commitment to quotient polynomial Q, used in compressed BLS12 point format (48 bytes). */ proof){
*/
export class Blob {
constructor(
/** The blob to be broadcast on L1 in bytes form. */
data,
/** The hash of all tx effects inside the blob. Used in generating the challenge z and proving that we have included all required effects. */
fieldsHash,
/** Challenge point z (= H(H(tx_effects), kzgCommmitment). Used such that p(z) = y. */
challengeZ,
/** Evaluation y = p(z), where p() is the blob polynomial. BLS12 field element, rep. as BigNum in nr, bigint in ts. */
evaluationY,
/** Commitment to the blob C. Used in compressed BLS12 point format (48 bytes). */
commitment,
/** KZG opening proof for y = p(z). The commitment to quotient polynomial Q, used in compressed BLS12 point format (48 bytes). */
proof) {
this.data = data;

@@ -31,18 +39,20 @@ this.fieldsHash = fieldsHash;

/**
* The encoded version of the blob will determine the end of the blob based on the transaction encoding.
* This is required when the fieldsHash of a blob will contain trailing zeros.
*
* See `./encoding.ts` for more details.
*
* This method is used to create a Blob from a buffer.
* @param blob - The buffer to create the Blob from.
* @param multiBlobFieldsHash - The fields hash to use for the Blob.
* @returns A Blob created from the buffer.
*
* @throws If unable to deserialize the blob.
*/ static fromEncodedBlobBuffer(blob, multiBlobFieldsHash) {
* The encoded version of the blob will determine the end of the blob based on the transaction encoding.
* This is required when the fieldsHash of a blob will contain trailing zeros.
*
* See `./encoding.ts` for more details.
*
* This method is used to create a Blob from a buffer.
* @param blob - The buffer to create the Blob from.
* @param multiBlobFieldsHash - The fields hash to use for the Blob.
* @returns A Blob created from the buffer.
*
* @throws If unable to deserialize the blob.
*/
static fromEncodedBlobBuffer(blob, multiBlobFieldsHash) {
try {
const fields = deserializeEncodedBlobToFields(blob);
return Blob.fromFields(fields, multiBlobFieldsHash);
} catch (err) {
}
catch (err) {
throw new BlobDeserializationError(`Failed to create Blob from encoded blob buffer, this blob was likely not created by us`);

@@ -52,21 +62,17 @@ }

/**
* Create a Blob from an array of fields.
*
* @param fields - The array of fields to create the Blob from.
* @param multiBlobFieldsHash - The fields hash to use for the Blob.
* @returns A Blob created from the array of fields.
*/ static async fromFields(fields, multiBlobFieldsHash) {
* Create a Blob from an array of fields.
*
* @param fields - The array of fields to create the Blob from.
* @param multiBlobFieldsHash - The fields hash to use for the Blob.
* @returns A Blob created from the array of fields.
*/
static async fromFields(fields, multiBlobFieldsHash) {
if (fields.length > FIELD_ELEMENTS_PER_BLOB) {
throw new Error(`Attempted to overfill blob with ${fields.length} elements. The maximum is ${FIELD_ELEMENTS_PER_BLOB}`);
}
const data = Buffer.concat([
serializeToBuffer(fields)
], BYTES_PER_BLOB);
const data = Buffer.concat([serializeToBuffer(fields)], BYTES_PER_BLOB);
// This matches the output of SpongeBlob.squeeze() in the blob circuit
const fieldsHash = multiBlobFieldsHash ? multiBlobFieldsHash : await poseidon2Hash(fields);
const commitment = Buffer.from(blobToKzgCommitment(data));
const challengeZ = await poseidon2Hash([
fieldsHash,
...commitmentToFields(commitment)
]);
const challengeZ = await poseidon2Hash([fieldsHash, ...commitmentToFields(commitment)]);
const res = computeKzgProof(data, challengeZ.toBuffer());

@@ -81,13 +87,14 @@ if (!verifyKzgProof(commitment, challengeZ.toBuffer(), res[1], res[0])) {

/**
* Create a Blob from a JSON object.
*
* Blobs will be in this form when requested from the blob sink, or from
* the beacon chain via `getBlobSidecars`
* https://ethereum.github.io/beacon-APIs/?urls.primaryName=dev#/Beacon/getBlobSidecars
*
* @dev WARNING: by default json deals with encoded buffers
*
* @param json - The JSON object to create the Blob from.
* @returns A Blob created from the JSON object.
*/ static async fromJson(json) {
* Create a Blob from a JSON object.
*
* Blobs will be in this form when requested from the blob sink, or from
* the beacon chain via `getBlobSidecars`
* https://ethereum.github.io/beacon-APIs/?urls.primaryName=dev#/Beacon/getBlobSidecars
*
* @dev WARNING: by default json deals with encoded buffers
*
* @param json - The JSON object to create the Blob from.
* @returns A Blob created from the JSON object.
*/
static async fromJson(json) {
const blobBuffer = Buffer.from(json.blob.slice(2), 'hex');

@@ -103,8 +110,9 @@ const blob = await Blob.fromEncodedBlobBuffer(blobBuffer);

/**
* Get the JSON representation of the blob.
*
* @dev WARNING: by default json deals with encoded buffers
* @param index - optional - The index of the blob in the block.
* @returns The JSON representation of the blob.
*/ toJson(index) {
* Get the JSON representation of the blob.
*
* @dev WARNING: by default json deals with encoded buffers
* @param index - optional - The index of the blob in the block.
* @returns The JSON representation of the blob.
*/
toJson(index) {
return {

@@ -116,26 +124,29 @@ blob: `0x${Buffer.from(this.data).toString('hex')}`,

// eslint-disable-next-line camelcase
kzg_proof: `0x${this.proof.toString('hex')}`
kzg_proof: `0x${this.proof.toString('hex')}`,
};
}
/**
* Get the fields from the blob.
*
* @dev WARNING: this method does not take into account trailing zeros
*
* @returns The fields from the blob.
*/ toFields() {
* Get the fields from the blob.
*
* @dev WARNING: this method does not take into account trailing zeros
*
* @returns The fields from the blob.
*/
toFields() {
return extractBlobFieldsFromBuffer(this.data);
}
/**
* Get the encoded fields from the blob.
*
* @dev This method takes into account trailing zeros
*
* @returns The encoded fields from the blob.
*
* @throws If unable to deserialize the blob.
*/ toEncodedFields() {
* Get the encoded fields from the blob.
*
* @dev This method takes into account trailing zeros
*
* @returns The encoded fields from the blob.
*
* @throws If unable to deserialize the blob.
*/
toEncodedFields() {
try {
return deserializeEncodedBlobToFields(this.data);
} catch (err) {
}
catch (err) {
throw new BlobDeserializationError(`Failed to deserialize encoded blob fields, this blob was likely not created by us`);

@@ -145,13 +156,14 @@ }

/**
* Get the commitment fields from the blob.
*
* The 48-byte commitment is encoded into two field elements:
* +------------------+------------------+
* | Field Element 1 | Field Element 2 |
* | [bytes 0-31] | [bytes 32-47] |
* +------------------+------------------+
* | 32 bytes | 16 bytes |
* +------------------+------------------+
* @returns The commitment fields from the blob.
*/ commitmentToFields() {
* Get the commitment fields from the blob.
*
* The 48-byte commitment is encoded into two field elements:
* +------------------+------------------+
* | Field Element 1 | Field Element 2 |
* | [bytes 0-31] | [bytes 32-47] |
* +------------------+------------------+
* | 32 bytes | 16 bytes |
* +------------------+------------------+
* @returns The commitment fields from the blob.
*/
commitmentToFields() {
return commitmentToFields(this.commitment);

@@ -171,18 +183,20 @@ }

/**
* Get the buffer representation of the ENTIRE blob.
*
* @dev WARNING: this buffer contains all metadata aswell as the data itself
*
* @returns The buffer representation of the blob.
*/ toBuffer() {
* Get the buffer representation of the ENTIRE blob.
*
* @dev WARNING: this buffer contains all metadata aswell as the data itself
*
* @returns The buffer representation of the blob.
*/
toBuffer() {
return Buffer.from(serializeToBuffer(this.data.length, this.data, this.fieldsHash, this.challengeZ, this.evaluationY.length, this.evaluationY, this.commitment.length, this.commitment, this.proof.length, this.proof));
}
/**
* Create a Blob from a buffer.
*
* @dev WARNING: this method contains all metadata aswell as the data itself
*
* @param buf - The buffer to create the Blob from.
* @returns A Blob created from the buffer.
*/ static fromBuffer(buf) {
* Create a Blob from a buffer.
*
* @dev WARNING: this method contains all metadata aswell as the data itself
*
* @param buf - The buffer to create the Blob from.
* @returns A Blob created from the buffer.
*/
static fromBuffer(buf) {
const reader = BufferReader.asReader(buf);

@@ -192,17 +206,19 @@ return new Blob(reader.readUint8Array(), reader.readObject(Fr), reader.readObject(Fr), reader.readBuffer(), reader.readBuffer(), reader.readBuffer());

/**
* Get the size of the blob in bytes
*/ getSize() {
* Get the size of the blob in bytes
*/
getSize() {
return this.data.length;
}
/**
* Returns a proof of opening of the blob to verify on L1 using the point evaluation precompile:
*
* input[:32] - versioned_hash
* input[32:64] - z
* input[64:96] - y
* input[96:144] - commitment C
* input[144:192] - proof (a commitment to the quotient polynomial q(X))
*
* See https://eips.ethereum.org/EIPS/eip-4844#point-evaluation-precompile
*/ getEthBlobEvaluationInputs() {
* Returns a proof of opening of the blob to verify on L1 using the point evaluation precompile:
*
* input[:32] - versioned_hash
* input[32:64] - z
* input[64:96] - y
* input[96:144] - commitment C
* input[144:192] - proof (a commitment to the quotient polynomial q(X))
*
* See https://eips.ethereum.org/EIPS/eip-4844#point-evaluation-precompile
*/
getEthBlobEvaluationInputs() {
const buf = Buffer.concat([

@@ -213,3 +229,3 @@ this.getEthVersionedBlobHash(),

this.commitment,
this.proof
this.proof,
]);

@@ -220,3 +236,3 @@ return `0x${buf.toString('hex')}`;

let buf = Buffer.alloc(0);
blobs.forEach((blob)=>{
blobs.forEach(blob => {
buf = Buffer.concat([

@@ -228,3 +244,3 @@ buf,

blob.commitment,
blob.proof
blob.proof,
]);

@@ -235,6 +251,3 @@ });

lenBuf.writeUint8(blobs.length);
buf = Buffer.concat([
lenBuf,
buf
]);
buf = Buffer.concat([lenBuf, buf]);
return `0x${buf.toString('hex')}`;

@@ -245,3 +258,3 @@ }

blobToKzgCommitment: cKzg.blobToKzgCommitment,
computeBlobKzgProof: cKzg.computeBlobKzgProof
computeBlobKzgProof: cKzg.computeBlobKzgProof,
};

@@ -255,3 +268,3 @@ }

const res = [];
for(let i = 0; i < numBlobs; i++){
for (let i = 0; i < numBlobs; i++) {
const end = fields.length < (i + 1) * FIELD_ELEMENTS_PER_BLOB ? fields.length : (i + 1) * FIELD_ELEMENTS_PER_BLOB;

@@ -265,6 +278,4 @@ res.push(await Blob.fromFields(fields.slice(i * FIELD_ELEMENTS_PER_BLOB, end), multiBlobFieldsHash));

function commitmentToFields(commitment) {
return [
new Fr(commitment.subarray(0, 31)),
new Fr(commitment.subarray(31, 48))
];
return [new Fr(commitment.subarray(0, 31)), new Fr(commitment.subarray(31, 48))];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ibG9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlHQUFpRztBQUNqRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxJQUFJLE1BQU0sT0FBTyxDQUFDO0FBR3pCLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkQsc0RBQXNEO0FBQ3RELE1BQU0sRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQztBQUUvRyxzR0FBc0c7QUFDdEcsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBTSxPQUFPLElBQUk7SUFDZjtJQUNFLG9EQUFvRDtJQUNwQyxJQUFnQjtJQUNoQyw2SUFBNkk7SUFDN0gsVUFBYztJQUM5QixzRkFBc0Y7SUFDdEUsVUFBYztJQUM5QixzSEFBc0g7SUFDdEcsV0FBbUI7SUFDbkMsa0ZBQWtGO0lBQ2xFLFVBQWtCO0lBQ2xDLGlJQUFpSTtJQUNqSCxLQUFhO1FBVmIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVoQixlQUFVLEdBQVYsVUFBVSxDQUFJO1FBRWQsZUFBVSxHQUFWLFVBQVUsQ0FBSTtRQUVkLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBRW5CLGVBQVUsR0FBVixVQUFVLENBQVE7UUFFbEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUM1QixDQUFDO0lBRUo7Ozs7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

@@ -42,3 +42,4 @@ import { Fr } from '@aztec/foundation/fields';

* @returns An array of field elements.
*/ export function deserializeEncodedBlobToFields(blob) {
*/
export function deserializeEncodedBlobToFields(blob) {
// Convert blob buffer to array of field elements

@@ -49,3 +50,3 @@ const reader = BufferReader.asReader(blob);

// Read fields until we hit zeros at the end
while(!fieldReader.isFinished()){
while (!fieldReader.isFinished()) {
const currentField = fieldReader.peekField();

@@ -70,3 +71,4 @@ // Stop when we hit a zero field

* @throws If the first field does not include the correct prefix - encoding invalid.
*/ export function getLengthFromFirstField(firstField) {
*/
export function getLengthFromFirstField(firstField) {
// Check that the first field includes the correct prefix

@@ -82,12 +84,18 @@ if (!isValidFirstField(firstField)) {

* Determines whether a field is the first field of a tx effect
*/ export function isValidFirstField(field) {
*/
export function isValidFirstField(field) {
const buf = field.toBuffer();
if (!buf.subarray(0, field.size - TX_EFFECT_PREFIX_BYTE_LENGTH).equals(Buffer.alloc(field.size - TX_EFFECT_PREFIX_BYTE_LENGTH))) {
if (!buf
.subarray(0, field.size - TX_EFFECT_PREFIX_BYTE_LENGTH)
.equals(Buffer.alloc(field.size - TX_EFFECT_PREFIX_BYTE_LENGTH))) {
return false;
}
const sliced = buf.subarray(-TX_EFFECT_PREFIX_BYTE_LENGTH);
if (// Checking we start with the correct prefix...
!new Fr(sliced.subarray(0, TX_START_PREFIX_BYTES_LENGTH)).equals(new Fr(TX_START_PREFIX)) || // ...and include the revert code prefix..
sliced[sliced.length - 3] !== REVERT_CODE_PREFIX || // ...and the following revert code is valid.
sliced[sliced.length - 1] > 4) {
if (
// Checking we start with the correct prefix...
!new Fr(sliced.subarray(0, TX_START_PREFIX_BYTES_LENGTH)).equals(new Fr(TX_START_PREFIX)) ||
// ...and include the revert code prefix..
sliced[sliced.length - 3] !== REVERT_CODE_PREFIX ||
// ...and the following revert code is valid.
sliced[sliced.length - 1] > 4) {
return false;

@@ -108,3 +116,4 @@ }

* Function reads until here ----------------------
*/ export function extractBlobFieldsFromBuffer(blob) {
*/
export function extractBlobFieldsFromBuffer(blob) {
const reader = BufferReader.asReader(blob);

@@ -114,3 +123,3 @@ const array = reader.readArray(blob.length >> 5, Fr);

let lastNonZeroIndex = array.length - 1;
while(lastNonZeroIndex >= 0 && array[lastNonZeroIndex].isZero()){
while (lastNonZeroIndex >= 0 && array[lastNonZeroIndex].isZero()) {
lastNonZeroIndex--;

@@ -121,1 +130,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW5jb2RpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJeEUsdUNBQXVDO0FBQ3ZDLGlEQUFpRDtBQUNqRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsb0JBQW9CLENBQUM7QUFDcEQsMkVBQTJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNwRixxRkFBcUY7QUFDckYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztBQUVwQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxJQUFnQjtJQUM3RCxpREFBaUQ7SUFDakQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDO0lBQ3RGLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFaEQsNENBQTRDO0lBQzVDLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUNqQyxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFN0MsZ0NBQWdDO1FB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
export class BlobDeserializationError extends Error {
constructor(message){
constructor(message) {
super(message);

@@ -7,1 +7,2 @@ this.name = 'BlobDeserializationError';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsS0FBSztJQUNqRCxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRywwQkFBMEIsQ0FBQztJQUN6QyxDQUFDO0NBQ0YifQ==
import cKzg from 'c-kzg';
/* eslint-disable import/no-named-as-default-member */ const { loadTrustedSetup } = cKzg;
/* eslint-disable import/no-named-as-default-member */
const { loadTrustedSetup } = cKzg;
export * from './blob.js';

@@ -10,10 +11,13 @@ export * from './mocks.js';

loadTrustedSetup();
} catch (error) {
}
catch (error) {
if (error.message.includes('trusted setup is already loaded')) {
// NB: The c-kzg lib has no way of checking whether the setup is loaded or not,
// and it throws an error if it's already loaded, even though nothing is wrong.
// This is a rudimentary way of ensuring we load the trusted setup if we need it.
} else {
// NB: The c-kzg lib has no way of checking whether the setup is loaded or not,
// and it throws an error if it's already loaded, even though nothing is wrong.
// This is a rudimentary way of ensuring we load the trusted setup if we need it.
}
else {
throw new Error(error);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sT0FBTyxDQUFDO0FBRXpCLHNEQUFzRDtBQUN0RCxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFFbEMsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGFBQWEsQ0FBQztBQUU1QixJQUFJLENBQUM7SUFDSCxnQkFBZ0IsRUFBRSxDQUFDO0FBQ3JCLENBQUM7QUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO0lBQ3BCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUNBQWlDLENBQUMsRUFBRSxDQUFDO1FBQzlELCtFQUErRTtRQUMvRSwrRUFBK0U7UUFDL0UsaUZBQWlGO0lBQ25GLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0FBQ0gsQ0FBQyJ9

@@ -1,3 +0,2 @@

/**
* The relevant parts of a response from https://ethereum.github.io/beacon-APIs/?urls.primaryName=dev#/Beacon/getBlobSidecars
*/ export { };
export {};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=

@@ -14,7 +14,5 @@ import { toBufferBE } from '@aztec/foundation/bigint-buffer';

Buffer.alloc(1),
Buffer.from([
1
]),
Buffer.from([1]),
Buffer.alloc(1),
Buffer.alloc(1)
Buffer.alloc(1),
]));

@@ -28,9 +26,5 @@ }

* @returns
*/ export function makeEncodedBlob(length) {
return Blob.fromFields([
encodeFirstField(length + 1),
...Array.from({
length: length
}, ()=>Fr.random())
]);
*/
export function makeEncodedBlob(length) {
return Blob.fromFields([encodeFirstField(length + 1), ...Array.from({ length: length }, () => Fr.random())]);
}

@@ -43,14 +37,9 @@ /**

* @returns
*/ export function makeUnencodedBlob(length) {
return Blob.fromFields([
...Array.from({
length: length
}, ()=>Fr.random())
]);
*/
export function makeUnencodedBlob(length) {
return Blob.fromFields([...Array.from({ length: length }, () => Fr.random())]);
}
export function makeEncodedBlobFields(fields) {
return Blob.fromFields([
encodeFirstField(fields.length + 1),
...fields
]);
return Blob.fromFields([encodeFirstField(fields.length + 1), ...fields]);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUUsNENBQTRDO0FBQzVDLFNBQVMsZ0JBQWdCLENBQUMsTUFBYztJQUN0QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25DLE9BQU8sSUFBSSxFQUFFLENBQ1gsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNaLFVBQVUsQ0FBQyxlQUFlLEVBQUUsNEJBQTRCLENBQUM7UUFDekQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDZixTQUFTO1FBQ1QsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQWM7SUFDNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0csQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFjO0lBQzlDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxNQUFZO0lBQ2hELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMifQ==
{
"name": "@aztec/blob-lib",
"version": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
"version": "0.76.1",
"type": "module",

@@ -23,3 +23,3 @@ "exports": {

"start": "node ./dest/index.js",
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
"test": "HARDWARE_CONCURRENCY=${HARDWARE_CONCURRENCY:-16} RAYON_NUM_THREADS=${RAYON_NUM_THREADS:-4} NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
},

@@ -30,3 +30,3 @@ "inherits": [

"dependencies": {
"@aztec/foundation": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
"@aztec/foundation": "0.76.1",
"c-kzg": "4.0.0-alpha.1",

@@ -33,0 +33,0 @@ "tslib": "^2.4.0"

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc