npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@mezo-org/contracts

v0.4.0-dev

Published

Smart contracts powering the bridge to Mezo

Downloads

40

Readme

mezo-portal Contracts

Smart contracts powering the bridge to Mezo

Development

Installation

This project uses pnpm as a package manager (installation documentation).

To install dependencies run:

pnpm install

Testing

$ pnpm test

Environment Setup

This project uses dotenv-safer, which provides environment variable checking. If there is a field in .env.example but not .env, execution will halt early with an error.

Both pnpm run deploy and pnpm test will automatically create a blank .env from the .env.example template, if .env does not exist.

To do this manually:

$ pnpm run prepare:env

Deploying

We deploy our contracts with hardhat-deploy via

$ pnpm run deploy [--network <network>]

Check the "networks" entry of hardhat.config.ts for supported networks.

Deploying to real chains will require configuring the .env environment, detailed in .env.example.

Examples:

In-Memory Hardhat (great for development)

pnpm run deploy

Sepolia

To deploy contracts on Sepolia run:

$ pnpm run deploy --network sepolia

Or, alternatively, manually trigger the Solidity workflow (this will not only deploy the contracts, but also update the values of TBTC_CONTRACT_ADDRESS, WBTC_CONTRACT_ADDRESS and PORTAL_CONTRACT_ADDRESS environment variables in the settings of Netlify builds deploying dApp and its previews).

Contract Addresses

The official mainnet and testnet contract addresses are listed below.

Mainnet

| Contract | Address | | ------------------------------- | -------------------------------------------- | | tBTC | 0x18084fbA666a33d37592fA2633fD49a74DD93a88 | | Bridge (tBTC) | 0x5e4861a80B55f035D899f66772117F00FA0E8e7B | | TBTCVault (tBTC) | 0x9C070027cdC9dc8F82416B2e5314E11DFb4FE3CD | | WBTC | 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599 | | Portal Proxy | 0xAB13B8eecf5AA2460841d75da5d5D861fD5B8A39 | | Portal Implementation | 0xD7097AF27b14e204564C057c636022fae346fE60 | | Portal ProxyAdmin | 0x260cA2abeF5d38181E2562F00FA92AD1DC681734 | | BitcoinDepositor Proxy | 0x1D50D75933b7b7C8AD94dbfb748B5756E3889C24 | | BitcoinDepositor Implementation | 0x04B94f55780682478c8D8329368AAAfD320F4D32 | | BitcoinDepositor ProxyAdmin | 0x66cE24B68D9fEb092Bc8E6C47C0FA318e48F1267 |

Sepolia

| Contract | Address | | ------------------------------- | -------------------------------------------- | | tBTC | 0x517f2982701695D4E52f1ECFBEf3ba31Df470161 | | Bridge (tBTC) | 0x9b1a7fE5a16A15F2f9475C5B231750598b113403 | | TBTCVault (tBTC) | 0xB5679dE944A79732A75CE556191DF11F489448d5 | | WBTC (mock) | 0xdc5558c2873C6375d5a90551c9D0F853794D357D | | Portal Proxy | 0x6978E3e11b8Bc34ea836C1706fC742aC4Cb6b0Db | | Portal Implementation | 0x5581c79ac00164D04De090eB72A9B0B08f89643d | | Portal ProxyAdmin | 0x9Aa2e895ABb717822fb72FEeb64010dB6739D720 | | BitcoinDepositor Proxy | 0x7205535961649C4F94e1b4BAfBe26d23e2bbDd84 | | BitcoinDepositor Implementation | 0x6617C61355cA32141950B8F6610C40C613CA7F38 | | BitcoinDepositor ProxyAdmin | 0x93c4E8eB2813FD3C13254C31B43a30a9ca9693eC | | BitcoinBridge Proxy | 0x8D6539f4799881b8d68116875318d5fA3c2efFB7 | | BitcoinBridge Implementation | 0x01Ce632Bd4777E8FAB4c2c100798bf02Bd9C1252 | | BitcoinBridge ProxyAdmin | 0xD82836bD40041FA77d9bE53CF937D94b3F013a6B |

Rebasing and Fee-on-Transfer Deposit Tokens

The smart contracts are incompatible with rebasing and fee-on-transfer tokens. Such tokens must not be added as supported tokens for deposits to the Portal contract.

This check should be a part of the checklist for the governance when adding new supported tokens.