
Product
Introducing Socket Fix for Safe, Automated Dependency Upgrades
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.
@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
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 1 open source maintainer 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.
Product
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.
Security News
CISA denies CVE funding issues amid backlash over a new CVE foundation formed by board members, raising concerns about transparency and program governance.
Product
We’re excited to announce a powerful new capability in Socket: historical data and enhanced analytics.