Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
e9f36f8
Turing Multi-Value (#204)
mmontour1306 Oct 26, 2022
c1af077
feat: add sushi.com (#435)
HHK-ETH Oct 27, 2022
8d2eabd
Add ERC1155 bridges (#436)
boyuan-chen Nov 2, 2022
3f34518
Expose Deposit to other account on bridge page. (#421)
sk-enya Nov 9, 2022
c0af24b
fix for unidex broken link (#451)
sk-enya Nov 15, 2022
be6c8de
[Gateway] : Remove airdrop page access from gateway (#454)
sk-enya Nov 16, 2022
687d363
Deploy BOBA to Goerli (#441)
boyuan-chen Nov 19, 2022
4041837
Fix rate limiting (#469)
boyuan-chen Nov 21, 2022
93b0fb9
Feat : Bring Back Old Dao and Disable VeDao, VeLock, Liquidity Bootst…
sk-enya Nov 21, 2022
bbe8aff
Add Teleportation contract and service (#407)
boyuan-chen Nov 22, 2022
b755fd6
turing -> hc rebranding: boba-community (esp. Starter project) (#458)
wsdt Nov 30, 2022
3678594
Add memes wallet to Ecosystem (#447)
headria Nov 30, 2022
7138a16
Add BobaLink service (#481)
boyuan-chen Dec 8, 2022
449f48c
proxyd updates from upstream (#445)
InoMurko Dec 13, 2022
1d78c19
account abstraction setup (#472)
InoMurko Dec 16, 2022
73d8de8
Cookbook added to projects (#488)
pnkfluffy Dec 19, 2022
1749770
[Gateway] : add changenow and now wallet ecosystem (#507)
elfischernow Jan 4, 2023
0f58db9
Add dev tool page and TX builder (#498)
boyuan-chen Jan 10, 2023
2b6a3eb
feat: add custom paymasters for Boba (#489)
souradeep-das Jan 17, 2023
ad7f85a
Add GET method for fraud detector (#506)
boyuan-chen Jan 17, 2023
a2120ab
Upgrade packages and fix local development environment (#512)
InoMurko Jan 18, 2023
f54359f
[Gateway] : Add Babylons ecosystem (#518)
sk-enya Jan 18, 2023
229f358
feat: bring back classic dao and separate veDao features (#462)
souradeep-das Jan 18, 2023
ebf1b4e
modify building images for release workflows (#520)
InoMurko Jan 18, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
179 changes: 177 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,149 @@
version: 2.1

jobs:
go-lint-test-build:
parameters:
binary_name:
description: Binary name to build
type: string
working_directory:
description: Working directory
type: string
build:
description: Whether or not to build the binary
type: boolean
default: true
dependencies:
description: Regex matching dependent packages
type: string
default: this-package-does-not-exist
docker:
- image: ethereumoptimism/ci-builder:latest
- image: cimg/postgres:14.1
steps:
- checkout
- run:
name: Check if we should run
command: |
shopt -s inherit_errexit
CHANGED=$(check-changed "(<<parameters.working_directory>>|<<parameters.dependencies>>)" || echo "TRUE")
echo $CHANGED
if [[ "$CHANGED" = "FALSE" ]]; then
circleci step halt
fi
- run:
name: Lint
command: golangci-lint run -E goimports,sqlclosecheck,bodyclose,asciicheck,misspell,errorlint -e "errors.As" -e "errors.Is" ./...
working_directory: <<parameters.working_directory>>
- store_test_results:
path: /test-results
- run:
name: Test
command: |
mkdir -p /test-results
DB_USER=postgres gotestsum --junitfile /test-results/tests.xml
working_directory: <<parameters.working_directory>>
- when:
condition:
equal: [ true, <<parameters.build>> ]
steps:
- run:
name: Build
command: make <<parameters.binary_name>>
working_directory: <<parameters.working_directory>>

build_bundler: # runs not using Workflows must have a `build` job as entry point
docker: # run the steps with Docker
- image: cimg/node:16.6.2

steps: # a collection of executable commands
- checkout # special step to check out source code to working directory

- run:
name: package-json-all-deps
command: yarn create-all-deps
working_directory: ./packages/boba/bundler

- restore_cache: # special step to restore the dependency cache
key: dependency-cache-{{ checksum "yarn.lock" }}-{{ checksum "./packages/boba/bundler/all.deps" }}

- run:
name: yarn-install-if-no-cache
command: test -d node_modules/truffle || yarn
working_directory: ./packages/boba/bundler

- save_cache: # special step to save the dependency cache
key: dependency-cache-{{ checksum "yarn.lock" }}-{{ checksum "./packages/boba/bundler/all.deps" }}
paths:
- ./packages/boba/bundler/node_modules
- ./packages/boba/bundler/packages/node_modules
# - ./packages/boba/bundler/packages/client/node_modules
# - ./packages/boba/bundler/packages/common/node_modules
# - ./packages/boba/bundler/packages/contracts/node_modules

- run:
name: yarn-preprocess
command: yarn preprocess
working_directory: ./packages/boba/bundler

- persist_to_workspace:
root: .
paths:
- ./packages/boba/bundler

test_bundler:
working_directory: ~/aa # directory where steps will run
docker: # run the steps with Docker
- image: cimg/node:16.6.2
steps: # a collection of executable commands
- attach_workspace:
at: .
- run: # run tests
name: test
command: yarn lerna-test | tee /tmp/test-dev-results.log
working_directory: ./packages/boba/bundler
- store_test_results: # special step to upload test results for display in Test Summary
path: /tmp/test-dev-results.log
test_flow_bundler:
docker: # run the steps with Docker
- image: cimg/node:16.6.2
steps: # a collection of executable commands
- attach_workspace:
at: .
- run: # run hardhat-node as standalone process fork
name: hardhat-node-process
command: yarn hardhat-node
background: true
working_directory: ./packages/boba/bundler
- run: # run tests
name: test
command: yarn lerna-test-flows | tee /tmp/test-flows-results.log
working_directory: ./packages/boba/bundler
- store_test_results: # special step to upload test results for display in Test Summary
path: /tmp/test-flow-results.log

lint_bundler:
docker: # run the steps with Docker
- image: cimg/node:16.6.2
steps: # a collection of executable commands
- attach_workspace:
at: .
- run: # run tests
name: lint
command: yarn lerna-lint
working_directory: ./packages/boba/bundler
depcheck_bundler:
docker: # run the steps with Docker
- image: cimg/node:16.6.2
steps: # a collection of executable commands
- attach_workspace:
at: .
- run: # run tests
name: depcheck
command: yarn depcheck
working_directory: ./packages/boba/bundler
integration-tests:
resource_class: xlarge
machine:
image: ubuntu-2004:202111-02
docker_layer_caching: true
Expand All @@ -11,17 +153,32 @@ jobs:
parallelism: 4
steps:
- checkout
- run:
name: Build the project
command: yarn && yarn build
working_directory: ./
- run:
name: Build everything
command: |
docker-compose build --progress=plain
docker-compose -f docker-compose.yml -f docker-compose-side.yml build bobalink
working_directory: ops
- run:
name: Bring up the stack
command: |
./scripts/build-ci.sh
docker images
BUILD=2 DAEMON=1 ./up_local.sh
working_directory: ops
- run:
name: Bring up services
command: |
docker-compose -f docker-compose.yml -f docker-compose-side.yml up -d bobalink
working_directory: ops
- run:
name: Start background logging
working_directory: ops
background: true
command: docker-compose -f docker-compose.yml logs --follow
command: docker-compose -f docker-compose.yml -f docker-compose-side.yml logs --follow
- run:
name: Wait for sequencer
command: bash scripts/wait-for-sequencer.sh
Expand Down Expand Up @@ -49,3 +206,21 @@ workflows:
main:
jobs:
- integration-tests
- go-lint-test-build:
name: proxyd-tests
binary_name: proxyd
working_directory: go/proxyd
- build_bundler
- test_bundler:
requires:
- build_bundler
- test_flow_bundler:
requires:
- build_bundler
- lint_bundler:
requires:
- build_bundler
- depcheck_bundler:
requires:
- build_bundler

10 changes: 6 additions & 4 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@ module.exports = {
browser: true,
es6: true,
},
ignorePatterns: ['dist', 'packages/contracts/hardhat'],
ignorePatterns: ['dist', 'coverage', 'packages/contracts/hardhat'],
extends: ['plugin:prettier/recommended'],
parser: 'babel-eslint',
parser: '@babel/eslint-parser',
parserOptions: {
es6: true,
ecmaVersion: 6,
sourceType: 'module',
requireConfigFile: false,
},
plugins: [
'eslint-plugin-import',
Expand All @@ -25,8 +26,9 @@ module.exports = {
files: ['**/*.ts'],
parser: '@typescript-eslint/parser',
parserOptions: {
project: 'tsconfig.json',
project: './packages/**/tsconfig.json',
sourceType: 'module',
allowAutomaticSingleRunInference: true,
},
rules: {
'@typescript-eslint/adjacent-overload-signatures': 'error',
Expand Down Expand Up @@ -152,7 +154,7 @@ module.exports = {
allowSingleLineBlocks: true,
},
],
'prefer-arrow/prefer-arrow-functions': 'warn',
'prefer-arrow/prefer-arrow-functions': 'error',
'prefer-const': 'error',
'prefer-object-spread': 'error',
'quote-props': 'off',
Expand Down
95 changes: 95 additions & 0 deletions .github/workflows/account-abstraction.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Build
on:
push:
paths:
- 'packages/boba/account-abstraction'
branches:
- '*'
pull_request:
paths:
- 'packages/boba/account-abstraction'
types: [opened, reopened, synchronize]

env:
TS_NODE_TRANSPILE_ONLY: 1
FORCE_COLORS: 1

defaults:
run:
working-directory: ./packages/boba/account-abstraction
# todo: extract shared seto/checkout/install/compile, instead of repeat in each job.
jobs:

test:
runs-on: ubuntu-latest

steps:
- uses: actions/setup-node@v1
with:
node-version: '14'
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}
- run: yarn install
- run: yarn compile

- run: yarn run ci

gas-checks:
runs-on: ubuntu-latest
services:
localgeth:
image: dtr22/geth-dev

steps:
- uses: actions/setup-node@v1
with:
node-version: '14'
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}
- run: yarn install
- run: yarn compile
- run: yarn ci-gas-calc

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v1
with:
node-version: '14'
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}
- run: yarn install
- run: yarn lint

coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v1
with:
node-version: '14'
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}
- run: yarn install

- run: yarn compile

- run: FORCE_COLOR=1 yarn coverage
- uses: actions/upload-artifact@v2
with:
name: solidity-coverage
path: |
coverage/
coverage.json

39 changes: 0 additions & 39 deletions .github/workflows/boba-contracts-unit.yml

This file was deleted.

Loading