eth-accounts-index

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

commit 6722b880fd4bf77dc974b9747a5d4afd028036ed
parent 638e45adcdfd3a77f0571fd1629d22a42c92f5b2
Author: lash <dev@holbrook.no>
Date:   Mon, 15 Apr 2024 11:23:34 +0100

Include owner as writer, upgrade deps

Diffstat:
Mpython/eth_accounts_index/data/AccountsIndex.bin | 4++--
Mpython/eth_accounts_index/data/AccountsIndex.json | 2+-
Mpython/eth_accounts_index/data/AccountsIndex.metadata.json | 2+-
Mpython/requirements.txt | 3++-
Mpython/setup.cfg | 2+-
Mpython/test_requirements.txt | 5+++--
Msolidity/AccountsIndex.sol | 19++++++++++++-------
7 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/python/eth_accounts_index/data/AccountsIndex.bin b/python/eth_accounts_index/data/AccountsIndex.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611b43806100c36000396000f3fe608060405234801561001057600080fd5b5060043610610112576000357c0100000000000000000000000000000000000000000000000000000000900480633ef25013116100b45780639f8a13d7116100835780639f8a13d714610303578063da2824a814610333578063e2095c0714610363578063f2fde38b1461039357610112565b80633ef25013146102555780635ae06f7e146102855780637c67a3e2146102b55780638da5cb5b146102e557610112565b80631c5a9d9c116100f05780631c5a9d9c1461019557806329092d0e146101c55780632b29ba23146101f55780633ea053eb1461022557610112565b806301ffc9a7146101175780630a3b0a4f146101475780630cbb0f8314610177575b600080fd5b610131600480360381019061012c91906115ed565b6103c3565b60405161013e9190611635565b60405180910390f35b610161600480360381019061015c91906116ae565b610569565b60405161016e9190611635565b60405180910390f35b61017f610734565b60405161018c91906116f4565b60405180910390f35b6101af60048036038101906101aa91906116ae565b61074d565b6040516101bc9190611635565b60405180910390f35b6101df60048036038101906101da91906116ae565b6109a0565b6040516101ec9190611635565b60405180910390f35b61020f600480360381019061020a91906116ae565b610cce565b60405161021c9190611635565b60405180910390f35b61023f600480360381019061023a91906116ae565b610cee565b60405161024c9190611635565b60405180910390f35b61026f600480360381019061026a91906116ae565b610f65565b60405161027c9190611635565b60405180910390f35b61029f600480360381019061029a91906116ae565b610fb0565b6040516102ac9190611635565b60405180910390f35b6102cf60048036038101906102ca91906116ae565b6110d1565b6040516102dc91906116f4565b60405180910390f35b6102ed611171565b6040516102fa919061171e565b60405180910390f35b61031d600480360381019061031891906116ae565b611197565b60405161032a9190611635565b60405180910390f35b61034d600480360381019061034891906116ae565b611294565b60405161035a9190611635565b60405180910390f35b61037d60048036038101906103789190611765565b6113be565b60405161038a919061171e565b60405180910390f35b6103ad60048036038101906103a891906116ae565b611411565b6040516103ba9190611635565b60405180910390f35b600063b7bca6257c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036104175760019050610564565b639479f0ae7c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036104695760019050610564565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036104bb5760019050610564565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361050d5760019050610564565b63abe1f1f57c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361055f5760019050610564565b600090505b919050565b6000806000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166105c457600080fd5b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461061057600080fd5b680100000000000000006000805490501061062a57600080fd5b60008054905091506000849080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508167ffffffffffffffff1690506040429060020a028117905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fa226db3f664042183ee0281230bba26cbf7b5057e50aee7f25a175ff45ce4d7f84604051610721919061171e565b60405180910390a1600192505050919050565b6000600160008054905061074891906117c1565b905090565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166107db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d290611852565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161085d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610854906118be565b60405180910390fd5b70010000000000000000000000000000000080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205416146108f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e89061192a565b60405180910390fd5b6081600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254908060020a8204915050925050819055508173ffffffffffffffffffffffffffffffffffffffff167f6c1683ebc97302eea2914ef699f100cff18033070fc74fe23d2b6375871f04ec600160405161098f9190611635565b60405180910390a260019050919050565b6000806000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2890611852565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16633ef25013856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610a86919061171e565b602060405180830381865afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac79190611976565b610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd906119ef565b60405180910390fd5b6001600080549050610b1891906117c1565b9050600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915080821015610c005760008181548110610b7857610b77611a0f565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008381548110610bb757610bb6611a0f565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000805480610c1257610c11611a3e565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f24a12366c02e13fe4a9e03d86a8952e85bb74a456c16e4a18b6d8295700b74bb84604051610cbb919061171e565b60405180910390a1600192505050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d4657600080fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbf906118be565b60405180910390fd5b6000700100000000000000000000000000000000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541614610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5490611ab9565b60405180910390fd5b6081600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282549060020a0292505081905550700100000000000000000000000000000000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825417925050819055508173ffffffffffffffffffffffffffffffffffffffff167f6c1683ebc97302eea2914ef699f100cff18033070fc74fe23d2b6375871f04ec6000604051610f549190611635565b60405180910390a260019050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054119050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103990611852565b60405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690557f9002f14780245e47491e7a2caae4712e7cea2e298e4e76c6916845145b90a51c826040516110c0919061171e565b60405180910390a160019050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161111e57600080fd5b6040600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054908060020a82049150509050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff16633ef25013836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016111ee919061171e565b602060405180830381865afa15801561120b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122f9190611976565b801561128d575070010000000000000000000000000000000080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541614155b9050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d90611852565b60405180910390fd5b6001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6ff3aa2ea7b53070f6d9d07a445d338d89e8edef44250ffa8be19f53910d4a2e826040516113ad919061171e565b60405180910390a160019050919050565b6000806001836113ce9190611ad9565b815481106113df576113de611a0f565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149b90611852565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001915050919050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6115ca81611595565b81146115d557600080fd5b50565b6000813590506115e7816115c1565b92915050565b60006020828403121561160357611602611590565b5b6000611611848285016115d8565b91505092915050565b60008115159050919050565b61162f8161161a565b82525050565b600060208201905061164a6000830184611626565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061167b82611650565b9050919050565b61168b81611670565b811461169657600080fd5b50565b6000813590506116a881611682565b92915050565b6000602082840312156116c4576116c3611590565b5b60006116d284828501611699565b91505092915050565b6000819050919050565b6116ee816116db565b82525050565b600060208201905061170960008301846116e5565b92915050565b61171881611670565b82525050565b6000602082019050611733600083018461170f565b92915050565b611742816116db565b811461174d57600080fd5b50565b60008135905061175f81611739565b92915050565b60006020828403121561177b5761177a611590565b5b600061178984828501611750565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006117cc826116db565b91506117d7836116db565b92508282039050818111156117ef576117ee611792565b5b92915050565b600082825260208201905092915050565b7f4552525f41585800000000000000000000000000000000000000000000000000600082015250565b600061183c6007836117f5565b915061184782611806565b602082019050919050565b6000602082019050818103600083015261186b8161182f565b9050919050565b7f4552525f4e4f545f464f554e4400000000000000000000000000000000000000600082015250565b60006118a8600d836117f5565b91506118b382611872565b602082019050919050565b600060208201905081810360008301526118d78161189b565b9050919050565b7f4552525f4e4f545f424c4f434b45440000000000000000000000000000000000600082015250565b6000611914600f836117f5565b915061191f826118de565b602082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b6119538161161a565b811461195e57600080fd5b50565b6000815190506119708161194a565b92915050565b60006020828403121561198c5761198b611590565b5b600061199a84828501611961565b91505092915050565b7f4552525f41434c00000000000000000000000000000000000000000000000000600082015250565b60006119d96007836117f5565b91506119e4826119a3565b602082019050919050565b60006020820190508181036000830152611a08816119cc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552525f4e4f545f414354495645000000000000000000000000000000000000600082015250565b6000611aa3600e836117f5565b9150611aae82611a6d565b602082019050919050565b60006020820190508181036000830152611ad281611a96565b9050919050565b6000611ae4826116db565b9150611aef836116db565b9250828201905080821115611b0757611b06611792565b5b9291505056fea26469706673582212206045931d9d3b492e93c3284a48f8ea1930fecd9dd4300d340aae78e0f6db422c64736f6c63430008120033 -\ No newline at end of file +608060405234801561001057600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611b1c806100c36000396000f3fe608060405234801561001057600080fd5b506004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900480635ae06f7e116100b45780639f8a13d7116100835780639f8a13d71461033e578063da2824a81461036e578063e2095c071461039e578063f2fde38b146103ce5761011d565b80635ae06f7e146102905780637c67a3e2146102c05780638da5cb5b146102f05780638e7e80a21461030e5761011d565b806329092d0e116100f057806329092d0e146101d05780632b29ba23146102005780633ea053eb146102305780633ef25013146102605761011d565b806301ffc9a7146101225780630a3b0a4f146101525780630cbb0f83146101825780631c5a9d9c146101a0575b600080fd5b61013c600480360381019061013791906115c6565b6103fe565b604051610149919061160e565b60405180910390f35b61016c60048036038101906101679190611687565b6105a4565b604051610179919061160e565b60405180910390f35b61018a61072b565b60405161019791906116cd565b60405180910390f35b6101ba60048036038101906101b59190611687565b610744565b6040516101c7919061160e565b60405180910390f35b6101ea60048036038101906101e59190611687565b610953565b6040516101f7919061160e565b60405180910390f35b61021a60048036038101906102159190611687565b610c3d565b604051610227919061160e565b60405180910390f35b61024a60048036038101906102459190611687565b610ceb565b604051610257919061160e565b60405180910390f35b61027a60048036038101906102759190611687565b610f1e565b604051610287919061160e565b60405180910390f35b6102aa60048036038101906102a59190611687565b610f69565b6040516102b7919061160e565b60405180910390f35b6102da60048036038101906102d59190611687565b61108a565b6040516102e791906116cd565b60405180910390f35b6102f861112a565b60405161030591906116f7565b60405180910390f35b61032860048036038101906103239190611687565b611150565b604051610335919061160e565b60405180910390f35b61035860048036038101906103539190611687565b611170565b604051610365919061160e565b60405180910390f35b61038860048036038101906103839190611687565b61126d565b604051610395919061160e565b60405180910390f35b6103b860048036038101906103b3919061173e565b611397565b6040516103c591906116f7565b60405180910390f35b6103e860048036038101906103e39190611687565b6113ea565b6040516103f5919061160e565b60405180910390f35b600063b7bca6257c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610452576001905061059f565b639479f0ae7c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036104a4576001905061059f565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036104f6576001905061059f565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610548576001905061059f565b63abe1f1f57c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361059a576001905061059f565b600090505b919050565b60008060006105b233610c3d565b6105bb57600080fd5b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461060757600080fd5b680100000000000000006000805490501061062157600080fd5b60008054905091506000849080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508167ffffffffffffffff1690506040429060020a028117905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fa226db3f664042183ee0281230bba26cbf7b5057e50aee7f25a175ff45ce4d7f8460405161071891906116f7565b60405180910390a1600192505050919050565b6000600160008054905061073f919061179a565b905090565b600061074f33610c3d565b61078e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107859061182b565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080790611897565b60405180910390fd5b70010000000000000000000000000000000080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205416146108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089b90611903565b60405180910390fd5b6081600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254908060020a8204915050925050819055508173ffffffffffffffffffffffffffffffffffffffff167f6c1683ebc97302eea2914ef699f100cff18033070fc74fe23d2b6375871f04ec6001604051610942919061160e565b60405180910390a260019050919050565b600080600061096133610c3d565b6109a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109979061182b565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16633ef25013856040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016109f591906116f7565b602060405180830381865afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a36919061194f565b610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c906119c8565b60405180910390fd5b6001600080549050610a87919061179a565b9050600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915080821015610b6f5760008181548110610ae757610ae66119e8565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008381548110610b2657610b256119e8565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000805480610b8157610b80611a17565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f24a12366c02e13fe4a9e03d86a8952e85bb74a456c16e4a18b6d8295700b74bb84604051610c2a91906116f7565b60405180910390a1600192505050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610ce45750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6000610cf633610c3d565b610cff57600080fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7890611897565b60405180910390fd5b6000700100000000000000000000000000000000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541614610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90611a92565b60405180910390fd5b6081600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282549060020a0292505081905550700100000000000000000000000000000000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825417925050819055508173ffffffffffffffffffffffffffffffffffffffff167f6c1683ebc97302eea2914ef699f100cff18033070fc74fe23d2b6375871f04ec6000604051610f0d919061160e565b60405180910390a260019050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054119050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff29061182b565b60405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690557f9002f14780245e47491e7a2caae4712e7cea2e298e4e76c6916845145b90a51c8260405161107991906116f7565b60405180910390a160019050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116110d757600080fd5b6040600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054908060020a82049150509050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b60003073ffffffffffffffffffffffffffffffffffffffff16633ef25013836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016111c791906116f7565b602060405180830381865afa1580156111e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611208919061194f565b8015611266575070010000000000000000000000000000000080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541614155b9050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f69061182b565b60405180910390fd5b6001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6ff3aa2ea7b53070f6d9d07a445d338d89e8edef44250ffa8be19f53910d4a2e8260405161138691906116f7565b60405180910390a160019050919050565b6000806001836113a79190611ab2565b815481106113b8576113b76119e8565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114749061182b565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001915050919050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6115a38161156e565b81146115ae57600080fd5b50565b6000813590506115c08161159a565b92915050565b6000602082840312156115dc576115db611569565b5b60006115ea848285016115b1565b91505092915050565b60008115159050919050565b611608816115f3565b82525050565b600060208201905061162360008301846115ff565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061165482611629565b9050919050565b61166481611649565b811461166f57600080fd5b50565b6000813590506116818161165b565b92915050565b60006020828403121561169d5761169c611569565b5b60006116ab84828501611672565b91505092915050565b6000819050919050565b6116c7816116b4565b82525050565b60006020820190506116e260008301846116be565b92915050565b6116f181611649565b82525050565b600060208201905061170c60008301846116e8565b92915050565b61171b816116b4565b811461172657600080fd5b50565b60008135905061173881611712565b92915050565b60006020828403121561175457611753611569565b5b600061176284828501611729565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006117a5826116b4565b91506117b0836116b4565b92508282039050818111156117c8576117c761176b565b5b92915050565b600082825260208201905092915050565b7f4552525f41585800000000000000000000000000000000000000000000000000600082015250565b60006118156007836117ce565b9150611820826117df565b602082019050919050565b6000602082019050818103600083015261184481611808565b9050919050565b7f4552525f4e4f545f464f554e4400000000000000000000000000000000000000600082015250565b6000611881600d836117ce565b915061188c8261184b565b602082019050919050565b600060208201905081810360008301526118b081611874565b9050919050565b7f4552525f4e4f545f424c4f434b45440000000000000000000000000000000000600082015250565b60006118ed600f836117ce565b91506118f8826118b7565b602082019050919050565b6000602082019050818103600083015261191c816118e0565b9050919050565b61192c816115f3565b811461193757600080fd5b50565b60008151905061194981611923565b92915050565b60006020828403121561196557611964611569565b5b60006119738482850161193a565b91505092915050565b7f4552525f41434c00000000000000000000000000000000000000000000000000600082015250565b60006119b26007836117ce565b91506119bd8261197c565b602082019050919050565b600060208201905081810360008301526119e1816119a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552525f4e4f545f414354495645000000000000000000000000000000000000600082015250565b6000611a7c600e836117ce565b9150611a8782611a46565b602082019050919050565b60006020820190508181036000830152611aab81611a6f565b9050919050565b6000611abd826116b4565b9150611ac8836116b4565b9250828201905080821115611ae057611adf61176b565b5b9291505056fea2646970667358221220958750c8ecc09de75ae9e1ff55e5a7d145693f8d65381273561d959c8543d94964736f6c63430008130033 +\ No newline at end of file diff --git a/python/eth_accounts_index/data/AccountsIndex.json b/python/eth_accounts_index/data/AccountsIndex.json @@ -1 +1 @@ -[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"bool","name":"_active","type":"bool"}],"name":"AddressActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"AddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"AddressRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"WriterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"WriterDeleted","type":"event"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"activate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"add","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"addWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"deactivate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"deleteWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_i","type":"uint256"}],"name":"entry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"entryCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"have","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"remove","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"time","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] +[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"bool","name":"_active","type":"bool"}],"name":"AddressActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"AddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"AddressRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"WriterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"WriterDeleted","type":"event"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"activate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"add","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"addWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"deactivate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"deleteWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_i","type":"uint256"}],"name":"entry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"entryCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"have","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"isWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"remove","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"time","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"writers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}] diff --git a/python/eth_accounts_index/data/AccountsIndex.metadata.json b/python/eth_accounts_index/data/AccountsIndex.metadata.json @@ -1 +1 @@ -{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"bool","name":"_active","type":"bool"}],"name":"AddressActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"AddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"AddressRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"WriterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"WriterDeleted","type":"event"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"activate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"add","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"addWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"deactivate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"deleteWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_i","type":"uint256"}],"name":"entry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"entryCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"have","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"remove","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"time","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"compilationTarget":{"AccountsIndex.sol":"AccountsIndex"},"evmVersion":"byzantium","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":false,"runs":200},"remappings":[]},"sources":{"AccountsIndex.sol":{"keccak256":"0xd889ca99f06c6854bb0b347a3661421b9eb7726bf0940507a51ccc0e71895a5f","license":"AGPL-3.0-or-later","urls":["bzz-raw://fa6834759f7015ad9eec0b636e0c688fb1aaa9a2ccaacae8f4335e0d4da75e17","dweb:/ipfs/QmSs2ZNLNkFLiZeAFqs3S9mGW8BfuhZjgNMw5gzMwdveUg"]}},"version":1} +{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"bool","name":"_active","type":"bool"}],"name":"AddressActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"AddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"AddressRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"WriterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"WriterDeleted","type":"event"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"activate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"add","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"addWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"deactivate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"deleteWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_i","type":"uint256"}],"name":"entry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"entryCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"have","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"isWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"remove","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"time","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"writers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"compilationTarget":{"AccountsIndex.sol":"AccountsIndex"},"evmVersion":"byzantium","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":false,"runs":200},"remappings":[]},"sources":{"AccountsIndex.sol":{"keccak256":"0x49353964bdcca15cb5ea2fd8ec1fa525a6ebc34e5a5a6bd817f51242561d30e1","license":"AGPL-3.0-or-later","urls":["bzz-raw://fd4286cf38a61932edd096fcaa8d927557650490ba9b260f0cc07e512f3906b2","dweb:/ipfs/Qmd7bFpa8tAY1P5yfonrXJ6CJS9VF3xRJM6Fq8uJrjYk9u"]}},"version":1} diff --git a/python/requirements.txt b/python/requirements.txt @@ -1,2 +1,3 @@ confini~=0.6.0 -chainlib-eth~=0.4.7 +#chainlib-eth>=0.4.24,<0.6.0 +chainlib-eth~=0.6.2 diff --git a/python/setup.cfg b/python/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = eth-accounts-index -version = 0.5.3 +version = 0.6.0 description = Accounts index evm contract tooling with permissioned writes author = Louis Holbrook author_email = dev@holbrook.no diff --git a/python/test_requirements.txt b/python/test_requirements.txt @@ -1,2 +1,3 @@ -eth_tester==0.5.0b3 -py-evm==0.3.0a20 +eth_tester==0.10.0b4 +py-evm==0.10.0b4 + diff --git a/solidity/AccountsIndex.sol b/solidity/AccountsIndex.sol @@ -9,7 +9,7 @@ contract AccountsIndex { mapping(address => uint256) entryIndex; // Implements Writer - mapping(address => bool) public isWriter; + mapping(address => bool) public writers; // Implements ERC173 address public owner; @@ -40,7 +40,7 @@ contract AccountsIndex { // Implements Writer function addWriter(address _writer) public returns (bool) { require(owner == msg.sender, 'ERR_AXX'); - isWriter[_writer] = true; + writers[_writer] = true; emit WriterAdded(_writer); return true; } @@ -48,17 +48,22 @@ contract AccountsIndex { // Implements Writer function deleteWriter(address _writer) public returns (bool) { require(owner == msg.sender, 'ERR_AXX'); - delete isWriter[_writer]; + delete writers[_writer]; emit WriterDeleted(_writer); return true; } + // Implements Writer + function isWriter(address _writer) public view returns (bool) { + return writers[_writer] || _writer == owner; + } + // Implements AccountsIndex function add(address _account) external returns (bool) { uint256 i; uint256 _entry; - require(isWriter[msg.sender]); + require(isWriter(msg.sender)); require(entryIndex[_account] == 0); require(entryList.length < (1 << 64)); i = entryList.length; @@ -75,7 +80,7 @@ contract AccountsIndex { uint256 i; uint256 l; - require(isWriter[msg.sender], 'ERR_AXX'); + require(isWriter(msg.sender), 'ERR_AXX'); require(this.have(_account), 'ERR_ACL'); l = entryList.length - 1; @@ -92,7 +97,7 @@ contract AccountsIndex { // Implements AccountsIndexMutable function activate(address _account) external returns (bool) { - require(isWriter[msg.sender], 'ERR_AXX'); + require(isWriter(msg.sender), 'ERR_AXX'); require(entryIndex[_account] > 0, 'ERR_NOT_FOUND'); require(entryIndex[_account] & blockedField == blockedField, 'ERR_NOT_BLOCKED'); entryIndex[_account] >>= 129; @@ -102,7 +107,7 @@ contract AccountsIndex { // Implements AccountsIndexMutable function deactivate(address _account) external returns (bool) { - require(isWriter[msg.sender]); + require(isWriter(msg.sender)); require(entryIndex[_account] > 0, 'ERR_NOT_FOUND'); require(entryIndex[_account] & blockedField == 0, 'ERR_NOT_ACTIVE'); entryIndex[_account] <<= 129;