Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bakstag-finance/evm-contracts
Omnichain OTC Market - EVM contracts
https://github.com/bakstag-finance/evm-contracts
bakstag crosschain evm layerzero omnichain otc
Last synced: 2 months ago
JSON representation
Omnichain OTC Market - EVM contracts
- Host: GitHub
- URL: https://github.com/bakstag-finance/evm-contracts
- Owner: bakstag-finance
- Created: 2024-07-09T08:22:16.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-11-06T14:01:46.000Z (2 months ago)
- Last Synced: 2024-11-06T15:18:22.736Z (2 months ago)
- Topics: bakstag, crosschain, evm, layerzero, omnichain, otc
- Language: Solidity
- Homepage: https://thirdweb.com/0x8961327229E8B4A234Bb86769a9B9061944A77fc/OtcMarket
- Size: 151 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Homepage | Docs | DevelopersOApp Example
Quickstart | Configuration | Message Execution Options | Endpoint AddressesTemplate project for getting started with LayerZero's
OApp
contract development.## 1) Developing Contracts
#### Installing dependencies
We recommend using `pnpm` as a package manager (but you can of course use a package manager of your choice):
```bash
pnpm install
```#### Compiling your contracts
This project supports both `hardhat` and `forge` compilation. By default, the `compile` command will execute both:
```bash
pnpm compile
```If you prefer one over the other, you can use the tooling-specific commands:
```bash
pnpm compile:forge
pnpm compile:hardhat
```Or adjust the `package.json` to for example remove `forge` build:
```diff
- "compile": "$npm_execpath run compile:forge && $npm_execpath run compile:hardhat",
- "compile:forge": "forge build",
- "compile:hardhat": "hardhat compile",
+ "compile": "hardhat compile"
```#### Running tests
Similarly to the contract compilation, we support both `hardhat` and `forge` tests. By default, the `test` command will execute both:
```bash
pnpm test
```If you prefer one over the other, you can use the tooling-specific commands:
```bash
pnpm test:forge
pnpm test:hardhat
```Or adjust the `package.json` to for example remove `hardhat` tests:
```diff
- "test": "$npm_execpath test:forge && $npm_execpath test:hardhat",
- "test:forge": "forge test",
- "test:hardhat": "$npm_execpath hardhat test"
+ "test": "forge test"
```## 2) Deploying Contracts
Set up deployer wallet/account:
- Rename `.env.example` -> `.env`
- Choose your preferred means of setting up your deployer wallet/account:```
MNEMONIC="test test test test test test test test test test test junk"
or...
PRIVATE_KEY="0xabc...def"
```To deploy your contracts to your desired blockchains, run the following command in your project's folder:
```bash
npx hardhat lz:deploy
```More information about available CLI arguments can be found using the `--help` flag:
```bash
npx hardhat lz:deploy --help
```By following these steps, you can focus more on creating innovative omnichain solutions and less on the complexities of cross-chain communication.