accounts-index

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

commit 7a1c3ede9e1bc763eff6b56dddc4579d0f6bfabb
parent 14f1861f7807fdf7afa73287af45e4360bff8671
Author: lash <dev@holbrook.no>
Date:   Sat, 25 Mar 2023 12:52:59 +0000

Update interface id, simplify events more

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/setup.cfg | 2+-
Msolidity/AccountsIndex.sol | 47++++++++++++++++++++++++++++-------------------
5 files changed, 33 insertions(+), 24 deletions(-)

diff --git a/python/eth_accounts_index/data/AccountsIndex.bin b/python/eth_accounts_index/data/AccountsIndex.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611783806100c36000396000f3fe608060405234801561001057600080fd5b506004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900480635ae06f7e116100b4578063da2824a811610083578063da2824a81461033e578063e0db665b1461036e578063e2095c071461039e578063f2fde38b146103ce5761011d565b80635ae06f7e146102905780637c67a3e2146102c05780638da5cb5b146102f05780639f8a13d71461030e5761011d565b806329092d0e116100f057806329092d0e146101d05780632b29ba23146102005780633ea053eb146102305780633ef25013146102605761011d565b806301ffc9a7146101225780630a3b0a4f146101525780630cbb0f83146101825780631c5a9d9c146101a0575b600080fd5b61013c6004803603810190610137919061145a565b6103fe565b60405161014991906114a2565b60405180910390f35b61016c6004803603810190610167919061151b565b610552565b60405161017991906114a2565b60405180910390f35b61018a610734565b6040516101979190611561565b60405180910390f35b6101ba60048036038101906101b5919061151b565b61074d565b6040516101c791906114a2565b60405180910390f35b6101ea60048036038101906101e5919061151b565b610914565b6040516101f791906114a2565b60405180910390f35b61021a6004803603810190610215919061151b565b610bed565b60405161022791906114a2565b60405180910390f35b61024a6004803603810190610245919061151b565b610c0d565b60405161025791906114a2565b60405180910390f35b61027a6004803603810190610275919061151b565b610e2e565b60405161028791906114a2565b60405180910390f35b6102aa60048036038101906102a5919061151b565b610e79565b6040516102b791906114a2565b60405180910390f35b6102da60048036038101906102d5919061151b565b610f7b565b6040516102e79190611561565b60405180910390f35b6102f861101b565b604051610305919061158b565b60405180910390f35b6103286004803603810190610323919061151b565b611041565b60405161033591906114a2565b60405180910390f35b6103586004803603810190610353919061151b565b61113e565b60405161036591906114a2565b60405180910390f35b6103886004803603810190610383919061151b565b611249565b6040516103959190611561565b60405180910390f35b6103b860048036038101906103b391906115d2565b611261565b6040516103c5919061158b565b60405180910390f35b6103e860048036038101906103e3919061151b565b6112b4565b6040516103f591906114a2565b60405180910390f35b600063cbdb05c77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610452576001905061054d565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036104a4576001905061054d565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036104f6576001905061054d565b6380c84bd67c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610548576001905061054d565b600090505b919050565b6000806000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166105ad57600080fd5b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146105f957600080fd5b680100000000000000006000805490501061061357600080fd5b60008054905091506000849080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508167ffffffffffffffff1690506040429060020a028117905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f0e0a4bee74426fd0767a5c0887f18db17207090abad67f13ae982a18a000e3d785604051610721919061158b565b60405180910390a2600192505050919050565b60006001600080549050610748919061162e565b905090565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166107a557600080fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118015610845575070010000000000000000000000000000000080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205416145b61084e57600080fd5b6081600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254908060020a8204915050925050819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fffaad4faa619e554fc4a8a8cbc269aa4a4a33dcab80a7a5a8f75421018eb38b6600160405161090391906114a2565b60405180910390a360019050919050565b6000806000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661096f57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16633ef25013856040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016109c4919061158b565b602060405180830381865afa1580156109e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a05919061168e565b610a0e57600080fd5b6001600080549050610a20919061162e565b9050600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915080821015610b085760008181548110610a8057610a7f6116bb565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008381548110610abf57610abe6116bb565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000805480610b1a57610b196116ea565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f14c03038f91513ea128893e8d0865b80359ca07b96f819269baebe06732bb4ad85604051610bda919061158b565b60405180910390a2600192505050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c6557600080fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118015610d0657506000700100000000000000000000000000000000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205416145b610d0f57600080fd5b6081600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282549060020a0292505081905550700100000000000000000000000000000000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825417925050819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fffaad4faa619e554fc4a8a8cbc269aa4a4a33dcab80a7a5a8f75421018eb38b66000604051610e1d91906114a2565b60405180910390a360019050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054119050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed557600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690553373ffffffffffffffffffffffffffffffffffffffff167f39df39ed6dfb3955f48437f21bb5bc8fb02b45e95fab40ed708360c255af33e483604051610f6a919061158b565b60405180910390a260019050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610fc857600080fd5b6040600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054908060020a82049150509050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff16633ef25013836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401611098919061158b565b602060405180830381865afa1580156110b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d9919061168e565b8015611137575070010000000000000000000000000000000080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541614155b9050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461119a57600080fd5b6001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fd70794aee7ce40a1d5b28381c62e215884808f1b1af74ca65ec351ceb3cc8f3983604051611238919061158b565b60405180910390a260019050919050565b60016020528060005260406000206000915090505481565b6000806001836112719190611719565b81548110611282576112816116bb565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461131157600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001915050919050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61143781611402565b811461144257600080fd5b50565b6000813590506114548161142e565b92915050565b6000602082840312156114705761146f6113fd565b5b600061147e84828501611445565b91505092915050565b60008115159050919050565b61149c81611487565b82525050565b60006020820190506114b76000830184611493565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114e8826114bd565b9050919050565b6114f8816114dd565b811461150357600080fd5b50565b600081359050611515816114ef565b92915050565b600060208284031215611531576115306113fd565b5b600061153f84828501611506565b91505092915050565b6000819050919050565b61155b81611548565b82525050565b60006020820190506115766000830184611552565b92915050565b611585816114dd565b82525050565b60006020820190506115a0600083018461157c565b92915050565b6115af81611548565b81146115ba57600080fd5b50565b6000813590506115cc816115a6565b92915050565b6000602082840312156115e8576115e76113fd565b5b60006115f6848285016115bd565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061163982611548565b915061164483611548565b925082820390508181111561165c5761165b6115ff565b5b92915050565b61166b81611487565b811461167657600080fd5b50565b60008151905061168881611662565b92915050565b6000602082840312156116a4576116a36113fd565b5b60006116b284828501611679565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600061172482611548565b915061172f83611548565b9250828201905080821115611747576117466115ff565b5b9291505056fea2646970667358221220eba039a2de46529adce97d0fde4c669342f1dd823a81b14ed59e9ff46a87e66364736f6c63430008120033 -\ No newline at end of file +608060405234801561001057600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506116a6806100c36000396000f3fe608060405234801561001057600080fd5b5060043610610112576000357c0100000000000000000000000000000000000000000000000000000000900480633ef25013116100b45780639f8a13d7116100835780639f8a13d714610303578063da2824a814610333578063e2095c0714610363578063f2fde38b1461039357610112565b80633ef25013146102555780635ae06f7e146102855780637c67a3e2146102b55780638da5cb5b146102e557610112565b80631c5a9d9c116100f05780631c5a9d9c1461019557806329092d0e146101c55780632b29ba23146101f55780633ea053eb1461022557610112565b806301ffc9a7146101175780630a3b0a4f146101475780630cbb0f8314610177575b600080fd5b610131600480360381019061012c919061137d565b6103c3565b60405161013e91906113c5565b60405180910390f35b610161600480360381019061015c919061143e565b610517565b60405161016e91906113c5565b60405180910390f35b61017f6106e2565b60405161018c9190611484565b60405180910390f35b6101af60048036038101906101aa919061143e565b6106fb565b6040516101bc91906113c5565b60405180910390f35b6101df60048036038101906101da919061143e565b6108ab565b6040516101ec91906113c5565b60405180910390f35b61020f600480360381019061020a919061143e565b610b6d565b60405161021c91906113c5565b60405180910390f35b61023f600480360381019061023a919061143e565b610b8d565b60405161024c91906113c5565b60405180910390f35b61026f600480360381019061026a919061143e565b610d97565b60405161027c91906113c5565b60405180910390f35b61029f600480360381019061029a919061143e565b610de2565b6040516102ac91906113c5565b60405180910390f35b6102cf60048036038101906102ca919061143e565b610ecd565b6040516102dc9190611484565b60405180910390f35b6102ed610f6d565b6040516102fa91906114ae565b60405180910390f35b61031d6004803603810190610318919061143e565b610f93565b60405161032a91906113c5565b60405180910390f35b61034d6004803603810190610348919061143e565b611090565b60405161035a91906113c5565b60405180910390f35b61037d600480360381019061037891906114f5565b611184565b60405161038a91906114ae565b60405180910390f35b6103ad60048036038101906103a8919061143e565b6111d7565b6040516103ba91906113c5565b60405180910390f35b60006323c5568b7c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036104175760019050610512565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036104695760019050610512565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036104bb5760019050610512565b63abe1f1f57c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361050d5760019050610512565b600090505b919050565b6000806000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661057257600080fd5b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146105be57600080fd5b68010000000000000000600080549050106105d857600080fd5b60008054905091506000849080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508167ffffffffffffffff1690506040429060020a028117905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fa226db3f664042183ee0281230bba26cbf7b5057e50aee7f25a175ff45ce4d7f846040516106cf91906114ae565b60405180910390a1600192505050919050565b600060016000805490506106f69190611551565b905090565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661075357600080fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180156107f3575070010000000000000000000000000000000080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205416145b6107fc57600080fd5b6081600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254908060020a8204915050925050819055508173ffffffffffffffffffffffffffffffffffffffff167f6c1683ebc97302eea2914ef699f100cff18033070fc74fe23d2b6375871f04ec600160405161089a91906113c5565b60405180910390a260019050919050565b6000806000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661090657600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16633ef25013856040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040161095b91906114ae565b602060405180830381865afa158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c91906115b1565b6109a557600080fd5b60016000805490506109b79190611551565b9050600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915080821015610a9f5760008181548110610a1757610a166115de565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008381548110610a5657610a556115de565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000805480610ab157610ab061160d565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f24a12366c02e13fe4a9e03d86a8952e85bb74a456c16e4a18b6d8295700b74bb84604051610b5a91906114ae565b60405180910390a1600192505050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610be557600080fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118015610c8657506000700100000000000000000000000000000000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205416145b610c8f57600080fd5b6081600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282549060020a0292505081905550700100000000000000000000000000000000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825417925050819055508173ffffffffffffffffffffffffffffffffffffffff167f6c1683ebc97302eea2914ef699f100cff18033070fc74fe23d2b6375871f04ec6000604051610d8691906113c5565b60405180910390a260019050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054119050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3e57600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690557f9002f14780245e47491e7a2caae4712e7cea2e298e4e76c6916845145b90a51c82604051610ebc91906114ae565b60405180910390a160019050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610f1a57600080fd5b6040600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054908060020a82049150509050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff16633ef25013836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610fea91906114ae565b602060405180830381865afa158015611007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102b91906115b1565b8015611089575070010000000000000000000000000000000080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541614155b9050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ec57600080fd5b6001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6ff3aa2ea7b53070f6d9d07a445d338d89e8edef44250ffa8be19f53910d4a2e8260405161117391906114ae565b60405180910390a160019050919050565b600080600183611194919061163c565b815481106111a5576111a46115de565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461123457600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001915050919050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61135a81611325565b811461136557600080fd5b50565b60008135905061137781611351565b92915050565b60006020828403121561139357611392611320565b5b60006113a184828501611368565b91505092915050565b60008115159050919050565b6113bf816113aa565b82525050565b60006020820190506113da60008301846113b6565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061140b826113e0565b9050919050565b61141b81611400565b811461142657600080fd5b50565b60008135905061143881611412565b92915050565b60006020828403121561145457611453611320565b5b600061146284828501611429565b91505092915050565b6000819050919050565b61147e8161146b565b82525050565b60006020820190506114996000830184611475565b92915050565b6114a881611400565b82525050565b60006020820190506114c3600083018461149f565b92915050565b6114d28161146b565b81146114dd57600080fd5b50565b6000813590506114ef816114c9565b92915050565b60006020828403121561150b5761150a611320565b5b6000611519848285016114e0565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061155c8261146b565b91506115678361146b565b925082820390508181111561157f5761157e611522565b5b92915050565b61158e816113aa565b811461159957600080fd5b50565b6000815190506115ab81611585565b92915050565b6000602082840312156115c7576115c6611320565b5b60006115d58482850161159c565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60006116478261146b565b91506116528361146b565b925082820190508082111561166a57611669611522565b5b9291505056fea26469706673582212206f513b5caf8d85b0bdae1a717082a2a9a51ae8ac9754ef40e50cc99b20f9e03764736f6c63430008120033 +\ 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":"_executor","type":"address"},{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"bool","name":"_active","type":"bool"}],"name":"AddressActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_executor","type":"address"},{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"AddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_executor","type":"address"},{"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":true,"internalType":"address","name":"_executor","type":"address"},{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"WriterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_executor","type":"address"},{"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":"","type":"address"}],"name":"entryIndex","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":"","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"}] 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":"_executor","type":"address"},{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"bool","name":"_active","type":"bool"}],"name":"AddressActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_executor","type":"address"},{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"AddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_executor","type":"address"},{"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":true,"internalType":"address","name":"_executor","type":"address"},{"indexed":false,"internalType":"address","name":"_account","type":"address"}],"name":"WriterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_executor","type":"address"},{"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":"","type":"address"}],"name":"entryIndex","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":"CustodialAccountIndex"},"evmVersion":"byzantium","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":false,"runs":200},"remappings":[]},"sources":{"AccountsIndex.sol":{"keccak256":"0xc37643a38323e9ad8ea41965811bdab9c900152d996e5949527e609083208f1d","license":"GPL-3.0-or-later","urls":["bzz-raw://6d102738ec8942bcf684673b3deed97c652a48a7c493217e6ae9afd8661c7510","dweb:/ipfs/QmSjF4w43n2MyWcDbEmbPhdHDr42GYFbiGvCx4qss7ZA6t"]}},"version":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":"0xe30b54296e3afa5f2fa9ae5002ec185367df9a4503794abd408c17c9329d0ed0","license":"AGPL-3.0-or-later","urls":["bzz-raw://3ce6dc915b6a1e960eff07d02069ea9a38658902af76ab922205757d7ff2c0cf","dweb:/ipfs/QmVreH8qDr85uqLvHm44NENJuy1q1w1XYNXfYhguo4U2Bz"]}},"version":1} diff --git a/python/setup.cfg b/python/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = eth-accounts-index -version = 0.5.0 +version = 0.5.1 description = Accounts index evm contract tooling with permissioned writes author = Louis Holbrook author_email = dev@holbrook.no diff --git a/solidity/AccountsIndex.sol b/solidity/AccountsIndex.sol @@ -1,23 +1,32 @@ -pragma solidity >0.6.12; +pragma solidity >=0.8.0; -// SPDX-License-Identifier: GPL-3.0-or-later -// File-Version: 2 +// SPDX-License-Identifier: AGPL-3.0-or-later +// File-Version: 3 -contract CustodialAccountIndex { +contract AccountsIndex { uint256 constant blockedField = 1 << 128; address[] entryList; - mapping(address => uint256) public entryIndex; + mapping(address => uint256) entryIndex; + + // Implements Writer mapping(address => bool) public isWriter; + + // Implements ERC173 address public owner; - address newOwner; - event AddressAdded(address indexed _executor, address _account); // AccountsIndex - event AddressActive(address indexed _executor, address indexed _account, bool _active); - event AddressRemoved(address indexed _executor, address _account); + // Implements AccountsIndex + event AddressAdded(address _account); // AccountsIndex + // Implements AccountsIndex + event AddressActive(address indexed _account, bool _active); + // Implements AccountsIndex + event AddressRemoved(address _account); + // Implements ERC173 event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); // EIP173 - event WriterAdded(address indexed _executor, address _account); // AccountsIndex - event WriterDeleted(address indexed _executor, address _account); + // Implements Writer + event WriterAdded(address _account); // AccountsIndex + // Implements Writer + event WriterDeleted(address _account); constructor() { owner = msg.sender; @@ -31,14 +40,14 @@ contract CustodialAccountIndex { function addWriter(address _writer) public returns (bool) { require(owner == msg.sender); isWriter[_writer] = true; - emit WriterAdded(msg.sender, _writer); + emit WriterAdded(_writer); return true; } function deleteWriter(address _writer) public returns (bool) { require(owner == msg.sender); delete isWriter[_writer]; - emit WriterDeleted(msg.sender, _writer); + emit WriterDeleted(_writer); return true; } @@ -55,7 +64,7 @@ contract CustodialAccountIndex { _entry = uint64(i); _entry |= block.timestamp << 64; entryIndex[_account] = _entry; - emit AddressAdded(msg.sender, _account); + emit AddressAdded(_account); return true; } @@ -75,7 +84,7 @@ contract CustodialAccountIndex { } entryList.pop(); entryIndex[_account] = 0; - emit AddressRemoved(msg.sender, _account); + emit AddressRemoved(_account); return true; } @@ -85,7 +94,7 @@ contract CustodialAccountIndex { require(isWriter[msg.sender]); require(entryIndex[_account] > 0 && entryIndex[_account] & blockedField == blockedField); entryIndex[_account] >>= 129; - emit AddressActive(msg.sender, _account, true); + emit AddressActive(_account, true); return true; } @@ -96,7 +105,7 @@ contract CustodialAccountIndex { require(entryIndex[_account] > 0 && entryIndex[_account] & blockedField == 0); entryIndex[_account] <<= 129; entryIndex[_account] |= blockedField; - emit AddressActive(msg.sender, _account, false); + emit AddressActive(_account, false); return true; } @@ -136,7 +145,7 @@ contract CustodialAccountIndex { // Implements EIP165 function supportsInterface(bytes4 _sum) public pure returns (bool) { - if (_sum == 0xcbdb05c7) { // AccountsIndex + if (_sum == 0x23c5568b) { // AccountsIndex return true; } if (_sum == 0x01ffc9a7) { // EIP165 @@ -145,7 +154,7 @@ contract CustodialAccountIndex { if (_sum == 0x9493f8b2) { // EIP173 return true; } - if (_sum == 0x80c84bd6) { // Writer + if (_sum == 0xabe1f1f5) { // Writer return true; } return false;