open-index/open-npm huggingface dataset:
npm package: @lighting-beetle/stylelint-config-lighter
Description: Lighter config for stylelint
Author: Adam Mockor
Latest version: 2.0.0

# @lighting-beetle/stylelint-config-lighter

## Installation

```console
$ npm install --save @lighting-beetle/stylelint-config-lighter
```

## Usage

Set your stylelint config to:

```json
{
  "extends": "@lighting-beetle/stylelint-config-lighter"
}
npm package: @lightlink-network/ll-sdk
Description: [LightLink] Tools for working with LightLink
Author: LightLink Network
Latest version: 1.0.7

# @lightlink-network/ll-sdk

> [!NOTE]
> The SDK was originally forked from the [Optimism SDK](https://www.npmjs.com/package/@eth-optimism/sdk) and has been modified to work with the LightLink network.

The LightLink SDK provides a simple interface to interact with the LightLink Native Bridge and Cross Chain Messenger.

## Installation

```bash
npm install @lightlink-network/ll-sdk
```

## Usage

The SDK can be used to interact with the LightLink network Native Bridge in a few simple steps.

```typescript
import {
  CrossChainMessenger,
  L1ChainID,
  L2ChainID,
  MessageStatus,
} from '@lightlink-network/ll-sdk'
import { ethers } from 'ethers'

const l1Provider = new ethers.providers.StaticJsonRpcProvider(
  process.env.L1_RPC_URL!
)
const l2Provider = new ethers.providers.StaticJsonRpcProvider(
  process.env.L2_RPC_URL!
)
const l1Wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, l1Provider)
const l2Wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, l2Provider)

const messenger = new CrossChainMessenger({
  l1SignerOrProvider: l1Wallet,
  l2SignerOrProvider: l2Wallet,
  l1ChainId: L1ChainID.SEPOLIA,
  l2ChainId: L2ChainID.LIGHTLINK_PEGASUS,
  lightlink: true,
})

async function main() {
  // DepositETH is a simple one step process.
  let tx = await messenger.depositETH(ethers.utils.parseEther('0.001'))
  await tx.wait()

  // WithdrawETH is a three step process over a period of at least 7 days.

  // Step 1: Withdraw ETH from L2 to L1
  let tx = await messenger.withdrawETH(ethers.utils.parseEther('0.001'))
  await tx.wait()

  // Step 2: Prove the withdrawal on L1
  tx = await messenger.proveMessage(tx.hash)
  await tx.wait()

  // Step 3: Finalize the withdrawal on L1
  tx = await messenger.finalizeMessage(tx.hash)
  await tx.wait()

  // A message status can be checked. This can be useful for checking if
  // the next step in the withdrawal process is ready. i.e. READY_TO_PROVE
  let status = await messenger.getMessageStatus(tx.hash)
  if (status === MessageStatus.READY_TO_PROVE) {
    console.log('Withdrawal is ready to be proven!')
  }

  // Optionally, you can wait for a message to reach a certain status.
  // This can be useful for waiting for a deposit to be relayed by the
  // sequencer (12 confirmations).
  await messenger.waitForMessageStatus(tx.hash, MessageStatus.RELAYED)
}
```