1.1.5 • Published 1 year ago

airtea-protocol v1.1.5

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

AirSwap Protocols

AirSwap is a peer-to-peer trading network. This repository contains smart contracts for use by developers and traders on the AirSwap network.

Discord License lerna Twitter Follow

Resources

Contracts

PackageVersionDescription
@airswap/registrynpmServer Registry
@airswap/swapnpmAtomic Token Swap
@airswap/swap-erc20npmAtomic Token Swap (ERC20)
@airswap/wrappernpmWrapper for Native Tokens
@airswap/stakingnpmStaking for Members
@airswap/poolnpmRewards Pool for Members
@airswap/batch-callnpmBatch Token and Order Calls

Tools

PackageVersionDescription
@airswap/librariesnpmLibraries for Developers
@airswap/utilsnpmUtils for Developers

Commands

CommandDescription
yarn compileCompile all contracts to build folders.
yarn cleanClean all contract build folders.
yarn testRun all contract tests in test folders.
yarn lint:fixRun eslint for all JavaScript code.
yarn pretty:fixRun prettier for all JavaScript code.

Branching

Flow for contracts and associated tools: Branch from Develop; Merge Feature → Develop → Beta → Main

Flow for tool updates (not contracts): Branch from Main; Merge Feature → Main → Develop

Process

Regular development process for a complete release

  1. New work and features are cut from and merged to "develop"

    1. Cut feature branches from develop
    2. Merge feature branches into develop (Squash and Merge)
  2. Merge "develop" into "beta" to publish beta packages. (Semver: x.x.x-beta.x)

    1. Merge develop into beta (Merge Commit): this will publish NPM with "beta" tag.
    2. Tag beta release from beta branch. (x.x.x-beta.x)
    3. Share tagged release with auditors if auditing.
  3. Merge "develop" into "main" to publish latest packages. (Semver: x.x.x)

    1. Merge develop into main (Merge Commit): this will publish NPM with "latest" tag.
    2. Merge main into beta: this will update the beta with latest.
    3. Tag release from main branch. (x.x.x)

Each deploys.js must be limited to contracts deployed from that package version.

Individual package features or patches

  1. Cut a feature or fix branch from main.
  2. Merge fix into main (Squash and Merge): this will publish to NPM with "latest" tag.
  3. Merge main into develop.

Deploying and Verifying

Each package has commands yarn deploy and yarn verify. Each command takes a --network flag. For example:

yarn deploy --network sepolia
yarn verify --network sepolia

The source of these scripts can be found in the scripts folder of each package. The account used to deploy and verify is derived from the PRIVATE_KEY environment variable in .env in the repository root.

1.1.5

1 year ago

1.1.4

1 year ago