UNPKG

elektrik-v1-periphery

Version:

🎚 Peripheral smart contracts for interacting with Elektrik V1

53 lines (37 loc) • 1.73 kB
# Elektrik V1 Periphery [![Tests](https://github.com/Elektrik/Elektrik-V1-periphery/workflows/Tests/badge.svg)](https://github.com/Elektrik/Elektrik-V1-periphery/actions?query=workflow%3ATests) [![Lint](https://github.com/Elektrik/Elektrik-V1-periphery/workflows/Lint/badge.svg)](https://github.com/Elektrik/Elektrik-V1-periphery/actions?query=workflow%3ALint) This repository contains the periphery smart contracts for the Elektrik V1 Protocol. For the lower level core contracts, see the [Elektrik-V1-core](https://github.com/Elektrik/Elektrik-V1-core) repository. ## Bug bounty This repository is subject to the Elektrik V1 bug bounty program, per the terms defined [here](./bug-bounty.md). ## Local deployment In order to deploy this code to a local testnet, you should install the npm package `@Elektrik/V1-periphery` and import bytecode imported from artifacts located at `@Elektrik/V1-periphery/artifacts/contracts/*/*.json`. For example: ```typescript import { abi as SWAP_ROUTER_ABI, bytecode as SWAP_ROUTER_BYTECODE, } from '@Elektrik/V1-periphery/artifacts/contracts/SwapRouter.sol/SwapRouter.json' // deploy the bytecode ``` This will ensure that you are testing against the same bytecode that is deployed to mainnet and public testnets, and all Elektrik code will correctly interoperate with your local deployment. ## Using solidity interfaces The Elektrik V1 periphery interfaces are available for import into solidity smart contracts via the npm artifact `@Elektrik/V1-periphery`, e.g.: ```solidity import '@Elektrik/V1-periphery/contracts/interfaces/ISwapRouter.sol'; contract MyContract { ISwapRouter router; function doSomethingWithSwapRouter() { // router.exactInput(...); } } ```