Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
@0xcert/ethereum-utils
Advanced tools
General Ethereum utility module with helper functions for the Ethereum blockchain.
General Ethereum utility module with helper functions for the Ethereum blockchain.
The 0xcert Framework is a free and open-source JavaScript library that provides tools for building powerful decentralized applications. Please refer to the official documentation for more details.
This module is one of the bricks of the 0xcert Framework. It's written with TypeScript and it's actively maintained. The source code is available on GitHub where you can also find our issue tracker.
This module wraps several useful Ethereum functions which will be useful through the 0xcert Framework. Currently supported are these functions and classes from ethers.js:
This converts the value to and from the packed Ethereum ABI encoding.
encodeParameters
(types: any
, values: Array<any>
): string
decodeParameters
(types: any
, data: any
): any
Encoding example:
import { decodeParameters, encodeParameters } from '0xcert/ethereum-utils/abi';
const types = ['tuple(uint256, uint256[])'];
const values = [[ 42, [ 45 ] ]];
const encodedValues = encodeParameters(types, values);
Decoding example:
import { decodeParameters, encodeParameters } from '0xcert/ethereum-utils/abi';
const types = ['tuple(uint256, uint256[])'];
const encoded = '0x' +
'0000000000000000000000000000000000000000000000000000000000000020' +
'000000000000000000000000000000000000000000000000000000000000002a' +
'0000000000000000000000000000000000000000000000000000000000000040' +
'0000000000000000000000000000000000000000000000000000000000000001' +
'000000000000000000000000000000000000000000000000000000000000002d';
const values = decodeParameters(types, values);
Here is a basic example adapted from the ethers.js documentation.
import { bigNumberify } from '0xcert/ethereum-utils/big-number';
let gasPriceWei = bigNumberify("20902747399");
let gasLimit = bigNumberify(3000000);
let maxCostWei = gasPriceWei.mul(gasLimit)
console.log("Max Cost: " + maxCostWei.toString());
// "Max Cost: 62708242197000000"
console.log("Number: " + maxCostWei.toNumber());
// throws an Error, the value is too large for JavaScript to handle safely
The ethers.js address normalization function implements EIP-55 Mixed-case checksum address encoding.
import { getAddress } from '0xcert/ethereum-utils/normalize-address';
let zxcTokenAddress = '0x83e2be8d114f9661221384b3a50d24b96a5653f5';
let zxcTokenAddressNormalized = normalizeAddress(zxcToenAddress);
// 0x83e2BE8d114F9661221384B3a50d24B96a5653F5
FAQs
General Ethereum utility module with helper functions for the Ethereum blockchain.
The npm package @0xcert/ethereum-utils receives a total of 63 weekly downloads. As such, @0xcert/ethereum-utils popularity was classified as not popular.
We found that @0xcert/ethereum-utils demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.