
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@tuwaio/orbit-evm
Advanced tools
EVM-specific adapter implementation and utilities for the Orbit Utils ecosystem by TUWA. Provides helpers for interacting with EVM-compatible blockchains like Ethereum, Polygon, BSC, etc., leveraging wagmi and viem.
@tuwaio/orbit-evm?@tuwaio/orbit-evm provides concrete implementations and utilities tailored specifically for EVM (Ethereum Virtual Machine) compatible blockchains. It acts as the EVM adapter within the Orbit Utils ecosystem, designed to simplify interactions with networks like Ethereum, Polygon, Binance Smart Chain, and others.
Built with TypeScript and leveraging powerful libraries like @wagmi/core and viem, this package offers specialized tools for common EVM tasks required in web3 UI development.
checkAndSwitchChain) to prompt users to switch their wallet to the correct EVM network.viem Public Clients for read-only blockchain interactions (createViemClient).getAddress).getName).getAvatar).isEnsName).@wagmi/core and viem.tsup for efficient CommonJS and ESM outputs with tree-shaking.# Using pnpm (recommended), but you can use npm, yarn or bun as well
pnpm add @tuwaio/orbit-evm @wagmi/core viem
Note: @wagmi/core and viem are peer dependencies and must be installed alongside @tuwaio/orbit-evm.
Ensure the user's wallet is connected to the desired EVM chain (e.g., Sepolia testnet, ID 11155111).
import { checkAndSwitchChain } from '@tuwaio/orbit-evm';
import { type Config } from '@wagmi/core'; // Assuming you have your wagmi config
// Assume 'wagmiConfig' is your initialized wagmi Config object
declare const wagmiConfig: Config;
const targetChainId = 11155111; // Sepolia
async function ensureCorrectChain() {
try {
await checkAndSwitchChain(targetChainId, wagmiConfig);
console.log(`Wallet is now connected to chain ID ${targetChainId}`);
// Proceed with actions requiring the target chain
} catch (error) {
console.error('Failed to switch chain:', error);
// Handle the error (e.g., show a message to the user)
}
}
ensureCorrectChain();
Get the primary ENS name for an Ethereum address.
import { getName, isEnsName } from '@tuwaio/orbit-evm';
async function displayEnsName(address: `0x${string}`) {
if (isEnsName(address)) { // Basic check, though getName expects an address
console.log(`${address} looks like an ENS name, not an address.`);
return;
}
const name = await getName(address);
if (name) {
console.log(`The ENS name for ${address} is: ${name}`);
} else {
console.log(`No primary ENS name found for ${address}.`);
}
}
displayEnsName('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'); // Example: Vitalik's address
@tuwaio/orbit-evm acts as an adapter implementation for the OrbitAdapter.EVM type defined in @tuwaio/orbit-core. It provides concrete functions that fulfill the BaseAdapter interface requirements (like getName, getAvatar) and adds EVM-specific utilities.
index.ts)checkAndSwitchChain): Handles network switching logic using @wagmi/core.createViemClient): Manages viem public client instances with caching.ensUtils): Provides functions (getAddress, getAvatar, getName, isEnsName) for interacting with the Ethereum Name Service on Mainnet, using viem/ens.tsup.cjs) and ECMAScript Module (esm) formats..d.ts).@wagmi/core for wallet actions (like chain switching) and viem for RPC interactions (like ENS resolution and client creation).Contributions are welcome! Please read our main Contribution Guidelines.
If you find this library useful, please consider supporting its development. Every contribution helps!
This project is licensed under the Apache-2.0 License - see the LICENSE file for details.
FAQs
The core, with web3 EVM utilities and helpers for TUWA projects.
We found that @tuwaio/orbit-evm 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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.