Compare commits

..

3 Commits

Author SHA1 Message Date
a87238010d checkpoint 2021-09-01 17:50:20 -07:00
e76fb9fb10 checkpoint 2021-08-31 11:36:22 -07:00
da98b22ad1 init 2021-08-30 13:47:25 -07:00
15 changed files with 97 additions and 2251 deletions

View File

@@ -3,10 +3,7 @@ import logging
# external imports
import celery
from hexathon import (
strip_0x,
add_0x,
)
from hexathon import strip_0x
#from chainlib.eth.constant import ZERO_ADDRESS
from chainlib.chain import ChainSpec
from chainlib.eth.address import is_checksum_address
@@ -183,7 +180,6 @@ def check_gas(self, tx_hashes_hex, chain_spec_dict, txs_hex=[], address=None, ga
if not is_checksum_address(address):
raise ValueError('invalid address {}'.format(address))
address = tx_normalize.wallet_address(address)
address = add_0x(address)
tx_hashes = []
txs = []

View File

@@ -13,6 +13,7 @@ from chainlib.eth.nonce import RPCNonceOracle
from chainlib.eth.gas import RPCGasOracle
from cic_eth_registry import CICRegistry
from cic_eth_registry.error import UnknownContractError
import liveness.linux
# local imports
from cic_eth.error import SeppukuError
@@ -47,7 +48,6 @@ class BaseTask(celery.Task):
def on_failure(self, exc, task_id, args, kwargs, einfo):
if isinstance(exc, SeppukuError):
import liveness.linux
liveness.linux.reset(rundir=self.run_dir)
logg.critical(einfo)
msg = 'received critical exception {}, calling shutdown'.format(str(exc))

View File

@@ -10,7 +10,7 @@ version = (
0,
12,
4,
'alpha.8',
'alpha.7',
)
version_object = semver.VersionInfo(

View File

@@ -1,6 +1,8 @@
@node cic-eth configuration
@section Configuration
(refer to @code{cic-base} for a general overview of the config pipeline)
Configuration parameters are grouped by configuration filename.
@@ -38,26 +40,7 @@ Boolean value. If set, the amount of available context for a task in the result
@subsection database
@table @var
@item host
Database host
@item port
Database port
@item name
Database name
@item user
Database user
@item password
Database password
@item engine
The engine part of the dsn connection string (@code{postgresql} in @code{postgresql+psycopg2})
@item driver
The driver part of the dsn connection string (@code{psycopg2} in @code{postgresql+psycopg2})
@item pool_size
Connection pool size for database drivers that provide connection pooling
@item debug
Output actual sql queries to logs. Potentially very verbose
@end table
See ref cic-base when ready
@subsection eth

View File

@@ -75,7 +75,7 @@ def test_task_check_gas_ok(
'cic_eth.eth.gas.check_gas',
[
[
strip_0x(tx_hash_hex),
tx_hash_hex,
],
default_chain_spec.asdict(),
[],
@@ -283,3 +283,4 @@ def test_task_resend_explicit(
tx_after = unpack(bytes.fromhex(strip_0x(otx.signed_tx)), default_chain_spec)
logg.debug('gasprices before {} after {}'.format(tx_before['gasPrice'], tx_after['gasPrice']))
assert tx_after['gasPrice'] > tx_before['gasPrice']

View File

@@ -29,4 +29,7 @@ RUN chmod 755 ./db.sh
RUN alias tsc=node_modules/typescript/bin/tsc
COPY docker/start_server.sh ./start_server.sh
RUN chmod 755 ./start_server.sh
EXPOSE 8000
ENTRYPOINT ["sh", "./start_server.sh"]

View File

@@ -1,6 +1,6 @@
cic-eth[tools]==0.12.4a8
chainlib-eth>=0.0.9a9,<0.1.0
eth-erc20>=0.1.2a3,<0.2.0
cic-eth[tools]==0.12.4a4
chainlib-eth>=0.0.9a7,<0.1.0
eth-erc20>=0.1.2a2,<0.2.0
erc20-demurrage-token>=0.0.5a2,<0.1.0
eth-accounts-index>=0.1.2a2,<0.2.0
eth-address-index>=0.2.3a4,<0.3.0

View File

@@ -2,7 +2,7 @@
.cache
.dot
**/doc
node_modules/
**/node_modules
**/venv
**/.venv

View File

@@ -9,9 +9,7 @@ COPY package.json \
package-lock.json \
.
RUN npm ci --production
#RUN --mount=type=cache,mode=0755,target=/root/node_modules npm install
RUN --mount=type=cache,mode=0755,target=/root/node_modules npm install
COPY requirements.txt .

View File

@@ -33,7 +33,9 @@ then
else
python cic_ussd/import_users.py -vv -c "$CONFIG" --ussd-host "$USSD_HOST" --ussd-port "$USSD_PORT" --ussd-no-ssl "$IMPORT_DIR"
fi
echo "Waiting for import balance job to complete ..."
tail --pid="$IMPORT_BALANCE_JOB" -f /dev/null
set -e
echo "Importing pins"

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
sarafu-faucet~=0.0.7a1
cic-eth[tools]~=0.12.4a8
cic-eth[tools]~=0.12.4a7
cic-types~=0.1.0a14
crypto-dev-signer>=0.4.15a1,<=0.4.15
faker==4.17.1

View File

@@ -64,10 +64,6 @@ phone_tests = [
'ussd_pins'
]
admin_tests = [
'local_key',
]
all_tests = eth_tests + custodial_tests + metadata_tests + phone_tests
argparser = argparse.ArgumentParser(description='daemon that monitors transactions in new blocks')
@@ -78,7 +74,6 @@ argparser.add_argument('-i', '--chain-spec', type=str, dest='i', help='chain spe
argparser.add_argument('--meta-provider', type=str, dest='meta_provider', default='http://localhost:63380', help='cic-meta url')
argparser.add_argument('--ussd-provider', type=str, dest='ussd_provider', default='http://localhost:63315', help='cic-ussd url')
argparser.add_argument('--skip-custodial', dest='skip_custodial', action='store_true', help='skip all custodial verifications')
argparser.add_argument('--skip-ussd', dest='skip_ussd', action='store_true', help='skip all ussd verifications')
argparser.add_argument('--skip-metadata', dest='skip_metadata', action='store_true', help='skip all metadata verifications')
argparser.add_argument('--exclude', action='append', type=str, default=[], help='skip specified verification')
argparser.add_argument('--include', action='append', type=str, help='include specified verification')
@@ -139,11 +134,6 @@ if args.skip_custodial:
for t in custodial_tests:
if t not in exclude:
exclude.append(t)
if args.skip_ussd:
logg.info('will skip all ussd verifications ({})'.format(','.join(phone_tests)))
for t in phone_tests:
if t not in exclude:
exclude.append(t)
if args.skip_metadata:
logg.info('will skip all metadata verifications ({})'.format(','.join(metadata_tests)))
for t in metadata_tests:

66
docker-compose.auth.yml Normal file
View File

@@ -0,0 +1,66 @@
services:
cic-frontend-auth:
networks:
- traefik
image: localhost:5000/cic-auth-proxy:latest
ports:
- 8080
environment:
GPG_TRUSTED_PUBLICKEY_FINGERPRINT: CCE2E1D2D0E36ADE0405E2D0995BB21816313BD5
GPG_IMPORT_DIR: /usr/src/cic-auth-proxy/meta/tests/testdata/dev/
GPG_PUBLICKEY_FILENAME: publickeys.asc
GPG_SIGNATURE_FILENAME: signature.asc
PROXY_HOST: cic-meta-server
PROXY_PORT: 80
PROXY_PROTO: http
PROXY_PATH_PREFIX: "/"
HOMEDIR: .gnupg
labels:
- "traefik.enable=true"
cic-meta-server:
networks:
- traefik
- default
labels:
- "traefik.enable=true"
- "traefik.http.routers.cic-meta-server.rule=Path(`/protected`)"
- "traefik.http.routers.cic-meta-server.middlewares=cic-auth"
- "traefik.http.middlewares.cic-auth.forwardauth.address=http://cic-frontend-auth/"
- "traefik.http.middlewares.cic-auth.forwardauth.authRequestHeaders=Authorization"
proxy:
networks:
- traefik
image: traefik:v2.5
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "80:80"
- "8080:8080"
command:
# Enable Docker in Traefik, so that it reads labels from Docker services
- --providers.docker
# Add a constraint to only use services with the label for this stack
# Do not expose all Docker services, only the ones explicitly exposed
- --providers.docker.exposedbydefault=false
- "--providers.docker.network=traefik"
# Disable Docker Swarm mode for local development
# - --providers.docker.swarmmode
# Enable the access log, with HTTP requests
- --accesslog
# - log.level=DEBUG
# Enable the Traefik log, for configurations and errors
- --log
- --log.level=DEBUG
# Enable the Dashboard and API
- --api
# Enable the Dashboard and API in insecure mode for local development
- --api.insecure=true
labels:
- traefik.enable=true
networks:
traefik:
name: "traefik"

View File

@@ -117,6 +117,7 @@ services:
volumes:
- contract-config:/tmp/cic/config
cic-cache-tracker:
image: registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-cache:${TAG:-latest}
profiles: