kaspa-v3-periphery
Version:
🎚 Peripheral smart contracts for interacting with Kaspa V3
53 lines (37 loc) • 1.72 kB
Markdown
# Kaspa V3 Periphery
[](https://github.com/Kaspa/kaspa-v3-periphery/actions?query=workflow%3ATests)
[](https://github.com/Kaspa/kaspa-v3-periphery/actions?query=workflow%3ALint)
This repository contains the periphery smart contracts for the Kaspa V3 Protocol.
For the lower level core contracts, see the [kaspa-v3-core](https://github.com/Kaspa/kaspa-v3-core)
repository.
## Bug bounty
This repository is subject to the Kaspa V3 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
`@kaspa/v3-periphery`
and import bytecode imported from artifacts located at
`@kaspa/v3-periphery/artifacts/contracts/*/*.json`.
For example:
```typescript
import {
abi as SWAP_ROUTER_ABI,
bytecode as SWAP_ROUTER_BYTECODE,
} from '@kaspa/v3-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 Kaspa code will correctly interoperate with
your local deployment.
## Using solidity interfaces
The Kaspa v3 periphery interfaces are available for import into solidity smart contracts
via the npm artifact `@kaspa/v3-periphery`, e.g.:
```solidity
import '@kaspa/v3-periphery/contracts/interfaces/ISwapRouter.sol';
contract MyContract {
ISwapRouter router;
function doSomethingWithSwapRouter() {
// router.exactInput(...);
}
}
```