
Research
/Security News
737 Chrome VPN Extensions Linked to Brand Impersonation and Browser Traffic Redirection
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.
plp-contract
Advanced tools
Python client library for PLP (Protocol Liquidity Pool) smart contract interactions. Provides typed, async-ready depositor and pool management clients built on web3.py.
pip install plp-contract
from plp_contract import SimpleDepositor, DepositParams
depositor = SimpleDepositor(
rpc_url="https://eth.llamarpc.com",
depositor_address="0x8cad6c2317233D38a3cf4601F4A441f316F77Db3",
private_key="0x...",
chain_id=1,
)
# Preview deposit
shares = depositor.preview_deposit(
pool_address="0x...",
amount_wei=10**18,
)
print(f"Expected shares: {shares}")
# Execute deposit
result = depositor.deposit(DepositParams(
pool_address="0x...",
amount_wei=10**18,
min_shares=int(shares * 0.995), # 0.5% slippage
))
print(f"TX: {result.tx_hash}")
import asyncio
from plp_contract import AsyncDepositor, DepositParams
async def main():
async with AsyncDepositor(
rpc_url="wss://eth.llamarpc.com",
depositor_address="0x8cad6c2317233D38a3cf4601F4A441f316F77Db3",
private_key="0x...",
chain_id=1,
) as depositor:
info = await depositor.get_pool_info("0x...")
print(f"TVL: {info.tvl_eth:.2f} ETH")
result = await depositor.deposit(DepositParams(
pool_address="0x...",
amount_wei=5 * 10**17,
))
print(f"TX: {result.tx_hash}, gas: {result.gas_used}")
asyncio.run(main())
Track and query multiple pools:
from web3 import Web3
from plp_contract import PoolRegistry
w3 = Web3(Web3.HTTPProvider("https://eth.llamarpc.com"))
registry = PoolRegistry(w3, depositor_address="0x8cad6c...")
registry.add("0xPool1...")
registry.add("0xPool2...")
for pool in registry.active():
print(f"{pool.name}: TVL={pool.tvl_eth:.2f} ETH, price={pool.share_price:.6f}")
SimpleDepositor / AsyncDepositor| Method | Description |
|---|---|
deposit(params) | Deposit assets into a pool (handles approval) |
withdraw(params) | Withdraw by burning share tokens |
withdraw_all(pool, ...) | Withdraw entire share balance |
get_pool_info(pool) | Fetch on-chain pool state |
preview_deposit(pool, amount) | Estimate shares for deposit |
preview_redeem(pool, shares) | Estimate assets for redemption |
balance_of(pool, account?) | Query share token balance |
DepositParams — Validated deposit parameters with slippage protectionWithdrawParams — Validated withdrawal parametersPoolInfo — Read-only pool state snapshotTransactionResult — On-chain transaction receipt with parsed logsGasConfig — EIP-1559 and legacy gas settings| Exception | When |
|---|---|
InsufficientBalanceError | Balance below requested amount |
SlippageExceededError | Output below minimum threshold |
PoolNotFoundError | Pool address not registered |
TransactionRevertedError | On-chain revert |
RPCError | Provider communication failure |
GasEstimationError | Gas estimation fails |
| Contract | Address | Chain |
|---|---|---|
| ELP Depositor | 0x8cad6c2317233D38a3cf4601F4A441f316F77Db3 | Ethereum |
| Royco Vault | 0x1F8B025D61Cd54E81B6e4f4fC1A8fc757bc50bcf | Ethereum |
MIT
FAQs
Python client library for PLP (Protocol Liquidity Pool) smart contract interactions
The pypi package plp-contract receives a total of 0 weekly downloads. As such, plp-contract popularity was classified as not popular.
We found that plp-contract 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.

Research
/Security News
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.