diff --git a/apps/cic-eth/cic_eth/eth/account.py b/apps/cic-eth/cic_eth/eth/account.py index dcd9d4dc..de2e7f0b 100644 --- a/apps/cic-eth/cic_eth/eth/account.py +++ b/apps/cic-eth/cic_eth/eth/account.py @@ -20,8 +20,8 @@ from chainlib.eth.tx import ( ) from chainlib.chain import ChainSpec from chainlib.error import JSONRPCException -from eth_accounts_index import AccountsIndex -from sarafu_faucet import MinterFaucet as Faucet +from eth_accounts_index.registry import AccountRegistry # TODO, use interface module instead (needs gas limit method) +from sarafu_faucet import MinterFaucet from chainqueue.db.models.tx import TxCache # local import @@ -185,7 +185,7 @@ def gift(self, account_address, chain_spec_dict): # Generate and sign transaction rpc_signer = RPCConnection.connect(chain_spec, 'signer') nonce_oracle = CustodialTaskNonceOracle(account_address, self.request.root_id, session=session) #, default_nonce) - gas_oracle = self.create_gas_oracle(rpc, Faucet.gas) + gas_oracle = self.create_gas_oracle(rpc, MinterFaucet.gas) faucet = Faucet(chain_spec, signer=rpc_signer, nonce_oracle=nonce_oracle, gas_oracle=gas_oracle) (tx_hash_hex, tx_signed_raw_hex) = faucet.give_to(faucet_address, account_address, account_address, tx_format=TxFormat.RLP_SIGNED) rpc_signer.disconnect() diff --git a/apps/cic-eth/cic_eth/ext/address.py b/apps/cic-eth/cic_eth/ext/address.py index cfb9521c..250c8394 100644 --- a/apps/cic-eth/cic_eth/ext/address.py +++ b/apps/cic-eth/cic_eth/ext/address.py @@ -22,7 +22,7 @@ def translate_address(address, trusted_addresses, chain_spec, sender_address=ZER rpc = RPCConnection.connect(chain_spec, 'default') registry = CICRegistry(chain_spec, rpc) - declarator_address = registry.by_name('Declarator', sender_address=sender_address) + declarator_address = registry.by_name('AddressDeclarator', sender_address=sender_address) c = Declarator(chain_spec) for trusted_address in trusted_addresses: diff --git a/apps/cic-eth/cic_eth/runnable/daemons/filters/callback.py b/apps/cic-eth/cic_eth/runnable/daemons/filters/callback.py index dd1a587b..e47c4a65 100644 --- a/apps/cic-eth/cic_eth/runnable/daemons/filters/callback.py +++ b/apps/cic-eth/cic_eth/runnable/daemons/filters/callback.py @@ -13,9 +13,7 @@ from hexathon import ( strip_0x, add_0x, ) -# TODO: use sarafu_Faucet for both when inheritance has been implemented -from erc20_single_shot_faucet import SingleShotFaucet -from sarafu_faucet import MinterFaucet as Faucet +from erc20_faucet import Faucet # local imports from .base import SyncFilter @@ -71,14 +69,13 @@ class CallbackFilter(SyncFilter): #transfer_data['token_address'] = tx.inputs[0] faucet_contract = tx.inputs[0] - c = SingleShotFaucet(self.chain_spec) - o = c.token(faucet_contract, sender_address=self.caller_address) + o = Faucet.token(faucet_contract, sender_address=self.caller_address) r = conn.do(o) transfer_data['token_address'] = add_0x(c.parse_token(r)) - o = c.amount(faucet_contract, sender_address=self.caller_address) + o = c.token_amount(faucet_contract, sender_address=self.caller_address) r = conn.do(o) - transfer_data['value'] = c.parse_amount(r) + transfer_data['value'] = c.parse_token_amount(r) return ('tokengift', transfer_data) diff --git a/apps/cic-eth/requirements.txt b/apps/cic-eth/requirements.txt index f4706436..7b57e8c3 100644 --- a/apps/cic-eth/requirements.txt +++ b/apps/cic-eth/requirements.txt @@ -18,7 +18,7 @@ chainlib~=0.0.3a1 hexathon~=0.0.1a7 chainsyncer[sql]~=0.0.2a4 chainqueue~=0.0.2a2 -pysha3==1.0.2 +sarafu-faucet==0.0.3a1 coincurve==15.0.0 sarafu-faucet==0.0.3a2 potaahto~=0.0.1a1 diff --git a/apps/contract-migration/docker/Dockerfile b/apps/contract-migration/docker/Dockerfile index fd94cc83..1b0ef49f 100644 --- a/apps/contract-migration/docker/Dockerfile +++ b/apps/contract-migration/docker/Dockerfile @@ -47,55 +47,61 @@ RUN wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | ENV NODE_PATH $NVM_DIR/versions/node//v$NODE_VERSION/lib/node_modules ENV PATH $NVM_DIR/versions/node//v$NODE_VERSION/bin:$PATH -RUN useradd --create-home grassroots -WORKDIR /home/grassroots -USER grassroots +#RUN useradd --create-home grassroots +# WORKDIR /home/grassroots +# USER grassroots +ARG pip_extra_args="" +ARG pip_index_url=https://pypi.org/simple ARG pip_extra_index_url=https://pip.grassrootseconomics.net:8433 ARG cic_base_version=0.1.2b8 ARG cic_eth_version=0.11.0b12 ARG sarafu_token_version=0.0.1a8 ARG sarafu_faucet_version=0.0.3a2 -#ARG cic_contracts_version=0.0.2a2 RUN pip install --user --index-url https://pypi.org/simple --extra-index-url $pip_extra_index_url \ cic-base[full_graph]==$cic_base_version \ cic-eth==$cic_eth_version \ -# cic-contracts==$cic_contracts_version \ sarafu-faucet==$sarafu_faucet_version \ - sarafu-token==$sarafu_token_version + sarafu-token==$sarafu_token_version \ + cic-eth==$cic_eth_version +# -------------- begin runtime container ---------------- FROM python:3.8.6-slim-buster as runtime-image RUN apt-get update RUN apt-get install -y --no-install-recommends gnupg libpq-dev -RUN apt-get install -y --no-install-recommends jq +RUN apt-get install -y jq bash iputils-ping socat COPY --from=compile-image /usr/local/bin/ /usr/local/bin/ COPY --from=compile-image /usr/local/etc/cic/ /usr/local/etc/cic/ +COPY --from=compile-image /usr/local/lib/python3.8/site-packages/ \ + /usr/local/lib/python3.8/site-packages/ -RUN useradd --create-home grassroots -WORKDIR /home/grassroots -# COPY python dependencies to user dir -COPY --from=compile-image /home/grassroots/.local .local -ENV PATH=/home/grassroots/.local/bin:$PATH +ENV EXTRA_INDEX_URL https://pip.grassrootseconomics.net:8433 +# RUN useradd -u 1001 --create-home grassroots +# RUN adduser grassroots sudo && \ +# echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers +# WORKDIR /home/grassroots COPY contract-migration/testdata/pgp testdata/pgp COPY contract-migration/sarafu_declaration.json sarafu_declaration.json COPY contract-migration/keystore keystore COPY contract-migration/envlist . +COPY contract-migration/scripts scripts/ -# RUN chown grassroots:grassroots .local/ - -RUN mkdir -p /tmp/cic/config -RUN chown grassroots:grassroots /tmp/cic/config # A shared output dir for environment configs +RUN mkdir -p /tmp/cic/config +# RUN chown grassroots:grassroots /tmp/cic/config RUN chmod a+rwx /tmp/cic/config COPY contract-migration/*.sh ./ -RUN chown grassroots:grassroots -R . +# RUN chown grassroots:grassroots -R . RUN chmod gu+x *.sh +# we copied these from the root build container. +# this is dumb though...I guess the compile image should have the same user +# RUN chown grassroots:grassroots -R /usr/local/lib/python3.8/site-packages/ -USER grassroots +# USER grassroots ENTRYPOINT [ ] diff --git a/docker-compose.yml b/docker-compose.yml index 15261f30..ca5132a8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -76,6 +76,9 @@ services: contract-migration: build: + args: + pip_index_url: ${PIP_DEFAULT_INDEX_URL:-https://pypi.org/simple} + pip_extra_args: $PIP_EXTRA_ARGS context: apps/ dockerfile: contract-migration/docker/Dockerfile # image: registry.gitlab.com/grassrootseconomics/cic-internal-integration/contract-migration:latest