Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#43] change db layer #49

Open
wants to merge 5 commits into
base: jma/feat/42_refactor_nonce_manager
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ integration-test/data
__pycache__

yarn-error.log
!src/lib/
175 changes: 175 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,16 @@
"scripts": {
"clean": "rm -rf build/*",
"build": "npm run clean && npm run compile",
"build-map": "npm run clean && tsc --inlineSourceMap",
"test": "npm run compile && mocha",
"integration-tests": "yarn compile && ENVIRONMENT=test mocha --require source-map-support/register --require babel-core/register --require @babel/polyfill integration-test/",
"cover:js": "cross-env NODE_ENV=test nyc --report-dir coverage-js --require @babel/register --require @babel/polyfill --reporter=lcov --reporter=text mocha integration-test/*.js",
"compile": "tsc",
"prepublish": "npm run build",
"serve": "npm run build && pm2 startOrRestart ecosystem.config.js --env production",
"deploy-local": "ENVIRONMENT=test babel-node ./deploy-local/bridge-local",
"start": "pm2 start ecosystem.config.js --env production"
"start": "pm2 start ecosystem.config.js --env production",
"debug": "NODE_ENV=production node build/bridge-runner.js"
},
"nyc": {
"require": [
Expand Down Expand Up @@ -61,6 +63,7 @@
"globby": "^12.0.0",
"mailgun-js": "^0.22.0",
"minimetoken": "^0.2.0",
"mongoose": "6.0.10",
"nedb": "^1.8.0",
"node-fetch": "^2.6.1",
"rimraf": "^2.6.2",
Expand All @@ -74,6 +77,7 @@
"@babel/core": "^7.14.0",
"@babel/node": "^7.13.13",
"@babel/preset-env": "^7.14.1",
"@types/mongoose": "^5.11.97",
"@types/nedb": "^1.8.12",
"@types/node": "^16.10.2",
"cross-env": "^5.1.4",
Expand Down
2 changes: 1 addition & 1 deletion src/Relayer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import GivethBridge from './GivethBridge';
import ForeignGivethBridge from './ForeignGivethBridge';
import getGasPrice from './gasPrice';
import {sendEmail, sendSentryError} from './utils';
import {INonceTracker} from "./ts/nonce/types";
import {INonceTracker} from "./nonce/types";

const BridgeData = {
homeContractAddress: '',
Expand Down
2 changes: 1 addition & 1 deletion src/Verifyer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import getGasPrice from './gasPrice';
import {sendEmail, sendSentryError, sendSentryMessage} from './utils';
import ForeignGivethBridge from './ForeignGivethBridge';
import checkBalance from './checkBalance';
import {INonceTracker} from "./ts/nonce/types";
import {INonceTracker} from "./nonce/types";

export default class Verifier {
private readonly lp;
Expand Down
10 changes: 5 additions & 5 deletions src/bridge.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import Verifyer from './Verifyer';
import './promise-polyfill';
import {getForeignWeb3, getHomeWeb3} from './getWeb3';

import {NonceTracker} from './ts/nonce/NonceTracker';
import {NonceTracker} from './nonce/NonceTracker';
import semaphore from "semaphore";

const Datastore = require('nedb');
Expand Down Expand Up @@ -76,8 +76,8 @@ export default config => {

const addy = homeWeb3.eth.accounts.wallet[0].address;

let relayer;
let verifyer;
let relayer: Relayer;
let verifyer: Verifyer;
Promise.all([
homeWeb3.eth.getTransactionCount(addy, 'pending'),
foreignWeb3.eth.getTransactionCount(addy, 'pending'),
Expand All @@ -86,13 +86,13 @@ export default config => {
const homeNoncetracker = new NonceTracker({networkName: "ropsten", address: ''},
homeNonce, {logger: logger, semaphore: semaphore()})
const foreignNoncetracker = new NonceTracker({networkName: "rinkeby", address: ''},
homeNonce, {logger: logger, semaphore: semaphore()})
foreignNonce, {logger: logger, semaphore: semaphore()})

relayer = new Relayer(homeWeb3, foreignWeb3, {home: homeNoncetracker, foreign: foreignNoncetracker}, config, db);
verifyer = new Verifyer(homeWeb3, foreignWeb3, foreignNoncetracker, config, db);
})
.then(() => relayer.loadBridgeData())
.then(bridgeData => {
.then((bridgeData: any) => {
if (bridgeData.homeContractAddress !== config.homeBridge) {
throw new Error('stored homeBridge address does not match config.homeBridge');
}
Expand Down
8 changes: 8 additions & 0 deletions src/lib/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import {BridgeRecord, TransactionRecord} from './mongo';

export default {
mongo: {
BridgeRecord,
TransactionRecord
}
}
Loading