Compare commits
5 Commits
master
...
lash/corre
Author | SHA1 | Date | |
---|---|---|---|
|
d3bdc850e5 | ||
|
33c00ed93b | ||
|
6d6285a897 | ||
|
5216a18fbb | ||
|
2ec785488e |
@ -35,6 +35,10 @@ def unpack_signed_raw_tx(tx_raw_bytes, chain_id):
|
||||
if chain_id != 0:
|
||||
v = int.from_bytes(d[6], 'big')
|
||||
vb = v - (chain_id * 2) - 35
|
||||
while len(d[7]) < 32:
|
||||
d[7] = b'\x00' + d[7]
|
||||
while len(d[8]) < 32:
|
||||
d[8] = b'\x00' + d[8]
|
||||
s = b''.join([d[7], d[8], bytes([vb])])
|
||||
so = KeyAPI.Signature(signature_bytes=s)
|
||||
|
||||
|
@ -557,27 +557,26 @@ def get_upcoming_tx(status=StatusEnum.READYSEND, recipient=None, before=None, ch
|
||||
:rtype: dict, with transaction hash as key, signed raw transaction as value
|
||||
"""
|
||||
session = SessionBase.create_session()
|
||||
q = session.query(
|
||||
q_outer = session.query(
|
||||
TxCache.sender,
|
||||
func.min(Otx.nonce).label('nonce'),
|
||||
)
|
||||
q = q.join(TxCache)
|
||||
q = q.join(Lock, isouter=True)
|
||||
q = q.filter(or_(Lock.flags==None, Lock.flags.op('&')(LockEnum.SEND.value)==0))
|
||||
q_outer = q_outer.join(TxCache)
|
||||
q_outer = q_outer.join(Lock, isouter=True)
|
||||
q_outer = q_outer.filter(or_(Lock.flags==None, Lock.flags.op('&')(LockEnum.SEND.value)==0))
|
||||
|
||||
if status >= StatusEnum.SENT:
|
||||
raise ValueError('not a valid non-final tx value: {}'.format(s))
|
||||
q = q.filter(Otx.status==status)
|
||||
q_outer = q_outer.filter(Otx.status==status.value)
|
||||
|
||||
if recipient != None:
|
||||
q = q.filter(TxCache.recipient==recipient)
|
||||
q_outer = q_outer.filter(TxCache.recipient==recipient)
|
||||
|
||||
q = q.group_by(TxCache.sender)
|
||||
q_outer = q_outer.group_by(TxCache.sender)
|
||||
|
||||
txs = {}
|
||||
|
||||
results = q.all()
|
||||
for r in results:
|
||||
for r in q_outer.all():
|
||||
q = session.query(Otx)
|
||||
q = q.join(TxCache)
|
||||
q = q.filter(TxCache.sender==r.sender)
|
||||
@ -587,7 +586,6 @@ def get_upcoming_tx(status=StatusEnum.READYSEND, recipient=None, before=None, ch
|
||||
q = q.filter(TxCache.date_checked<before)
|
||||
|
||||
q = q.order_by(TxCache.date_created.desc())
|
||||
|
||||
o = q.first()
|
||||
|
||||
# TODO: audit; should this be possible if a row is found in the initial query? If not, at a minimum log error.
|
||||
@ -602,7 +600,6 @@ def get_upcoming_tx(status=StatusEnum.READYSEND, recipient=None, before=None, ch
|
||||
q = q.filter(TxCache.otx_id==o.id)
|
||||
o = q.first()
|
||||
|
||||
logg.debug('oooo {}'.format(o))
|
||||
o.date_checked = datetime.datetime.now()
|
||||
session.add(o)
|
||||
session.commit()
|
||||
|
@ -68,7 +68,7 @@ app = celery.Celery(backend=config.get('CELERY_RESULT_URL'), broker=config.get(
|
||||
queue = args.q
|
||||
|
||||
dsn = dsn_from_config(config)
|
||||
SessionBase.connect(dsn)
|
||||
SessionBase.connect(dsn, debug=config.true('DATABASE_DEBUG'))
|
||||
|
||||
|
||||
re_websocket = re.compile('^wss?://')
|
||||
|
@ -41,3 +41,8 @@ COPY cic-eth/tests/ tests/
|
||||
COPY cic-eth/config/ /usr/local/etc/cic-eth/
|
||||
COPY cic-eth/cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/
|
||||
COPY cic-eth/crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/
|
||||
|
||||
RUN apt-get install -y git && \
|
||||
git clone https://gitlab.com/grassrootseconomics/cic-contracts.git && \
|
||||
mkdir -p /usr/local/share/cic/solidity && \
|
||||
cp -R cic-contracts/abis /usr/local/share/cic/solidity/abi
|
||||
|
@ -19,7 +19,7 @@ echo \n
|
||||
# pushd /usr/src
|
||||
|
||||
init_level_file=${CIC_DATA_DIR}/.init
|
||||
echo -n 0 > $init_level_file
|
||||
echo -n 1 > $init_level_file
|
||||
|
||||
# Abort on any error (including if wait-for-it fails).
|
||||
set -e
|
||||
@ -68,6 +68,6 @@ cat $CIC_DATA_DIR/envlist | bash from_env.sh > $CIC_DATA_DIR/.env_all
|
||||
set +a
|
||||
set +e
|
||||
|
||||
echo -n 1 > $init_level_file
|
||||
echo -n 2 > $init_level_file
|
||||
|
||||
exec "$@"
|
||||
|
@ -1,6 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
# defaults
|
||||
initlevel=`cat ${CIC_DATA_DIR}/.init`
|
||||
echo $inilevel
|
||||
if [ $initlevel -lt 2 ]; then
|
||||
>&2 echo "initlevel too low $initlevel"
|
||||
exit 1
|
||||
fi
|
||||
source ${CIC_DATA_DIR}/.env
|
||||
source ${CIC_DATA_DIR}/.env_all
|
||||
DEV_PIP_EXTRA_INDEX_URL=${DEV_PIP_EXTRA_INDEX_URL:-https://pip.grassrootseconomics.net:8433}
|
||||
@ -136,7 +142,7 @@ token_description_two=0x54686973206973207468652053617261667520746f6b656e00000000
|
||||
>&2 echo "add keystore account $keystore_file to accounts index writers"
|
||||
>&2 eth-accounts-index-add -y $keystore_file -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -r $CIC_ACCOUNTS_INDEX_ADDRESS --writer $DEV_ETH_ACCOUNT_ACCOUNTS_INDEX_WRITER -w $debug
|
||||
|
||||
echo -n 2 > $init_level_file
|
||||
echo -n 0 > $init_level_file
|
||||
|
||||
set +a
|
||||
set +e
|
||||
|
@ -35,8 +35,8 @@ services:
|
||||
context: apps/bloxbergValidatorSetup
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- ${DEV_ETH_PORT_HTTP:-8545}:8545
|
||||
- ${DEV_ETH_PORT_WS-8546}:8546
|
||||
- ${DEV_ETH_PORT_HTTP:-63545}:8545
|
||||
- ${DEV_ETH_PORT_WS-63546}:8546
|
||||
- 30303
|
||||
volumes:
|
||||
- ./apps/bloxbergValidatorSetup/keys:/root/keys # stores the signing key locally
|
||||
@ -49,7 +49,7 @@ services:
|
||||
POSTGRES_HOST_AUTH_METHOD: trust # for postgres user access w/o password. Obvioulsy not safe but allows easy elevated debugging.
|
||||
# PGDATA: /tmp/cic/postgres
|
||||
ports:
|
||||
- ${DEV_POSTGRES_PORT:-5432}:5432
|
||||
- ${DEV_POSTGRES_PORT:-63432}:5432
|
||||
volumes:
|
||||
- ./scripts/initdb/create_db.sql:/docker-entrypoint-initdb.d/1-create_all_db.sql
|
||||
- ./apps/cic-meta/scripts/initdb/postgresql.sh:/docker-entrypoint-initdb.d/2-init-cic-meta.sh
|
||||
@ -58,7 +58,7 @@ services:
|
||||
redis:
|
||||
image: redis:6.0.9-alpine
|
||||
ports:
|
||||
- ${DEV_REDIS_PORT:-6379}:6379
|
||||
- ${DEV_REDIS_PORT:-63379}:6379
|
||||
command: "--loglevel verbose"
|
||||
|
||||
bee:
|
||||
@ -68,8 +68,8 @@ services:
|
||||
BEE_NETWORK_ID: ${BEE_NETWORK_ID:-313}
|
||||
BEE_PASSWORD: ${BEE_PASSWORD:-password}
|
||||
ports:
|
||||
- ${DEV_BEE_PORT:-1633}:1633
|
||||
- ${DEV_BEE_PORT_DEBUG:-1635}:1635
|
||||
- ${DEV_BEE_PORT:-63633}:1633
|
||||
- ${DEV_BEE_PORT_DEBUG:-63635}:1635
|
||||
command: "start --swap-enable=false --standalone"
|
||||
volumes:
|
||||
- bee-data:/tmp/cic/bee
|
||||
@ -117,8 +117,14 @@ services:
|
||||
CELERY_RESULT_URL: ${CELERY_RESULT_URL:-redis://redis:6379}
|
||||
DEV_PIP_EXTRA_INDEX_URL: ${DEV_PIP_EXTRA_INDEX_URL:-https://pip.grassrootseconomics.net:8433}
|
||||
command: ["./seed_cic_eth.sh"]
|
||||
deploy:
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
depends_on:
|
||||
- eth
|
||||
- postgres
|
||||
- redis
|
||||
- cic-eth-tasker
|
||||
volumes:
|
||||
- contract-config:/tmp/cic/config
|
||||
|
||||
@ -227,7 +233,7 @@ services:
|
||||
DATABASE_USER: ${DATABASE_USER:-grassroots}
|
||||
DATABASE_HOST: ${DATABASE_HOST:-postgres}
|
||||
DATABASE_PASSWORD: ${DATABASE_PASSWORD:-tralala}
|
||||
DATABASE_NAME: ${DATABASE_NAME_CIC_CACHE:-cic_cache}
|
||||
DATABASE_NAME: ${DATABASE_NAME_CIC_CACHE:-cic_eth}
|
||||
DATABASE_PORT: ${DATABASE_PORT:-5432}
|
||||
DATABASE_ENGINE: ${DATABASE_ENGINE:-postgres}
|
||||
DATABASE_DRIVER: ${DATABASE_DRIVER:-psycopg2}
|
||||
@ -263,7 +269,7 @@ services:
|
||||
DATABASE_USER: ${DATABASE_USER:-grassroots}
|
||||
DATABASE_HOST: ${DATABASE_HOST:-postgres}
|
||||
DATABASE_PASSWORD: ${DATABASE_PASSWORD:-tralala}
|
||||
DATABASE_NAME: ${DATABASE_NAME_CIC_CACHE:-cic_cache}
|
||||
DATABASE_NAME: ${DATABASE_NAME_CIC_CACHE:-cic_eth}
|
||||
DATABASE_PORT: ${DATABASE_PORT:-5432}
|
||||
DATABASE_ENGINE: ${DATABASE_ENGINE:-postgres}
|
||||
DATABASE_DRIVER: ${DATABASE_DRIVER:-psycopg2}
|
||||
@ -299,7 +305,7 @@ services:
|
||||
DATABASE_USER: ${DATABASE_USER:-grassroots}
|
||||
DATABASE_HOST: ${DATABASE_HOST:-postgres}
|
||||
DATABASE_PASSWORD: ${DATABASE_PASSWORD:-tralala}
|
||||
DATABASE_NAME: ${DATABASE_NAME_CIC_CACHE:-cic_cache}
|
||||
DATABASE_NAME: ${DATABASE_NAME_CIC_CACHE:-cic_eth}
|
||||
DATABASE_PORT: ${DATABASE_PORT:-5432}
|
||||
DATABASE_ENGINE: ${DATABASE_ENGINE:-postgres}
|
||||
DATABASE_DRIVER: ${DATABASE_DRIVER:-psycopg2}
|
||||
@ -309,6 +315,7 @@ services:
|
||||
CELERY_BROKER_URL: ${CELERY_BROKER_URL:-redis://redis}
|
||||
CELERY_RESULT_URL: ${CELERY_RESULT_URL:-redis://redis}
|
||||
TASKS_TRANSFER_CALLBACKS: $TASKS_TRANSFER_CALLBACKS
|
||||
DATABASE_DEBUG: ${DATABASE_DEBUG:-true}
|
||||
|
||||
depends_on:
|
||||
- eth
|
||||
@ -337,7 +344,7 @@ services:
|
||||
DATABASE_USER: ${DATABASE_USER:-grassroots}
|
||||
DATABASE_HOST: ${DATABASE_HOST:-postgres}
|
||||
DATABASE_PASSWORD: ${DATABASE_PASSWORD:-tralala}
|
||||
DATABASE_NAME: ${DATABASE_NAME_CIC_CACHE:-cic_cache}
|
||||
DATABASE_NAME: ${DATABASE_NAME_CIC_CACHE:-cic_eth}
|
||||
DATABASE_PORT: ${DATABASE_PORT:-5432}
|
||||
DATABASE_ENGINE: ${DATABASE_ENGINE:-postgres}
|
||||
DATABASE_DRIVER: ${DATABASE_DRIVER:-psycopg2}
|
||||
@ -347,6 +354,7 @@ services:
|
||||
CELERY_BROKER_URL: ${CELERY_BROKER_URL:-redis://redis}
|
||||
CELERY_RESULT_URL: ${CELERY_RESULT_URL:-redis://redis}
|
||||
TASKS_TRANSFER_CALLBACKS: $TASKS_TRANSFER_CALLBACKS
|
||||
CIC_TX_RETRY_DELAY: 15
|
||||
depends_on:
|
||||
- eth
|
||||
- postgres
|
||||
@ -373,11 +381,13 @@ services:
|
||||
CIC_CHAIN_SPEC: $CIC_CHAIN_SPEC
|
||||
CELERY_BROKER_URL: $CELERY_BROKER_URL
|
||||
CELERY_RESULT_URL: $CELERY_RESULT_URL
|
||||
SERVER_PORT: 80
|
||||
SERVER_PORT: 8000
|
||||
depends_on:
|
||||
- eth
|
||||
- postgres
|
||||
- redis
|
||||
ports:
|
||||
- ${HTTP_PORT_CIC_ETH:-63314}:8000
|
||||
deploy:
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
@ -438,8 +448,8 @@ services:
|
||||
DATABASE_USER: ${DATABASE_USER:-grassroots}
|
||||
DATABASE_HOST: ${DATABASE_HOST:-postgres}
|
||||
DATABASE_PORT: ${DATABASE_PORT:-5432}
|
||||
SERVER_HOST: ${SERVER_HOST:-localhost}
|
||||
SERVER_PORT: ${SERVER_HOST:-80}
|
||||
SERVER_HOST: localhost
|
||||
SERVER_PORT: 8000
|
||||
DATABASE_SCHEMA_SQL_PATH: ""
|
||||
PGP_EXPORTS_DIR: /tmp/src/cic-meta/tests/
|
||||
PGP_PRIVATEKEY_FILE: privatekeys.asc
|
||||
@ -448,7 +458,7 @@ services:
|
||||
PGP_PUBLICKEY_ACTIVE_FILE: publickeys.asc
|
||||
PGP_PUBLICKEY_ENCRYPT_FILE: publickeys.asc
|
||||
ports:
|
||||
- ${HTTP_PORT_CIC_META:-63380}:${SERVER_PORT:-80}
|
||||
- ${HTTP_PORT_CIC_META:-63380}:8000
|
||||
depends_on:
|
||||
- postgres
|
||||
deploy:
|
||||
@ -471,9 +481,9 @@ services:
|
||||
DATABASE_NAME: cic_ussd
|
||||
DATABASE_ENGINE: postgresql
|
||||
DATABASE_DRIVER: psycopg2
|
||||
SERVER_PORT: 9000
|
||||
SERVER_PORT: 8000
|
||||
ports:
|
||||
- 9000:8082
|
||||
- ${HTTP_PORT_CIC_USSD:-63315}:8000
|
||||
depends_on:
|
||||
- postgres
|
||||
- redis
|
||||
|
Loading…
Reference in New Issue
Block a user