
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@pythnetwork/pyth-evm-js
Advanced tools
Pyth provides real-time pricing data in a variety of asset classes, including cryptocurrency, equities, FX and commodities. This library allows you to use these real-time prices on EVM-based networks.
$ npm install --save @pythnetwork/pyth-evm-js
$ yarn add @pythnetwork/pyth-evm-js
The fillPythUpdate
function helps you automatically determine what Pyth price updates are needed for a transaction and creates the necessary update call.
This function uses the trace_callMany
method by default but can be used with debug_traceCall
and a bundler as well. See the example below for more information.
import { fillPythUpdate, multicall3Bundler, CallRequest } from "@pythnetwork/pyth-evm-js";
import { createPublicClient, http } from "viem";
import { optimismSepolia } from "viem/chains";
const PYTH_CONTRACT_OP_SEPOLIA = "0x0708325268df9f66270f1401206434524814508b"
const HERMES_ENDPOINT = "https://hermes.pyth.network"
const client = createPublicClient({
chain: optimismSepolia,
transport: http("YOUR_RPC_ENDPOINT"),
});
const call: CallRequest = {
to: "0x3252c2F7962689fA17f892C52555613f36056f22",
data: "0xd09de08a", // Your transaction calldata
from: "0x78357316239040e19fC823372cC179ca75e64b81",
};
// Fill Pyth update data using "trace_callMany"
const pythUpdate = await fillPythUpdate(
client,
call,
PYTH_CONTRACT_OP_SEPOLIA,
HERMES_ENDPOINT,
{
method: "trace_callMany",
maxIter: 5,
},
);
// Fill Pyth update data using "debug_traceCall"
const _pythUpdateWithDebugTraceCall = await fillPythUpdate(
client,
call,
PYTH_CONTRACT_OP_SEPOLIA,
HERMES_ENDPOINT,
{
method: "debug_traceCall",
bundler: multicall3Bundler, // or any function that takes a PythUpdate and a CallRequest and produces a CallRequest
maxIter: 5,
},
);
if (pythUpdate) {
console.log("Pyth update needed:", pythUpdate);
// Bundle the calls together, or pass the pythUpdate.updateData to your contract.
} else {
console.log("No Pyth data needed for this transaction");
}
FAQs
Pyth Network EVM Utils in JS
The npm package @pythnetwork/pyth-evm-js receives a total of 1,782 weekly downloads. As such, @pythnetwork/pyth-evm-js popularity was classified as popular.
We found that @pythnetwork/pyth-evm-js demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 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
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.