eth-address-index

signed metadata declarations for ethereum addresses
Log | Files | Refs

commit 9a8b90ec61a9c98eaa2720875e502b655b1a372c
parent 155f8caf9b7f77204603236687ba4d9b340b4f6f
Author: lash <dev@holbrook.no>
Date:   Fri, 24 Mar 2023 11:10:02 +0000

Set zero bytes for topic-less declaration

Diffstat:
Mpython/CHANGELOG | 2++
Mpython/eth_address_declarator/data/AddressDeclarator.bin | 4++--
Mpython/eth_address_declarator/data/AddressDeclarator.json | 2+-
Mpython/eth_address_declarator/data/AddressDeclarator.metadata.json | 2+-
Mpython/setup.cfg | 2+-
Msolidity/AddressDeclarator.bin | 4++--
Msolidity/AddressDeclarator.json | 2+-
Msolidity/AddressDeclarator.sol | 46++++++++++++++++++++++++----------------------
8 files changed, 34 insertions(+), 30 deletions(-)

diff --git a/python/CHANGELOG b/python/CHANGELOG @@ -1,3 +1,5 @@ +- 0.7.2 + * Set bytes32(0) as topic for topic-less declaration - 0.7.1 * Add topic option to declarations - 0.7.0 diff --git a/python/eth_address_declarator/data/AddressDeclarator.bin b/python/eth_address_declarator/data/AddressDeclarator.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b50604051620023bd380380620023bd8339818101604052810190620000379190620008d5565b6200005230826200005a640100000000026401000000009004565b505062000ba0565b60006200006662000802565b6060600062000086328787620002de640100000000026401000000009004565b92506001600084600060028110620000a357620000a262000907565b5b60200201518152602001908152602001600020549050600081036200025657600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020329080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004829080600181540180825580915050600190039060005260206000200160009091909190915090805190602001906200019f92919062000824565b506000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020869080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016004805490506200025391906200096f565b90505b80600160008560006002811062000272576200027162000907565b5b602002015181526020019081526020016000208190555060048181548110620002a0576200029f62000907565b5b906000526020600020018590806001815401808255809150506001900390600052602060002001600090919091909150556001935050505092915050565b620002e862000802565b6000620002f462000802565b6000604067ffffffffffffffff811115620003145762000313620009aa565b5b6040519080825280601f01601f191660200182016040528015620003475781602001600182028036833780820191505090505b5090506200036587876200055c640100000000026401000000009004565b925060005b602081101562000408578381602081106200038a576200038962000907565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002828281518110620003c357620003c262000907565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080620003ff90620009d9565b9150506200036a565b5060005b6020811015620004b8578581602081106200042c576200042b62000907565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002826020836200045f919062000a26565b8151811062000473576200047262000907565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080620004af90620009d9565b9150506200040c565b508282600060028110620004d157620004d062000907565b5b602002018181525050600281604051620004ec919062000ada565b602060405180830381855afa1580156200050a573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906200052f9190620008d5565b8260016002811062000546576200054562000907565b5b6020020181815250508193505050509392505050565b6000806000602867ffffffffffffffff8111156200057f576200057e620009aa565b5b6040519080825280601f01601f191660200182016040528015620005b25781602001600182028036833780820191505090505b509050600085604051602001620005ca919062000b83565b604051602081830303815290604052905060005b6014811015620006a357818181518110620005fe57620005fd62000907565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028382815181106200065e576200065d62000907565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806200069a90620009d9565b915050620005de565b5084604051602001620006b7919062000b83565b604051602081830303815290604052905060005b60148110156200079e57818181518110620006eb57620006ea62000907565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028360148362000745919062000a26565b8151811062000759576200075862000907565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806200079590620009d9565b915050620006cb565b50600282604051620007b1919062000ada565b602060405180830381855afa158015620007cf573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190620007f49190620008d5565b925082935050505092915050565b6040518060400160405280600290602082028036833780820191505090505090565b82805482825590600052602060002090810192821562000863579160200282015b828111156200086257825182559160200191906001019062000845565b5b50905062000872919062000876565b5090565b5b808211156200089157600081600090555060010162000877565b5090565b600080fd5b6000819050919050565b620008af816200089a565b8114620008bb57600080fd5b50565b600081519050620008cf81620008a4565b92915050565b600060208284031215620008ee57620008ed62000895565b5b6000620008fe84828501620008be565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200097c8262000936565b9150620009898362000936565b9250828203905081811115620009a457620009a362000940565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000620009e68262000936565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000a1b5762000a1a62000940565b5b600182019050919050565b600062000a338262000936565b915062000a408362000936565b925082820190508082111562000a5b5762000a5a62000940565b5b92915050565b600081519050919050565b600081905092915050565b60005b8381101562000a9757808201518184015260208101905062000a7a565b60008484015250505050565b600062000ab08262000a61565b62000abc818562000a6c565b935062000ace81856020860162000a77565b80840191505092915050565b600062000ae8828462000aa3565b915081905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b208262000af3565b9050919050565b60006c0100000000000000000000000082029050919050565b600062000b4d8262000b27565b9050919050565b600062000b618262000b40565b9050919050565b62000b7d62000b778262000b13565b62000b54565b82525050565b600062000b91828462000b68565b60148201915081905092915050565b61180d8062000bb06000396000f3fe608060405234801561001057600080fd5b50600436106100bb576000357c0100000000000000000000000000000000000000000000000000000000900480638c661b36116100835780638c661b36146101b057806390387bab146101e0578063ae47ece014610210578063d0e95db114610240578063ff7496b414610270576100bb565b806301ffc9a7146100c057806322168e4f146100f057806350e0c6d3146101205780636ef498a0146101505780637d64bf1d14610180575b600080fd5b6100da60048036038101906100d59190611103565b6102a0565b6040516100e7919061114b565b60405180910390f35b61010a600480360381019061010591906111fa565b610350565b6040516101179190611249565b60405180910390f35b61013a60048036038101906101359190611264565b6103d5565b60405161014791906112a0565b60405180910390f35b61016a600480360381019061016591906112f1565b610420565b604051610177919061114b565b60405180910390f35b61019a600480360381019061019591906111fa565b610684565b6040516101a79190611249565b60405180910390f35b6101ca60048036038101906101c59190611344565b61070a565b6040516101d79190611442565b60405180910390f35b6101fa60048036038101906101f59190611464565b6107a8565b6040516102079190611442565b60405180910390f35b61022a600480360381019061022591906114b7565b610867565b604051610237919061114b565b60405180910390f35b61025a60048036038101906102559190611264565b610aca565b60405161026791906112a0565b60405180910390f35b61028a600480360381019061028591906114f7565b610b16565b6040516102979190611546565b60405180910390f35b60006327beb9107c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036102f4576001905061034b565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610346576001905061034b565b600090505b919050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106103a2576103a1611561565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600061042a61101a565b60606000610439328887610b53565b9250600160008460016002811061045357610452611561565b5b602002015181526020019081526020016000205490506000810361060157600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020329080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060048290806001815401808255809150506001900390600052602060002001600090919091909150908051906020019061054c92919061103c565b506000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020879080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016004805490506105fe91906115bf565b90505b80600160008560016002811061061a57610619611561565b5b60200201518152602001908152602001600020819055506004818154811061064557610644611561565b5b90600052602060002001869080600181540180825580915050600190039060005260206000200160009091909190915055600193505050509392505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106106d7576106d6611561565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60606000806107198585610d97565b9150600160008381526020019081526020016000205490506004818154811061074557610744611561565b5b9060005260206000200180548060200260200160405190810160405280929190818152602001828054801561079957602002820191906000526020600020905b815481526020019060010190808311610785575b50505050509250505092915050565b60606107b261101a565b60006107bf868686610b53565b915060016000836001600281106107d9576107d8611561565b5b602002015181526020019081526020016000205490506004818154811061080357610802611561565b5b9060005260206000200180548060200260200160405190810160405280929190818152602001828054801561085757602002820191906000526020600020905b815481526020019060010190808311610843575b5050505050925050509392505050565b600061087161101a565b60606000610880328787610b53565b9250600160008460006002811061089a57610899611561565b5b6020020151815260200190815260200160002054905060008103610a4857600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020329080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060048290806001815401808255809150506001900390600052602060002001600090919091909150908051906020019061099392919061103c565b506000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020869080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600480549050610a4591906115bf565b90505b806001600085600060028110610a6157610a60611561565b5b602002015181526020019081526020016000208190555060048181548110610a8c57610a8b611561565b5b906000526020600020018590806001815401808255809150506001900390600052602060002001600090919091909150556001935050505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60048281548110610b2657600080fd5b906000526020600020018181548110610b3e57600080fd5b90600052602060002001600091509150505481565b610b5b61101a565b6000610b6561101a565b6000604067ffffffffffffffff811115610b8257610b816115f3565b5b6040519080825280601f01601f191660200182016040528015610bb45781602001600182028036833780820191505090505b509050610bc18787610d97565b925060005b6020811015610c5a57838160208110610be257610be1611561565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002828281518110610c1857610c17611561565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610c5290611622565b915050610bc6565b5060005b6020811015610cfe57858160208110610c7a57610c79611561565b5b1a7f01000000000000000000000000000000000000000000000000000000000000000282602083610cab919061166a565b81518110610cbc57610cbb611561565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610cf690611622565b915050610c5e565b508282600060028110610d1457610d13611561565b5b602002018181525050600281604051610d2d919061170f565b602060405180830381855afa158015610d4a573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610d6d919061173b565b82600160028110610d8157610d80611561565b5b6020020181815250508193505050509392505050565b6000806000602867ffffffffffffffff811115610db757610db66115f3565b5b6040519080825280601f01601f191660200182016040528015610de95781602001600182028036833780820191505090505b509050600085604051602001610dff91906117bc565b604051602081830303815290604052905060005b6014811015610ece57818181518110610e2f57610e2e611561565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002838281518110610e8c57610e8b611561565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610ec690611622565b915050610e13565b5084604051602001610ee091906117bc565b604051602081830303815290604052905060005b6014811015610fbb57818181518110610f1057610f0f611561565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f01000000000000000000000000000000000000000000000000000000000000000283601483610f68919061166a565b81518110610f7957610f78611561565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610fb390611622565b915050610ef4565b50600282604051610fcc919061170f565b602060405180830381855afa158015610fe9573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061100c919061173b565b925082935050505092915050565b6040518060400160405280600290602082028036833780820191505090505090565b828054828255906000526020600020908101928215611078579160200282015b8281111561107757825182559160200191906001019061105c565b5b5090506110859190611089565b5090565b5b808211156110a257600081600090555060010161108a565b5090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6110e0816110ab565b81146110eb57600080fd5b50565b6000813590506110fd816110d7565b92915050565b600060208284031215611119576111186110a6565b5b6000611127848285016110ee565b91505092915050565b60008115159050919050565b61114581611130565b82525050565b6000602082019050611160600083018461113c565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061119182611166565b9050919050565b6111a181611186565b81146111ac57600080fd5b50565b6000813590506111be81611198565b92915050565b6000819050919050565b6111d7816111c4565b81146111e257600080fd5b50565b6000813590506111f4816111ce565b92915050565b60008060408385031215611211576112106110a6565b5b600061121f858286016111af565b9250506020611230858286016111e5565b9150509250929050565b61124381611186565b82525050565b600060208201905061125e600083018461123a565b92915050565b60006020828403121561127a576112796110a6565b5b6000611288848285016111af565b91505092915050565b61129a816111c4565b82525050565b60006020820190506112b56000830184611291565b92915050565b6000819050919050565b6112ce816112bb565b81146112d957600080fd5b50565b6000813590506112eb816112c5565b92915050565b60008060006060848603121561130a576113096110a6565b5b6000611318868287016111af565b9350506020611329868287016112dc565b925050604061133a868287016112dc565b9150509250925092565b6000806040838503121561135b5761135a6110a6565b5b6000611369858286016111af565b925050602061137a858286016111af565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6113b9816112bb565b82525050565b60006113cb83836113b0565b60208301905092915050565b6000602082019050919050565b60006113ef82611384565b6113f9818561138f565b9350611404836113a0565b8060005b8381101561143557815161141c88826113bf565b9750611427836113d7565b925050600181019050611408565b5085935050505092915050565b6000602082019050818103600083015261145c81846113e4565b905092915050565b60008060006060848603121561147d5761147c6110a6565b5b600061148b868287016111af565b935050602061149c868287016111af565b92505060406114ad868287016112dc565b9150509250925092565b600080604083850312156114ce576114cd6110a6565b5b60006114dc858286016111af565b92505060206114ed858286016112dc565b9150509250929050565b6000806040838503121561150e5761150d6110a6565b5b600061151c858286016111e5565b925050602061152d858286016111e5565b9150509250929050565b611540816112bb565b82525050565b600060208201905061155b6000830184611537565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115ca826111c4565b91506115d5836111c4565b92508282039050818111156115ed576115ec611590565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600061162d826111c4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361165f5761165e611590565b5b600182019050919050565b6000611675826111c4565b9150611680836111c4565b925082820190508082111561169857611697611590565b5b92915050565b600081519050919050565b600081905092915050565b60005b838110156116d25780820151818401526020810190506116b7565b60008484015250505050565b60006116e98261169e565b6116f381856116a9565b93506117038185602086016116b4565b80840191505092915050565b600061171b82846116de565b915081905092915050565b600081519050611735816112c5565b92915050565b600060208284031215611751576117506110a6565b5b600061175f84828501611726565b91505092915050565b60006c0100000000000000000000000082029050919050565b600061178c82611768565b9050919050565b600061179e82611781565b9050919050565b6117b66117b182611186565b611793565b82525050565b60006117c882846117a5565b6014820191508190509291505056fea26469706673582212206bc7e365c49e00b27aa9e9d28aa47ce74f4120853db11d1b779da921bd0139ae64736f6c63430008120033 -\ No newline at end of file +60806040523480156200001157600080fd5b506040516200211938038062002119833981810160405281019062000037919062000900565b6200005230826200005a640100000000026401000000009004565b505062000bcb565b60006200007c8383600060010262000084640100000000026401000000009004565b905092915050565b6000620000906200082d565b60606000620000b032888762000309640100000000026401000000009004565b92506001600084600160028110620000cd57620000cc62000932565b5b60200201518152602001908152602001600020549050600081036200028057600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020329080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600482908060018154018082558091505060019003906000526020600020016000909190919091509080519060200190620001c99291906200084f565b506000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020879080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016004805490506200027d91906200099a565b90505b8060016000856001600281106200029c576200029b62000932565b5b602002015181526020019081526020016000208190555060048181548110620002ca57620002c962000932565b5b90600052602060002001869080600181540180825580915050600190039060005260206000200160009091909190915055600193505050509392505050565b620003136200082d565b60006200031f6200082d565b6000604067ffffffffffffffff8111156200033f576200033e620009d5565b5b6040519080825280601f01601f191660200182016040528015620003725781602001600182028036833780820191505090505b50905062000390878762000587640100000000026401000000009004565b925060005b60208110156200043357838160208110620003b557620003b462000932565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002828281518110620003ee57620003ed62000932565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806200042a9062000a04565b91505062000395565b5060005b6020811015620004e35785816020811062000457576200045662000932565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002826020836200048a919062000a51565b815181106200049e576200049d62000932565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080620004da9062000a04565b91505062000437565b508282600060028110620004fc57620004fb62000932565b5b60200201818152505060028160405162000517919062000b05565b602060405180830381855afa15801562000535573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906200055a919062000900565b8260016002811062000571576200057062000932565b5b6020020181815250508193505050509392505050565b6000806000602867ffffffffffffffff811115620005aa57620005a9620009d5565b5b6040519080825280601f01601f191660200182016040528015620005dd5781602001600182028036833780820191505090505b509050600085604051602001620005f5919062000bae565b604051602081830303815290604052905060005b6014811015620006ce5781818151811062000629576200062862000932565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f01000000000000000000000000000000000000000000000000000000000000000283828151811062000689576200068862000932565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080620006c59062000a04565b91505062000609565b5084604051602001620006e2919062000bae565b604051602081830303815290604052905060005b6014811015620007c95781818151811062000716576200071562000932565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028360148362000770919062000a51565b8151811062000784576200078362000932565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080620007c09062000a04565b915050620006f6565b50600282604051620007dc919062000b05565b602060405180830381855afa158015620007fa573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906200081f919062000900565b925082935050505092915050565b6040518060400160405280600290602082028036833780820191505090505090565b8280548282559060005260206000209081019282156200088e579160200282015b828111156200088d57825182559160200191906001019062000870565b5b5090506200089d9190620008a1565b5090565b5b80821115620008bc576000816000905550600101620008a2565b5090565b600080fd5b6000819050919050565b620008da81620008c5565b8114620008e657600080fd5b50565b600081519050620008fa81620008cf565b92915050565b600060208284031215620009195762000918620008c0565b5b60006200092984828501620008e9565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620009a78262000961565b9150620009b48362000961565b9250828203905081811115620009cf57620009ce6200096b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600062000a118262000961565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000a465762000a456200096b565b5b600182019050919050565b600062000a5e8262000961565b915062000a6b8362000961565b925082820190508082111562000a865762000a856200096b565b5b92915050565b600081519050919050565b600081905092915050565b60005b8381101562000ac257808201518184015260208101905062000aa5565b60008484015250505050565b600062000adb8262000a8c565b62000ae7818562000a97565b935062000af981856020860162000aa2565b80840191505092915050565b600062000b13828462000ace565b915081905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b4b8262000b1e565b9050919050565b60006c0100000000000000000000000082029050919050565b600062000b788262000b52565b9050919050565b600062000b8c8262000b6b565b9050919050565b62000ba862000ba28262000b3e565b62000b7f565b82525050565b600062000bbc828462000b93565b60148201915081905092915050565b61153e8062000bdb6000396000f3fe608060405234801561001057600080fd5b50600436106100bb576000357c0100000000000000000000000000000000000000000000000000000000900480638c661b36116100835780638c661b36146101b057806390387bab146101e0578063ae47ece014610210578063d0e95db114610240578063ff7496b414610270576100bb565b806301ffc9a7146100c057806322168e4f146100f057806350e0c6d3146101205780636ef498a0146101505780637d64bf1d14610180575b600080fd5b6100da60048036038101906100d59190610e34565b6102a0565b6040516100e79190610e7c565b60405180910390f35b61010a60048036038101906101059190610f2b565b610350565b6040516101179190610f7a565b60405180910390f35b61013a60048036038101906101359190610f95565b6103d5565b6040516101479190610fd1565b60405180910390f35b61016a60048036038101906101659190611022565b610420565b6040516101779190610e7c565b60405180910390f35b61019a60048036038101906101959190610f2b565b610684565b6040516101a79190610f7a565b60405180910390f35b6101ca60048036038101906101c59190611075565b61070a565b6040516101d79190611173565b60405180910390f35b6101fa60048036038101906101f59190611195565b610723565b6040516102079190611173565b60405180910390f35b61022a600480360381019061022591906111e8565b6107e2565b6040516102379190610e7c565b60405180910390f35b61025a60048036038101906102559190610f95565b6107fb565b6040516102679190610fd1565b60405180910390f35b61028a60048036038101906102859190611228565b610847565b6040516102979190611277565b60405180910390f35b60006327beb9107c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036102f4576001905061034b565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610346576001905061034b565b600090505b919050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106103a2576103a1611292565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600061042a610d4b565b60606000610439328887610884565b9250600160008460016002811061045357610452611292565b5b602002015181526020019081526020016000205490506000810361060157600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020329080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060048290806001815401808255809150506001900390600052602060002001600090919091909150908051906020019061054c929190610d6d565b506000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020879080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016004805490506105fe91906112f0565b90505b80600160008560016002811061061a57610619611292565b5b60200201518152602001908152602001600020819055506004818154811061064557610644611292565b5b90600052602060002001869080600181540180825580915050600190039060005260206000200160009091909190915055600193505050509392505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106106d7576106d6611292565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b606061071b83836000600102610723565b905092915050565b606061072d610d4b565b600061073a868686610884565b9150600160008360016002811061075457610753611292565b5b602002015181526020019081526020016000205490506004818154811061077e5761077d611292565b5b906000526020600020018054806020026020016040519081016040528092919081815260200182805480156107d257602002820191906000526020600020905b8154815260200190600101908083116107be575b5050505050925050509392505050565b60006107f383836000600102610420565b905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b6004828154811061085757600080fd5b90600052602060002001818154811061086f57600080fd5b90600052602060002001600091509150505481565b61088c610d4b565b6000610896610d4b565b6000604067ffffffffffffffff8111156108b3576108b2611324565b5b6040519080825280601f01601f1916602001820160405280156108e55781602001600182028036833780820191505090505b5090506108f28787610ac8565b925060005b602081101561098b5783816020811061091357610912611292565b5b1a7f01000000000000000000000000000000000000000000000000000000000000000282828151811061094957610948611292565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061098390611353565b9150506108f7565b5060005b6020811015610a2f578581602081106109ab576109aa611292565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002826020836109dc919061139b565b815181106109ed576109ec611292565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610a2790611353565b91505061098f565b508282600060028110610a4557610a44611292565b5b602002018181525050600281604051610a5e9190611440565b602060405180830381855afa158015610a7b573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a9e919061146c565b82600160028110610ab257610ab1611292565b5b6020020181815250508193505050509392505050565b6000806000602867ffffffffffffffff811115610ae857610ae7611324565b5b6040519080825280601f01601f191660200182016040528015610b1a5781602001600182028036833780820191505090505b509050600085604051602001610b3091906114ed565b604051602081830303815290604052905060005b6014811015610bff57818181518110610b6057610b5f611292565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002838281518110610bbd57610bbc611292565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610bf790611353565b915050610b44565b5084604051602001610c1191906114ed565b604051602081830303815290604052905060005b6014811015610cec57818181518110610c4157610c40611292565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f01000000000000000000000000000000000000000000000000000000000000000283601483610c99919061139b565b81518110610caa57610ca9611292565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610ce490611353565b915050610c25565b50600282604051610cfd9190611440565b602060405180830381855afa158015610d1a573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610d3d919061146c565b925082935050505092915050565b6040518060400160405280600290602082028036833780820191505090505090565b828054828255906000526020600020908101928215610da9579160200282015b82811115610da8578251825591602001919060010190610d8d565b5b509050610db69190610dba565b5090565b5b80821115610dd3576000816000905550600101610dbb565b5090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610e1181610ddc565b8114610e1c57600080fd5b50565b600081359050610e2e81610e08565b92915050565b600060208284031215610e4a57610e49610dd7565b5b6000610e5884828501610e1f565b91505092915050565b60008115159050919050565b610e7681610e61565b82525050565b6000602082019050610e916000830184610e6d565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ec282610e97565b9050919050565b610ed281610eb7565b8114610edd57600080fd5b50565b600081359050610eef81610ec9565b92915050565b6000819050919050565b610f0881610ef5565b8114610f1357600080fd5b50565b600081359050610f2581610eff565b92915050565b60008060408385031215610f4257610f41610dd7565b5b6000610f5085828601610ee0565b9250506020610f6185828601610f16565b9150509250929050565b610f7481610eb7565b82525050565b6000602082019050610f8f6000830184610f6b565b92915050565b600060208284031215610fab57610faa610dd7565b5b6000610fb984828501610ee0565b91505092915050565b610fcb81610ef5565b82525050565b6000602082019050610fe66000830184610fc2565b92915050565b6000819050919050565b610fff81610fec565b811461100a57600080fd5b50565b60008135905061101c81610ff6565b92915050565b60008060006060848603121561103b5761103a610dd7565b5b600061104986828701610ee0565b935050602061105a8682870161100d565b925050604061106b8682870161100d565b9150509250925092565b6000806040838503121561108c5761108b610dd7565b5b600061109a85828601610ee0565b92505060206110ab85828601610ee0565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6110ea81610fec565b82525050565b60006110fc83836110e1565b60208301905092915050565b6000602082019050919050565b6000611120826110b5565b61112a81856110c0565b9350611135836110d1565b8060005b8381101561116657815161114d88826110f0565b975061115883611108565b925050600181019050611139565b5085935050505092915050565b6000602082019050818103600083015261118d8184611115565b905092915050565b6000806000606084860312156111ae576111ad610dd7565b5b60006111bc86828701610ee0565b93505060206111cd86828701610ee0565b92505060406111de8682870161100d565b9150509250925092565b600080604083850312156111ff576111fe610dd7565b5b600061120d85828601610ee0565b925050602061121e8582860161100d565b9150509250929050565b6000806040838503121561123f5761123e610dd7565b5b600061124d85828601610f16565b925050602061125e85828601610f16565b9150509250929050565b61127181610fec565b82525050565b600060208201905061128c6000830184611268565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112fb82610ef5565b915061130683610ef5565b925082820390508181111561131e5761131d6112c1565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600061135e82610ef5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113905761138f6112c1565b5b600182019050919050565b60006113a682610ef5565b91506113b183610ef5565b92508282019050808211156113c9576113c86112c1565b5b92915050565b600081519050919050565b600081905092915050565b60005b838110156114035780820151818401526020810190506113e8565b60008484015250505050565b600061141a826113cf565b61142481856113da565b93506114348185602086016113e5565b80840191505092915050565b600061144c828461140f565b915081905092915050565b60008151905061146681610ff6565b92915050565b60006020828403121561148257611481610dd7565b5b600061149084828501611457565b91505092915050565b60006c0100000000000000000000000082029050919050565b60006114bd82611499565b9050919050565b60006114cf826114b2565b9050919050565b6114e76114e282610eb7565b6114c4565b82525050565b60006114f982846114d6565b6014820191508190509291505056fea26469706673582212201ffe12fd968c34e88544519929906fb4f988af2759580790b0c29b4524b292fe64736f6c63430008120033 +\ No newline at end of file diff --git a/python/eth_address_declarator/data/AddressDeclarator.json b/python/eth_address_declarator/data/AddressDeclarator.json @@ -1 +1 @@ -[{"inputs":[{"internalType":"bytes32","name":"_initial","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_declarator","type":"address"},{"indexed":false,"internalType":"address","name":"_subject","type":"address"},{"indexed":false,"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"DeclarationAdded","type":"event"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"contents","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declarationAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"}],"name":"declarationCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declaratorAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"}],"name":"declaratorCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"}] +[{"inputs":[{"internalType":"bytes32","name":"_initial","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_declarator","type":"address"},{"indexed":true,"internalType":"address","name":"_subject","type":"address"},{"indexed":true,"internalType":"bytes32","name":"_topic","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"DeclarationAdded","type":"event"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"contents","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declarationAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"}],"name":"declarationCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declaratorAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"}],"name":"declaratorCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"}] diff --git a/python/eth_address_declarator/data/AddressDeclarator.metadata.json b/python/eth_address_declarator/data/AddressDeclarator.metadata.json @@ -1 +1 @@ -{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_initial","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_declarator","type":"address"},{"indexed":false,"internalType":"address","name":"_subject","type":"address"},{"indexed":false,"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"DeclarationAdded","type":"event"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"contents","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declarationAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"}],"name":"declarationCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declaratorAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"}],"name":"declaratorCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"compilationTarget":{"AddressDeclarator.sol":"AddressDeclarator"},"evmVersion":"byzantium","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":false,"runs":200},"remappings":[]},"sources":{"AddressDeclarator.sol":{"keccak256":"0xd59e4507b7e930e144614da7b67fa9bbeba4bfb3550e8f6dd9f35e2e401187cb","license":"GPL-3.0-or-later","urls":["bzz-raw://8095285849d536e7dc01db9b7cae45928660bacb2f8e6b77f7886a0b8ed4e74b","dweb:/ipfs/QmbvTK75n6tUNj9MarxTVQ6B5kXZgyCpmaz3GFB6tFyXYw"]}},"version":1} +{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_initial","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_declarator","type":"address"},{"indexed":true,"internalType":"address","name":"_subject","type":"address"},{"indexed":true,"internalType":"bytes32","name":"_topic","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"DeclarationAdded","type":"event"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"contents","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declarationAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"}],"name":"declarationCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declaratorAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"}],"name":"declaratorCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"compilationTarget":{"AddressDeclarator.sol":"AddressDeclarator"},"evmVersion":"byzantium","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":false,"runs":200},"remappings":[]},"sources":{"AddressDeclarator.sol":{"keccak256":"0x9beb91f8253207157f31e6377630ae2c2c50992828a10985de074ce423e5f0c5","license":"AGPL-3.0-or-later","urls":["bzz-raw://e72ec9920e727f1ba6ed474317051515489acac4dacb5cc273118a9cce57c246","dweb:/ipfs/QmRK2ZKdtQP6CbQNJx7fertRgSsk1VcmhbssRcvpwHvaDP"]}},"version":1} diff --git a/python/setup.cfg b/python/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = eth-address-index -version = 0.7.1 +version = 0.7.2 description = Signed metadata declarations for ethereum addresses author = Louis Holbrook author_email = dev@holbrook.no diff --git a/solidity/AddressDeclarator.bin b/solidity/AddressDeclarator.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b50604051620023bd380380620023bd8339818101604052810190620000379190620008d5565b6200005230826200005a640100000000026401000000009004565b505062000ba0565b60006200006662000802565b6060600062000086328787620002de640100000000026401000000009004565b92506001600084600060028110620000a357620000a262000907565b5b60200201518152602001908152602001600020549050600081036200025657600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020329080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004829080600181540180825580915050600190039060005260206000200160009091909190915090805190602001906200019f92919062000824565b506000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020869080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016004805490506200025391906200096f565b90505b80600160008560006002811062000272576200027162000907565b5b602002015181526020019081526020016000208190555060048181548110620002a0576200029f62000907565b5b906000526020600020018590806001815401808255809150506001900390600052602060002001600090919091909150556001935050505092915050565b620002e862000802565b6000620002f462000802565b6000604067ffffffffffffffff811115620003145762000313620009aa565b5b6040519080825280601f01601f191660200182016040528015620003475781602001600182028036833780820191505090505b5090506200036587876200055c640100000000026401000000009004565b925060005b602081101562000408578381602081106200038a576200038962000907565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002828281518110620003c357620003c262000907565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080620003ff90620009d9565b9150506200036a565b5060005b6020811015620004b8578581602081106200042c576200042b62000907565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002826020836200045f919062000a26565b8151811062000473576200047262000907565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080620004af90620009d9565b9150506200040c565b508282600060028110620004d157620004d062000907565b5b602002018181525050600281604051620004ec919062000ada565b602060405180830381855afa1580156200050a573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906200052f9190620008d5565b8260016002811062000546576200054562000907565b5b6020020181815250508193505050509392505050565b6000806000602867ffffffffffffffff8111156200057f576200057e620009aa565b5b6040519080825280601f01601f191660200182016040528015620005b25781602001600182028036833780820191505090505b509050600085604051602001620005ca919062000b83565b604051602081830303815290604052905060005b6014811015620006a357818181518110620005fe57620005fd62000907565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028382815181106200065e576200065d62000907565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806200069a90620009d9565b915050620005de565b5084604051602001620006b7919062000b83565b604051602081830303815290604052905060005b60148110156200079e57818181518110620006eb57620006ea62000907565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028360148362000745919062000a26565b8151811062000759576200075862000907565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806200079590620009d9565b915050620006cb565b50600282604051620007b1919062000ada565b602060405180830381855afa158015620007cf573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190620007f49190620008d5565b925082935050505092915050565b6040518060400160405280600290602082028036833780820191505090505090565b82805482825590600052602060002090810192821562000863579160200282015b828111156200086257825182559160200191906001019062000845565b5b50905062000872919062000876565b5090565b5b808211156200089157600081600090555060010162000877565b5090565b600080fd5b6000819050919050565b620008af816200089a565b8114620008bb57600080fd5b50565b600081519050620008cf81620008a4565b92915050565b600060208284031215620008ee57620008ed62000895565b5b6000620008fe84828501620008be565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200097c8262000936565b9150620009898362000936565b9250828203905081811115620009a457620009a362000940565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000620009e68262000936565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000a1b5762000a1a62000940565b5b600182019050919050565b600062000a338262000936565b915062000a408362000936565b925082820190508082111562000a5b5762000a5a62000940565b5b92915050565b600081519050919050565b600081905092915050565b60005b8381101562000a9757808201518184015260208101905062000a7a565b60008484015250505050565b600062000ab08262000a61565b62000abc818562000a6c565b935062000ace81856020860162000a77565b80840191505092915050565b600062000ae8828462000aa3565b915081905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b208262000af3565b9050919050565b60006c0100000000000000000000000082029050919050565b600062000b4d8262000b27565b9050919050565b600062000b618262000b40565b9050919050565b62000b7d62000b778262000b13565b62000b54565b82525050565b600062000b91828462000b68565b60148201915081905092915050565b61180d8062000bb06000396000f3fe608060405234801561001057600080fd5b50600436106100bb576000357c0100000000000000000000000000000000000000000000000000000000900480638c661b36116100835780638c661b36146101b057806390387bab146101e0578063ae47ece014610210578063d0e95db114610240578063ff7496b414610270576100bb565b806301ffc9a7146100c057806322168e4f146100f057806350e0c6d3146101205780636ef498a0146101505780637d64bf1d14610180575b600080fd5b6100da60048036038101906100d59190611103565b6102a0565b6040516100e7919061114b565b60405180910390f35b61010a600480360381019061010591906111fa565b610350565b6040516101179190611249565b60405180910390f35b61013a60048036038101906101359190611264565b6103d5565b60405161014791906112a0565b60405180910390f35b61016a600480360381019061016591906112f1565b610420565b604051610177919061114b565b60405180910390f35b61019a600480360381019061019591906111fa565b610684565b6040516101a79190611249565b60405180910390f35b6101ca60048036038101906101c59190611344565b61070a565b6040516101d79190611442565b60405180910390f35b6101fa60048036038101906101f59190611464565b6107a8565b6040516102079190611442565b60405180910390f35b61022a600480360381019061022591906114b7565b610867565b604051610237919061114b565b60405180910390f35b61025a60048036038101906102559190611264565b610aca565b60405161026791906112a0565b60405180910390f35b61028a600480360381019061028591906114f7565b610b16565b6040516102979190611546565b60405180910390f35b60006327beb9107c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036102f4576001905061034b565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610346576001905061034b565b600090505b919050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106103a2576103a1611561565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600061042a61101a565b60606000610439328887610b53565b9250600160008460016002811061045357610452611561565b5b602002015181526020019081526020016000205490506000810361060157600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020329080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060048290806001815401808255809150506001900390600052602060002001600090919091909150908051906020019061054c92919061103c565b506000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020879080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016004805490506105fe91906115bf565b90505b80600160008560016002811061061a57610619611561565b5b60200201518152602001908152602001600020819055506004818154811061064557610644611561565b5b90600052602060002001869080600181540180825580915050600190039060005260206000200160009091909190915055600193505050509392505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106106d7576106d6611561565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60606000806107198585610d97565b9150600160008381526020019081526020016000205490506004818154811061074557610744611561565b5b9060005260206000200180548060200260200160405190810160405280929190818152602001828054801561079957602002820191906000526020600020905b815481526020019060010190808311610785575b50505050509250505092915050565b60606107b261101a565b60006107bf868686610b53565b915060016000836001600281106107d9576107d8611561565b5b602002015181526020019081526020016000205490506004818154811061080357610802611561565b5b9060005260206000200180548060200260200160405190810160405280929190818152602001828054801561085757602002820191906000526020600020905b815481526020019060010190808311610843575b5050505050925050509392505050565b600061087161101a565b60606000610880328787610b53565b9250600160008460006002811061089a57610899611561565b5b6020020151815260200190815260200160002054905060008103610a4857600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020329080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060048290806001815401808255809150506001900390600052602060002001600090919091909150908051906020019061099392919061103c565b506000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020869080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600480549050610a4591906115bf565b90505b806001600085600060028110610a6157610a60611561565b5b602002015181526020019081526020016000208190555060048181548110610a8c57610a8b611561565b5b906000526020600020018590806001815401808255809150506001900390600052602060002001600090919091909150556001935050505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60048281548110610b2657600080fd5b906000526020600020018181548110610b3e57600080fd5b90600052602060002001600091509150505481565b610b5b61101a565b6000610b6561101a565b6000604067ffffffffffffffff811115610b8257610b816115f3565b5b6040519080825280601f01601f191660200182016040528015610bb45781602001600182028036833780820191505090505b509050610bc18787610d97565b925060005b6020811015610c5a57838160208110610be257610be1611561565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002828281518110610c1857610c17611561565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610c5290611622565b915050610bc6565b5060005b6020811015610cfe57858160208110610c7a57610c79611561565b5b1a7f01000000000000000000000000000000000000000000000000000000000000000282602083610cab919061166a565b81518110610cbc57610cbb611561565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610cf690611622565b915050610c5e565b508282600060028110610d1457610d13611561565b5b602002018181525050600281604051610d2d919061170f565b602060405180830381855afa158015610d4a573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610d6d919061173b565b82600160028110610d8157610d80611561565b5b6020020181815250508193505050509392505050565b6000806000602867ffffffffffffffff811115610db757610db66115f3565b5b6040519080825280601f01601f191660200182016040528015610de95781602001600182028036833780820191505090505b509050600085604051602001610dff91906117bc565b604051602081830303815290604052905060005b6014811015610ece57818181518110610e2f57610e2e611561565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002838281518110610e8c57610e8b611561565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610ec690611622565b915050610e13565b5084604051602001610ee091906117bc565b604051602081830303815290604052905060005b6014811015610fbb57818181518110610f1057610f0f611561565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f01000000000000000000000000000000000000000000000000000000000000000283601483610f68919061166a565b81518110610f7957610f78611561565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610fb390611622565b915050610ef4565b50600282604051610fcc919061170f565b602060405180830381855afa158015610fe9573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061100c919061173b565b925082935050505092915050565b6040518060400160405280600290602082028036833780820191505090505090565b828054828255906000526020600020908101928215611078579160200282015b8281111561107757825182559160200191906001019061105c565b5b5090506110859190611089565b5090565b5b808211156110a257600081600090555060010161108a565b5090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6110e0816110ab565b81146110eb57600080fd5b50565b6000813590506110fd816110d7565b92915050565b600060208284031215611119576111186110a6565b5b6000611127848285016110ee565b91505092915050565b60008115159050919050565b61114581611130565b82525050565b6000602082019050611160600083018461113c565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061119182611166565b9050919050565b6111a181611186565b81146111ac57600080fd5b50565b6000813590506111be81611198565b92915050565b6000819050919050565b6111d7816111c4565b81146111e257600080fd5b50565b6000813590506111f4816111ce565b92915050565b60008060408385031215611211576112106110a6565b5b600061121f858286016111af565b9250506020611230858286016111e5565b9150509250929050565b61124381611186565b82525050565b600060208201905061125e600083018461123a565b92915050565b60006020828403121561127a576112796110a6565b5b6000611288848285016111af565b91505092915050565b61129a816111c4565b82525050565b60006020820190506112b56000830184611291565b92915050565b6000819050919050565b6112ce816112bb565b81146112d957600080fd5b50565b6000813590506112eb816112c5565b92915050565b60008060006060848603121561130a576113096110a6565b5b6000611318868287016111af565b9350506020611329868287016112dc565b925050604061133a868287016112dc565b9150509250925092565b6000806040838503121561135b5761135a6110a6565b5b6000611369858286016111af565b925050602061137a858286016111af565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6113b9816112bb565b82525050565b60006113cb83836113b0565b60208301905092915050565b6000602082019050919050565b60006113ef82611384565b6113f9818561138f565b9350611404836113a0565b8060005b8381101561143557815161141c88826113bf565b9750611427836113d7565b925050600181019050611408565b5085935050505092915050565b6000602082019050818103600083015261145c81846113e4565b905092915050565b60008060006060848603121561147d5761147c6110a6565b5b600061148b868287016111af565b935050602061149c868287016111af565b92505060406114ad868287016112dc565b9150509250925092565b600080604083850312156114ce576114cd6110a6565b5b60006114dc858286016111af565b92505060206114ed858286016112dc565b9150509250929050565b6000806040838503121561150e5761150d6110a6565b5b600061151c858286016111e5565b925050602061152d858286016111e5565b9150509250929050565b611540816112bb565b82525050565b600060208201905061155b6000830184611537565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115ca826111c4565b91506115d5836111c4565b92508282039050818111156115ed576115ec611590565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600061162d826111c4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361165f5761165e611590565b5b600182019050919050565b6000611675826111c4565b9150611680836111c4565b925082820190508082111561169857611697611590565b5b92915050565b600081519050919050565b600081905092915050565b60005b838110156116d25780820151818401526020810190506116b7565b60008484015250505050565b60006116e98261169e565b6116f381856116a9565b93506117038185602086016116b4565b80840191505092915050565b600061171b82846116de565b915081905092915050565b600081519050611735816112c5565b92915050565b600060208284031215611751576117506110a6565b5b600061175f84828501611726565b91505092915050565b60006c0100000000000000000000000082029050919050565b600061178c82611768565b9050919050565b600061179e82611781565b9050919050565b6117b66117b182611186565b611793565b82525050565b60006117c882846117a5565b6014820191508190509291505056fea26469706673582212206bc7e365c49e00b27aa9e9d28aa47ce74f4120853db11d1b779da921bd0139ae64736f6c63430008120033 -\ No newline at end of file +60806040523480156200001157600080fd5b506040516200211938038062002119833981810160405281019062000037919062000900565b6200005230826200005a640100000000026401000000009004565b505062000bcb565b60006200007c8383600060010262000084640100000000026401000000009004565b905092915050565b6000620000906200082d565b60606000620000b032888762000309640100000000026401000000009004565b92506001600084600160028110620000cd57620000cc62000932565b5b60200201518152602001908152602001600020549050600081036200028057600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020329080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600482908060018154018082558091505060019003906000526020600020016000909190919091509080519060200190620001c99291906200084f565b506000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020879080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016004805490506200027d91906200099a565b90505b8060016000856001600281106200029c576200029b62000932565b5b602002015181526020019081526020016000208190555060048181548110620002ca57620002c962000932565b5b90600052602060002001869080600181540180825580915050600190039060005260206000200160009091909190915055600193505050509392505050565b620003136200082d565b60006200031f6200082d565b6000604067ffffffffffffffff8111156200033f576200033e620009d5565b5b6040519080825280601f01601f191660200182016040528015620003725781602001600182028036833780820191505090505b50905062000390878762000587640100000000026401000000009004565b925060005b60208110156200043357838160208110620003b557620003b462000932565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002828281518110620003ee57620003ed62000932565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806200042a9062000a04565b91505062000395565b5060005b6020811015620004e35785816020811062000457576200045662000932565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002826020836200048a919062000a51565b815181106200049e576200049d62000932565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080620004da9062000a04565b91505062000437565b508282600060028110620004fc57620004fb62000932565b5b60200201818152505060028160405162000517919062000b05565b602060405180830381855afa15801562000535573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906200055a919062000900565b8260016002811062000571576200057062000932565b5b6020020181815250508193505050509392505050565b6000806000602867ffffffffffffffff811115620005aa57620005a9620009d5565b5b6040519080825280601f01601f191660200182016040528015620005dd5781602001600182028036833780820191505090505b509050600085604051602001620005f5919062000bae565b604051602081830303815290604052905060005b6014811015620006ce5781818151811062000629576200062862000932565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f01000000000000000000000000000000000000000000000000000000000000000283828151811062000689576200068862000932565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080620006c59062000a04565b91505062000609565b5084604051602001620006e2919062000bae565b604051602081830303815290604052905060005b6014811015620007c95781818151811062000716576200071562000932565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028360148362000770919062000a51565b8151811062000784576200078362000932565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080620007c09062000a04565b915050620006f6565b50600282604051620007dc919062000b05565b602060405180830381855afa158015620007fa573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906200081f919062000900565b925082935050505092915050565b6040518060400160405280600290602082028036833780820191505090505090565b8280548282559060005260206000209081019282156200088e579160200282015b828111156200088d57825182559160200191906001019062000870565b5b5090506200089d9190620008a1565b5090565b5b80821115620008bc576000816000905550600101620008a2565b5090565b600080fd5b6000819050919050565b620008da81620008c5565b8114620008e657600080fd5b50565b600081519050620008fa81620008cf565b92915050565b600060208284031215620009195762000918620008c0565b5b60006200092984828501620008e9565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620009a78262000961565b9150620009b48362000961565b9250828203905081811115620009cf57620009ce6200096b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600062000a118262000961565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000a465762000a456200096b565b5b600182019050919050565b600062000a5e8262000961565b915062000a6b8362000961565b925082820190508082111562000a865762000a856200096b565b5b92915050565b600081519050919050565b600081905092915050565b60005b8381101562000ac257808201518184015260208101905062000aa5565b60008484015250505050565b600062000adb8262000a8c565b62000ae7818562000a97565b935062000af981856020860162000aa2565b80840191505092915050565b600062000b13828462000ace565b915081905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b4b8262000b1e565b9050919050565b60006c0100000000000000000000000082029050919050565b600062000b788262000b52565b9050919050565b600062000b8c8262000b6b565b9050919050565b62000ba862000ba28262000b3e565b62000b7f565b82525050565b600062000bbc828462000b93565b60148201915081905092915050565b61153e8062000bdb6000396000f3fe608060405234801561001057600080fd5b50600436106100bb576000357c0100000000000000000000000000000000000000000000000000000000900480638c661b36116100835780638c661b36146101b057806390387bab146101e0578063ae47ece014610210578063d0e95db114610240578063ff7496b414610270576100bb565b806301ffc9a7146100c057806322168e4f146100f057806350e0c6d3146101205780636ef498a0146101505780637d64bf1d14610180575b600080fd5b6100da60048036038101906100d59190610e34565b6102a0565b6040516100e79190610e7c565b60405180910390f35b61010a60048036038101906101059190610f2b565b610350565b6040516101179190610f7a565b60405180910390f35b61013a60048036038101906101359190610f95565b6103d5565b6040516101479190610fd1565b60405180910390f35b61016a60048036038101906101659190611022565b610420565b6040516101779190610e7c565b60405180910390f35b61019a60048036038101906101959190610f2b565b610684565b6040516101a79190610f7a565b60405180910390f35b6101ca60048036038101906101c59190611075565b61070a565b6040516101d79190611173565b60405180910390f35b6101fa60048036038101906101f59190611195565b610723565b6040516102079190611173565b60405180910390f35b61022a600480360381019061022591906111e8565b6107e2565b6040516102379190610e7c565b60405180910390f35b61025a60048036038101906102559190610f95565b6107fb565b6040516102679190610fd1565b60405180910390f35b61028a60048036038101906102859190611228565b610847565b6040516102979190611277565b60405180910390f35b60006327beb9107c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036102f4576001905061034b565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610346576001905061034b565b600090505b919050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106103a2576103a1611292565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600061042a610d4b565b60606000610439328887610884565b9250600160008460016002811061045357610452611292565b5b602002015181526020019081526020016000205490506000810361060157600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020329080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060048290806001815401808255809150506001900390600052602060002001600090919091909150908051906020019061054c929190610d6d565b506000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020879080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016004805490506105fe91906112f0565b90505b80600160008560016002811061061a57610619611292565b5b60200201518152602001908152602001600020819055506004818154811061064557610644611292565b5b90600052602060002001869080600181540180825580915050600190039060005260206000200160009091909190915055600193505050509392505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106106d7576106d6611292565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b606061071b83836000600102610723565b905092915050565b606061072d610d4b565b600061073a868686610884565b9150600160008360016002811061075457610753611292565b5b602002015181526020019081526020016000205490506004818154811061077e5761077d611292565b5b906000526020600020018054806020026020016040519081016040528092919081815260200182805480156107d257602002820191906000526020600020905b8154815260200190600101908083116107be575b5050505050925050509392505050565b60006107f383836000600102610420565b905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b6004828154811061085757600080fd5b90600052602060002001818154811061086f57600080fd5b90600052602060002001600091509150505481565b61088c610d4b565b6000610896610d4b565b6000604067ffffffffffffffff8111156108b3576108b2611324565b5b6040519080825280601f01601f1916602001820160405280156108e55781602001600182028036833780820191505090505b5090506108f28787610ac8565b925060005b602081101561098b5783816020811061091357610912611292565b5b1a7f01000000000000000000000000000000000000000000000000000000000000000282828151811061094957610948611292565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061098390611353565b9150506108f7565b5060005b6020811015610a2f578581602081106109ab576109aa611292565b5b1a7f010000000000000000000000000000000000000000000000000000000000000002826020836109dc919061139b565b815181106109ed576109ec611292565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610a2790611353565b91505061098f565b508282600060028110610a4557610a44611292565b5b602002018181525050600281604051610a5e9190611440565b602060405180830381855afa158015610a7b573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a9e919061146c565b82600160028110610ab257610ab1611292565b5b6020020181815250508193505050509392505050565b6000806000602867ffffffffffffffff811115610ae857610ae7611324565b5b6040519080825280601f01601f191660200182016040528015610b1a5781602001600182028036833780820191505090505b509050600085604051602001610b3091906114ed565b604051602081830303815290604052905060005b6014811015610bff57818181518110610b6057610b5f611292565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002838281518110610bbd57610bbc611292565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610bf790611353565b915050610b44565b5084604051602001610c1191906114ed565b604051602081830303815290604052905060005b6014811015610cec57818181518110610c4157610c40611292565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f01000000000000000000000000000000000000000000000000000000000000000283601483610c99919061139b565b81518110610caa57610ca9611292565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610ce490611353565b915050610c25565b50600282604051610cfd9190611440565b602060405180830381855afa158015610d1a573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610d3d919061146c565b925082935050505092915050565b6040518060400160405280600290602082028036833780820191505090505090565b828054828255906000526020600020908101928215610da9579160200282015b82811115610da8578251825591602001919060010190610d8d565b5b509050610db69190610dba565b5090565b5b80821115610dd3576000816000905550600101610dbb565b5090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610e1181610ddc565b8114610e1c57600080fd5b50565b600081359050610e2e81610e08565b92915050565b600060208284031215610e4a57610e49610dd7565b5b6000610e5884828501610e1f565b91505092915050565b60008115159050919050565b610e7681610e61565b82525050565b6000602082019050610e916000830184610e6d565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ec282610e97565b9050919050565b610ed281610eb7565b8114610edd57600080fd5b50565b600081359050610eef81610ec9565b92915050565b6000819050919050565b610f0881610ef5565b8114610f1357600080fd5b50565b600081359050610f2581610eff565b92915050565b60008060408385031215610f4257610f41610dd7565b5b6000610f5085828601610ee0565b9250506020610f6185828601610f16565b9150509250929050565b610f7481610eb7565b82525050565b6000602082019050610f8f6000830184610f6b565b92915050565b600060208284031215610fab57610faa610dd7565b5b6000610fb984828501610ee0565b91505092915050565b610fcb81610ef5565b82525050565b6000602082019050610fe66000830184610fc2565b92915050565b6000819050919050565b610fff81610fec565b811461100a57600080fd5b50565b60008135905061101c81610ff6565b92915050565b60008060006060848603121561103b5761103a610dd7565b5b600061104986828701610ee0565b935050602061105a8682870161100d565b925050604061106b8682870161100d565b9150509250925092565b6000806040838503121561108c5761108b610dd7565b5b600061109a85828601610ee0565b92505060206110ab85828601610ee0565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6110ea81610fec565b82525050565b60006110fc83836110e1565b60208301905092915050565b6000602082019050919050565b6000611120826110b5565b61112a81856110c0565b9350611135836110d1565b8060005b8381101561116657815161114d88826110f0565b975061115883611108565b925050600181019050611139565b5085935050505092915050565b6000602082019050818103600083015261118d8184611115565b905092915050565b6000806000606084860312156111ae576111ad610dd7565b5b60006111bc86828701610ee0565b93505060206111cd86828701610ee0565b92505060406111de8682870161100d565b9150509250925092565b600080604083850312156111ff576111fe610dd7565b5b600061120d85828601610ee0565b925050602061121e8582860161100d565b9150509250929050565b6000806040838503121561123f5761123e610dd7565b5b600061124d85828601610f16565b925050602061125e85828601610f16565b9150509250929050565b61127181610fec565b82525050565b600060208201905061128c6000830184611268565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112fb82610ef5565b915061130683610ef5565b925082820390508181111561131e5761131d6112c1565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600061135e82610ef5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113905761138f6112c1565b5b600182019050919050565b60006113a682610ef5565b91506113b183610ef5565b92508282019050808211156113c9576113c86112c1565b5b92915050565b600081519050919050565b600081905092915050565b60005b838110156114035780820151818401526020810190506113e8565b60008484015250505050565b600061141a826113cf565b61142481856113da565b93506114348185602086016113e5565b80840191505092915050565b600061144c828461140f565b915081905092915050565b60008151905061146681610ff6565b92915050565b60006020828403121561148257611481610dd7565b5b600061149084828501611457565b91505092915050565b60006c0100000000000000000000000082029050919050565b60006114bd82611499565b9050919050565b60006114cf826114b2565b9050919050565b6114e76114e282610eb7565b6114c4565b82525050565b60006114f982846114d6565b6014820191508190509291505056fea26469706673582212201ffe12fd968c34e88544519929906fb4f988af2759580790b0c29b4524b292fe64736f6c63430008120033 +\ No newline at end of file diff --git a/solidity/AddressDeclarator.json b/solidity/AddressDeclarator.json @@ -1 +1 @@ -[{"inputs":[{"internalType":"bytes32","name":"_initial","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_declarator","type":"address"},{"indexed":false,"internalType":"address","name":"_subject","type":"address"},{"indexed":false,"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"DeclarationAdded","type":"event"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"contents","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declarationAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"}],"name":"declarationCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declaratorAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"}],"name":"declaratorCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"}] +[{"inputs":[{"internalType":"bytes32","name":"_initial","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_declarator","type":"address"},{"indexed":true,"internalType":"address","name":"_subject","type":"address"},{"indexed":true,"internalType":"bytes32","name":"_topic","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"DeclarationAdded","type":"event"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_proof","type":"bytes32"}],"name":"addDeclaration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"contents","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"address","name":"_subject","type":"address"},{"internalType":"bytes32","name":"_topic","type":"bytes32"}],"name":"declaration","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declarationAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_declarator","type":"address"}],"name":"declarationCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"},{"internalType":"uint256","name":"_idx","type":"uint256"}],"name":"declaratorAddressAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"}],"name":"declaratorCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"}] diff --git a/solidity/AddressDeclarator.sol b/solidity/AddressDeclarator.sol @@ -10,7 +10,7 @@ contract AddressDeclarator { mapping( address => address[] ) declaratorReverse; bytes32[][] public contents; - event DeclarationAdded(address _declarator, address _subject, bytes32 _proof); + event DeclarationAdded(address indexed _declarator, address indexed _subject, bytes32 indexed _topic, bytes32 _proof); constructor(bytes32 _initial) { addDeclaration(address(this), _initial); @@ -82,31 +82,33 @@ contract AddressDeclarator { // Implements Declarator function addDeclaration(address _subject, bytes32 _proof) public returns ( bool ) { - bytes32[2] memory ks; - bytes32[] memory declarationContents; - uint256 idx; - ks = toReference(tx.origin, _subject, _proof); - idx = declarationContentIndex[ks[0]]; - if (idx == 0) { // This also works for the constructor :) - declarator[_subject].push(tx.origin); - contents.push(declarationContents); - declarationIndex[tx.origin].push(_subject); - idx = contents.length-1; - } - - declarationContentIndex[ks[0]] = idx; - contents[idx].push(_proof); - - return true; + return addDeclaration(_subject, _proof, bytes32(0)); +// bytes32[2] memory ks; +// bytes32[] memory declarationContents; +// uint256 idx; +// ks = toReference(tx.origin, _subject, _proof); +// idx = declarationContentIndex[ks[0]]; +// if (idx == 0) { // This also works for the constructor :) +// declarator[_subject].push(tx.origin); +// contents.push(declarationContents); +// declarationIndex[tx.origin].push(_subject); +// idx = contents.length-1; +// } +// +// declarationContentIndex[ks[0]] = idx; +// contents[idx].push(_proof); +// +// return true; } // Implements Declarator function declaration(address _declarator, address _subject) public view returns ( bytes32[] memory ) { - bytes32 k; - uint256 idx; - k = toReference(_declarator, _subject); - idx = declarationContentIndex[k]; - return contents[idx]; + return declaration(_declarator, _subject, bytes32(0)); +// bytes32 k; +// uint256 idx; +// k = toReference(_declarator, _subject); +// idx = declarationContentIndex[k]; +// return contents[idx]; } // Implements Declarator