accounts-index

Accounts index evm contract tooling with permissioned writes
Log | Files | Refs

commit 85530a85f51a8a40e57083b6d3604ccb7b39139b
parent 1826416df91a6c9701a5b09ee1379907eed50952
Author: nolash <dev@holbrook.no>
Date:   Mon, 28 Jun 2021 09:18:12 +0200

Move to chainlib-eth

Diffstat:
Mpython/CHANGELOG | 40+++++++++++++++++++++-------------------
Mpython/eth_accounts_index/interface.py | 21+++++++++++++--------
Mpython/requirements.txt | 2+-
Apython/run_tests.sh | 12++++++++++++
Mpython/setup.cfg | 2+-
5 files changed, 48 insertions(+), 29 deletions(-)

diff --git a/python/CHANGELOG b/python/CHANGELOG @@ -1,25 +1,27 @@ -- 0.0.11 - - Add list cli command -- 0.0.10 - - Implement external signer - - Standardize cli arg flags - - Rename entry point executable names in setup -- 0.0.9 - - Fix wrong abi path in registry.py -- 0.0.8 - - Add executable to add writers and addresses after deploy -- 0.0.7 - - Rename contracts-dir flag to abi-dir - - Use package data dir as default abi dir -- 0.0.6 +- 0.0.12-pending + * Move to chainlib-eth +- 0.0.11-unreleased + * Add list cli command +- 0.0.10-unreleased + * Implement external signer + * Standardize cli arg flags + * Rename entry point executable names in setup +- 0.0.9-unreleased + * Fix wrong abi path in registry.py +- 0.0.8-unreleased + * Add executable to add writers and addresses after deploy +- 0.0.7-unreleased + * Rename contracts-dir flag to abi-dir + * Use package data dir as default abi dir +- 0.0.6-unreleased * Add owner flag to deploy script -- 0.0.5 +- 0.0.5-unreleased * Rename solidity file, add return values from evm functions -- 0.0.4 +- 0.0.4-unreleased * Update dependency versions -- 0.0.3 +- 0.0.3-unreleased * Move deploy script to within setup -- 0.0.2 +- 0.0.2-unreleased * (unrecorded changes) -- 0.0.1 +- 0.0.1-unreleased * Simple solidity method wrapper diff --git a/python/eth_accounts_index/interface.py b/python/eth_accounts_index/interface.py @@ -15,9 +15,7 @@ from chainlib.eth.contract import ( abi_decode_single, ) from chainlib.eth.constant import ZERO_ADDRESS -from chainlib.jsonrpc import ( - jsonrpc_template, - ) +from chainlib.jsonrpc import JSONRPCRequest from chainlib.eth.error import RequestMismatchException from hexathon import ( add_0x, @@ -45,8 +43,9 @@ class AccountsIndex(TxFactory): return self.__single_address_method('add', contract_address, sender_address, address, tx_format) - def have(self, contract_address, address, sender_address=ZERO_ADDRESS): - o = jsonrpc_template() + def have(self, contract_address, address, sender_address=ZERO_ADDRESS, id_generator=None): + j = JSONRPCRequest(id_generator) + o = j.template() o['method'] = 'eth_call' enc = ABIContractEncoder() enc.method('have') @@ -56,11 +55,13 @@ class AccountsIndex(TxFactory): tx = self.template(sender_address, contract_address) tx = self.set_code(tx, data) o['params'].append(self.normalize(tx)) + o = j.finalize(o) return o - def entry_count(self, contract_address, sender_address=ZERO_ADDRESS): - o = jsonrpc_template() + def entry_count(self, contract_address, sender_address=ZERO_ADDRESS, id_generator=None): + j = JSONRPCRequest(id_generator) + o = j.template() o['method'] = 'eth_call' enc = ABIContractEncoder() enc.method('entryCount') @@ -68,6 +69,7 @@ class AccountsIndex(TxFactory): tx = self.template(sender_address, contract_address) tx = self.set_code(tx, data) o['params'].append(self.normalize(tx)) + o = j.finalize(o) return o @@ -75,7 +77,9 @@ class AccountsIndex(TxFactory): return self.entry_count(contract_address, sender_address=sender_address) - def entry(self, contract_address, idx, sender_address=ZERO_ADDRESS): + def entry(self, contract_address, idx, sender_address=ZERO_ADDRESS, id_generator=None): + j = JSONRPCRequest(id_generator) + o = j.template() o = jsonrpc_template() o['method'] = 'eth_call' enc = ABIContractEncoder() @@ -86,6 +90,7 @@ class AccountsIndex(TxFactory): tx = self.template(sender_address, contract_address) tx = self.set_code(tx, data) o['params'].append(self.normalize(tx)) + o = j.finalize(o) return o diff --git a/python/requirements.txt b/python/requirements.txt @@ -1,3 +1,3 @@ confini~=0.3.6rc3 -chainlib~=0.0.3a1 +chainlib-eth~=0.0.5a1 crypto-dev-signer~=0.4.14b3 diff --git a/python/run_tests.sh b/python/run_tests.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -e +set -x +for f in `ls tests/*.py`; do + python $f + if [ $? -gt 0 ]; then + exit 1 + fi +done +set +x +set +e diff --git a/python/setup.cfg b/python/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = eth-accounts-index -version = 0.0.11a14 +version = 0.0.12a1 description = Accounts index evm contract tooling with permissioned writes author = Louis Holbrook author_email = dev@holbrook.no