Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@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 7,036 weekly downloads. As such, @layerzerolabs/lz-core popularity was classified as 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.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.