Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@layerzerolabs/lz-core
Advanced tools
This package defines the core interface for the tooling stack, containing only neutral interfaces that are unrelated to the LayerZero protocol.
Transaction
Interface: Used for expressing transactions in different stages.Provider
Interface: Defines the connectors to a chain node.Signer
Interface: Handles message and transaction signing.signHash
function is implemented in this package instead of lz-utilities
or lz-foundation
to minimize dependencies.To install the LayerZero Core package, you can use npm or yarn:
npm install @layerzerolabs/lz-core
or
yarn add @layerzerolabs/lz-core
Represents the request of a transaction.
import { TransactionRequest } from "@layerzerolabs/lz-core";
const request = TransactionRequest.from({
to: "0xRecipientAddress",
value: "1000000000000000000", // 1 ETH
});
console.log(`Transaction Request: ${JSON.stringify(request)}`);
Represents the response of a transaction.
import { TransactionResponse } from "@layerzerolabs/lz-core";
const response = TransactionResponse.from({
hash: "0xTransactionHash",
status: 1,
});
console.log(`Transaction Response: ${JSON.stringify(response)}`);
Defines the connectors to a chain node.
import { Provider } from "@layerzerolabs/lz-core";
class MyProvider implements Provider {
url = "https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID";
async getBlock(blockTag) {
// Implementation to get block
}
async getBlockWithTransactions(blockTag) {
// Implementation to get block with transactions
}
async getTransaction(txHash) {
// Implementation to get transaction
}
async getTransactionReceipt(txHash) {
// Implementation to get transaction receipt
}
async getBlockNumber() {
// Implementation to get block number
}
async getSlot(commitment) {
// Implementation to get slot
}
async getTransactionCount(addressOrName, blockTag) {
// Implementation to get transaction count
}
async getBalance(address) {
// Implementation to get balance
}
async getBlockTimestamp(blockTag) {
// Implementation to get block timestamp
}
async sendTransaction(transaction, sendOptions) {
// Implementation to send transaction
}
async confirmTransaction(pending, opts) {
// Implementation to confirm transaction
}
async sendAndConfirm(transaction, opts) {
// Implementation to send and confirm transaction
}
readonly native = {}; // Native provider instance
}
const provider = new MyProvider();
console.log(`Provider URL: ${provider.url}`);
Handles message and transaction signing.
import { Signer, TransactionRequest, SignedTransaction, TransactionPending, TransactionReceipt } from "@layerzerolabs/lz-core";
class MySigner implements Signer {
async connect(provider) {
// Implementation to connect to provider
}
async buildTransaction(buildTxRequest) {
// Implementation to build transaction
}
async signTransaction(transaction) {
// Implementation to sign transaction
}
async sendTransaction(transaction, sendOptions) {
// Implementation to send transaction
}
async sendAndConfirm(transaction, opts) {
// Implementation to send and confirm transaction
}
async signBuffer(buffer) {
// Implementation to sign buffer
}
async getAddress() {
// Implementation to get address
}
native = {}; // Native signer instance
}
const signer = new MySigner();
console.log(`Signer Address: ${await signer.getAddress()}`);
FAQs
LayerZero Core Library
The npm package @layerzerolabs/lz-core receives a total of 403 weekly downloads. As such, @layerzerolabs/lz-core popularity was classified as not popular.
We found that @layerzerolabs/lz-core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.