diff --git a/.php-cs-fixer.cache b/.php-cs-fixer.cache index f8e1356..d55a47e 100644 --- a/.php-cs-fixer.cache +++ b/.php-cs-fixer.cache @@ -1 +1 @@ -{"php":"8.3.6","version":"3.95.1:v3.95.1#a9727678fbd12997f1d9de8f4a37824ed9df1065","indent":" ","lineEnding":"\n","rules":{"array_syntax":{"syntax":"short"},"binary_operator_spaces":{"default":"single_space","operators":{"=":"align","=>":"align"}},"blank_line_after_namespace":true,"blank_line_after_opening_tag":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try"]},"braces":true,"cast_spaces":true,"class_attributes_separation":{"elements":{"const":"one","method":"one","property":"one"}},"class_definition":true,"concat_space":{"spacing":"none"},"constant_case":{"case":"lower"},"declare_equal_normalize":true,"declare_strict_types":true,"echo_tag_syntax":{"format":"long"},"elseif":true,"encoding":true,"final_internal_class":true,"full_opening_tag":true,"fully_qualified_strict_types":true,"function_declaration":true,"function_typehint_space":true,"heredoc_to_nowdoc":true,"include":true,"increment_style":{"style":"post"},"indentation_type":true,"linebreak_after_opening_tag":true,"line_ending":true,"lowercase_cast":true,"lowercase_keywords":true,"lowercase_static_reference":true,"magic_method_casing":true,"magic_constant_casing":true,"method_argument_space":true,"multiline_whitespace_before_semicolons":{"strategy":"no_multi_line"},"native_function_casing":true,"new_with_braces":true,"no_alias_functions":true,"no_blank_lines_after_class_opening":true,"no_blank_lines_after_phpdoc":true,"no_closing_tag":true,"no_empty_phpdoc":true,"no_empty_statement":true,"no_extra_blank_lines":{"tokens":["extra","throw","use","use_trait"]},"no_leading_import_slash":true,"no_leading_namespace_whitespace":true,"no_mixed_echo_print":{"use":"echo"},"no_multiline_whitespace_around_double_arrow":true,"no_short_bool_cast":true,"no_singleline_whitespace_before_semicolons":true,"no_spaces_after_function_name":true,"no_spaces_around_offset":{"positions":["inside"]},"no_spaces_inside_parenthesis":true,"no_trailing_comma_in_list_call":true,"no_trailing_comma_in_singleline_array":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"no_unneeded_control_parentheses":{"statements":["break","clone","continue","echo_print","return","switch_case","yield"]},"no_unreachable_default_argument_value":true,"no_unused_imports":true,"no_useless_else":true,"no_useless_return":true,"no_whitespace_before_comma_in_array":true,"no_whitespace_in_blank_line":true,"normalize_index_brace":true,"not_operator_with_successor_space":true,"object_operator_without_whitespace":true,"ordered_class_elements":true,"ordered_imports":{"sort_algorithm":"alpha"},"php_unit_strict":true,"php_unit_test_class_requires_covers":true,"phpdoc_add_missing_param_annotation":true,"phpdoc_indent":true,"phpdoc_inline_tag_normalizer":true,"phpdoc_no_access":true,"phpdoc_no_package":true,"phpdoc_no_useless_inheritdoc":true,"phpdoc_order":true,"phpdoc_scalar":true,"phpdoc_single_line_var_spacing":true,"phpdoc_summary":true,"phpdoc_to_comment":{"ignored_tags":["var"]},"phpdoc_trim":true,"phpdoc_types":true,"phpdoc_var_without_name":true,"psr_autoloading":true,"self_accessor":true,"semicolon_after_instruction":true,"short_scalar_cast":true,"simplified_null_return":true,"single_blank_line_at_eof":true,"single_blank_line_before_namespace":true,"single_class_element_per_statement":{"elements":["const","property"]},"single_import_per_statement":true,"single_line_after_imports":true,"single_line_comment_style":{"comment_types":["hash"]},"single_quote":true,"single_trait_insert_per_statement":true,"space_after_semicolon":true,"standardize_not_equals":true,"strict_comparison":true,"strict_param":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"ternary_operator_spaces":true,"trailing_comma_in_multiline":{"elements":["arrays"]},"trim_array_spaces":true,"unary_operator_spaces":true,"visibility_required":{"elements":["property","method","const"]},"whitespace_after_comma_in_array":true},"ruleCustomisationPolicyVersion":"null-policy","hashes":{"src\/Binary\/Hex\/Writer.php":"590df3f3343c052d96d3cbbeb317f265","src\/Binary\/Buffer\/Writer\/Buffer.php":"80ab7029c26d83449a3529f4cee7a648","src\/Binary\/Buffer\/Writer\/Concerns\/Hex.php":"320937c99c2d66a2fe5c97396a994921","src\/Binary\/Buffer\/Writer\/Concerns\/Integer.php":"1f80863a79db7a412ed78fd647ff1cdf","src\/Binary\/Buffer\/Writer\/Concerns\/UnsignedInteger.php":"2ffba9fbbc552cb15166b7c47e22cd0e","src\/Binary\/Buffer\/Writer\/Concerns\/Generic.php":"76f295b93cc3d1327bf799f57d5a978c","src\/Binary\/Buffer\/Reader\/Buffer.php":"ec09343504cca539cf6bf91aace82464","src\/Binary\/Buffer\/Reader\/Concerns\/Hex.php":"3442407232a6093352c8e2b3146169f5","src\/Binary\/Buffer\/Reader\/Concerns\/Integer.php":"978f791a745c7b99d81032ef7f182558","src\/Binary\/Buffer\/Reader\/Concerns\/UnsignedInteger.php":"6a2f2ea4c5839184a7715dc633a504bd","src\/Exceptions\/InvalidUsernameException.php":"d392da166f80b3be9bdf4ba13d1e7b89","src\/Helpers.php":"90816e6ab5e44ebcb4c31770b610fa3b","src\/Enums\/ContractAbiType.php":"6aeea79e287ad76d65dc4ad0fcdf10eb","src\/Enums\/AbiFunction.php":"a2c304273177d019681bc95912bf69d6","src\/Enums\/ContractAddresses.php":"06e2508d6640ce4572565eadbd390a20","src\/Identities\/Address.php":"83f02a9f2e101ce9ed1748bd3c0a0aab","src\/Identities\/PrivateKey.php":"a4bd870539d13f97a21e714608310804","src\/Identities\/WIF.php":"60dd95da09bb6c240acd02cd3f52a6b8","src\/Identities\/PublicKey.php":"2deb4baddcc512f012a06ce5f3b39387","src\/Binary\/Hex\/Reader.php":"e28448b92fadb2979e1db484a6afca8d","src\/ByteBuffer\/Concerns\/Writes\/Hex.php":"169cc84b5e39930c7e168d7bdbbcd37d","src\/ByteBuffer\/Concerns\/Writes\/Strings.php":"ba4ebf613b130f41b0a531dbd07c43c5","src\/ByteBuffer\/Concerns\/Writes\/Integer.php":"6f717766d8775b349f0e474902f66511","src\/ByteBuffer\/Concerns\/Writes\/Floats.php":"f3797170755677f4776f1cefbda60cb6","src\/ByteBuffer\/Concerns\/Writes\/UnsignedInteger.php":"68a9620949ef00f0b9676f2a1433d849","src\/ByteBuffer\/Concerns\/Reads\/Hex.php":"f3cc0a816b6e9469740bf59575363516","src\/ByteBuffer\/Concerns\/Reads\/Strings.php":"17238cbe09b4b870fa66b5704709f18e","src\/ByteBuffer\/Concerns\/Reads\/Integer.php":"9fa6cb50cebf03b7bf00e3b5337d9873","src\/ByteBuffer\/Concerns\/Reads\/Floats.php":"056b5c5b629a9fd0231becaded2f6973","src\/ByteBuffer\/Concerns\/Reads\/UnsignedInteger.php":"3d29cc54a05f7c6a02973e5618f821ae","src\/Utils\/RlpEncoder.php":"3f12a6053f27f931d0fabbfb91e1a7cf","src\/Utils\/TransactionUtils.php":"6e5ec26cbe4b2125c59a37331083173a","src\/Utils\/TransactionTypeIdentifier.php":"f526604e7ba624aad82e01639ca0682a","src\/Utils\/Abi\/ArgumentDecoder.php":"6430cb971aa8e5927b62270afdec0af6","src\/Utils\/UnitConverter.php":"d716c75d97fb21408dd1b2d86d18c75d","src\/Utils\/TransactionEncoder.php":"618ff6733070b73a5db217a1b8cb1c30","src\/Utils\/AbiEncoder.php":"e0edf2b073a0b0efe07896731846535c","src\/ByteBuffer\/LengthMap.php":"2f62d17297dc7387a39466df38b8649b","src\/ByteBuffer\/Concerns\/Transformable.php":"3d1f8aa43854c9417538e51dfdcd106f","src\/ByteBuffer\/Concerns\/Positionable.php":"86e5bc94fc7389aed28ba6fec9d7d2c2","src\/Binary\/Integer\/Reader.php":"fbe1a1af3821a1c2ee79e996a254ef2a","src\/Binary\/Integer\/Writer.php":"e6dbdb22282670b0547c66202cf25abf","src\/Binary\/UnsignedInteger\/Reader.php":"e9d87277e9f0e8cd6f3a63b6caa95ad2","src\/Binary\/UnsignedInteger\/Writer.php":"c0443907d9a5c9b2c027eca99ae775f5","src\/Utils\/Address.php":"410b85d6c0ba3764293463b48c03da91","src\/Utils\/AbiBase.php":"772be753e59f052101bc7616ecc2ca6d","src\/Utils\/RlpDecoder.php":"3fbea35725a5194184db4c650239418c","src\/Utils\/AbiDecoder.php":"034ad5743007a60ae8aa6059bcb23b86","src\/Utils\/Slot.php":"9674e711b193645b0b769514ab1d5907","src\/Utils\/Message.php":"6dc3cf7e0fe73c86d1eaa54ae0052ce7","src\/ByteBuffer\/Concerns\/Initialisable.php":"96a9455179a83ec00139d937bcd58626","src\/ByteBuffer\/Concerns\/Sizeable.php":"6b03f909020b0d15bc4c35256d85c896","src\/ByteBuffer\/Concerns\/Offsetable.php":"68179b59de54fe5a6233eb7111f6dc79","src\/ByteBuffer\/Concerns\/Readable.php":"518d72f8d0f926461b3248336640abae","src\/ByteBuffer\/Concerns\/Writeable.php":"6970a6fb60370c572f3a3febe6c3df09","src\/ByteBuffer\/ByteBuffer.php":"466a031832de383903af0251fc88be93","src\/ByteBuffer\/ByteOrder.php":"36dff8aac67cf33c653ba15e906e2680","src\/Transactions\/Builder\/EvmCallBuilder.php":"60eeff1cdc6dc59528d216db71211e49","src\/Transactions\/Builder\/TransferBuilder.php":"96ff6d1443e60e6c7ae5a37ed400a62f","src\/Transactions\/Builder\/ValidatorResignationBuilder.php":"ca8561048ac8aa2a0d623b7c327a0afd","src\/Transactions\/Builder\/UsernameRegistrationBuilder.php":"c9bb1a7376cadda5152abd5e46f0be8c","src\/Transactions\/Builder\/AbstractTransactionBuilder.php":"c984b9b1efeb4b7e389e9b01a24b5628","src\/Transactions\/Builder\/TokenTransferBuilder.php":"5a48ac7df4a614009c4b063343157ee0","src\/Transactions\/Builder\/UnvoteBuilder.php":"a37b3c38a9ce5f663579e3ce28e16ff3","src\/Transactions\/Builder\/TokenApproveBuilder.php":"c95653c20511eb4e9ba309260491a34d","src\/Transactions\/Builder\/UsernameResignationBuilder.php":"44ddc136b094777b3fb105fef647db11","src\/Transactions\/Builder\/MultipaymentBuilder.php":"562c803fa9e19a6873951f7cd1bad1c8","src\/Transactions\/Builder\/VoteBuilder.php":"02426dd1b4042447e25a64eb78188fb7","src\/Transactions\/Builder\/ValidatorRegistrationBuilder.php":"121510114027edeb7de311ec07f3ff6e","src\/Transactions\/Types\/UsernameRegistration.php":"485b52c32da8b62826617708f3b4a6ec","src\/Transactions\/Types\/Vote.php":"90972b6a028a7652351655a1c1b08b34","src\/Transactions\/Types\/Multipayment.php":"b10ca169d3d37058ad7b940b48d11a8a","src\/Transactions\/Types\/EvmCall.php":"df3aa5b419b200b9eac9d5fc87d240c8","src\/Transactions\/Types\/ValidatorResignation.php":"090882c106dfa298a956bd8eeb49c447","src\/Transactions\/Types\/AbstractTransaction.php":"60222b9229ae21c646b2e30cc38b6871","src\/Transactions\/Types\/Transfer.php":"4d3a16aa308ccf80758b212eca33b669","src\/Transactions\/Types\/ValidatorRegistration.php":"b370ae219f09706187e0ed1051f11a06","src\/Transactions\/Types\/Unvote.php":"56b3c9b921f038639f4eac0d6239e437","src\/Transactions\/Types\/UsernameResignation.php":"68848e1cd4b4d341aa7ff831481ffe31","src\/Transactions\/Serializer.php":"54487af37809b3c134efdce4e26ed1b2","src\/Networks\/Mainnet.php":"3acffe72b51707db16ad4b1a78f050b1","src\/Networks\/AbstractNetwork.php":"5b1cb5aa9830faf93a7f68023614dc1c","src\/Networks\/Testnet.php":"60f72744f4691e2da852b66e9d85a5f0","tests\/Unit\/HelpersTest.php":"40826b23445858a4968985a8c27a7da0","tests\/Unit\/Enums\/AbiFunctionTest.php":"d9ff7604b7be95adad992489c7b0f3dc","tests\/Unit\/Identities\/PrivateKeyTest.php":"19275c459ca01885ae4bf73ffcbecd33","tests\/Unit\/Identities\/PublicKeyTest.php":"e406835540aa170e6e27d24a2a36c09a","tests\/Unit\/Identities\/AddressTest.php":"0e0b7cfefdec532df286f52ce9ddee0f","tests\/Unit\/Identities\/WIFTest.php":"5619ab75730edbb32603355767e5ff70","tests\/Unit\/Binary\/Hex\/WriterTest.php":"85dad01bc8693af66bc55c40a2e603c5","tests\/Unit\/Binary\/Hex\/ReaderTest.php":"f179cd6f729f0d866518038803446228","tests\/Unit\/Binary\/Buffer\/Writer\/BufferTest.php":"6372984efaf7d2a378a7c2ebc3019f3a","tests\/Unit\/Binary\/Buffer\/Reader\/BufferTest.php":"6c6996473bf7c7d8592e3639f5326dda","tests\/Unit\/Binary\/Integer\/WriterTest.php":"64a1f07dc16c4faf2c06a3e5092a107d","tests\/Unit\/Binary\/Integer\/ReaderTest.php":"599fef4860548866a39f64e3dbb44e7d","tests\/Unit\/Binary\/UnsignedInteger\/WriterTest.php":"c10138f97a2b9f34c80d6feae77e77cc","tests\/Unit\/Binary\/UnsignedInteger\/ReaderTest.php":"c88736b794a6320cae58e6554b2cd8bc","tests\/Unit\/Utils\/TransactionEncoderTest.php":"c2be7e77669459fc1f3c75a0a8a19fbf","tests\/Unit\/Utils\/TransactionUtilsTest.php":"01a1855eacb299b74a997d7dd5987774","tests\/Unit\/Utils\/AddressTest.php":"e2851e599dd5b442cbe83e9c1f28e4b9","tests\/Unit\/ByteBuffer\/Concerns\/SizeableTest.php":"d1a553d36f3fec95b857c839e2d834cb","tests\/Unit\/ByteBuffer\/Concerns\/Writes\/IntegerTest.php":"e5124461e7a97a3e2d78e5b6f5469991","tests\/Unit\/ByteBuffer\/Concerns\/Writes\/HexTest.php":"1abfe709a9e787f7b4e4718d5af0e65c","tests\/Unit\/ByteBuffer\/Concerns\/Writes\/UnsignedIntegerTest.php":"4f2ed9775cd92f3d136d9d6b1cd8f25c","tests\/Unit\/ByteBuffer\/Concerns\/Writes\/FloatsTest.php":"9b45e3276289bb0c44faf94326d6ff76","tests\/Unit\/ByteBuffer\/Concerns\/Writes\/StringsTest.php":"6f591e8733550f1ad0d231f7809ad0a5","tests\/Unit\/ByteBuffer\/Concerns\/Reads\/IntegerTest.php":"3b113ff1f80a9e15ab7af1a29161259b","tests\/Unit\/ByteBuffer\/Concerns\/Reads\/HexTest.php":"01aa9304919af4fa3fa6aaef2f897679","tests\/Unit\/ByteBuffer\/Concerns\/Reads\/UnsignedIntegerTest.php":"cddc6997c7daf4c494b7a65b22823bc3","tests\/Unit\/ByteBuffer\/Concerns\/Reads\/FloatsTest.php":"e4d5200763a77c3993047247d59b3488","tests\/Unit\/Utils\/AbiEncoderTest.php":"8e9601a7576c4e0590f9508267464ff6","tests\/Unit\/Utils\/RlpEncoderTest.php":"6710ec96e9603dbe073181e095674027","tests\/Unit\/Utils\/UnitConverterTest.php":"b4dfb4b2bdeac414b9c85b35a8e09d8c","tests\/Unit\/Utils\/AbiDecoderTest.php":"47c911cb143c9cd4e89b83568509de28","tests\/Unit\/Utils\/SlotTest.php":"ed89ae0182409d977a4faab9ca1eea95","tests\/Unit\/Utils\/RlpDecoderTest.php":"12f50e696926077dbbc1f005cbae2ef2","tests\/Unit\/Utils\/TransactionTypeIdentifierTest.php":"96b1e8b27ad9acf202c037919a7aa194","tests\/Unit\/Utils\/MessageTest.php":"71efee57f29dceda4e36e133169c5683","tests\/Unit\/Utils\/Abi\/ArgumentDecoderTest.php":"9e1fda36ecf2cde01b7db5c85658bc24","tests\/Unit\/ByteBuffer\/ByteBufferTest.php":"34237362a8d54d9c4d1610d59fedf7f8","src\/Transactions\/Deserializer.php":"32e5d5e8926ffda7402d6f43da2d02d4","src\/Configuration\/Network.php":"d908336264d1b5c789e42fe7ba0cfe2c","src\/BLS\/HashToCurve\/G2HashToCurve.php":"104f044fbd0bfc2d871412caf6284306","src\/BLS\/ProofOfPossession.php":"f27d847ffcb5db3d5179367adadcb018","src\/BLS\/Fields\/Fp2.php":"7685c72b29900bef127170b812134086","src\/BLS\/Fields\/Fp.php":"415f741a7ae6e45436e54f3258b95363","src\/BLS\/EIP2333.php":"8ae983f54821a7d04a215ab109f240d8","src\/BLS\/Curves\/G2.php":"69e7f11b35b6f66c22265d1242b4cbed","src\/BLS\/Curves\/G1.php":"7dc863fe9fc87415120143b23bf3172b","src\/Networks\/NetworkInterface.php":"b0aff2a147eb231da8cee50012841830","tests\/Unit\/ByteBuffer\/Concerns\/Reads\/StringsTest.php":"344d7500a1776339f787c9f56be5b580","tests\/Unit\/ByteBuffer\/Concerns\/TransformableTest.php":"6230c022bbcada03e9e336e532b34b55","tests\/Unit\/ByteBuffer\/Concerns\/PositionableTest.php":"10004a8bf4ed76dc108dd5ae3db7596d","tests\/Unit\/ByteBuffer\/Concerns\/OffsetableTest.php":"6888874a372bccc480c2c7ebee35c4cf","tests\/Unit\/ByteBuffer\/Concerns\/InitialisableTest.php":"f9e38c617dea3bb087550a78fa333d2c","tests\/Unit\/ByteBuffer\/LengthMapTest.php":"7e8c04fdf23a09c06c3c77aa7dfb037a","tests\/Unit\/Transactions\/Builder\/TokenApproveBuilderTest.php":"eefe09a0b5c68542c7a33d3c2250b94b","tests\/Unit\/Transactions\/Builder\/TransferBuilderTest.php":"90a7ca6fed95fde81fc4f0d053264003","tests\/Unit\/Transactions\/Builder\/ValidatorResignationBuilderTest.php":"c744298864255a9851f85878c91fd5a6","tests\/Unit\/Transactions\/Builder\/UsernameResignationBuilderTest.php":"c3443fe93b7b10b85f33b6e3e5b6477a","tests\/Unit\/Transactions\/Builder\/TokenTransferBuilderTest.php":"d0afe43a3065f8f6c279deb940930ef5","tests\/Unit\/Transactions\/Builder\/UnvoteBuilderTest.php":"eed8e8215db82abd4a5c2994453b9772","tests\/Unit\/Transactions\/Builder\/MultipaymentBuilderTest.php":"f6aded1988aacb3c15a70885340e08f7","tests\/Unit\/Transactions\/Builder\/EvmCallBuilderTest.php":"1d95fae15d239d2eea1ab245609397da","tests\/Unit\/Transactions\/Builder\/ValidatorRegistrationBuilderTest.php":"1bf6b9a4e547fd02b241c0f4c3a9474c","tests\/Unit\/Transactions\/Builder\/UsernameRegistrationBuilderTest.php":"baba0df21fdb5fdedf41084b35c02cb9","tests\/Unit\/Transactions\/Builder\/VoteBuilderTest.php":"d3ec709c1e626422fa8a86eb833ae0ea","tests\/Unit\/Transactions\/Types\/TransferTest.php":"71110444ac25ca571c6dc6f855625c13","tests\/Unit\/Transactions\/Types\/ValidatorResignationTest.php":"1817a13685810de64b15df1630b11e5d","tests\/Unit\/Transactions\/Types\/EvmCallTest.php":"b37cff6589fa63bc43a196626853c208","tests\/Analysis\/AnalysisTest.php":"3dd50256922f683ee5ac773e20397598","tests\/Unit\/BLS\/EIP2333Test.php":"a7cbb6d601453304110e6e429ba9488b","tests\/Unit\/BLS\/ProofOfPossessionTest.php":"3e807b274f0d61f6f26ad98402163206","tests\/Unit\/Networks\/MainnetTest.php":"372a7750ae834599a0088b09a4fac760","tests\/Unit\/Networks\/TestnetTest.php":"c8dba3e353c84037c78d558548760872","tests\/Pest.php":"f56068e0b3ed7b33d7200c0d7684d2b4","tests\/Helpers.php":"362fa87b858b91ed6cb4112224fba1c2","tests\/TestCase.php":"4133b24901762dc409bb9a111c8c4853","tests\/Concerns\/Serialize.php":"5011734a689b042840e8c277c42b9a36","tests\/Concerns\/Deserialize.php":"d59555dc433a75a3e75d4483219c5e41","tests\/Concerns\/Fixtures.php":"db5b42eaf5cf381b51f8440c66669efd","tests\/Unit\/Transactions\/Types\/UnvoteTest.php":"9b57057eb1b0c17e7c783506a96c287a","tests\/Unit\/Transactions\/Types\/ValidatorRegistrationTest.php":"7b8b5c37a358ed4958a9950ca559df6e","tests\/Unit\/Transactions\/Types\/MultipaymentTest.php":"27d691ef2e4da83f8f4ff09e4c31c702","tests\/Unit\/Transactions\/Types\/UsernameRegistrationTest.php":"b5200bbac887cdbafd894d1883a593eb","tests\/Unit\/Transactions\/Types\/UsernameResignationTest.php":"69477c3478261dfdf7d4fe4eb96e0cd6","tests\/Unit\/Transactions\/Types\/VoteTest.php":"f87adb812093d3b257edae1778428c3a","tests\/Unit\/Transactions\/DeserializerTest.php":"c69a20d6f44306c0f6c136d0c6dc322a","tests\/Unit\/Transactions\/TransactionTest.php":"251c1ec6920f5aed952bfb1297ef1b1f","tests\/Unit\/Transactions\/SerializerTest.php":"6bef82d199db0b3991c9004f55074879","tests\/Unit\/Configuration\/NetworkTest.php":"fda057f8eb08ceb6c89e26e44b1acba1","src\/Identities\/LegacyAddress.php":"ddad24a8b70ed876c05032137d42b56a","src\/Transactions\/Builder\/BatchTransferBuilder.php":"61667bcef4d1bbdfce39d78721dbccc6","tests\/Unit\/Identities\/LegacyAddressTest.php":"061562efb8005bac42f41899d70f6a8e","tests\/Unit\/Transactions\/Builder\/BatchTransferBuilderTest.php":"c0961fd9bb26d6d6b0f23f2999c4ac5a","src\/Transactions\/Builder\/ValidatorUpdateBuilder.php":"48dd56acc72d28693a72be5c03734d0a","src\/Transactions\/Types\/ValidatorUpdate.php":"c281a203ab0b5c9da3c1e55b265a7406","tests\/Unit\/Transactions\/Builder\/ValidatorUpdateBuilderTest.php":"361698a0cbf6c5905b45e4cde7d48d16"}} \ No newline at end of file +{"php":"8.3.6","version":"3.95.1:v3.95.1#a9727678fbd12997f1d9de8f4a37824ed9df1065","indent":" ","lineEnding":"\n","rules":{"array_syntax":{"syntax":"short"},"binary_operator_spaces":{"default":"single_space","operators":{"=":"align","=>":"align"}},"blank_line_after_namespace":true,"blank_line_after_opening_tag":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try"]},"braces":true,"cast_spaces":true,"class_attributes_separation":{"elements":{"const":"one","method":"one","property":"one"}},"class_definition":true,"concat_space":{"spacing":"none"},"constant_case":{"case":"lower"},"declare_equal_normalize":true,"declare_strict_types":true,"echo_tag_syntax":{"format":"long"},"elseif":true,"encoding":true,"final_internal_class":true,"full_opening_tag":true,"fully_qualified_strict_types":true,"function_declaration":true,"function_typehint_space":true,"heredoc_to_nowdoc":true,"include":true,"increment_style":{"style":"post"},"indentation_type":true,"linebreak_after_opening_tag":true,"line_ending":true,"lowercase_cast":true,"lowercase_keywords":true,"lowercase_static_reference":true,"magic_method_casing":true,"magic_constant_casing":true,"method_argument_space":true,"multiline_whitespace_before_semicolons":{"strategy":"no_multi_line"},"native_function_casing":true,"new_with_braces":true,"no_alias_functions":true,"no_blank_lines_after_class_opening":true,"no_blank_lines_after_phpdoc":true,"no_closing_tag":true,"no_empty_phpdoc":true,"no_empty_statement":true,"no_extra_blank_lines":{"tokens":["extra","throw","use","use_trait"]},"no_leading_import_slash":true,"no_leading_namespace_whitespace":true,"no_mixed_echo_print":{"use":"echo"},"no_multiline_whitespace_around_double_arrow":true,"no_short_bool_cast":true,"no_singleline_whitespace_before_semicolons":true,"no_spaces_after_function_name":true,"no_spaces_around_offset":{"positions":["inside"]},"no_spaces_inside_parenthesis":true,"no_trailing_comma_in_list_call":true,"no_trailing_comma_in_singleline_array":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"no_unneeded_control_parentheses":{"statements":["break","clone","continue","echo_print","return","switch_case","yield"]},"no_unreachable_default_argument_value":true,"no_unused_imports":true,"no_useless_else":true,"no_useless_return":true,"no_whitespace_before_comma_in_array":true,"no_whitespace_in_blank_line":true,"normalize_index_brace":true,"not_operator_with_successor_space":true,"object_operator_without_whitespace":true,"ordered_class_elements":true,"ordered_imports":{"sort_algorithm":"alpha"},"php_unit_strict":true,"php_unit_test_class_requires_covers":true,"phpdoc_add_missing_param_annotation":true,"phpdoc_indent":true,"phpdoc_inline_tag_normalizer":true,"phpdoc_no_access":true,"phpdoc_no_package":true,"phpdoc_no_useless_inheritdoc":true,"phpdoc_order":true,"phpdoc_scalar":true,"phpdoc_single_line_var_spacing":true,"phpdoc_summary":true,"phpdoc_to_comment":{"ignored_tags":["var"]},"phpdoc_trim":true,"phpdoc_types":true,"phpdoc_var_without_name":true,"psr_autoloading":true,"self_accessor":true,"semicolon_after_instruction":true,"short_scalar_cast":true,"simplified_null_return":true,"single_blank_line_at_eof":true,"single_blank_line_before_namespace":true,"single_class_element_per_statement":{"elements":["const","property"]},"single_import_per_statement":true,"single_line_after_imports":true,"single_line_comment_style":{"comment_types":["hash"]},"single_quote":true,"single_trait_insert_per_statement":true,"space_after_semicolon":true,"standardize_not_equals":true,"strict_comparison":true,"strict_param":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"ternary_operator_spaces":true,"trailing_comma_in_multiline":{"elements":["arrays"]},"trim_array_spaces":true,"unary_operator_spaces":true,"visibility_required":{"elements":["property","method","const"]},"whitespace_after_comma_in_array":true},"ruleCustomisationPolicyVersion":"null-policy","hashes":{"src\/Binary\/Hex\/Writer.php":"590df3f3343c052d96d3cbbeb317f265","src\/Binary\/Buffer\/Writer\/Buffer.php":"80ab7029c26d83449a3529f4cee7a648","src\/Binary\/Buffer\/Writer\/Concerns\/Hex.php":"320937c99c2d66a2fe5c97396a994921","src\/Binary\/Buffer\/Writer\/Concerns\/Integer.php":"1f80863a79db7a412ed78fd647ff1cdf","src\/Binary\/Buffer\/Writer\/Concerns\/UnsignedInteger.php":"2ffba9fbbc552cb15166b7c47e22cd0e","src\/Binary\/Buffer\/Writer\/Concerns\/Generic.php":"76f295b93cc3d1327bf799f57d5a978c","src\/Binary\/Buffer\/Reader\/Buffer.php":"ec09343504cca539cf6bf91aace82464","src\/Binary\/Buffer\/Reader\/Concerns\/Hex.php":"3442407232a6093352c8e2b3146169f5","src\/Binary\/Buffer\/Reader\/Concerns\/Integer.php":"978f791a745c7b99d81032ef7f182558","src\/Binary\/Buffer\/Reader\/Concerns\/UnsignedInteger.php":"6a2f2ea4c5839184a7715dc633a504bd","src\/Exceptions\/InvalidUsernameException.php":"d392da166f80b3be9bdf4ba13d1e7b89","src\/Helpers.php":"90816e6ab5e44ebcb4c31770b610fa3b","src\/Enums\/ContractAbiType.php":"6aeea79e287ad76d65dc4ad0fcdf10eb","src\/Enums\/AbiFunction.php":"a2c304273177d019681bc95912bf69d6","src\/Enums\/ContractAddresses.php":"06e2508d6640ce4572565eadbd390a20","src\/Identities\/Address.php":"83f02a9f2e101ce9ed1748bd3c0a0aab","src\/Identities\/PrivateKey.php":"a4bd870539d13f97a21e714608310804","src\/Identities\/WIF.php":"60dd95da09bb6c240acd02cd3f52a6b8","src\/Identities\/PublicKey.php":"2deb4baddcc512f012a06ce5f3b39387","src\/Binary\/Hex\/Reader.php":"e28448b92fadb2979e1db484a6afca8d","src\/ByteBuffer\/Concerns\/Writes\/Hex.php":"169cc84b5e39930c7e168d7bdbbcd37d","src\/ByteBuffer\/Concerns\/Writes\/Strings.php":"ba4ebf613b130f41b0a531dbd07c43c5","src\/ByteBuffer\/Concerns\/Writes\/Integer.php":"6f717766d8775b349f0e474902f66511","src\/ByteBuffer\/Concerns\/Writes\/Floats.php":"f3797170755677f4776f1cefbda60cb6","src\/ByteBuffer\/Concerns\/Writes\/UnsignedInteger.php":"68a9620949ef00f0b9676f2a1433d849","src\/ByteBuffer\/Concerns\/Reads\/Hex.php":"f3cc0a816b6e9469740bf59575363516","src\/ByteBuffer\/Concerns\/Reads\/Strings.php":"17238cbe09b4b870fa66b5704709f18e","src\/ByteBuffer\/Concerns\/Reads\/Integer.php":"9fa6cb50cebf03b7bf00e3b5337d9873","src\/ByteBuffer\/Concerns\/Reads\/Floats.php":"056b5c5b629a9fd0231becaded2f6973","src\/ByteBuffer\/Concerns\/Reads\/UnsignedInteger.php":"3d29cc54a05f7c6a02973e5618f821ae","src\/Utils\/RlpEncoder.php":"3f12a6053f27f931d0fabbfb91e1a7cf","src\/Utils\/TransactionUtils.php":"6e5ec26cbe4b2125c59a37331083173a","src\/Utils\/TransactionTypeIdentifier.php":"f526604e7ba624aad82e01639ca0682a","src\/Utils\/Abi\/ArgumentDecoder.php":"6430cb971aa8e5927b62270afdec0af6","src\/Utils\/UnitConverter.php":"d716c75d97fb21408dd1b2d86d18c75d","src\/Utils\/TransactionEncoder.php":"645a22062966fec896eb88a16f16045b","src\/Utils\/AbiEncoder.php":"e0edf2b073a0b0efe07896731846535c","src\/ByteBuffer\/LengthMap.php":"2f62d17297dc7387a39466df38b8649b","src\/ByteBuffer\/Concerns\/Transformable.php":"3d1f8aa43854c9417538e51dfdcd106f","src\/ByteBuffer\/Concerns\/Positionable.php":"86e5bc94fc7389aed28ba6fec9d7d2c2","src\/Binary\/Integer\/Reader.php":"fbe1a1af3821a1c2ee79e996a254ef2a","src\/Binary\/Integer\/Writer.php":"e6dbdb22282670b0547c66202cf25abf","src\/Binary\/UnsignedInteger\/Reader.php":"e9d87277e9f0e8cd6f3a63b6caa95ad2","src\/Binary\/UnsignedInteger\/Writer.php":"c0443907d9a5c9b2c027eca99ae775f5","src\/Utils\/Address.php":"ac4f857cd808c4c046f5a7c7699617b4","src\/Utils\/AbiBase.php":"772be753e59f052101bc7616ecc2ca6d","src\/Utils\/RlpDecoder.php":"3fbea35725a5194184db4c650239418c","src\/Utils\/AbiDecoder.php":"034ad5743007a60ae8aa6059bcb23b86","src\/Utils\/Slot.php":"9674e711b193645b0b769514ab1d5907","src\/Utils\/Message.php":"6dc3cf7e0fe73c86d1eaa54ae0052ce7","src\/ByteBuffer\/Concerns\/Initialisable.php":"96a9455179a83ec00139d937bcd58626","src\/ByteBuffer\/Concerns\/Sizeable.php":"6b03f909020b0d15bc4c35256d85c896","src\/ByteBuffer\/Concerns\/Offsetable.php":"68179b59de54fe5a6233eb7111f6dc79","src\/ByteBuffer\/Concerns\/Readable.php":"518d72f8d0f926461b3248336640abae","src\/ByteBuffer\/Concerns\/Writeable.php":"6970a6fb60370c572f3a3febe6c3df09","src\/ByteBuffer\/ByteBuffer.php":"466a031832de383903af0251fc88be93","src\/ByteBuffer\/ByteOrder.php":"36dff8aac67cf33c653ba15e906e2680","src\/Transactions\/Builder\/EvmCallBuilder.php":"60eeff1cdc6dc59528d216db71211e49","src\/Transactions\/Builder\/TransferBuilder.php":"96ff6d1443e60e6c7ae5a37ed400a62f","src\/Transactions\/Builder\/ValidatorResignationBuilder.php":"ca8561048ac8aa2a0d623b7c327a0afd","src\/Transactions\/Builder\/UsernameRegistrationBuilder.php":"c9bb1a7376cadda5152abd5e46f0be8c","src\/Transactions\/Builder\/AbstractTransactionBuilder.php":"c984b9b1efeb4b7e389e9b01a24b5628","src\/Transactions\/Builder\/TokenTransferBuilder.php":"5a48ac7df4a614009c4b063343157ee0","src\/Transactions\/Builder\/UnvoteBuilder.php":"a37b3c38a9ce5f663579e3ce28e16ff3","src\/Transactions\/Builder\/TokenApproveBuilder.php":"c95653c20511eb4e9ba309260491a34d","src\/Transactions\/Builder\/UsernameResignationBuilder.php":"44ddc136b094777b3fb105fef647db11","src\/Transactions\/Builder\/MultipaymentBuilder.php":"562c803fa9e19a6873951f7cd1bad1c8","src\/Transactions\/Builder\/VoteBuilder.php":"02426dd1b4042447e25a64eb78188fb7","src\/Transactions\/Builder\/ValidatorRegistrationBuilder.php":"c00aaa8238d535a140e8a8c6b881d0b4","src\/Transactions\/Types\/UsernameRegistration.php":"485b52c32da8b62826617708f3b4a6ec","src\/Transactions\/Types\/Vote.php":"90972b6a028a7652351655a1c1b08b34","src\/Transactions\/Types\/Multipayment.php":"b10ca169d3d37058ad7b940b48d11a8a","src\/Transactions\/Types\/EvmCall.php":"df3aa5b419b200b9eac9d5fc87d240c8","src\/Transactions\/Types\/ValidatorResignation.php":"090882c106dfa298a956bd8eeb49c447","src\/Transactions\/Types\/AbstractTransaction.php":"60222b9229ae21c646b2e30cc38b6871","src\/Transactions\/Types\/Transfer.php":"4d3a16aa308ccf80758b212eca33b669","src\/Transactions\/Types\/ValidatorRegistration.php":"b370ae219f09706187e0ed1051f11a06","src\/Transactions\/Types\/Unvote.php":"56b3c9b921f038639f4eac0d6239e437","src\/Transactions\/Types\/UsernameResignation.php":"68848e1cd4b4d341aa7ff831481ffe31","src\/Transactions\/Serializer.php":"54487af37809b3c134efdce4e26ed1b2","src\/Networks\/Mainnet.php":"3acffe72b51707db16ad4b1a78f050b1","src\/Networks\/AbstractNetwork.php":"5b1cb5aa9830faf93a7f68023614dc1c","src\/Networks\/Testnet.php":"60f72744f4691e2da852b66e9d85a5f0","tests\/Unit\/HelpersTest.php":"40826b23445858a4968985a8c27a7da0","tests\/Unit\/Enums\/AbiFunctionTest.php":"d9ff7604b7be95adad992489c7b0f3dc","tests\/Unit\/Identities\/PrivateKeyTest.php":"19275c459ca01885ae4bf73ffcbecd33","tests\/Unit\/Identities\/PublicKeyTest.php":"e406835540aa170e6e27d24a2a36c09a","tests\/Unit\/Identities\/AddressTest.php":"0e0b7cfefdec532df286f52ce9ddee0f","tests\/Unit\/Identities\/WIFTest.php":"5619ab75730edbb32603355767e5ff70","tests\/Unit\/Binary\/Hex\/WriterTest.php":"85dad01bc8693af66bc55c40a2e603c5","tests\/Unit\/Binary\/Hex\/ReaderTest.php":"f179cd6f729f0d866518038803446228","tests\/Unit\/Binary\/Buffer\/Writer\/BufferTest.php":"6372984efaf7d2a378a7c2ebc3019f3a","tests\/Unit\/Binary\/Buffer\/Reader\/BufferTest.php":"6c6996473bf7c7d8592e3639f5326dda","tests\/Unit\/Binary\/Integer\/WriterTest.php":"64a1f07dc16c4faf2c06a3e5092a107d","tests\/Unit\/Binary\/Integer\/ReaderTest.php":"599fef4860548866a39f64e3dbb44e7d","tests\/Unit\/Binary\/UnsignedInteger\/WriterTest.php":"c10138f97a2b9f34c80d6feae77e77cc","tests\/Unit\/Binary\/UnsignedInteger\/ReaderTest.php":"c88736b794a6320cae58e6554b2cd8bc","tests\/Unit\/Utils\/TransactionEncoderTest.php":"b936edc1da350532bfc87c5443bec12c","tests\/Unit\/Utils\/TransactionUtilsTest.php":"01a1855eacb299b74a997d7dd5987774","tests\/Unit\/Utils\/AddressTest.php":"2f19ca88ababca6a8c1550ced7084454","tests\/Unit\/ByteBuffer\/Concerns\/SizeableTest.php":"d1a553d36f3fec95b857c839e2d834cb","tests\/Unit\/ByteBuffer\/Concerns\/Writes\/IntegerTest.php":"e5124461e7a97a3e2d78e5b6f5469991","tests\/Unit\/ByteBuffer\/Concerns\/Writes\/HexTest.php":"1abfe709a9e787f7b4e4718d5af0e65c","tests\/Unit\/ByteBuffer\/Concerns\/Writes\/UnsignedIntegerTest.php":"4f2ed9775cd92f3d136d9d6b1cd8f25c","tests\/Unit\/ByteBuffer\/Concerns\/Writes\/FloatsTest.php":"9b45e3276289bb0c44faf94326d6ff76","tests\/Unit\/ByteBuffer\/Concerns\/Writes\/StringsTest.php":"6f591e8733550f1ad0d231f7809ad0a5","tests\/Unit\/ByteBuffer\/Concerns\/Reads\/IntegerTest.php":"3b113ff1f80a9e15ab7af1a29161259b","tests\/Unit\/ByteBuffer\/Concerns\/Reads\/HexTest.php":"01aa9304919af4fa3fa6aaef2f897679","tests\/Unit\/ByteBuffer\/Concerns\/Reads\/UnsignedIntegerTest.php":"cddc6997c7daf4c494b7a65b22823bc3","tests\/Unit\/ByteBuffer\/Concerns\/Reads\/FloatsTest.php":"e4d5200763a77c3993047247d59b3488","tests\/Unit\/Utils\/AbiEncoderTest.php":"8e9601a7576c4e0590f9508267464ff6","tests\/Unit\/Utils\/RlpEncoderTest.php":"6710ec96e9603dbe073181e095674027","tests\/Unit\/Utils\/UnitConverterTest.php":"b4dfb4b2bdeac414b9c85b35a8e09d8c","tests\/Unit\/Utils\/AbiDecoderTest.php":"47c911cb143c9cd4e89b83568509de28","tests\/Unit\/Utils\/SlotTest.php":"ed89ae0182409d977a4faab9ca1eea95","tests\/Unit\/Utils\/RlpDecoderTest.php":"12f50e696926077dbbc1f005cbae2ef2","tests\/Unit\/Utils\/TransactionTypeIdentifierTest.php":"96b1e8b27ad9acf202c037919a7aa194","tests\/Unit\/Utils\/MessageTest.php":"71efee57f29dceda4e36e133169c5683","tests\/Unit\/Utils\/Abi\/ArgumentDecoderTest.php":"9e1fda36ecf2cde01b7db5c85658bc24","tests\/Unit\/ByteBuffer\/ByteBufferTest.php":"34237362a8d54d9c4d1610d59fedf7f8","src\/Transactions\/Deserializer.php":"32e5d5e8926ffda7402d6f43da2d02d4","src\/Configuration\/Network.php":"d908336264d1b5c789e42fe7ba0cfe2c","src\/BLS\/HashToCurve\/G2HashToCurve.php":"104f044fbd0bfc2d871412caf6284306","src\/BLS\/ProofOfPossession.php":"a1b6f6305965381061e7bde85654c5dc","src\/BLS\/Fields\/Fp2.php":"7685c72b29900bef127170b812134086","src\/BLS\/Fields\/Fp.php":"415f741a7ae6e45436e54f3258b95363","src\/BLS\/EIP2333.php":"8ae983f54821a7d04a215ab109f240d8","src\/BLS\/Curves\/G2.php":"69e7f11b35b6f66c22265d1242b4cbed","src\/BLS\/Curves\/G1.php":"7dc863fe9fc87415120143b23bf3172b","src\/Networks\/NetworkInterface.php":"b0aff2a147eb231da8cee50012841830","tests\/Unit\/ByteBuffer\/Concerns\/Reads\/StringsTest.php":"344d7500a1776339f787c9f56be5b580","tests\/Unit\/ByteBuffer\/Concerns\/TransformableTest.php":"6230c022bbcada03e9e336e532b34b55","tests\/Unit\/ByteBuffer\/Concerns\/PositionableTest.php":"10004a8bf4ed76dc108dd5ae3db7596d","tests\/Unit\/ByteBuffer\/Concerns\/OffsetableTest.php":"6888874a372bccc480c2c7ebee35c4cf","tests\/Unit\/ByteBuffer\/Concerns\/InitialisableTest.php":"f9e38c617dea3bb087550a78fa333d2c","tests\/Unit\/ByteBuffer\/LengthMapTest.php":"7e8c04fdf23a09c06c3c77aa7dfb037a","tests\/Unit\/Transactions\/Builder\/TokenApproveBuilderTest.php":"eefe09a0b5c68542c7a33d3c2250b94b","tests\/Unit\/Transactions\/Builder\/TransferBuilderTest.php":"90a7ca6fed95fde81fc4f0d053264003","tests\/Unit\/Transactions\/Builder\/ValidatorResignationBuilderTest.php":"c744298864255a9851f85878c91fd5a6","tests\/Unit\/Transactions\/Builder\/UsernameResignationBuilderTest.php":"c3443fe93b7b10b85f33b6e3e5b6477a","tests\/Unit\/Transactions\/Builder\/TokenTransferBuilderTest.php":"d0afe43a3065f8f6c279deb940930ef5","tests\/Unit\/Transactions\/Builder\/UnvoteBuilderTest.php":"eed8e8215db82abd4a5c2994453b9772","tests\/Unit\/Transactions\/Builder\/MultipaymentBuilderTest.php":"f6aded1988aacb3c15a70885340e08f7","tests\/Unit\/Transactions\/Builder\/EvmCallBuilderTest.php":"1d95fae15d239d2eea1ab245609397da","tests\/Unit\/Transactions\/Builder\/ValidatorRegistrationBuilderTest.php":"514dd80d5c762683cfd6705a2905415d","tests\/Unit\/Transactions\/Builder\/UsernameRegistrationBuilderTest.php":"baba0df21fdb5fdedf41084b35c02cb9","tests\/Unit\/Transactions\/Builder\/VoteBuilderTest.php":"d3ec709c1e626422fa8a86eb833ae0ea","tests\/Unit\/Transactions\/Types\/TransferTest.php":"71110444ac25ca571c6dc6f855625c13","tests\/Unit\/Transactions\/Types\/ValidatorResignationTest.php":"1817a13685810de64b15df1630b11e5d","tests\/Unit\/Transactions\/Types\/EvmCallTest.php":"b37cff6589fa63bc43a196626853c208","tests\/Analysis\/AnalysisTest.php":"3dd50256922f683ee5ac773e20397598","tests\/Unit\/BLS\/EIP2333Test.php":"a7cbb6d601453304110e6e429ba9488b","tests\/Unit\/BLS\/ProofOfPossessionTest.php":"4a9b6ecc094c7515f548ff82e83fafb2","tests\/Unit\/Networks\/MainnetTest.php":"372a7750ae834599a0088b09a4fac760","tests\/Unit\/Networks\/TestnetTest.php":"c8dba3e353c84037c78d558548760872","tests\/Pest.php":"f56068e0b3ed7b33d7200c0d7684d2b4","tests\/Helpers.php":"362fa87b858b91ed6cb4112224fba1c2","tests\/TestCase.php":"4133b24901762dc409bb9a111c8c4853","tests\/Concerns\/Serialize.php":"5011734a689b042840e8c277c42b9a36","tests\/Concerns\/Deserialize.php":"d59555dc433a75a3e75d4483219c5e41","tests\/Concerns\/Fixtures.php":"db5b42eaf5cf381b51f8440c66669efd","tests\/Unit\/Transactions\/Types\/UnvoteTest.php":"9b57057eb1b0c17e7c783506a96c287a","tests\/Unit\/Transactions\/Types\/ValidatorRegistrationTest.php":"7b8b5c37a358ed4958a9950ca559df6e","tests\/Unit\/Transactions\/Types\/MultipaymentTest.php":"27d691ef2e4da83f8f4ff09e4c31c702","tests\/Unit\/Transactions\/Types\/UsernameRegistrationTest.php":"b5200bbac887cdbafd894d1883a593eb","tests\/Unit\/Transactions\/Types\/UsernameResignationTest.php":"69477c3478261dfdf7d4fe4eb96e0cd6","tests\/Unit\/Transactions\/Types\/VoteTest.php":"f87adb812093d3b257edae1778428c3a","tests\/Unit\/Transactions\/DeserializerTest.php":"c69a20d6f44306c0f6c136d0c6dc322a","tests\/Unit\/Transactions\/TransactionTest.php":"251c1ec6920f5aed952bfb1297ef1b1f","tests\/Unit\/Transactions\/SerializerTest.php":"6bef82d199db0b3991c9004f55074879","tests\/Unit\/Configuration\/NetworkTest.php":"fda057f8eb08ceb6c89e26e44b1acba1","src\/Identities\/LegacyAddress.php":"ddad24a8b70ed876c05032137d42b56a","src\/Transactions\/Builder\/BatchTransferBuilder.php":"61667bcef4d1bbdfce39d78721dbccc6","tests\/Unit\/Identities\/LegacyAddressTest.php":"061562efb8005bac42f41899d70f6a8e","tests\/Unit\/Transactions\/Builder\/BatchTransferBuilderTest.php":"c0961fd9bb26d6d6b0f23f2999c4ac5a","src\/Transactions\/Builder\/ValidatorUpdateBuilder.php":"7eb75a249fa70511ad9672af7c72fa54","src\/Transactions\/Types\/ValidatorUpdate.php":"c281a203ab0b5c9da3c1e55b265a7406","tests\/Unit\/Transactions\/Builder\/ValidatorUpdateBuilderTest.php":"031f504ad61336716be25ad512f33f30"}} \ No newline at end of file diff --git a/src/BLS/ProofOfPossession.php b/src/BLS/ProofOfPossession.php index 2602315..cb65a79 100644 --- a/src/BLS/ProofOfPossession.php +++ b/src/BLS/ProofOfPossession.php @@ -6,14 +6,13 @@ use ArkEcosystem\Crypto\BLS\Curves\G1; use ArkEcosystem\Crypto\BLS\HashToCurve\G2HashToCurve; +use ArkEcosystem\Crypto\ByteBuffer\ByteBuffer; +use ArkEcosystem\Crypto\Utils\Address; use InvalidArgumentException; -/** - * DST used for PoP signatures: "BLS_POP_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_". - */ final class ProofOfPossession { - public const POP_DST = 'BLS_POP_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_'; + public const POP_DST = 'MAINSAIL_BLS_POP_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_'; /** * Derives a BLS private key (32 bytes binary) from a BIP-39 mnemonic. @@ -45,18 +44,22 @@ public static function privateKeyToPublicKey(string $privateKeyBytes): string } /** - * Builds the Proof of Possession for a given private key. + * Signs abi.encodePacked(uint256 chainId, address registrant, bytes pk) under POP_DST. + * The registrant must be the transaction sender, as the contract verifies against msg.sender. * - * PoP = Sign(sk, Hash_G2(pk)) where Hash_G2 hashes the G1 public key bytes - * to a G2 point under POP_DST, then the G2 point is "signed" by multiplying - * by the private key scalar. - * - * @param string $privateKeyBytes 32-byte raw private key - * @throws InvalidArgumentException if the key is not exactly 32 bytes or is the zero scalar - * @return array{pk: string, pop: string} hex-encoded G1 pk (96 chars) and G2 pop (192 chars) + * @throws InvalidArgumentException + * @return array{pk: string, pop: string} */ - public static function buildProofOfPossession(string $privateKeyBytes): array + public static function buildProofOfPossession(string $privateKeyBytes, int $chainId, string $registrantAddress): array { + if ($chainId <= 0) { + throw new InvalidArgumentException('Invalid chain id: '.$chainId); + } + + if (! Address::validate($registrantAddress) || ! Address::hasValidChecksum($registrantAddress)) { + throw new InvalidArgumentException('Invalid registrant address: '.$registrantAddress); + } + if (strlen($privateKeyBytes) !== 32) { throw new InvalidArgumentException( 'BLS secret key must be exactly 32 bytes, got '.strlen($privateKeyBytes) @@ -72,10 +75,14 @@ public static function buildProofOfPossession(string $privateKeyBytes): array // G1 public key: [sk] * G1 $pk = G1::generator()->scalarMul($sk)->toCompressedBytes(); - // Hash pk bytes to G2 under POP_DST - $messagePoint = G2HashToCurve::hashToG2($pk, self::POP_DST); + $message = ByteBuffer::new(0) + ->writeUInt256($chainId) + ->writeHex(substr($registrantAddress, 2)) + ->writeBytes($pk) + ->toBinary(); + + $messagePoint = G2HashToCurve::hashToG2($message, self::POP_DST); - // Sign: PoP = [sk] * hash(pk) $pop = $messagePoint->scalarMul($sk)->toCompressedBytes(); return [ @@ -89,8 +96,8 @@ public static function buildProofOfPossession(string $privateKeyBytes): array * * @return array{pk: string, pop: string} */ - public static function fromMnemonic(string $mnemonic): array + public static function fromMnemonic(string $mnemonic, int $chainId, string $registrantAddress): array { - return self::buildProofOfPossession(self::deriveBlsPrivateKey($mnemonic)); + return self::buildProofOfPossession(self::deriveBlsPrivateKey($mnemonic), $chainId, $registrantAddress); } } diff --git a/src/Transactions/Builder/ValidatorRegistrationBuilder.php b/src/Transactions/Builder/ValidatorRegistrationBuilder.php index 0e73db9..49cc04a 100644 --- a/src/Transactions/Builder/ValidatorRegistrationBuilder.php +++ b/src/Transactions/Builder/ValidatorRegistrationBuilder.php @@ -5,6 +5,7 @@ namespace ArkEcosystem\Crypto\Transactions\Builder; use ArkEcosystem\Crypto\BLS\ProofOfPossession; +use ArkEcosystem\Crypto\Configuration\Network; use ArkEcosystem\Crypto\Enums\ContractAddresses; use ArkEcosystem\Crypto\Transactions\Types\AbstractTransaction; use ArkEcosystem\Crypto\Transactions\Types\ValidatorRegistration; @@ -19,9 +20,16 @@ public function __construct(?array $data = null) $this->to(ContractAddresses::CONSENSUS->value); } - public function validatorPassphrase(string $passphrase): self + /** + * The registrant address must be the one that signs this transaction. + */ + public function proofOfPossession(string $validatorPassphrase, string $registrantAddress, ?int $chainId = null): self { - $pop = ProofOfPossession::fromMnemonic($passphrase); + $pop = ProofOfPossession::fromMnemonic( + $validatorPassphrase, + $chainId ?? Network::get()->chainId(), + $registrantAddress, + ); $this->transaction->data['validatorPublicKey'] = $pop['pk']; $this->transaction->data['validatorProof'] = $pop['pop']; diff --git a/src/Transactions/Builder/ValidatorUpdateBuilder.php b/src/Transactions/Builder/ValidatorUpdateBuilder.php index 1cfbcaa..b8efa8e 100644 --- a/src/Transactions/Builder/ValidatorUpdateBuilder.php +++ b/src/Transactions/Builder/ValidatorUpdateBuilder.php @@ -5,6 +5,7 @@ namespace ArkEcosystem\Crypto\Transactions\Builder; use ArkEcosystem\Crypto\BLS\ProofOfPossession; +use ArkEcosystem\Crypto\Configuration\Network; use ArkEcosystem\Crypto\Enums\ContractAddresses; use ArkEcosystem\Crypto\Transactions\Types\AbstractTransaction; use ArkEcosystem\Crypto\Transactions\Types\ValidatorUpdate; @@ -18,9 +19,16 @@ public function __construct(?array $data = null) $this->to(ContractAddresses::CONSENSUS->value); } - public function validatorPassphrase(string $passphrase): self + /** + * The registrant address must be the one that signs this transaction. + */ + public function proofOfPossession(string $validatorPassphrase, string $registrantAddress, ?int $chainId = null): self { - $pop = ProofOfPossession::fromMnemonic($passphrase); + $pop = ProofOfPossession::fromMnemonic( + $validatorPassphrase, + $chainId ?? Network::get()->chainId(), + $registrantAddress, + ); $this->transaction->data['validatorPublicKey'] = $pop['pk']; $this->transaction->data['validatorProof'] = $pop['pop']; diff --git a/src/Utils/Address.php b/src/Utils/Address.php index e15feb4..bc69cba 100644 --- a/src/Utils/Address.php +++ b/src/Utils/Address.php @@ -25,6 +25,18 @@ public static function validate(string $address): bool return preg_match('/^0x[a-fA-F0-9]{40}$/', $address) === 1; } + /** + * All-lowercase addresses carry no EIP-55 checksum and pass. + */ + public static function hasValidChecksum(string $address): bool + { + if (strtolower($address) === $address) { + return true; + } + + return self::toChecksumAddress($address) === $address; + } + /** * Convert to checksum address. * diff --git a/src/Utils/TransactionEncoder.php b/src/Utils/TransactionEncoder.php index 1ee7f8b..2ef439f 100644 --- a/src/Utils/TransactionEncoder.php +++ b/src/Utils/TransactionEncoder.php @@ -5,6 +5,7 @@ namespace ArkEcosystem\Crypto\Utils; use ArkEcosystem\Crypto\BLS\ProofOfPossession; +use ArkEcosystem\Crypto\Configuration\Network; use ArkEcosystem\Crypto\Enums\AbiFunction; use ArkEcosystem\Crypto\Enums\ContractAbiType; use Brick\Math\BigDecimal; @@ -48,9 +49,9 @@ public static function usernameResignation(): string ); } - public static function validatorRegistration(string $passphrase): string + public static function validatorRegistration(string $passphrase, string $registrantAddress, ?int $chainId = null): string { - $pop = ProofOfPossession::fromMnemonic($passphrase); + $pop = ProofOfPossession::fromMnemonic($passphrase, $chainId ?? Network::get()->chainId(), $registrantAddress); return (new AbiEncoder(ContractAbiType::CONSENSUS))->encodeFunctionCall( AbiFunction::VALIDATOR_REGISTRATION->value, @@ -58,9 +59,9 @@ public static function validatorRegistration(string $passphrase): string ); } - public static function validatorUpdate(string $passphrase): string + public static function validatorUpdate(string $passphrase, string $registrantAddress, ?int $chainId = null): string { - $pop = ProofOfPossession::fromMnemonic($passphrase); + $pop = ProofOfPossession::fromMnemonic($passphrase, $chainId ?? Network::get()->chainId(), $registrantAddress); return (new AbiEncoder(ContractAbiType::CONSENSUS))->encodeFunctionCall( AbiFunction::VALIDATOR_UPDATE->value, diff --git a/tests/Unit/BLS/ProofOfPossessionTest.php b/tests/Unit/BLS/ProofOfPossessionTest.php index 7bcefd3..ac3cbb6 100644 --- a/tests/Unit/BLS/ProofOfPossessionTest.php +++ b/tests/Unit/BLS/ProofOfPossessionTest.php @@ -7,58 +7,91 @@ const POP_SK_A_HEX = '67d53f170b908cabb9eb326c3c337762d59289a8fec79f7bc9254b584b73265c'; const POP_SK_B_HEX = '3325023a5e4e0069558c5bd9eb7eca78b4f4c7711b9b231d9263a8edc33bc510'; +const POP_CHAIN_ID = 10_000; +const POP_REGISTRANT = '0x75545540230d5c3BEf023202d23CB74cFA723376'; const POP_PASSPHRASE = 'peasant list dentist thrive guide uncle announce city energy artist basket divert stool glow eternal stove length gun action slice type labor aunt unlock'; const EXPECTED_PK_A = 'a7e75af9dd4d868a41ad2f5a5b021d653e31084261724fb40ae2f1b1c31c778d3b9464502d599cf6720723ec5c68b59d'; -const EXPECTED_POP_A = '878ad02e1f215d40722bd77a0148adb8dfaad4514157600a0a926cfc58589fa4e79d3d4d579cc4149237b8100efdcff110dd2a251c52543539d499c8f24b142da66d1dc19ec44b3d9c3f71112b2705e5557f932a36bd9cd9b3544ab0d9e6a677'; +const EXPECTED_POP_A = 'a892e94d8ed6d0fe8792dcb31b7c5116a7d138ad4bbbd044780a7c314e86673e783850121dc34d0edfa2a2560c2f30a402f4fa5106ff71d5c69bc3027210ef90b3d3ae0a19ffc9f554b37aca72f3bb25788c3177514d94e041441ba9d029b3ba'; const EXPECTED_MNEMONIC_PK = 'a3b93d0149c9e0ee8c2e734b641d313040b8901fcddbf61a018ae2a4633da49f9b169c0bb6653dee4cdd7dac2631a935'; -const EXPECTED_MNEMONIC_POP = 'b72a4b4601608029564c691c742bac7a089c355e9e4e3c60469bc429ca24a24f1a568377df210755c307939065ae8954125c823fea74ee3fe5fa9ecd5dfd4a33a540d1835acb086b968ca7b543d3258bb2afb7911fb1d2e560004d6e280c043c'; +const EXPECTED_MNEMONIC_POP = 'a84ec0eb9ba99033ede2bf0c64e63a4b894b4ec865c8f25c9bd44a4d11e7e2f5e0643835bdef4b983d7577dc03539b370082fa7e537b0648182296b64df8027b8d35db7f87b430f1cc1c3af733fe97862fcf2fc8aea1cc6f819b38997bbd1a6e'; // ------------------------------------------------------------------------- // buildProofOfPossession // ------------------------------------------------------------------------- it('returns a 48-byte pk and 96-byte pop', function () { - $result = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX)); + $result = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), POP_CHAIN_ID, POP_REGISTRANT); // hex strings: 96 chars = 48 bytes, 192 chars = 96 bytes expect(strlen($result['pk']))->toBe(96) ->and(strlen($result['pop']))->toBe(192); }); it('is deterministic for the same secret key', function () { - $a = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX)); - $b = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX)); + $a = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), POP_CHAIN_ID, POP_REGISTRANT); + $b = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), POP_CHAIN_ID, POP_REGISTRANT); expect($a['pk'])->toBe($b['pk']) ->and($a['pop'])->toBe($b['pop']); }); it('produces different pk and pop for different secret keys', function () { - $a = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX)); - $b = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_B_HEX)); + $a = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), POP_CHAIN_ID, POP_REGISTRANT); + $b = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_B_HEX), POP_CHAIN_ID, POP_REGISTRANT); expect($a['pk'])->not->toBe($b['pk']) ->and($a['pop'])->not->toBe($b['pop']); }); it('pk matches deriveBlsPublicKey for the same secret key', function () { - $result = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX)); + $result = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), POP_CHAIN_ID, POP_REGISTRANT); $expected = ProofOfPossession::privateKeyToPublicKey(hex2bin(POP_SK_A_HEX)); expect($result['pk'])->toBe($expected); }); it('matches the pinned test vector for SK_A', function () { - $result = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX)); + $result = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), POP_CHAIN_ID, POP_REGISTRANT); expect($result['pk'])->toBe(EXPECTED_PK_A) ->and($result['pop'])->toBe(EXPECTED_POP_A); }); +it('uses the MAINSAIL_ prefixed POP domain separation tag', function () { + expect(ProofOfPossession::POP_DST)->toBe('MAINSAIL_BLS_POP_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_'); +}); + +it('binds the pop to the chain id and registrant address', function () { + $bound = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), POP_CHAIN_ID, POP_REGISTRANT); + $otherChain = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), 11_812, POP_REGISTRANT); + $otherAddress = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), POP_CHAIN_ID, '0xBd6F65c58A46427AF4B257cBE231D0eD69eD5508'); + + expect($otherChain['pk'])->toBe($bound['pk']) + ->and($otherAddress['pk'])->toBe($bound['pk']) + ->and($otherChain['pop'])->not->toBe($bound['pop']) + ->and($otherAddress['pop'])->not->toBe($bound['pop']); +}); + +it('accepts an all-lowercase registrant address', function () { + $result = ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), POP_CHAIN_ID, strtolower(POP_REGISTRANT)); + + expect($result['pop'])->toBe(EXPECTED_POP_A); +}); + +it('throws on an invalid registrant address', function () { + expect(fn () => ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), POP_CHAIN_ID, '0x1234'))->toThrow(InvalidArgumentException::class, 'Invalid registrant address') + ->and(fn () => ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), POP_CHAIN_ID, '0x75545540230d5c3bEf023202d23CB74cFA723376'))->toThrow(InvalidArgumentException::class, 'Invalid registrant address'); +}); + +it('throws on a non-positive chain id', function () { + expect(fn () => ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), 0, POP_REGISTRANT))->toThrow(InvalidArgumentException::class, 'Invalid chain id') + ->and(fn () => ProofOfPossession::buildProofOfPossession(hex2bin(POP_SK_A_HEX), -1, POP_REGISTRANT))->toThrow(InvalidArgumentException::class, 'Invalid chain id'); +}); + it('throws on a secret key of wrong length', function () { - expect(fn () => ProofOfPossession::buildProofOfPossession(str_repeat("\x00", 31)))->toThrow(InvalidArgumentException::class) - ->and(fn () => ProofOfPossession::buildProofOfPossession(str_repeat("\x00", 33)))->toThrow(InvalidArgumentException::class) - ->and(fn () => ProofOfPossession::buildProofOfPossession(''))->toThrow(InvalidArgumentException::class); + expect(fn () => ProofOfPossession::buildProofOfPossession(str_repeat("\x00", 31), POP_CHAIN_ID, POP_REGISTRANT))->toThrow(InvalidArgumentException::class) + ->and(fn () => ProofOfPossession::buildProofOfPossession(str_repeat("\x00", 33), POP_CHAIN_ID, POP_REGISTRANT))->toThrow(InvalidArgumentException::class) + ->and(fn () => ProofOfPossession::buildProofOfPossession('', POP_CHAIN_ID, POP_REGISTRANT))->toThrow(InvalidArgumentException::class); }); it('throws on the zero secret key', function () { - expect(fn () => ProofOfPossession::buildProofOfPossession(str_repeat("\x00", 32)))->toThrow(InvalidArgumentException::class); + expect(fn () => ProofOfPossession::buildProofOfPossession(str_repeat("\x00", 32), POP_CHAIN_ID, POP_REGISTRANT))->toThrow(InvalidArgumentException::class); }); // ------------------------------------------------------------------------- @@ -76,14 +109,14 @@ }); it('matches the pinned pop for the same passphrase', function () { - $result = ProofOfPossession::fromMnemonic(POP_PASSPHRASE); + $result = ProofOfPossession::fromMnemonic(POP_PASSPHRASE, POP_CHAIN_ID, POP_REGISTRANT); expect($result['pk'])->toBe(EXPECTED_MNEMONIC_PK) ->and($result['pop'])->toBe(EXPECTED_MNEMONIC_POP); }); // ------------------------------------------------------------------------- // Table-driven derivation vectors -// Each entry: [mnemonic, private key (hex), public key (hex), proof of possession (hex)] +// Each entry: [mnemonic, registrant address, chain id, private key (hex), public key (hex), proof of possession (hex)] // ------------------------------------------------------------------------- $blsDataset = []; @@ -93,10 +126,10 @@ } } -it('derives correct public key, private key, and pop for the given mnemonic', function (string $mnemonic, string $expectedSk, string $expectedPk, string $expectedPop) { +it('derives correct public key, private key, and pop for the given mnemonic', function (string $mnemonic, string $address, int $chainId, string $expectedSk, string $expectedPk, string $expectedPop) { expect(bin2hex(EIP2333::deriveBlsPrivateKey($mnemonic)))->toBe($expectedSk); - $result = ProofOfPossession::fromMnemonic($mnemonic); + $result = ProofOfPossession::fromMnemonic($mnemonic, $chainId, $address); expect($result['pk'])->toBe(substr($expectedPk, 2)) ->and($result['pop'])->toBe(substr($expectedPop, 2)); })->with($blsDataset); diff --git a/tests/Unit/Transactions/Builder/ValidatorRegistrationBuilderTest.php b/tests/Unit/Transactions/Builder/ValidatorRegistrationBuilderTest.php index 13313f0..84c4c75 100644 --- a/tests/Unit/Transactions/Builder/ValidatorRegistrationBuilderTest.php +++ b/tests/Unit/Transactions/Builder/ValidatorRegistrationBuilderTest.php @@ -2,6 +2,7 @@ declare(strict_types=1); +use ArkEcosystem\Crypto\Identities\Address; use ArkEcosystem\Crypto\Transactions\Builder\ValidatorRegistrationBuilder; use ArkEcosystem\Crypto\Utils\UnitConverter; @@ -12,7 +13,7 @@ ->gasPrice(UnitConverter::parseUnits($fixture['data']['gasPrice'], 'wei')) ->gasLimit(UnitConverter::parseUnits($fixture['data']['gasLimit'], 'wei')) ->nonce($fixture['data']['nonce']) - ->validatorPassphrase($this->secondPassphrase) + ->proofOfPossession($this->secondPassphrase, $fixture['data']['from']) ->sign($this->passphrase); expect((string) $builder->transaction->data['gasPrice'])->toBe($fixture['data']['gasPrice']); @@ -36,7 +37,7 @@ ->gasPrice(UnitConverter::parseUnits($fixture['data']['gasPrice'], 'wei')) ->gasLimit(UnitConverter::parseUnits($fixture['data']['gasLimit'], 'wei')) ->nonce($fixture['data']['nonce']) - ->validatorPassphrase($this->secondPassphrase) + ->proofOfPossession($this->secondPassphrase, $fixture['data']['from']) ->sign($this->passphrase); expect((string) $builder)->toBe($builder->toJson()); @@ -51,15 +52,31 @@ it('should derive correct validatorPublicKey and validatorProof from passphrase', function () { $builder = ValidatorRegistrationBuilder::new() - ->validatorPassphrase($this->secondPassphrase); + ->proofOfPossession($this->secondPassphrase, Address::fromPassphrase($this->passphrase)); expect($builder->transaction->data['validatorPublicKey']) ->toBe('a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996d1c69feb158c002aed327f69865be496'); expect($builder->transaction->data['validatorProof']) - ->toBe('a124539f9d469919eb57224cc003d9d5b086a27c6de244abf60b74b35fb749fceab7f4c24b983475cddab7d0876de49c000b5c362f5e3ce18d964f5c2d20d4eadcf7cb77a73d8ee4cd87bad10f7ba0824cea6715d1c045b4f93865a2758b7bfe'); + ->toBe('8dff1b303bfacacb2eb716892b79123b256314d8fc91635aae307f0fd7faf58019bba25c494b38eb1adccd91f49923ef00e39947932d7edffe710c48b9ab61ad4a9bd48f41f9babcfdd5c88bf3ad74c4d70d091a407310297b1dc4bc84ec6d5f'); }); +it('should bind the proof to the given chain id instead of the configured network', function () { + $registrant = Address::fromPassphrase($this->passphrase); + + $default = ValidatorRegistrationBuilder::new()->proofOfPossession($this->secondPassphrase, $registrant); + $explicit = ValidatorRegistrationBuilder::new()->proofOfPossession($this->secondPassphrase, $registrant, 11812); + $other = ValidatorRegistrationBuilder::new()->proofOfPossession($this->secondPassphrase, $registrant, 11811); + + expect($explicit->transaction->data['validatorProof'])->toBe($default->transaction->data['validatorProof']) + ->and($other->transaction->data['validatorProof'])->not->toBe($default->transaction->data['validatorProof']) + ->and($other->transaction->data['validatorPublicKey'])->toBe($default->transaction->data['validatorPublicKey']); +}); + +it('should reject an invalid registrant address', function () { + ValidatorRegistrationBuilder::new()->proofOfPossession($this->secondPassphrase, '0x1234'); +})->throws(InvalidArgumentException::class, 'Invalid registrant address'); + it('should convert to an array', function () { $fixture = $this->getTransactionFixture('evm_call', 'validator-registration'); @@ -67,7 +84,7 @@ ->gasPrice(UnitConverter::parseUnits($fixture['data']['gasPrice'], 'wei')) ->gasLimit(UnitConverter::parseUnits($fixture['data']['gasLimit'], 'wei')) ->nonce($fixture['data']['nonce']) - ->validatorPassphrase($this->secondPassphrase) + ->proofOfPossession($this->secondPassphrase, $fixture['data']['from']) ->sign($this->passphrase); expect($builder->toArray())->toBe([ diff --git a/tests/Unit/Transactions/Builder/ValidatorUpdateBuilderTest.php b/tests/Unit/Transactions/Builder/ValidatorUpdateBuilderTest.php index a820dc6..1eec20c 100644 --- a/tests/Unit/Transactions/Builder/ValidatorUpdateBuilderTest.php +++ b/tests/Unit/Transactions/Builder/ValidatorUpdateBuilderTest.php @@ -2,6 +2,7 @@ declare(strict_types=1); +use ArkEcosystem\Crypto\Identities\Address; use ArkEcosystem\Crypto\Transactions\Builder\ValidatorUpdateBuilder; use ArkEcosystem\Crypto\Utils\UnitConverter; @@ -12,7 +13,7 @@ ->gasPrice(UnitConverter::parseUnits($fixture['data']['gasPrice'], 'wei')) ->gasLimit(UnitConverter::parseUnits($fixture['data']['gasLimit'], 'wei')) ->nonce($fixture['data']['nonce']) - ->validatorPassphrase($this->secondPassphrase) + ->proofOfPossession($this->secondPassphrase, $fixture['data']['from']) ->sign($this->passphrase); expect((string) $builder->transaction->data['gasPrice'])->toBe($fixture['data']['gasPrice']); @@ -36,7 +37,7 @@ ->gasPrice(UnitConverter::parseUnits($fixture['data']['gasPrice'], 'wei')) ->gasLimit(UnitConverter::parseUnits($fixture['data']['gasLimit'], 'wei')) ->nonce($fixture['data']['nonce']) - ->validatorPassphrase($this->secondPassphrase) + ->proofOfPossession($this->secondPassphrase, $fixture['data']['from']) ->sign($this->passphrase); expect((string) $builder)->toBe($builder->toJson()); @@ -44,19 +45,35 @@ it('should derive correct validatorPublicKey and validatorProof from passphrase', function () { $builder = ValidatorUpdateBuilder::new() - ->validatorPassphrase($this->secondPassphrase); + ->proofOfPossession($this->secondPassphrase, Address::fromPassphrase($this->passphrase)); expect($builder->transaction->data['validatorPublicKey']) ->toBe('a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996d1c69feb158c002aed327f69865be496'); expect($builder->transaction->data['validatorProof']) - ->toBe('a124539f9d469919eb57224cc003d9d5b086a27c6de244abf60b74b35fb749fceab7f4c24b983475cddab7d0876de49c000b5c362f5e3ce18d964f5c2d20d4eadcf7cb77a73d8ee4cd87bad10f7ba0824cea6715d1c045b4f93865a2758b7bfe'); + ->toBe('8dff1b303bfacacb2eb716892b79123b256314d8fc91635aae307f0fd7faf58019bba25c494b38eb1adccd91f49923ef00e39947932d7edffe710c48b9ab61ad4a9bd48f41f9babcfdd5c88bf3ad74c4d70d091a407310297b1dc4bc84ec6d5f'); }); it('should not have a value method', function () { expect(method_exists(ValidatorUpdateBuilder::class, 'value'))->toBeFalse(); }); +it('should bind the proof to the given chain id instead of the configured network', function () { + $registrant = Address::fromPassphrase($this->passphrase); + + $default = ValidatorUpdateBuilder::new()->proofOfPossession($this->secondPassphrase, $registrant); + $explicit = ValidatorUpdateBuilder::new()->proofOfPossession($this->secondPassphrase, $registrant, 11812); + $other = ValidatorUpdateBuilder::new()->proofOfPossession($this->secondPassphrase, $registrant, 11811); + + expect($explicit->transaction->data['validatorProof'])->toBe($default->transaction->data['validatorProof']) + ->and($other->transaction->data['validatorProof'])->not->toBe($default->transaction->data['validatorProof']) + ->and($other->transaction->data['validatorPublicKey'])->toBe($default->transaction->data['validatorPublicKey']); +}); + +it('should reject an invalid registrant address', function () { + ValidatorUpdateBuilder::new()->proofOfPossession($this->secondPassphrase, '0x1234'); +})->throws(InvalidArgumentException::class, 'Invalid registrant address'); + it('should convert to an array', function () { $fixture = $this->getTransactionFixture('evm_call', 'validator-update'); @@ -64,7 +81,7 @@ ->gasPrice(UnitConverter::parseUnits($fixture['data']['gasPrice'], 'wei')) ->gasLimit(UnitConverter::parseUnits($fixture['data']['gasLimit'], 'wei')) ->nonce($fixture['data']['nonce']) - ->validatorPassphrase($this->secondPassphrase) + ->proofOfPossession($this->secondPassphrase, $fixture['data']['from']) ->sign($this->passphrase); expect($builder->toArray())->toBe([ diff --git a/tests/Unit/Utils/AddressTest.php b/tests/Unit/Utils/AddressTest.php index cfa6b2e..50b2641 100644 --- a/tests/Unit/Utils/AddressTest.php +++ b/tests/Unit/Utils/AddressTest.php @@ -55,3 +55,16 @@ expect($cached)->toBe($expected); expect($cache->getValue())->toHaveCount(1); }); + +it('should accept a correctly checksummed address', function () { + expect(TestClass::hasValidChecksum('0x75545540230d5c3BEf023202d23CB74cFA723376'))->toBeTrue(); +}); + +it('should accept an all-lowercase address without a checksum', function () { + expect(TestClass::hasValidChecksum('0x75545540230d5c3bef023202d23cb74cfa723376'))->toBeTrue(); +}); + +it('should reject an address with a wrong checksum', function () { + expect(TestClass::hasValidChecksum('0x75545540230d5c3bEf023202d23CB74cFA723376'))->toBeFalse() + ->and(TestClass::hasValidChecksum('0x75545540230D5C3BEF023202D23CB74CFA723376'))->toBeFalse(); +}); diff --git a/tests/Unit/Utils/TransactionEncoderTest.php b/tests/Unit/Utils/TransactionEncoderTest.php index c9fbb9f..626f125 100644 --- a/tests/Unit/Utils/TransactionEncoderTest.php +++ b/tests/Unit/Utils/TransactionEncoderTest.php @@ -42,19 +42,19 @@ })->throws(Exception::class); it('should encode validator payloads', function () { - expect(TransactionEncoder::validatorRegistration($this->secondPassphrase))->toBe( + expect(TransactionEncoder::validatorRegistration($this->secondPassphrase, '0x1E6747BEAa5B4076a6A98D735DF8c35a70D18Bdd'))->toBe( '0x226f2645000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0' .'0000000000000000000000000000000000000000000000000000000000000030a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996' .'d1c69feb158c002aed327f69865be496000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060' - .'a124539f9d469919eb57224cc003d9d5b086a27c6de244abf60b74b35fb749fceab7f4c24b983475cddab7d0876de49c000b5c362f5e3ce18d964f5c2d20d4ea' - .'dcf7cb77a73d8ee4cd87bad10f7ba0824cea6715d1c045b4f93865a2758b7bfe' + .'8dff1b303bfacacb2eb716892b79123b256314d8fc91635aae307f0fd7faf58019bba25c494b38eb1adccd91f49923ef00e39947932d7edffe710c48b9ab61ad' + .'4a9bd48f41f9babcfdd5c88bf3ad74c4d70d091a407310297b1dc4bc84ec6d5f' ); - expect(TransactionEncoder::validatorUpdate($this->secondPassphrase))->toBe( + expect(TransactionEncoder::validatorUpdate($this->secondPassphrase, '0x1E6747BEAa5B4076a6A98D735DF8c35a70D18Bdd'))->toBe( '0x8f062626000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0' .'0000000000000000000000000000000000000000000000000000000000000030a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996' .'d1c69feb158c002aed327f69865be496000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060' - .'a124539f9d469919eb57224cc003d9d5b086a27c6de244abf60b74b35fb749fceab7f4c24b983475cddab7d0876de49c000b5c362f5e3ce18d964f5c2d20d4ea' - .'dcf7cb77a73d8ee4cd87bad10f7ba0824cea6715d1c045b4f93865a2758b7bfe' + .'8dff1b303bfacacb2eb716892b79123b256314d8fc91635aae307f0fd7faf58019bba25c494b38eb1adccd91f49923ef00e39947932d7edffe710c48b9ab61ad' + .'4a9bd48f41f9babcfdd5c88bf3ad74c4d70d091a407310297b1dc4bc84ec6d5f' ); expect(TransactionEncoder::validatorResignation())->toBe('0xb85f5da2'); }); diff --git a/tests/fixtures/bls-keys.json b/tests/fixtures/bls-keys.json index 7c97867..d0fd723 100644 --- a/tests/fixtures/bls-keys.json +++ b/tests/fixtures/bls-keys.json @@ -1,322 +1,422 @@ { "czech": [ { - "mnemonic": "najisto kazivost vpravo namluvit exkurze lord hladovka svoboda obejmout ukazatel pustina srpen metr ohrozit autobus pobyt omeleta bledule cizost petrolej nikl celkem jelen poezie", - "validatorPrivateKey": "6521a909bed1652044b99809b0a3c6999a9bd3a9c760e27e30fbda5931fa76a5", - "validatorPublicKey": "0x86e47e024116003fcf4a6b9150de36964d6590eb11b0f4a1607b89e11d99a4f8609e234eb8185ecf2c77edade1c95309", - "validatorPop": "0xae1f97166e6e444101184825116f03d1607d4387fcd3c0bc71c4a3d125858a8f236d948cab97c6bc1f9f8b6c487ed8f31439ec47e16321e090989bd20b9a4bab069a807935b2c141c221a04422a8ebe2fe84da839fc10dd665db170e24692069" - }, - { - "mnemonic": "louskat seshora hledat zahrada buvol vyrazit opravdu munice strom vyhledat barva vyrazit prorok lord manko hojnost zmizet dovozce lidojed bojovat nikdy hodiny spousta manko", - "validatorPrivateKey": "43aafbb031406eec46f79604a5615806c0880e0d8b2d6e722f03d7eba86db4e6", - "validatorPublicKey": "0x875032037e45a884e58629825c57d9e381e45ed0df3250b324aaf767fbc5a47a69a06a89af8998ed90a5c061e4cfbe20", - "validatorPop": "0xb4d356027006865734b10e05d4b943f3cde3628ca9763f719434a8d99e6f3ce5fae367c9806bfb7e9cdd5784f1b89afc160828fa4ff74ad0496453b7a83dfebf657ac016e601454146458c88fb7b4a5f123d18677f4200cdfa83eb63eee9100a" - }, - { - "mnemonic": "pastelka makak panna boubel pazourek zimnice louka prodej videohra chrlit referent smrk bulva varan smilstvo spis vztah potvora postava astma vystavit rampouch odpor duha", - "validatorPrivateKey": "3f941bba361aa5273e560cd4de20e747586e430efcb27fe14556f442808a477b", - "validatorPublicKey": "0x9684cc2ca48aca7f5827d1bdc33c1e6c8986c390309855221be1a74695986f9d7a9f8fa56e86027ab3e332b6f2a7a34e", - "validatorPop": "0x84b871933fe3a610000e581aa3d77c4d168ebc64691cf7ac702541b4eab54b5d0ac790c73e7675e52535274734a5e71b11f2bb16dcc8d366575450bedef56e32e1d4cf584f2795cdb2d4ea773a8931db739905ef91c5bb9db85a63848d3a23cf" - }, - { - "mnemonic": "dort okno zajatec tykev komando mlha lucifer astma malina puklina tendence starosta bacil baret mobil odjet propad zjemnit obava petrolej mezera baculka piha hadr", - "validatorPrivateKey": "3f09d1651e7a6d1d5f869db241fc94e578b1f3926977985ac96206225e047a3a", - "validatorPublicKey": "0xa774065223115fda52052087df0e792a17ba5ae3a1dddddafcd06c347f5905ac9dba5873e24df920c772d9ebe6a1548c", - "validatorPop": "0x8dda28ddf6c5589afc42c6cd3cf497e4f6da95343fafb1278154350338528cc624a3389bcc612bc7ecdc6a7fb2c6f4d511a3904170e4ca9fc371949fdbdbec3186dde06fc18644ba41c758a79f3aa4a55c544f550d56799d5f37434a71f21b4b" - }, - { - "mnemonic": "levitace truhlice otop ledvina buchta hala madlo jinoch doplnit baterka podzim dareba sluha cejn objasnit zastavit meditace mezera ulovit osten znalost exkurze plivat lucifer", - "validatorPrivateKey": "48bf069ca2917eeeee612e6fd50a1f6fb2c28af9167ee04cdd03c21240336d6d", - "validatorPublicKey": "0x858055545004fc6ef228bb4f23e2db530949d606f5e91620752a92d330dd59ef455bcb4214a64817adeb543aa2ea1287", - "validatorPop": "0xa79748c76577bf84f7ad4003c432bf69896cebcce9da6ba1802025d037b2622db015ba297d34b9677255baafe29b31560acb47d606105a8245c71dbcaefe1bcec10c75995b293d86c1ec72b2dd552ef153e8da890a952908ba0a14628cfdce88" + "mnemonic": "dostatek vyjet minulost hoboj recept prskavka hormon kapr slabika posed souboj lokalita eskorta hala palanda alkohol obdiv vibrace vzadu ujednat blatouch doktor dojnice zbavit", + "address": "0x01937d04106FEefA4dED5C8b6dAB5Dc4c5246eBA", + "chainId": 11812, + "validatorPrivateKey": "7245f2c302a657fa42803694fcba63a1d33e25b792ce982d4b34958fbb221ce5", + "validatorPublicKey": "0x8c317e50b6692695b31555fe702279ad17309d5050e10b6f211e8a44abbc0786800ea86bec443b5282701949245220f8", + "validatorPop": "0xa203647d1077f375e90ec8961a5e167fb35fbb152f1108e48edefc37d3ec9c42a8ed92446dc685f260c0bb660efbf0c7111b4ac52247d1a1d832664da86bea20f82f66343d3361e5d10f6465634601f16bb05f60dad3ecea1a7d276f349671b5" + }, + { + "mnemonic": "nalevo nadpis osten inflace doplnit zabydlet skladba buzola doplnit ptactvo reakce hluchota rakovina chata styk obvykle redaktor okrasa pevnina geolog zima uniforma vzhledem nasekat", + "address": "0x7194e5Ad71E85e7561BA8a9C467d62cd79Db4c43", + "chainId": 11812, + "validatorPrivateKey": "6bb52b872adf7714349b93519c4efffb402e73f99156fb7dd18051f4a17836a0", + "validatorPublicKey": "0x8fb4d58feb7033bd8e15a40f46a71862db35b955b1d4c10aa8f90a8c79beecf43a2059e128ceaa0cc03f223809142205", + "validatorPop": "0xb241d2a07998a1efc7e15abc2a64129b2c8b1093853050708e2c22be9bd58155c5c655ae7319b3017cb5d090c0e3c3d5026633bdda03e300d938c6fca757dcad56df93f3b3a7b1befc702882dfd0438b02796f6191f9c401ffb06ab46496f10e" + }, + { + "mnemonic": "obsluha klepat bagr logoped temnota asfalt ospalec podoba puch obklopit cenovka obsah hustota hravost lenochod zavinit inflace paseka sestra drdol logoped bezinka doma stezka", + "address": "0xe2bCADc1b26c99979aF614748eF90166000026CE", + "chainId": 11812, + "validatorPrivateKey": "58c8fd4f99c20c9e534901a17e5679e163fc7b24badbc2258590bf7a40eb4088", + "validatorPublicKey": "0x99205991ef349cf73ee740a01a4e38f495df5f9ed0a12527e7db57fabe447934a14c032e1ff9c1b25627d19518e5bcfc", + "validatorPop": "0xa6c88588ea73f08d141ade9482d1ae82b664e14b3b41d8e1e4e3d42527729678645ce174d83338b7c85e4dae48c16923185a735702db5b50daa4c5ce5be66dbafd5100e438af3302cf826ed6ffafdeaf8a90d11ad1ef9634ed74750ec0078825" + }, + { + "mnemonic": "vozovna puch plamen louka export montovat esence radnice divadlo hodovat chobot zatajit melasa hromada duben radnice glazura sprcha puch ulovit obklopit hygiena rarita zmutovat", + "address": "0xCAa19a254a9225CC06B506A2f83aD1526655418E", + "chainId": 11812, + "validatorPrivateKey": "5f975973f94549ddf23a6af2a4c91e87c4d5ced796dcccd3ecbdcd34c04d2e79", + "validatorPublicKey": "0xaa91ac26b283efd293b947be4eea56ce7b06a0129586c7a50fefbdd45244edbfddd0acb051c8417e1ec679481d634658", + "validatorPop": "0x8cf1cf3b0eff2e3724afa58e668552a2c647410396a827313e7fb0397fd0cf4094908610d46b4021be16502657a9a2fc0056f7f5b525e61a4cf003ec8d82913dd2e38f33a4bebbc31110f85dad018c444bf60f6a6b6240b60c727d5f7d409112" + }, + { + "mnemonic": "volno natolik veletrh oteplit prvek ryzost dosyta vozovna nicota minulost bojovat bazalka fejeton namazat maturita tmel bulva obvykle baterka zdvih povstat ochrana mlhovina pouto", + "address": "0xF5cEe0267937A94601f759B5BC73dfc263eFAb77", + "chainId": 11812, + "validatorPrivateKey": "0c5a544074b983dbe28a2ff058d36e52582c22ba705e79d633d217d8023a7653", + "validatorPublicKey": "0x83a14a75c15414784ccb059d8cdf9e2aff87c1a34f33476b9de68a732ec1d661a2418cc5b69a2ff5a7f770e846ed5666", + "validatorPop": "0x90142e76eaa8ad262f1383faa912dff56467f666d2b3024e7982d12a99f0f2138a6d52c205346568eabe6a5b7c1b7ced187169a50111d64367244a5464a82fa8fa75c14f307c1f90ae8864ec6fbbb6cb5fe00765c98eb51795611efce57fde21" } ], "chinese_simplified": [ { - "mnemonic": "法 何 又 莫 策 崇 须 裁 牲 者 阳 内 勇 逻 业 规 爆 院 葡 的 疑 传 面 运", - "validatorPrivateKey": "3f8e1457866e218d380add85494fddd6ae348e5cdae18b41394921e33baaad71", - "validatorPublicKey": "0xa5d586adc473d892ba361823b4a37380da77d1b9e4f44af76550a19270b88fefd4cf6bc1fefeb6d57b65b0d979facc0d", - "validatorPop": "0xb87264f324798a225770fc5a25189edaec7e048d686c068051717da80b7b4f35816473ef122612b090b473087f0d1d320208561ed58c2b2b421404fa4e1da101effbe174e3de1faaa780bac43c8c7919d806bcae56daf4022a221c05b1b24949" + "mnemonic": "卢 高 韩 松 上 午 被 三 贝 诚 目 休 妹 浪 词 吏 射 函 宽 柔 壁 速 节 伍", + "address": "0x4B202D3e6806f56cD9E1F72E4F9Cf16E4A22bFDF", + "chainId": 11812, + "validatorPrivateKey": "613a24e2fe89ce460f81fd1f3bd1767fe51daa0cb8094871b17e722a6b054c3e", + "validatorPublicKey": "0xa8884f960dcef99f038b00ca020d102a4bce0cfcbe9e2339e7406c09e10f42cbe66493bba5fda72624acc1e15cc27783", + "validatorPop": "0xb461f8447212246ddd1cede89b0b6244460ff812279a258bfd363578f0b4499260b549abd36d430c6f19d7b203c917fe1612ecae6027b3645ea6a1a0f09428de1797f9bc9b6925d8c28a481da981c4fcf34863a6e923929e8c4e190c13154502" }, { - "mnemonic": "脚 哩 衡 片 阁 窗 众 辽 预 韩 普 腐 辅 惨 无 日 氨 罐 方 羊 齐 准 尚 纹", - "validatorPrivateKey": "024404c9af88605fbb2ec501d1406a55e087d57d4d0f92e9292ebd88183a472e", - "validatorPublicKey": "0x8ba06b7f5a72a2a11f6b314e3575b4924838e613cccc5d9583c92a9707d19ada047ca241e4307655be7e22669ac95c56", - "validatorPop": "0x8d32cbb32984ec2a67f16bbd4a6059052c6bd68a1a1541ee06427dc01544f5916c8799984c408f5e52661b31e3c79c910eec0d580a00ba87b1ca1028ea2c59b5396a867ec18d9dd8e0d06d925019e4376fb78f57c124869085f22eb224f3846b" + "mnemonic": "校 娘 甘 侵 逐 丈 解 协 拍 煤 较 革 讨 刷 发 叙 抓 丁 融 祖 僚 卷 千 异", + "address": "0x93DC481b2B69A762C23c0b86Bd3D63666045a356", + "chainId": 11812, + "validatorPrivateKey": "55474d741e5b18c41293b21ec7d13e55214e3d1b7e02c54f001b213d541ee8f5", + "validatorPublicKey": "0x835757bcc97c8c69ca4d5f38ab5b6653fd429b4d8008a9ca25fc8be5ef9f70888d27ec782536761e8f8dd3e572dc8ee0", + "validatorPop": "0xa7e3d777c4baeac1809c39be935b28908bb265bc0a2e954a32e114ac60ca4e95c7d126618afde80a645f38038d7444780589f3f2fab0580065d72434fe0021901bde0e4be2261728b97e95f660a529325e2cd88e38c7fafdfb1c9511a192eeec" }, { - "mnemonic": "萄 丝 鲁 剥 稍 礼 妥 湘 役 曲 洲 欲 岗 端 速 邓 逻 团 又 磁 内 烦 寿 闲", - "validatorPrivateKey": "35219fbe53eda1b8745d7c59464f3d3c43f47d0bb48d2343bea4cd76b782ab51", - "validatorPublicKey": "0x936ce7f333977bcb0895374a5f286832575be4f57a4a624614024cc5167d3b7eee4844b9eb927cdd0d0d89aa30e27837", - "validatorPop": "0xa95043477e03abac2e23aa360b2bda57f3d32f1ea7fbcb62be5e0a6d1a504731be10a07449d08452110c553de4d5746510afdebf224955537a65d39f0dbf203303b9786c122c9c246e07a8e11f1df881819bb79990c0af8f60f22c5974dcfc2b" + "mnemonic": "矛 阀 蔬 忘 摆 际 帐 载 许 休 定 那 独 子 喊 丽 破 极 沈 险 氧 动 刮 凯", + "address": "0xdE769fAf06abe2899E66711b562eE8cE9Db3EEeb", + "chainId": 11812, + "validatorPrivateKey": "70ec1915c1705d814d2c5ea3835b9386bd26a8dc69079c039dd3eb172600a099", + "validatorPublicKey": "0x86cc70b445e4a965cda71c43987ddf42036f6455096bfa8874d80bffac82eb2c77d4fb1e4fd2365b10742eb8fcb51c95", + "validatorPop": "0xb47991e7d043ade9e87f4e4b188356e9f42c04a0a460b22ac4c5e7169f51d4fa568fd81e5b0241db4177641044fb3cff0fee9e96a2b71f4a1b237bcefe0ac20dd53be5672f942a25a544e656de87cd0524578484f6db494eedd318cdaa74bc56" }, { - "mnemonic": "谋 死 只 版 韩 睡 释 逐 凤 知 春 氯 足 滩 蜡 整 叹 丰 沙 游 填 核 屋 砂", - "validatorPrivateKey": "133c8941693353846ddacdc1bf25a2425797ae75cf05a5cc641df97cf09e0ce3", - "validatorPublicKey": "0x8bf91fdd97b7e318ffa40a9554eef55101c2af60ce3e9a82cc0a5a5349b73b45293fd8fb4c5c1b038230bfd8eda17af6", - "validatorPop": "0xb3660b201bcb7c631b08beeef26ab9c5150528446a9bca206b31a5d0ad5a62c0321cbd4fb140624312ebc1785df7bd2616875e2ba1e285b6129420aa0ce4459dd74b6bee51e8f8f048736a407b006256d23e1371b81c66566ddfd8ba6bb5bed8" + "mnemonic": "厚 配 奔 抛 矿 陪 巧 暖 呈 右 碍 充 克 命 吧 轮 叛 候 烈 倒 测 犯 管 试", + "address": "0xD28cfAAe7919ba4413Bfe2cD58846086491EBF33", + "chainId": 11812, + "validatorPrivateKey": "1a997a2f730e21eb66a8c746abd3f52f6bb0a87f833509c98663d0c592128e5a", + "validatorPublicKey": "0x825f6d7884a74dd2c6dd26ac9ea2c181870e1b628a19a6c4fd057a22e591b4d31e7a7a4cfd503a45f17e68779fe12d2f", + "validatorPop": "0xa4f9fc4a3f14df0a45bfb3bd272c99d95d8990e8dc5a7e10f65219bdd431707ecae764dcd5f0e36be1b8767abeb810b8157c5422c627a190117a3332fc2160f2391169c2410438ad54169c04ef0690bbc03f54854dc1a53ccfb3abe35aadb3e7" }, { - "mnemonic": "颜 郎 情 冬 煤 既 库 绝 汁 元 泽 涉 嘛 票 风 筛 隆 突 滴 神 临 壮 爷 晶", - "validatorPrivateKey": "1c7e0331a7d2a695a1603a85ed2844a9270a53001f4095d30295f612cd2c2628", - "validatorPublicKey": "0xa497a5851a04f16167587807a3f2e9ea4764ecda9b434e041b4c1086466370e99f88754c429359b5e8f3f9fcf3727e86", - "validatorPop": "0x8874968b524621ccc090d595481eae97b9e5ec2404d4fa50466565c27d8b9b130ec38c12881898c1713bcf93a1ea50740378c70bacf49fdfadcd9172a0ccc4256baa2a9fc12b37c9330a2fa5c283f59f4860f726244bc2749db32e81273e3966" + "mnemonic": "代 楚 狱 钟 品 箭 户 今 卸 十 贮 贤 迁 持 科 奔 章 发 串 隙 域 软 学 铅", + "address": "0xd0F70B3E64f89Bc002BEc6911A41EAE77810266a", + "chainId": 11812, + "validatorPrivateKey": "45dc0d8989d44250ed671729f84abdfd3f10dc0bf98cd678c9060257eacae65e", + "validatorPublicKey": "0x80db207c2af30c823df3a5fa4ade7f46e3feabcdf640ca087e26d3264bd4ebbd1b25903fee4edd44df7e1fc67a4ee29e", + "validatorPop": "0xb945749bfc7b3b7f907825166b3a3c99e43129c759fe20257483155563859093555484d11b238c2f70ee03b8d9d3eecf10855e061f63656816e39fe4ce0371ec405860895e127e7c348adf3dd78ef6904fc8f5109874d636aa7bde9cf004e2e9" } ], "chinese_traditional": [ { - "mnemonic": "銷 鑽 隔 責 雅 丁 來 旋 爐 轉 害 睡 狂 太 善 馮 集 籌 蓮 爐 懸 生 試 盜", - "validatorPrivateKey": "0602d2cfb5a77b14aa98a996242583148f14ee8043b50cf8cece083a81cc0221", - "validatorPublicKey": "0x96cec279ae8aaad8d78f7367532b864d17b129bf3e9019a5581427f10812f32911eb3e3c795eb4bfcfd58d85b6dabdbd", - "validatorPop": "0xa08fc77623fe2aa660cb6f16a6c211313bb85ac9a355af579fd9e252cfa26abddf7d112d823a0aded9916a2bf38db83e1752d34f6fb653e8847a3ddd8b075dcb864eb88d09e0c429c35157501672d15ec5dc274fdd2ff6da216d28f271a11bc2" + "mnemonic": "慶 丟 貌 其 唱 從 液 灘 降 套 隆 弄 蔬 袖 勾 滿 激 岩 早 薄 稅 祝 磨 府", + "address": "0xFDF6d26d5db46246B2717f30080F1da4ffdE5F16", + "chainId": 11812, + "validatorPrivateKey": "3c70d0ce721dab02a3718b0a474dc20e482e5ac8ab4ca0d8177b881f009ac2f8", + "validatorPublicKey": "0x92d311b71b78865369ea4c973dfffe9e89ad7b3ce08749106117a74bdf0a1be7cf567b0a08aca7a205b6adf0b1acce3c", + "validatorPop": "0x9724ba4d955a19946148fadfbd6ce6ec777cdef0ba6cd5a1b9608b236ea899201393352a782a7da577d3a3841d23d83f14c24c7e3e1b5728d812bc1b97d35ae6f96bee3547155f96035d9b095118829c7f8cb3267e8e3d2b4f7a9b5b9c27b63d" }, { - "mnemonic": "序 付 撞 盆 憶 汗 幕 懲 會 氏 殿 忍 皺 累 躺 酯 全 陸 起 拜 芳 闊 舊 耐", - "validatorPrivateKey": "55458f5510a4eaa27c354efb5e02d24e153af112e19c94c43d559f717cd7f617", - "validatorPublicKey": "0xb2ec5958b2ac4f7762e5c131187d39dddbcbeecc3d42cf29778eddf2073d3858e88ae74360973a869d8e3856708bc7b5", - "validatorPop": "0xa1bc5c22ee93bc49a60421faa3d81395005f94fb9cb42156aea21c2cb5eac2f12c39356565600cd559ed9e96d37dcad202eb93d1067a8cb08bd98868f4ed236805c2560a4bd7496ce2d5c2696f175e0cd1a1cd70b617ecf47b55cdfa161e8cab" + "mnemonic": "錦 浸 碳 尤 盧 灌 防 變 勃 次 穩 糾 臣 想 什 柳 系 容 倒 零 附 柯 禍 努", + "address": "0x0B3Deb4d200E1810C369A6ec31c59aA8e4Aa757a", + "chainId": 11812, + "validatorPrivateKey": "5f91c53bf2bc98685d16fe988398bb3e4d598bbeaf28e2c26850b1dfc22e06c5", + "validatorPublicKey": "0xaeee98b7ad6f096e7342a8bf5591353ca9a38ec1014d62346b67409735a633fb2a354250ebfa5e4df7649bf2488b423b", + "validatorPop": "0xb7b0c8f66be139649277a0f0ecbe7412daefcc13317f46bc1a97d8eccdec6b47b4abc183004f385ef3f9ae00d21b04011464d91545da3c4784749783de0d4046138619c58bc6e82593d931236f29f1177c53a04dfebfc3d2382821653e90de04" }, { - "mnemonic": "很 造 衰 姿 整 慘 扇 代 糞 器 蘭 沒 其 啟 半 取 界 績 拍 太 慶 利 調 巧", - "validatorPrivateKey": "5c699b7e942eb59dc13fb39a4d704087de03daf9018b6b321f3818a668a8a3a7", - "validatorPublicKey": "0xa81d874c17a6ee136782c009414a06bfa2465943b30f450fd0a40e287fbc25617f28a5c5cf02b7b0e847aff8fe32edbf", - "validatorPop": "0x92e9fcc48841568ec6501093f88af0964cb0f716d90ce60c748ba4ecc2568cd091ce6fa640ebef0c97c81db9320586ab126681e58921eab1fff2688ff81e5bd51ef199892199e03a424fa1a842920ac161a01276702c2535675c080563c005f3" + "mnemonic": "欺 付 鑑 敢 夏 勤 童 閣 辛 獎 爾 覆 肌 音 略 特 翼 愛 淨 雞 鈴 炒 山 理", + "address": "0x3d3167b76Bc09c28A886a7cFf37FBF9AaD711A16", + "chainId": 11812, + "validatorPrivateKey": "4eaaedce220168bbb7ec9dd9807f9a1258b5652a3206f6d136913c49e1407b20", + "validatorPublicKey": "0xb98a094aefdce162fb49a9f6befecfbe9684aba56f7b98d88196f00ac23cce5c3974e254edce13e6e488ab8c7517286f", + "validatorPop": "0x84e2c7ae1d0be9ce96f87f93285c5a1e2ab2fc018722c87c68891be5e64113757e37916f14dacf42be4c7213013fa78901825ecebf7db15c16d81d8b40061953e3ec0a6a4c0ab2553ee1cf7512dd319d00e9fcfe36a64f087ad532888204db1d" }, { - "mnemonic": "砂 宗 哪 鬧 忙 討 播 胺 赤 朋 底 訪 僚 新 握 卵 曰 察 訂 尖 輯 恆 止 忘", - "validatorPrivateKey": "12d39f9a39757c7dd5be3bad73e3471962f548633de68df90f6d01a111670425", - "validatorPublicKey": "0x885a2e7c0bcac2c36ab54808056bb5ba924c35313d5363eb05af7f1fefb412bae5c905cf45522f3cb3fdf96a88e748a7", - "validatorPop": "0xab5d6fb58af1411574c34421a5bb99ac7811e8d2d7d35751ce531a92aabf020094e4beb322bf366914d615386d0cb542137472076cb1dbb85f6f3ca1157f11e19be6ae1a7d7b0097d627015bd94b0d3129b79697f0ae2179a5e16ddd8cad620c" + "mnemonic": "戈 穿 偵 急 誠 瑞 豐 次 唱 殊 氮 權 見 符 刻 雨 柯 營 穆 助 穿 假 唯 狂", + "address": "0xbFb714B18dB6479EBDb8382Ea5a72e6c74c5C85a", + "chainId": 11812, + "validatorPrivateKey": "19f6be7af615afbb4e11af0528563f70c36d0082f66df79fa28d87fe4e8e6586", + "validatorPublicKey": "0xa2e58a169e8d84ca80a080d7575d9ae7fc19ce83efc90f6b3822084774ddde7b23dd4fc4218bb1161eaecb5d75cc553b", + "validatorPop": "0xb078ff6417588b1b030271c8c9dc9917a0ee5e0f33b0976f6fda95125c9c1d1358b622a8b2bb031dc4b07f44db075af2146ce9c0b342b3620595e63499a2022af38c32ec5131559f1493f417bb9b2141e4136165c72413dba2847a8148fa3429" }, { - "mnemonic": "少 割 宋 誰 潮 爺 稱 報 訊 遺 協 專 騰 恨 手 賴 誣 裂 素 洗 節 線 霍 含", - "validatorPrivateKey": "25624f9a90c7d545ba7a69fc74c82ea598ea4cb60b877814468d74b3efd10aff", - "validatorPublicKey": "0x8da1045c92f7bc2379017b20520fb9608f2c91de52c7727a3b1b7e882ee6859dcc113a645fcaf21b3f4d2f705edae7a5", - "validatorPop": "0x97768e349b4f81ddc46c569d83f0d8c549a19c171d8a25c5850fc5181e5801df39dbf547f81b6a23605ef1d43146568c0dc4ed7752b20ac551763ec0eee7765fff727f21acd4a2fd63e3270ff2f29fa651289343645511425bde1e5048cd3614" + "mnemonic": "遭 粉 擲 秩 妨 盆 漏 爛 距 耐 梁 唯 俗 犯 案 叢 極 績 明 姜 痕 究 咱 攤", + "address": "0x85A038808d764ef482b925C764E1b73A26b1e437", + "chainId": 11812, + "validatorPrivateKey": "123579b3e7d529aba6626030616f5ba9ac849e8a7190d07de4a17a34655a2576", + "validatorPublicKey": "0x8a2a08ef016991cc7a25e8d7c9d85d7eac28affaf0ee1af80ce9f31c17dfd9ca2d302c1e48cc954aa0a88cdbbe9e37db", + "validatorPop": "0x8e19f770bf1b842cadd0cd1c559fd36c95d27c4cd82bb2be60af507506d89b33a2f41b5ad77bd2acf71fe1f99375845003280ce506eced3319347e5d1c879b934a03e19f6746757402062f9e335e71f89126ade16ac77b88b6483a4a076dcd8c" } ], "korean": [ { - "mnemonic": "국왕 연설 혜택 호랑이 막걸리 이월 손길 말기 민주 해안 먹이 특징 여섯 가끔 증상 먹이 곡식 산책 본래 회전 잠자리 오염 매번 행동", - "validatorPrivateKey": "6f216814b1b9fcfe5b8185d5b517653e15e4d5ee754deaf4bff7b211063550d6", - "validatorPublicKey": "0xaeee5e065035c25b6266592bfc229178bdcb191deda7181127c9d29627c66a9b7fa3719e38baaefc0f531a053e70d206", - "validatorPop": "0x81ff1c7b3bb928a0b15122dd07b1399baf41609a00c323e55d72a67db9805ddea637b4bd6bfaf2184f532bdead2e7cdd0888d3b964473945adade0c9816701c699980755e42c313d834beccec56ee4c2e15427af92a9a4d1bb231d7273e0caa7" + "mnemonic": "서점 할인 미술 독립 진급 분량 보편적 탁구 지원 간부 비극 해당 나흘 교복 대중 불만 글자 용어 사슴 가르침 불빛 추측 보름 오늘", + "address": "0xC64939bc12bbE04a5176a83E44a3DBB7A61FdF4F", + "chainId": 11812, + "validatorPrivateKey": "36bc33b96c9307863883a39e3a0824630aa0c2c2bd77948d72b2b01e1528bd15", + "validatorPublicKey": "0x9822b3d15bffccfab3aaf9e451798e39205d3fa602d0170fada37fb721867111f2989a58076cd75d283baad33ea9e048", + "validatorPop": "0xb925930752faf024066e5c4943b096c66acfbbd95986a7bdf43a8125bc66513b1ed44b9f533bfa3d0f6cf1a22e59162209378de925a4c052f468cd17e8fd31de51217203ccf4b7fb99c085b62da63f0c2a276d09e8a5917ccabdfca968a0b92c" }, { - "mnemonic": "소용 수염 대도시 매일 실시 강조 살짝 청년 시청 문화 열정 호남 염려 학기 감소 본질 선풍기 인연 고전 모퉁이 직장 심사 무척 약간", - "validatorPrivateKey": "3ca9d88bfb7ab349245fe2bb84c5afd4432644cfdae91721c971c7d5e527e1f4", - "validatorPublicKey": "0xa6ec74718fe6a26e9f2a9b2796afd35a1166a4af0d1abaab16934e15132ef470e30d2934d1bf5f7f5aca1310bdab9301", - "validatorPop": "0x8e11d01913d4eaee2e1b12b23a8cbb9acf77bf524c17fc4d65e7c97fb132e7757292bf0b8fadf9eae3ce381659f407d004766389f8e0a38f4c14fc0133983a9d98e4e2b6420bd3e30f7c1134c0a84ac86953297ebcb1c9db48ea113b4e76bc16" + "mnemonic": "증가 편지 식빵 특징 쾌감 앞문 여든 잔치 단풍 햄버거 항구 고향 법적 환자 교육 홍수 클럽 인기 한계 약점 열심히 빨간색 항상 공짜", + "address": "0xDdf802d68B7772EA2FDCA233818D1f2D8f2Eb2b3", + "chainId": 11812, + "validatorPrivateKey": "413c6a01252f910a66a03459ea55edc231b659e4251914bf3e7a028454e8808c", + "validatorPublicKey": "0x9740c42bb6d0c65524dc7ca11be314f609aa68f70db12a6516ff3e9dca582434cceddb83c49211b44debcf6144eb0726", + "validatorPop": "0xa5ad3072315ece265a9bb996c882d6905764ee57676b2b9c32ca5d159d61b45026bef315e8b80b6ed1ae7fe346e6ca5518ff7de97482534162a3ceaef423ca97e23cc16ab45682d563dd26f1448167275da15b6816a4d3e005c0fb93bc6855c6" }, { - "mnemonic": "스튜디오 감자 막상 튀김 자율 횟수 선풍기 약수 볶음 현대 손질 카메라 패션 살인 합격 이틀 여인 국수 국제 광경 수면 법률 성함 대출", - "validatorPrivateKey": "0813cdaac3b3caf757b9042b2d1a41c9056230319a104884f7380e1a31edeec8", - "validatorPublicKey": "0xa83902896fb8d0537a0f5336fbd458085724ce7c6cdb01eb4c12c937922ed8769a2064492075f834f96274d2b27dac90", - "validatorPop": "0xb2e530a339c934fc3825145b24df71870f1d1c6e5a4df3bace09001034f1691f8e8186bd6cbe49aaeb1f26a802e6304d124d4f2aa4bc0bc356ec4cd9a851c80e1470f743ce241d4b56908cc9421f15ca676f338308a4ad54f56ef4146a27a81c" + "mnemonic": "오직 잔치 스스로 마찬가지 분석 통신 분위기 실내 본격적 부엌 단점 다행 가방 출발 군대 저런 학습 육군 빨래 한라산 산업 해물 승부 접촉", + "address": "0x8193E1f80fc8bc7C5d3237F2661EaE5a181731c2", + "chainId": 11812, + "validatorPrivateKey": "043b1f0537c15e25eae6ae8365d2dc51c13e7dc51c0988b4578fe8ad38dcb600", + "validatorPublicKey": "0x8b1040222e5536c4c2bb651418b0b9d56dd557f7202935bda383ca36eba4fbe7ce55d1b286940a9429a2954dc8f6830d", + "validatorPop": "0x91d67b73298dea2fa52b6e4041d46c52cc5ef47a5b514670f3e6beb2c4424540af8204ee9303f2352a9c160347d5d4a5050f74e51ab15a62a94c42e33fdc0c24b6562555859718ccc389b9273f5f332c29c82e88211d9c2f048eb82b8bdfad10" }, { - "mnemonic": "민간 장기간 반발 김밥 구속 도대체 부인 흥미 목표 특별 예선 방문 모양 팝송 시장 체력 국내 바람 한때 실천 채점 답변 서점 설탕", - "validatorPrivateKey": "4713625e63a40c9d8be9bf5fd1435fea867b8cd2d7d613f510327a5549b4e176", - "validatorPublicKey": "0x8d27677ece4df09c45b9d691ca3a48cfa911ddc57b2c65ad4a66497ba4cea2b0b3a47f93d81b44580e58c50bf5b04727", - "validatorPop": "0xa154a481d6d6a55a91dd3907503a69d31a30af91fdf7a3592eb9123740ed788dfb9e580d1d3219970b2b7412332af72202f8042a2ae4aaa408c733612299e9cd95ede7590948e96ccb698d39ae03b0e433a14a023cb912d290d1339a368e6ce3" + "mnemonic": "분위기 골프 접촉 마을 홍차 초청 반찬 취업 공원 특히 구청 비난 신비 호기심 소금 보험 모금 입맛 서점 마음 윗사람 강력히 한문 학용품", + "address": "0xc6a573eC2aad3E5Da917553DD987C0FFB12DD6dc", + "chainId": 11812, + "validatorPrivateKey": "29b9a030ca06becb5f406be6eaef6cfb474932c7751360a26226d462fd885021", + "validatorPublicKey": "0x8d91c169a73d9455440d331d0a360084184365c883ebd055d173a4c90eb8055ce6be39c30533b23e44ce663804058d9a", + "validatorPop": "0x819b28c857ab0078b44d836c7368cc486ec3de4a5c6e3f2dfabf586e7cffd1938e2db1a8b41b1596fd2c95704ad103ff04f97325ed748a6489e2b7b6dcd3dc3f7fb94b9d4b72574624dca6bf017ffbec8c77e914aea2ad0ee0153471d912433a" }, { - "mnemonic": "빨간색 회전 서비스 악수 역사 기독교 주장 예절 승객 간접 청소 횟수 게시판 점차 잠자리 늑대 변동 전기 눈썹 성인 정성 예정 하룻밤 장인", - "validatorPrivateKey": "10f0db181425ee01de0a3df528464ac7182f11754eb7737611c2892ee695b80b", - "validatorPublicKey": "0x8f06ed86dc6361843cf2ebbf47571e145452e64f41967d43822cf8cab109e665d5183c3c508d9d88893d475113d3e2b8", - "validatorPop": "0x96c2f4684047651ae40f26a436ef676502d85929c3cdee8d4e6619204db7f3a977acacbb5f4bc18e93c5e108ade4a317070c98b78789b092d985f91c4cc569a727338a0764d6078b11d00c4b17ac93a196dc770ad0690403a036629e45e943b3" + "mnemonic": "달력 시험 슬쩍 해답 초여름 사용 공연 초반 야간 활발히 큰일 목소리 스스로 평생 밀리미터 갑자기 새벽 총각 낱말 안경 함께 중부 연속 진찰", + "address": "0xAF9423716d267ef66c293Aa9012AbB8CD11dF0d5", + "chainId": 11812, + "validatorPrivateKey": "12ad83962bfc1014f48bb570bbc7c36f6aebba753fc060382d3dcf0c9ccedd71", + "validatorPublicKey": "0xa43a4737d85db4cb797b510dab5e5f9a709d88834e3c56d55b6e6abbfd17ffd873025cf9c540c3222e84843c0fa902a0", + "validatorPop": "0x8829511beb9d9a006d20e74400bd31d236eda1e3a75b1c8285800ae15d3c367d96a7e3d590753c72fd6a9cd60f81b8fc0f1d982fb8ec645b5293fbf35a266c25b2bc983a4930db43e8a09f2af3c687a8aeb51cf6dd26eef7a3852f50e146cf50" } ], "french": [ { - "mnemonic": "symbole calepin gicler brioche rouge cabanon carbone hurler serein butoir opportun cocasse défrayer cirer butoir frivole bagage néfaste rejeter galaxie vexer aliéner donateur menacer", - "validatorPrivateKey": "107192d3dc98087153d457970bc9a4d4699e103767134574d4af7dade62814ff", - "validatorPublicKey": "0x8d1c3cfe91046e6b94da25ac219452c0f9abaccf281e355d4ee761c28c8cc87f8de376b151d291bddb8f98801af9b271", - "validatorPop": "0xb7f306dc033e2a329a62dd84fc753e73ad1e05a5a485a14d7e389eb93c8ebcf0fbe085c3816f416c130384e35e7cdd430c51d6e48bc32a24bf20761856557dbb58844e01978fc8693574905f37da3aade681f33c28d6a2a41a4aa9f236f6a403" + "mnemonic": "guide opportun avril horizon armement refrain appareil poisson oxygène éolien crotale lièvre bison saumon bloquer campagne amour syllabe mallette estomac pastèque attraper bambin cascade", + "address": "0xea787Fc88b2d94E1705E12Af7d5221c30e2Fb7FC", + "chainId": 11812, + "validatorPrivateKey": "10587f1e2991af8b8dfad66295564804a62c315676d3a9c17aec511b6d1d4d0c", + "validatorPublicKey": "0x8823d6fc78a0d3678caff7d30aa933398da5d3b34a3f6b130264954ec046a974eb0f264785421a61a2d42a7b7633346e", + "validatorPop": "0xab1f92ff941d4b11b5efe6ed44bcdfb90cff7045dd3921f8ff9be8d1cdd461df8ac3b9f5542369f26f50f15f5d4f3dc0103d55e222ba0fafffa446bb5fa32426c5b8833c13b5f5c06f89ac1b853c5d2847057b6990255856f9a88874e69ae440" }, { - "mnemonic": "grimper effigie divertir draper cabanon chapitre prudence nuire branche émission sénateur atome cumuler perte élaborer ajuster chien gardien déborder héron belote essence affiche frégate", - "validatorPrivateKey": "62c55a8f78e0a1361135d2796153edb4c492c0a64f337d5ed9940caa139cfdec", - "validatorPublicKey": "0x89e0159d10ac7d9b8a1b44363cc22af0a8686e7259b5404a0990b49fd6f14870293dc00612dabc4fbc664c36b2e09d37", - "validatorPop": "0x96b2f03b164e2ef2c785d421e5be35af588f2239fac3e09e026f655666f4d9bfcf5bb7e82a347869e14076f606683faf178b32e654c51ce96a15a8fab3c0a23af3dd00783a3b7f5c80915e4aab0e7baaad34ee49b14eb70a06037723c6c42869" + "mnemonic": "plomb numéro cubique friable exécuter mammouth acteur ordonner fourmi manteau poisson juvénile filtrer assiette attaque circuler royaume biberon panache exister serein coffre exposer spatial", + "address": "0x5E4f3590AD1e959AC26C8aE7f9280b427123AFbd", + "chainId": 11812, + "validatorPrivateKey": "228d7e15935d8295aad52cb179d4994923e011cdfac27fc32b8ed860c1cffd27", + "validatorPublicKey": "0x83366c1471326f9023fbc00f307e7e0077edc464e10683d37e4e9d39adbc8aa7bd9767293013f667ae5b219296d80007", + "validatorPop": "0x81ac699347b9500fe2c8b19c701413f892aedeee32ea13996d758ae8cecbced3520927802bc781cc5dc2986b69b8d68a16375ffe2dc4148afde4a12d6339d60b71852edda950e96f3961663f68a99966101f9860f978f54d3084406f7e6c9360" }, { - "mnemonic": "toboggan atelier photon allouer prologue usage dosage onctueux stipuler grogner culminer rivière période horrible simple digne chute désert curseur hérisson abrasif nocturne employer facette", - "validatorPrivateKey": "63beff3c9b144e4657b0a8c7e06bcb8dbdb6129f87b1bf7e9b088e086f753c72", - "validatorPublicKey": "0x815eb470bdf93279f329b2c6cb9cc562bb48a5e00b9feafdd1d20dc50a3b5c2d2b58c5fc2b988fc119fb58e8b41a38ea", - "validatorPop": "0xa1ccd9e855b5ef39bb0e69bdf05f4f01aea431e490fc5647469db76554433d368b0b09991d4ee522d48712a6442b939d0b5162422512cd2933738b90cf64e2d9902ed928c339f14809568671dcedb7e083e0ee01a6d52112eb1916c8d1129e45" + "mnemonic": "insulter cocasse lavabo gouffre gorille amorcer insulter hachoir comédie petit novembre chien raideur analyse peigne plomb arbuste concert lucratif gélatine carbone actuel cogner pénétrer", + "address": "0x856e08CC3ef9C7BE6768638e12B9625298332F20", + "chainId": 11812, + "validatorPrivateKey": "38f7e99e4f883512050a46420b56275a3a0f0bf55755269375716416d20bab7f", + "validatorPublicKey": "0xa8a47fc5edf14130ff0f6a75b643740fc0bd46817a5ff8bb289790a611c5c8cd989156f371acb222ed30196e62d95ba7", + "validatorPop": "0xa43e2f4560152911153f18057fad255db96d3ffede9c521f624edc6e6f5e0c36f5bb9fdf831005ab32764d214afa5df50785008fded92d0f244e9d83ea56e527b1ee40bd55f1903ff36f024333b48191236ec2190e3d0b71ab12f125e1ed9842" }, { - "mnemonic": "malice rentrer étoffer fluctuer broder solitude infusion éjecter chocolat jupon bolide opprimer peser éduquer sottise muraille ultrason épilogue relief scélérat épuisant trésor loyal avril", - "validatorPrivateKey": "508d83d6facf5c975c026eaf935e6752bf8e4bad2c27060a347b21f40c995211", - "validatorPublicKey": "0x983fc5e5b106fbc4e1743b5fc2bcfe1c0a480606332c8f2399c4b7836ef7bb48d52cf966a1ed8188c33ff337cf0fc298", - "validatorPop": "0xa3ef835b102095d71526d8b389fbdb21382acb4a3699eda3c3c45fab373c8692c71c666581f4149002dc8a1e89055409077d4d26573f4a8db803f654260b263fa4a8b113bba3876572e8853be6ba6b10c5b825d106fa3c8ddec8019f414166a7" + "mnemonic": "partager cylindre microbe devoir correct aubaine sanglier attentif cinéma ficeler cintrer valise céleste tasse ironique réanimer gustatif novice cinéma voter séquence résineux visage brigade", + "address": "0x294318f35afeCb4B576920BDaA9C0099cea6Ef5E", + "chainId": 11812, + "validatorPrivateKey": "216c2ad12536bf153d084934dd228201c1c1bfe826e28138897861b3c4f2d508", + "validatorPublicKey": "0x8c7612d02a1ebe1d44c000488f312fd6ae264b2dc0a6d1ad071556a7d6838bd867784643c84c1a757c7311e73e2c8784", + "validatorPop": "0x98568a591d15c53f5dfd3b517e3a23549573c4e823ede284a16afcd4bcf3b205f8e20077b32be87a7ca3e4611868f2f20682045c6e2ba6f32899874bf9d2af628a9d1f9589d7f69951db777efef1813036cbfa4e04c47b56e10b5b68f855daf1" }, { - "mnemonic": "puzzle article fourmi groupe silicium voile amovible instinct tablier baril lessive lugubre grutier peigne respect public riposter sucre samedi dresser bilan censurer badge fiole", - "validatorPrivateKey": "68901c71a048ad1e0a6e173d99431209765274ccb44a424cf2b37812bcb8cb32", - "validatorPublicKey": "0xb6d31016d62701a79dd96355f170ac4ead35fe69d5c495fe66a51cd3ba6614701e1bb20dc4b66342bf0cac0cf962ccb3", - "validatorPop": "0x95f191017d80db3594edf7f89ecd5cb14df38315a5cdadebd26972472a82ed51ec61f2f298b9b67f2ec8aec8a780bd52075570349306257db974f548768f74a4fb68852b5b014418bb6ddb88abd4516bdc733ed3e20d9902ad38df817604b5fd" + "mnemonic": "tremper licorne adopter jambe taxer sulfate arroser magenta bagage cascade colmater jaguar atroce requin essence tiroir amertume brillant traction caillou vagabond schéma cogner bistouri", + "address": "0x6863E62418D5e9592086FfbB86A7Ad1F191558b7", + "chainId": 11812, + "validatorPrivateKey": "46e0f07c59a0785e85c49470b7ecea91116fe4161941702e5352ae7562d880d2", + "validatorPublicKey": "0x9781be0b9ea7376c484f1055c9cec09a9f870eb1043ade0d76e0126e08f8f52b61fc77304b72ac3032cca7d250ff7844", + "validatorPop": "0x9858a7bf9fd7302a36630d827b0784f63d447c2f42ba7bbbefc4ea8356d0a66911f50b78961bf9e3aed6a4eccacd08d90bc97b83e66d17f401fd822c884957488152181e688bdbf1db7a04367c07d4ed6c21d4e2e97798edd20005be97d4dee0" } ], "italian": [ { - "mnemonic": "assaggio deciso esito muscolo usanza fetta velina umorismo pratica dote arsenico volpe gasdotto delirio risibile scelto vapore verticale ricordo principe ausilio frana superbo vivido", - "validatorPrivateKey": "3d2cc5cffcf54dde9103d4d27484a8a1f2bcf3e6e2f46ac6f17abda8c14034e0", - "validatorPublicKey": "0x89f7c0f46c2c4d773bdb3af22d5395536cb5cd206ed54f5ed4568372c61e30f831999eb07ae2ac302ed67609af5093b9", - "validatorPop": "0x8e4b9a844a6ad22a4fd0ca3bcf5a420a647fc23b7415479be677eaee123f7f3e882fc51460c4fba20bb0f4aae3dd12f9163c360e5cea304cf209bd9ba850f0af6718cf77703d8a28a9c30e3153fa0a183254c09f3490ae6bdc9b3bdac23dc50b" + "mnemonic": "onice esempio meninge ricco postulato tributo geco tossire mastino baraonda prenotare somma grigio civile simpatico alibi valletta arancio casaccio trio trabocco damerino omaggio sassoso", + "address": "0x9eeFe9A620BF766670ecFD6aD1EE8C92cc128E69", + "chainId": 11812, + "validatorPrivateKey": "1ddd3fdad923a7efb94fe513d7f92f83c301a452911716e177fdbd153ea43ef2", + "validatorPublicKey": "0x8d027d9c5787d25f95596824df28b792058795d53c5b166dffb0ecc6a4bd57732638e3594c6a4b32cac7ff1c9896d9dd", + "validatorPop": "0xa8ae8a7b708840074b0c03a9ff46850be7949dfc925f83aa6c3b8a0e1a37947dc14a748beb7f1e500aa0439e11f28f83036ad02478c341b8a5047cc71318dc9617784244f38e6bf86cbc816b73a81737db19c06b90c640048423a80fe60bba7e" }, { - "mnemonic": "addebito cellulare rassegna ferro selettivo sciroppo pineta sonda sfruttato nessuno veduto proposta pesatore daniela tariffa tizzone modello doblone cosmico rappreso pretesto ambito dentro frugale", - "validatorPrivateKey": "38a2c784846063065c35d4b20fbb58e0c94d933914bae7bd0179f8e4b681ed7f", - "validatorPublicKey": "0x8bfadd64382716c5dc45bd603ad47486563ca6bb1c628c428c7fc74e417063f1c839ef2c398bbf58aa5d477543427900", - "validatorPop": "0xa6587fed763a6d3a31fcc4615ef5da33420cc8f56041031b9b99584b16f1ea6998e804225a803a748a6d40fbe76210b501ae74756233b7fbb80f51287b905a885a6c617ebd3c888a6787b6762a57f30c10d2fbabea5acf65de976ae6ff5f4384" + "mnemonic": "emulo raschiato dado iperbole diradare sgorbio pinna raddoppio siccome porre codardo unicorno cortese ripieno virgola labirinto pandoro strozzare fetta grinza barocco seguito gallina truccato", + "address": "0xeE70Ef8E8D38B4b62Ec26109356dE223326D2493", + "chainId": 11812, + "validatorPrivateKey": "09502b775353f2dee2e6ea17daa734ff5ee5ec34a5754615e242652a7a4c94b5", + "validatorPublicKey": "0xb4e02d95f760fd071b3a6579651869963c35cb291255c67fc1c5da96669a477eb17840247241baeff89311f6ee0860e8", + "validatorPop": "0x8847a393042f75ad489809181a127c08f21a20a218292e5eb1cc224629c73db22b01a5cc00539ec31847b8402aee95351694739728d098aef277ddbb1fa6a187f9e7abbb4c98801098d9abff3f2785c005ddf8b9ba4bae9c34ad68731c295710" }, { - "mnemonic": "accusato peloso atono ingrosso drago ingaggio filo frugale legale bordo giocare merenda unicorno sillaba lentezza meschino nuvola invalido incluso lievito cronaca bruno pronome folclore", - "validatorPrivateKey": "6d1e23229f017876a276802df01e3b296d26e94ea3b20020a0539a8ad2dfc32e", - "validatorPublicKey": "0x8cba3304e81996eb5a4f054b621a7b69a8e100b0a0f6db862786c9353a6c5a42d35322b4fd18de84cca6dbfa4284874c", - "validatorPop": "0xb4f914d4990c00c45f96400b00a2b94954a4a9fe2f3b85b553650ef8c50387fe9806400a429d0a1e1ebcaeec3e2986430bb853b0d2c68126be66417f0c3bf786ce7eb22a605482f7d420e9163133a7f667bfb2aa4c037bbd03952a1abe66e11a" + "mnemonic": "muovere ciuffo iride vampata abolire stima azzimo azzimo candela sillaba trabocco ilare figurato corredo soccorso conciso scossone elfico lineare cassone pillola fifa vissuto recepire", + "address": "0x92cBc95766DAdF6a39F7eE11223BCe2839533145", + "chainId": 11812, + "validatorPrivateKey": "0192583c46900c946200f2111d3545c652e37961d59d96cadb95beedaa9f3717", + "validatorPublicKey": "0xa015ea42cd77cc8c78276993ef634053239cc32c1d5ead4ce36981ff61133f66931835455b320d9c6755e9f3d8871d14", + "validatorPop": "0x9465814ac83418782089dacf928ddce12b257e4527f604955ecdc7bb516bc49344cf0a2e5efe19a34e012f5df6fc880610d4556bd17891678d46163f2d9a68aa34a94a3260426526124de229a322baa9e3e410dd2a65f4c802053a6c5cbe87cf" }, { - "mnemonic": "fisico briglia rimorchio dividere risata circa rizoma ammonito civetta orefice toccare pigro notturno plenario cedibile tacciare cardo affetto trachea delirio salgemma peccato orma rivincita", - "validatorPrivateKey": "4d760c6bdfdb94485e0632710029973d309ec39eb36f72ed299b7ee8760772e8", - "validatorPublicKey": "0xb0a15d79475eaf64f6b3fa0eb04baaeb6b45eba1fd416b6d41d886f31848a2103f743d41d81701e0ee924d07096d0c7f", - "validatorPop": "0x8dba6dcb0f9a51911a66c3b0896cec639f370ea40b8a854b234faca680f7b4362d863fc2b628794a485ef4c1892e291d04805b7560b449e6860ebca2560a5847f58406bb7eca0729a042bb1b0aab2afb57cb17e1af6048bff5d97f3cdf40b9b5" + "mnemonic": "settimana popoloso lucidato loquace burlone montato scultore avviso acetone sfarzoso doblone secondo negativo elmo coppia uccello sarto pioggia gennaio sintesi classico ramingo muscolo equatore", + "address": "0x8A0e251D87528fe71f3D871390e6c86E54bdf10d", + "chainId": 11812, + "validatorPrivateKey": "097d5572ed667637730077c2672fb8b1b21005cc31831483af16dbaa2148a24b", + "validatorPublicKey": "0xb459c9b6e66ab7ec42a04af435928b6502c335eaa1519a126887cb7dd1809663681f62d2526ef8fb90548f5de3d5a739", + "validatorPop": "0xb27003e089aabfb894ff12b8691db225c0920d4474f2675d0953fd98b6d4e959144a35e23d63ba4a8bcf7ea96a4f70cb09702dbbccccf358cd6bcdeebfac95485c231ffcdf836437f04695d45baca32503fe2417daf0e3590c521616b57f81bd" }, { - "mnemonic": "perdonato dormire brama golf laddove globulo pioggia piattino europa mittente disgelo rigettato udire pargolo rastrello oggetto incubo ausilio stirpe sfera croce solido accusato steppa", - "validatorPrivateKey": "5a983ba66a4e971c277cb34e44f7c8c6b6f4c689d7b3e9360b743b446dff3b56", - "validatorPublicKey": "0xb396b51daef875a1cdb81cf02d4049d13855e713698db8041b54d784927702f92ef09f0806da788162bbb6cb87ba24a3", - "validatorPop": "0x905e66bcdb09c30760bb74640e567984f976ad840321f84f4b8ba50651dfe5eba151464e6a11d8cf60bfcfa6bd2a511c0b95945b34c5326fd68bea8c0e6ce11195ace9e2cba5805e3b537ff3aa54b2660ceb897ba1b7fd5760f81d51d6883647" + "mnemonic": "lembo disgelo ampliare lesivo lenza giove ribelle trafila fosso rispetto attuale squillo pineta basilico clinica scuderia gufo imballo attorno ammirare fetta unitario ironico spirale", + "address": "0x04FA538F348B4A95147290cb3741334f090Db3cd", + "chainId": 11812, + "validatorPrivateKey": "0797da9b5cfb3cd498953c237aae09c87df516303d4eb757d42e987e419ca06b", + "validatorPublicKey": "0xab8eac7077236c23db5f0f6f3cbf350e110f278b3a20c956463700794377d5013652797cdf0515c7b3a34c7ccae5f6ae", + "validatorPop": "0xb40ff3aa5752a91c000664dd62349cd1a46bf8a01b2ee672f01f9968679a9dbf275756e8b942d0b8cedd5af8da0d261414fba94f092a968a58541a0387282f11be4c3602fbc9117d4f847bd2625b245a60769304f2cdb931fe5e95701dec0546" } ], "spanish": [ { - "mnemonic": "maíz encía sujeto pera tango espada atleta grueso cara abuso nómina elevar fracaso nieto género lino digno fábula oruga oriente pedir vitamina cinco tabla", - "validatorPrivateKey": "70b405bad8b30b77d4aff33adddc2c3821a8b30c08bfe99c115abaf08a8ccf6e", - "validatorPublicKey": "0xae4fbc7edb17c70d9aa22f3b4fae4866dc53c8c542b2a9049b11f466d63ccf8ed0bd08476b4bcaf1c80403120d8889c0", - "validatorPop": "0xa29fd2327fd5950eefb5c592772bdf25b7b8dd4536a7294d6dbabe08263af1080c2c318c791452b43664aeb60da78f761334dd1bb56130382107b7fe504e10d23b2f937c8f5a3cdc51134262ee0c370dc5d6e270d07e5f27f0a4e7419553f0ac" + "mnemonic": "tarta voraz fila pez número luna muñeca cien balcón monja durar látex caída bufón bazar gerente autor antena húmedo maestro éxito dardo pausa ombligo", + "address": "0x13dd95022AD7604108f886995b0d006E850a1045", + "chainId": 11812, + "validatorPrivateKey": "27685e4de1f88ebe99fc59aa6e2ddb31a84b319b19bce374551271f9eb22c43b", + "validatorPublicKey": "0xb7d626ce871c7fb5dceecdac3c35f48bd0ee537fe313b342e0efdb01344e5bf7d45513cdcf350708bc36b4e06b77b67a", + "validatorPop": "0xb50936badb4c2b9e0b904d6ea8d3902fbd37246be48bbe838eda50e62f540da816e1dc41b16dba228033bd7477e32da00f650d4e7278caeed8ec74360c2d496f2e22024b875ecaae4302929bdd0bf38a67573340537a8618b461adc256d1fa5a" }, { - "mnemonic": "autor aseo jamón acción flor matar vulgar tejer nuera ronda apoyo mente agua kilo tapete pupa baño astro mazorca útil apoyo bestia ámbar uno", - "validatorPrivateKey": "15215ea82f34fbf37eb3ceec76daaf94b0d321e8c07d6c5fb5dcf084ee23cb8e", - "validatorPublicKey": "0x8e60ce19dc8ee0ca6dd7f6490cd8d313b0718b92c8784c4f2b6ffcf67e930a3b61ce516963d4138cb49275272e9c847a", - "validatorPop": "0xb143f1293a110c0ad56d2425a93ff271ac148a18c7dd63b8cb73984f0ecc32ab41789a9b0e1eea2c299b9147e345fdda08ef72b4ccf95110905d101aadae3e0843918552a244b79ea7792a570e6eafbf4ca1d8ee534cd872ab0286d68f311045" + "mnemonic": "fogón taquilla miga peatón líquido alto tractor jurar grosor bajar vitamina codo pudor lomo tapia rígido suceso cierto huevo diez juzgar luto bulto captar", + "address": "0x508ce6985B2a57780B92075899290d8f3D5ffC98", + "chainId": 11812, + "validatorPrivateKey": "2bf0f16f8c00349f10595f124acabe64161189072a051a5209317dddba5808ca", + "validatorPublicKey": "0xb3b6128cba500a40c20d97ae4b6bf0bbae03ca0c6e832d52feaa961cfea3b0fbadfb9091e9f9f7b6ec916ff2f4dfff34", + "validatorPop": "0x80b48eaac9328667d22de8d6d4f07c0e5cdf0d053e4fee7daac534a1b5166c7f7c90027121bb7066e958ee94c6c0f8100aa74385152e2b27b62291df8614f5011dffc40f2b7513e35867e40c3559e4179e4a17db71e746c3c70548c7d6d6594c" }, { - "mnemonic": "acné duque palpar abuelo evento tos torpedo fogata islote tocino huida usar observar potro lugar ronco padre lucir hogar fijar hígado evento pago motivo", - "validatorPrivateKey": "57a26f91b6d86457c0c7602d259c09e2bbf8e4da7cc79e61719d4910c63425b6", - "validatorPublicKey": "0xb9109ecf95afb9e483a44651db450a6a521a260401b53b7b558d25cf25f3cc9218b75200a47c1e3dba93a2b9a8d4d946", - "validatorPop": "0x970c2b22e5d3f2c66cf4a039d74eb3a60dcc1e309280f476d9e1c2cdec1d9934871cf20d90a225aa38e79f6bb6cc36dc01cb25ccb4e8dfa17227c9d0930e768643586c6ea8a21950d53b3154a3e22c866c5ac70281f0633aaadae6e10fb5240b" + "mnemonic": "sanción esfera odio demora maleta directo campo elixir astuto viejo calidad brote avión oscuro sólido pasar hazaña dar paleta sidra nivel mármol punto asiento", + "address": "0x9c66178FA39434Cf1c7e3F9996f289AEd8E11C50", + "chainId": 11812, + "validatorPrivateKey": "444adfaaa5c0218b6d324954487b7e3e8c7df97a4ec5e03e9baa0b608a68b623", + "validatorPublicKey": "0x863224e2d165e04713a24dcbd86225d2a79c18e1ae0b498ec637d4e979990f38dac0687dc376a2b2b3e9317e95d6aab3", + "validatorPop": "0xadcb52c8f7b4554ded3803174a18509a1f07263fc317ade251c903f606dc9077097169873e6075a2353a2ceea382ee52059179df64249cd55a7b5fc672729cbec2886d061d854a1b9b638326ab5c3c165f2a6a461b8ce08ca47d09775dc10073" }, { - "mnemonic": "metro alejar máximo globo usar favor fracaso mes salón realidad sexo elipse margen superar asalto acelga anciano paquete lata cereza rico regreso fatiga fogata", - "validatorPrivateKey": "1a22998fffc2d23527c8de6e1f71c87b4fa8a12c3661839d1777e950aaf3ed26", - "validatorPublicKey": "0xabc04b56022055f74c91aa321f1bce9cd914f01e67ed3008b2448b0d9041074156d4cf944f502dd975bf9649ae7c9d0e", - "validatorPop": "0xb42dc75c320a3a0129f53b54ad8e6002dd8a95b484dcad02a95bcbc47b01d0a8820625c07fd963e32beb634b515383c602eeb074d20ca235778931d2efafb6d505c2196bf4f14dc1c946d88be912e9d22a5eed732bea12958950d6715088a08d" + "mnemonic": "mochila maniquí sastre gemir archivo trote nueve alto ciudad vinagre academia tramo diadema dejar furia sanidad ritmo trigo supremo brusco gala insecto obispo sala", + "address": "0xcE14aaCF1A7980a24815d837C513270ddDe67C0c", + "chainId": 11812, + "validatorPrivateKey": "1eb97a75088ddf932f1a51d7e8c0f497ebe6c8f090418d77cebab6831aa9f102", + "validatorPublicKey": "0xa1eb9eee72094aae1f5d04b934bd29fa08095534d2d405263f447184764c201e0553c356746a1455d5f3a4c6e616c90e", + "validatorPop": "0xa2c803b4f3836eab9812e5cb6467aa1021dfb2abd0bdc32c1a83fea9c161c5636738e6a0e4d9b70e2c795e99e01913b9186b959ec06cda6ef1c44e1b46797c858bc309d6b22370525d980bcf33a9aa588d9ac2f63ce77f8803a4672a3a5f53b5" }, { - "mnemonic": "blanco escribir carbón arder llenar elipse seta opuesto sostén quemar vivir parar percha capitán acabar iris emoción laurel trauma joven seguir ropa lazo haz", - "validatorPrivateKey": "06b710058066d5e3b26a4c1891877a7b333a93bb8491d846bd322b77e1f94925", - "validatorPublicKey": "0xa1ab26d0ea3ff3d80764b10c5f5afb729457b37c07f4edf86d069148cb132bf7994ed27273fa4a5498d046e43822426f", - "validatorPop": "0x8c4400bee02a36e88476a45218cc391fc63c8cd93492d40a6ef9083fbbeed4ffb149d3c7e3761e97fb62426f1d0c08aa1225ed19ef8ddb80b3fe41ee7b7d63a9564f9435b2d292d692806cdecf999409a8ca9a51a331d719d3fee15297404050" + "mnemonic": "tarifa favor método sumar quemar asegurar conocer editor fianza suplir nadar tímido señor edad recurso miga abeja actuar neutro pago pista moho juicio burro", + "address": "0x8957a398C8137e4ff5c249C08B06C32eedbe209f", + "chainId": 11812, + "validatorPrivateKey": "4c76051a70efbe288d2aa9de2108579d73f4b0eddb9290257acb04b607d94acd", + "validatorPublicKey": "0x84ab70ae28bc2dd9b49843bdadaa8d3beaf47759c5188ccc71344564b94ccc9f95332dd9c2c697fc930a2bcf2fd365e6", + "validatorPop": "0x890f7e6483132012b8afe1d0733394b02adbb1d99fbdc4cf3e764c35343988a4de98d3bf81f21efc7d0468688297c1dd0158dc2ed34206f25e37b2116fe9a4c36377e4753d06ee66ed77a6cab4df3e514581e462922bd2132feacb940ceeba0f" } ], "japanese": [ { - "mnemonic": "いはん ことし いじょう はんい りれき てらす きない ふかい けいろ ぐうせい かいふく そっかん そまる ごうまん おおや だむる たぬき せんれい ろじうら くうぼ ことし たいおう しほう こふう", - "validatorPrivateKey": "1a051c7dddd9997f5175c50a19688e50774ea71beecbda2755f1a3ed72251573", - "validatorPublicKey": "0xa6ac75b094f23b3abb2d53ba413dcc3555e0f114fd6f43f3f461ba5ae1c4d0237ed86ee7ca26b2f6ad3f8830739c8148", - "validatorPop": "0x97262119a8a4ba92fe41b50ba19d09a0124c3910bf0f8f063b4784a389129b916a16f95d357541c5b72c11dce8d048b100a03bb7eb242b4101202b27cbc9d20e04937d265dfffc7da71a08313957224d7a5f2d410137f1a24bcb3c9c33ef4a27" + "mnemonic": "もえる ひんそう はそん はんぶん つうはん しはん こうえん かわく ほうもん けんい あきる さらだ ないこう けんこう はけん ごうけい にっか しらべる ようじ こすう こゆび すすめる てきとう どうかん", + "address": "0x5531513C1641A30c700c39E78c2aB9Ef492DEa6a", + "chainId": 11812, + "validatorPrivateKey": "2203ec90aa74611f3e426fae4f3e1b16e449d84f0df028cd48b92e6771d084be", + "validatorPublicKey": "0x9041e20c1630a7480eb64f230f7d7b146e50976e225a5b87c96ea8c20dd9035f671b1180fc9e29c45c96b365dd544eae", + "validatorPop": "0x929d8988610145e45620519be2406590c16a4a07995d3b49df3e05efdf381720b0d2acd7ae712b35e81a911472b982b20716c18f580ff4f6e2f35a6cec2e6123be0cd39ac029af93082e27a2256ff29afc227c76e1398a6dd0900f2fec2e635a" }, { - "mnemonic": "ひんかく くふう にっけい うぶげ ゆそう やすたろう あんがい てつや ちあい いはつ あわせる ほかん ちりょう ひまん せびろ さうな さくら うやまう さばく ますく じむしょ みかん てのひら せんきょ", - "validatorPrivateKey": "2e3127928e4132fc4a2dcaa545793c8dddce684184a7eb6608d651f2a16db7fb", - "validatorPublicKey": "0xaad5e939d95ee279c215d6754064cbfb273753a7b455af53df76fb7c40c443dc97e55d8f32865d65a3db25bd9521c1ae", - "validatorPop": "0xabb1ed2deb2c0a4309d9535b38577f5696233bc938a745dc64f072dcf25658d11e60abb127faa74d2553dd21d7a0bda10fc066c52db7e41d011ff0c5c69f31f360f01b883bae752f9a519cd1c5fb93b78a72b05355fd84fe509971fe68dfe626" + "mnemonic": "たたみ さかいし ぬらす にんめい けねん あまい しいく とほう つもり もえる かいてん せんぱい ためいき ねまわし うごく たとえる うやまう きぼう ざいげん のぞむ いっち きれい とらえる はさん", + "address": "0xa7E803b64585E67fF62cF23EB7e1B4cCd854B1eA", + "chainId": 11812, + "validatorPrivateKey": "2aac2be07641bcf76c90d74db9d9d2ba88234e160f66c6e543ece3d2ec1d8c1e", + "validatorPublicKey": "0xa9302075e830bb47358f9d2136d65b49ef92324b1e4d6dabe5a085a64608f0f9f5419f20b343b5eb816566a7724705e9", + "validatorPop": "0x8ada9e07d8e2e5b52cfea26f3d77b5d51a21d8b6598abd6cc1b16214f0152b2cf5bb4ba96e99c64275d845c20f06bc501678f5c107f17b234682b0bbc8e4214a4ff68ba459eefce8d10278a7ad6c583a0545c7787eddafdf33a65dd9f67b8902" }, { - "mnemonic": "たべる ならび ひまん ひめじし ななおし ひしょ れいぞうこ けまり うえき みつかる ちつじょ めいえん しょうかい こおり けいれき だんち しゃたい つくる ていか まぬけ もんく つめたい おろす りれき", - "validatorPrivateKey": "4d1c867862ad583d3bb2d2d0c0a2ae0545654d17647bbe212f5ebedb7ca42d91", - "validatorPublicKey": "0x89ecf8433fb87c0a9be2e8fc634849150335ebe456fc5d9c9bd5c7fa3509b3188c84b0a85f80b6faf99db53794ac0aa7", - "validatorPop": "0xb396c3837230d6fbeb092d314e53f726705dff9ad0eb65719308ad81df19e74a5facc0808c53f0a827679fa5b97d1914068942744ac92554bca4ca7c1cc7c99a7113fb556155c5eebe8d0d5bc8fbdb31385ed60711f8e8d86e8e2612f794ed31" + "mnemonic": "みもと たぼう きつね かほう おどり なくす ゆしゅつ きつえん ふめつ そふぼ ちへいせん ざいげん にきび らくがき こんぽん はわい きおん つぶす ねらう しねん おもちゃ いきおい いよく うめる", + "address": "0x8f8fB932c110587b83A04124D88a8eb2595434f7", + "chainId": 11812, + "validatorPrivateKey": "5464107a58120c3e4142350263bfa20d8a6410a1d8f6998204bc67993e679743", + "validatorPublicKey": "0x8ecd34d8ddead9853a15827645329a08c78707a3295c74312dec77966dff0993d0688f27a2a8907de26ce166f7e086d8", + "validatorPop": "0xb5c555bf6f5e41127cf9d724b59c775a0e0d95f88bbcdb4a7c16ec5708daeafe06afe871bda4e99b9df95e40072bff5d0bb8df2e2627abd388d1c38f4f98462dff0485be528f48e7a71be8506703473d60c4e5cdafa78cd3b84d4ffd3f3d5dd5" }, { - "mnemonic": "すぼん あつかう さとおや けなみ とおる だっしゅつ てんてき といれ いんよう きくらげ ふせい とおく たれる とおい こむぎこ おたがい にくまん ぎっちり そこそこ そっと わしつ にしき いろえんぴつ るすばん", - "validatorPrivateKey": "43e6f36d626653ace495db7ec22594bbd4263d41d027b63391022eb4e06f7bd0", - "validatorPublicKey": "0x93b14985bdbc07562b00a65af6b2aae357f0db463e74b3074427f7d671a1bc1bb93feff91308846a23d6e31d243e14d1", - "validatorPop": "0x860ba861cdb76dda0a61b634fec9f5421f69a66a49b1b92eeafd6ab23d712fe1d831c133749df1bbf7f28bef4a469f55149854a5a70761432c1db15d981834f6f16679c406f61c483439b8bad47907952b173e4261c0f4a7397570553f086fc4" + "mnemonic": "えほん ふせい こつこつ めいぶつ せんとう けんてい かんたん かがし しゃしん のきなみ やそう ねこぜ せっさたくま いちじ かめれおん つくね すすめる そっけつ のおづま らくご ろれつ えおり ほくろ けつろん", + "address": "0xbE18775B6F0eDE5499C160D468b71c5E279B90a7", + "chainId": 11812, + "validatorPrivateKey": "4c65fa49ca8db29c31fcac7e6f90263e9bc7f2aafbe6509e927d239090423d65", + "validatorPublicKey": "0x8c7761568ba874ef06052676388c56034fb6f1c0253f46cfac69e95c6d10b41a2277f980f4403f19143807fd0bf08f20", + "validatorPop": "0x829b294388e576e809073abb6012f6a23b8c40cb8f3c4094d03a9d61d9c0d27be8f1a4e6f8006df78f704f2318349bd207ce638e3192f61669731a977ca02ba338423b5d6fb0c3d2b5b6a53e66e287a6e48ebe3877c7170bac2ac0144554fc0a" }, { - "mnemonic": "ほっさ ふんしつ いわい せんさい せまい はやし みてい まんぞく ちいさい なまえ ざつがく てあみ こんれい はいち おろす たいえき くどく いたずら まねく こたつ がっこう おかえり てんめつ せんちょう", - "validatorPrivateKey": "6e651b09fb37b34f167fbef154b02c21df3b0befa628123a5ca5892b3096482e", - "validatorPublicKey": "0x88755c8f172438ee524351f3fbc7df85a536bb6b6a15a0cfcda60ce63eb3003c5cfbb3f7161021500cb6afe08b845fbd", - "validatorPop": "0x8a5867a775ee373be5f706dc6619f1527dd2f0ceef0103100a614617deec9d72b2e5d8559599dede83bdc4b044592597055fcf761a2d06fde89c6f817be3d539e5ca39dcb4fad6a48bfc96d3e8ebf873e2a244a039354bfbd642c89f5d9f5f21" + "mnemonic": "ときどき いせかい あっしゅく にんずう けぬき きぶん ふしぎ なわばり たうえ のちほど こうてい りょこう いちば らくご たまる ひりつ しゃしん あたためる ばあい はめつ さたん そよかぜ けんげん よやく", + "address": "0x3C1268c74b94C5B64Cd50d683f75D3f3eF36a3fd", + "chainId": 11812, + "validatorPrivateKey": "2174a01f70aed3678f40c0a22c4f36dfef0526d8e0fc5e1fc0b07dc45d9dae81", + "validatorPublicKey": "0xb6e3f603a0c38909f9b924052432a64105b1cde04997ca9a9429c09052a1d3b944c4f21eccd0f7db200f4e9f2f23bd78", + "validatorPop": "0xb180bf5cd10c7707d0cbed9b49d0dea278089eef4da246d8e2bf90d0d4b2dec3e45b4794aac09c50bc803e74eba7380602dc9a02c6ac4066bc2ea4bf6bea414f64f644d6415ea46711fabaace776e969dfb5f7443556b236a40e94c246af4b0b" } ], "portuguese": [ { - "mnemonic": "empurrar jangada bajular cratera imenso hidratar prensar outono oriental pires carreira tamborim amolador mexer tinteiro produto tenente pedestre advogado rupestre grelhar populoso indutor igreja", - "validatorPrivateKey": "6cd1e26fe4b60cdacec4fbbf4a69be53084ac1bf776f982d5bc3b5ddb1191620", - "validatorPublicKey": "0x855fb0ffd9d7c8d97c94093eaba87e31a9ee496a2234c02448d6b2004958306c1d5b9582adc1f982f4ea931569af460e", - "validatorPop": "0xa2e75834a16c982391bd423ecd3985eeac8e368507e6038fee8ec8191fe97269e0db822660dd70e353bf960c5fc320d61059366e2d16e2a2a2d9c271026030dec6af4e29f8c446f60b637c33fa7e7322cc6e2a0683831aad96ea37165e4a9bc1" + "mnemonic": "engomado autismo esfumado seleto parcial turbo pinote covil maroto mancha gralha adiante tratador donativo feudal neta enxerto budismo pantanal angular mimado raquete pairar matinal", + "address": "0x25499AF2a0a0c99B02bBB222Cc009fc3c6240cCF", + "chainId": 11812, + "validatorPrivateKey": "2a3a6d4ebac8193fd921daaa2c8ef3ac78c5ea037b3d1a62fc3de47225d733a8", + "validatorPublicKey": "0xa73157b758c2c861e3ee1752672e5f99ceb78853e808cfc8d80f9f12c4ee48f5954f9f10722be387b8f8ee54cba3b243", + "validatorPop": "0xad049711bd38cdc9d037cd905b4efc377c06eae971f8e5648168402a63bac4d4f3bf89720a3837e73747a55097310c761560cd357f1fbe0d31922d01368902613ca7ec22a92c2f6b1f0a623148cc49bf807b3d47d798b300e1a57fcc81275c01" }, { - "mnemonic": "damasco visto duelar cruzeiro repleto avulso esteira magreza quimono esfumado sono guarani prece pasmo enfeite atarefar selvagem vigorar vestido sinal foguete silicone apanhado focal", - "validatorPrivateKey": "5343c9ca5f432b8adb57295480e40e2768ee81ac4bed1c00003314cae960f9a7", - "validatorPublicKey": "0x80ec1e2fe666acc1fb58727f71ca59599cf7444266d953de513c893bb242854c72b615bfd7335cc621963f57a62c739f", - "validatorPop": "0xadb86bf20d58a9930dac234b49104f51fcdf4264bd504ed7afc735a89830fa3d0590e5255631938af8944d094e16d79e0a514f33c1eee477d377289bc11280c9c12805839b47467b36e1a1cc48e6ab75f2e6d5b0016e9a05b43827acd490f788" + "mnemonic": "peculiar arraial pincel sinopse rupestre motel rabisco proibido membro mestre pantanal goela prometer nadador fator objetivo acomodar atadura andaime prensar calmante bengala singular geleia", + "address": "0xcd4bb57A4ece74F914F10ACFea9Ec0482504663A", + "chainId": 11812, + "validatorPrivateKey": "1cef58dead395b4de96a1e34e81748b882f07d8a88867e337d929772e6c7b792", + "validatorPublicKey": "0x88095dd341130db2bae4a68628c4fa700c7faad1aa2606c1e3b09b2083338e6177abbf60ca58b72f5cf9d188cb230e7f", + "validatorPop": "0xb8bed44e00bd39a9b8e2ee25a737894e90fac81c0cabdfbf6577f26ac97418881fe411caaa80807653026b8245ef0534184c0710d0fa05ac5205a5f44f0579b0560e2b8c62c691ebddf21722abe003309988419794e2ec675e04da011a5b2075" }, { - "mnemonic": "medida genoma solda deboche corvo lucidez ciente genoma papelada muralha atracar expandir honesto guiar donativo careca surdina pantanal carbono vigorar triplo toxina peculiar piranha", - "validatorPrivateKey": "0206938e176266422b3c1f21c904e707653f299e516482717ef5f0e566a19ae8", - "validatorPublicKey": "0xb0665a81085b96a6c0c459e5dab927a49878c18aaa6e7086efcaeb6f53c5590636d2b41c0834af4884ddc5afc6d9c5c8", - "validatorPop": "0xa828d7b90866bb764113b4b669d71328225250d21725b7c4942500c41b41367418511b0dbbc86b17baa171552e218fdf01740d3f1a9fb608dfe42c3a456d85dd588f8b29eeb45440348e4d0b29d31b239383d607a3f4df0ce99bba8053f9be41" + "mnemonic": "crua palavra lareira lixeira jurado golpear rede inerente admirar nebuloso leveza tampa gradual vagaroso drible repolho copiador grosso repudiar recibo produto harmonia ocidente xeque", + "address": "0x1F2765894fA51d01F547A2a772d6FFb9218a80f9", + "chainId": 11812, + "validatorPrivateKey": "030bc435d8c5761c0150ac486f6600b4e202d29445dd779e886f96a35cd59f57", + "validatorPublicKey": "0xab84590da928523ef67591b148f2895b1c95c1fb774140bd93ea9f75b4e24373729958e9348e204cc04b9388673f0445", + "validatorPop": "0xac9a2713ea057750e469f32d5968949b79220f53a89ce1f0030f247edc91fb4687a67a72a6aec9c1da5a4f534bca833110ce7db5e1388ebbb036e758d76128d9a2f63f369cfb60e11066eaa98e4acf35356a9a86c5de9b136266d824f09ca0f3" }, { - "mnemonic": "firmeza bovino captador sovado roncar pupilo gralha raiva edital relativo voar ventre censo ilustrar aclive membro negativa copeiro copiador patamar incenso sozinho chover refogar", - "validatorPrivateKey": "71195017204610b004b5030d0cee33ac0c7d0bd95b33d89f93c7b61746812936", - "validatorPublicKey": "0x813c929f451a522de69e36ff7e94ca3c6d34123e3050110e1a47a215e0beeae8e0eaf438a5dc8851f0a748c4587821b8", - "validatorPop": "0xb486b3bd7e6ef57a186b798dbb446e3102fdc396a98b18acad0d2b31eb957925c3b067511755ebedd5705a1ed3fa28ad1883be3d9511f7a691d3e5672590ad665e838968cc0c2f6ba28204683eb1719833fa84cd2e90c6b5eae6fea8b9adfdfa" + "mnemonic": "semanal aflito sondar trafegar chocalho imenso euforia fabuloso pudim desmamar calafrio gritaria calibrar fisgada forno extrato diluente pacato loucura separado merecer pergunta grafite sazonal", + "address": "0x784757b578952E3b730248456963D1C50A5e8669", + "chainId": 11812, + "validatorPrivateKey": "220e43fdb3c7dff5502c8bb4c57c459e6618904ac1b25b19eb6d6399bcb415c8", + "validatorPublicKey": "0x8f7e3c13fab61c7320f2ff966966fa794bb06de6f0743c3b44449681373989b66a08b4d7ef09c7812064847711a42ab4", + "validatorPop": "0xa2e261b04c3c94e420be02f7aac006209ffca6d05bdd67ac3e61cfcfcc435595005c856dce11ed110db7b4c3b70c3c57187eec8d1b9305f667ef78ff149c08919c49e4330c34692f0e2056922855e71124e3ecd91d0046b5898e65adc52aeea1" }, { - "mnemonic": "abaixo louvar navio matutar duelar cirurgia notar infrator noiva esponja afastar moqueca viveiro envergar litoral tijolo coquetel arara ambiente germinar emulador enlatar esfolar veicular", - "validatorPrivateKey": "2d5aa4d2cbfc4c85f889a55b7be68b5d36c7c3d5a960509fa6b809bd319c4a87", - "validatorPublicKey": "0xa4670f07064f089d9157197cb6357bd58f099ba81db516cbb8e3642e433e529de843937896463845d615edf009223c4b", - "validatorPop": "0xa23094dce8e0af71a400344cfa63fd46735e9db1ca7bd0a0ec034ae1313dbba15f59cb21728852b07f4c956af2982db6116ea39de2e4db3500684f4d822859ab9ee55d6ed84da54e8c5b4fcb20f70fe431fecf0d414cfbd1bcc66516438d1acc" + "mnemonic": "empolgar arriscar pantanal cabide lareira cetim gado encaixe mesclar prato merecer alertar baioneta vuvuzela terno pinote oculista animar tanto tentar beisebol pedestre aumentar absoluto", + "address": "0xEDf725C853694f518Af055a6f04CE5c711bDFE58", + "chainId": 11812, + "validatorPrivateKey": "1a761e754953a09f3f651e3ac87c22ed0af7137640ed2b57704c23fc456171ae", + "validatorPublicKey": "0x99264b459a48792f1ffec39cd98a50918481d272446cf8bd5fb01af3319c537008614206ff882187a9ca1075e3a97148", + "validatorPop": "0x8df7325f0eaf30a17dc51e5ca0b6fa82a3e9b0a15a573708ac3b0e5bcb3fd8f0757a386418fd2565ec9732a15cc914f50e5ea29584fa8dec038e8283f605441f582ebbff5e879389fdb84acf47f9dcbef88d7482500a6a4174469f0499e8522f" } ], "english": [ { - "mnemonic": "know blame layer barrel achieve wrap crystal attack mystery manual fragile decline grab tennis model lift hen slush memory wear hobby soup major fluid", - "validatorPrivateKey": "16c24bbc9fb2741f47a7ed5f37aeb59ef9444fbadaa3008eecb7964659899099", - "validatorPublicKey": "0xaa52febae59e6068a1d9527733553ed9427eee40b42d5ac745371dcc4618c47f11b811cba6beed1fed575fc401a89ba4", - "validatorPop": "0xa763308ba9149bca48e7cccd6047e970c249cdaae339f355c60667497a5a803e51749c162bea375edd94574447a7396d0df9c4ef57245bc105f1c9375f79f0dfccfa8df76b9e524529bf556b17bd81e0576fbaa4806355c3629f26f47d01295d" + "mnemonic": "cradle august vanish cute shield fury since ill skirt around review toe assume noodle certain rail blood steel visa mad feature sniff device party", + "address": "0xb6f2A028EDe108a11D9c087928131496807DEf99", + "chainId": 11812, + "validatorPrivateKey": "00c5470d43b272205545faf4249349409468fc44bf053e253b40ffe167c52a18", + "validatorPublicKey": "0xa76efdb709b2dd4181838900b9d5cedfadbed21db5cd077b396f30b0d623168cd568ad700db15822c12dc67a20dc819c", + "validatorPop": "0x835ebd0ac16fcf28288540f69049432d03cc751c8a6ece575e43c336800ad999c494284b3d4dbe30c560fbf52124555207dbab804ffc64e9e2f91bbe7e2ce4247cee7fd9974bd6282ac7845a25e907bec02c5a584ee1ee03ceab30d1ee51188d" }, { - "mnemonic": "device cart aware icon joke taste inject goose degree various oven menu obey ride enemy find flush ribbon orbit thank zero protect tail fresh", - "validatorPrivateKey": "13f4a2433ac8c56eafd74a242f34ab650c4756bb4ce01fd4cc79d7889777e374", - "validatorPublicKey": "0xaf835876f9a6578b6e8fd9dc811d42927eab7fd426a3094d4c98203280137117381857d4d6d083caa2dce34e98c85a91", - "validatorPop": "0x8676e292790d03a51f59fc94d86dd572c5d5c0d4ffc8beeb434e0f6e31053631b5076d02ddc544cfbf1f0d1547cf8e1c105f60afd0f9c4dcb1cd96be39259999dabeecf2b60df77ca31e0bc3b406d049ad82ef89e9bd8b4af57547150d3483a5" + "mnemonic": "abuse accident merit iron right sick flag sibling frozen supreme enable abandon chimney marine tiny lizard flight fashion eye aware silk camp hand crisp", + "address": "0xa0E57E4DF21F44D561e2F1Bd8fcd84Ed4A1b17a9", + "chainId": 11812, + "validatorPrivateKey": "3532a63b53ca7f0c82ef5439e4b9184b13cd870c761e2710e9a850890b38e51f", + "validatorPublicKey": "0x8ee3e237eed02107ef8001e047fc600f202be578b7f12174c11bdc7cb81086466f3c771452bb8cd00d9e1c7ebfeec530", + "validatorPop": "0xb337053c795e6074d13ac5ef26e05a097db01e28bad5e95015464633be015e90706f54c9198cd7b3be55cc58c7b8f1a0174db95f56fdc99fd7972bb9ed2bcf2b53e15796a2f3aec03f638aca410f224fa5fbc34d126e7e3f3e01d14e18666b32" }, { - "mnemonic": "during menu novel beach project total place embrace language pumpkin bag trap survey afraid maze gorilla vast bacon hole poverty recipe treat jewel sustain", - "validatorPrivateKey": "55bff2f1883b1bbc4a34c8e145af725cf0f93da28edb11f104bd1a688872d9cb", - "validatorPublicKey": "0x95f332e9b984babbd76c2d573b6dda8c1ab44732ed078b1a9e7760925c885acb023ec9a58041f6142068320d976a2c2e", - "validatorPop": "0xaa23783e6a5a2e03d6db9fe746072fd48834bd6d06b5e22f696b58f4badd6bb9eb1feb92df67f8d0d256cca678f41a970591a9d56fc00e8ebf8866bc775af86caca7ebbbf44d98f36ffb6ffc82c866f471fea1c21c3a75ec128eb42fd4591563" + "mnemonic": "almost tattoo swing float cricket weasel test bench canvas unlock vehicle excuse cloud hole move demise talk insect flee other give magnet print next", + "address": "0xBee88f220fAB124ee5383126AcB7b573f892dA7d", + "chainId": 11812, + "validatorPrivateKey": "435951aa516fc86a9c45855e688f44c7648ab5d6d983f6781b62f73d9e5972db", + "validatorPublicKey": "0xb8cb7eabe9ddba75629a2d30e053df6d6460ebf7f33da75408ee4bb8bfb58c67a2c7e0b908be05ac163222e143c1f6d6", + "validatorPop": "0xa8e067dd34ec467caf4f8182da1005938d839d9b0b606929175b3b7d5becfedb00c132e127ae9dad4ea2f9b21f905fd1022f16a243c8b92280c77e00dd5ae957f91d37b50b6df436113b42595003ca40e8cac619a6184d086032ef34b872e47d" }, { - "mnemonic": "purse wrist scissors matter blanket stumble square notice dirt bounce cross table earn hockey retreat ridge lake wage comfort truly write select buffalo place", - "validatorPrivateKey": "53b0a649d988a38e074596a052a613abd35ca3b0c8dd98d6da4e4765162933f3", - "validatorPublicKey": "0xb92f8b7a2c83a9a508039e98caa647f17ef42585b8140b8e2b542b5c32806730e03402d767b2e19f629b90981f6a1020", - "validatorPop": "0xb0349a73f2cf56dae41d5b72b2136926c988b43fb3dd89de7248b74eb1ed0463b06de3f7c6bb367b734c0360022946261763c43f7817ab34dc25e043c2209993f1d47495a324c01bc7fb783388dd984be955937ba150cb07c555c1d3529d036f" + "mnemonic": "lamp bless strategy reveal exercise coach mail palm private list lend trap grant blouse love sport witness plug crumble ridge slush property property screen", + "address": "0x46f10209D824488d165Fc30dD2A336E7F5f0Ad97", + "chainId": 11812, + "validatorPrivateKey": "31d0dc56d0b714974305f51ba4b90653f4459173200b0b5105cc7af03ee92103", + "validatorPublicKey": "0xb2ed06f6586bf174d1b4e7f0c8b2aded6425739fe590273da3607a712e8312d45f18db61b79fe29cd0c3d602d4a38bd2", + "validatorPop": "0x8ea771ddd9a8d7671e251951ba92dfe6cb5ca476bf715a65bce136cff12e234ac90c169b065f60a41100583cb6e27d6915931163e1efa780e3559f9506e4227f330d1a271c430f6d930ddd752a2876a18f2ce776e3e880ed1d1e2af9ae9ffc56" }, { - "mnemonic": "salmon bunker faint disagree cruise spin soon spider number pudding drift super behind melody slot top leopard odor cheese tomato roof wonder off filter", - "validatorPrivateKey": "3e12e7627f215132fd14003f996844de67f90f51ad5e5c98374f684cb77e0717", - "validatorPublicKey": "0x8253ba7a64fbea2746e04274ffbead5c19492af8fb6aecfc84a8348b8d116fb59d9e125d2e713fa73f02b1d9037ab5aa", - "validatorPop": "0xa0f8cb0113f6975a434fb1d8e30f15ad3c8d8c9a3862f648f227cb5b5d168843bbae3f3bec10f0db81d1038266891eee0e8261c5e5689098a83cdf86d5fbf3afe1eb1b511bf8c7aea224b1856940471923a223fded43919b01f44c2b85b33005" + "mnemonic": "expand reason pudding nature put jacket give inject sting fish exile jazz shine situate mass fault donate swallow grass valley chunk glimpse disease short", + "address": "0x2950f30a72eD787F6a257d20D7653aAd797C79E1", + "chainId": 11812, + "validatorPrivateKey": "25ec9026e306e7d0f2a1bf5be6c59da8c4344dfe7d3bdc3dca1c4881145f237a", + "validatorPublicKey": "0xaf66b7d3922df004659a4cf7456897338f0277ccb782317e3b99678958e8c6a13b35a386b17549f0bb8b8ebd64e26f6a", + "validatorPop": "0x8cf462c32d7e6752565936ac6fbd3ef719eff15f8417ddc657c2e3cc3c417b0ffd50cc0f901977eaa5785c007d4d0ab215a8ae60e0cd559c6bce95aaf5dd9cfd92eb0d53ec11e0c69ad085253bbad557836ca4c375b3687076ecc8b1f3eaeb50" } ] } diff --git a/tests/fixtures/transactions/evm_call/validator-registration.json b/tests/fixtures/transactions/evm_call/validator-registration.json index 81ff420..c8b7ca8 100644 --- a/tests/fixtures/transactions/evm_call/validator-registration.json +++ b/tests/fixtures/transactions/evm_call/validator-registration.json @@ -5,14 +5,14 @@ "gasLimit": "200000", "to": "0x535B3D7A252fa034Ed71F0C53ec0C6F784cB64E1", "value": "0", - "data": "226f2645000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000030a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996d1c69feb158c002aed327f69865be496000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060a124539f9d469919eb57224cc003d9d5b086a27c6de244abf60b74b35fb749fceab7f4c24b983475cddab7d0876de49c000b5c362f5e3ce18d964f5c2d20d4eadcf7cb77a73d8ee4cd87bad10f7ba0824cea6715d1c045b4f93865a2758b7bfe", + "data": "226f2645000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000030a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996d1c69feb158c002aed327f69865be4960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000608dff1b303bfacacb2eb716892b79123b256314d8fc91635aae307f0fd7faf58019bba25c494b38eb1adccd91f49923ef00e39947932d7edffe710c48b9ab61ad4a9bd48f41f9babcfdd5c88bf3ad74c4d70d091a407310297b1dc4bc84ec6d5f", "network": 11812, "v": 1, - "r": "2ac3550cae0c7749e131b482ea3c5a5d4ca66f4b84e54861ab86cd68340f50a1", - "s": "17101f0c0b91c713db6f79c1aa95c83a2cf7a6c81085692af8526b7b755d5692", + "r": "ea221e5359e4c2dc58d5ae94663596f57d36b4de48588b68866014605382bfcc", + "s": "79cdc46c61665218d9d8320cd863f697ddf98676c49393ef9ca104b154d8cc0d", "senderPublicKey": "0243333347c8cbf4e3cbc7a96964181d02a2b0c854faa2fef86b4b8d92afcf473d", "from": "0x1E6747BEAa5B4076a6A98D735DF8c35a70D18Bdd", - "hash": "cc4331ec856b588436e8ba3de8b04175b4537fbe1cc4dd6a6e8a1f92788b206b" + "hash": "70cb48df84bc18a9c83f56cd013ae4179af24ed77aca00c3530bb3b5e790cc6d" }, - "serialized": "f9018d0185012a05f20083030d4094535b3d7a252fa034ed71f0c53ec0c6f784cb64e180b90124226f2645000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000030a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996d1c69feb158c002aed327f69865be496000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060a124539f9d469919eb57224cc003d9d5b086a27c6de244abf60b74b35fb749fceab7f4c24b983475cddab7d0876de49c000b5c362f5e3ce18d964f5c2d20d4eadcf7cb77a73d8ee4cd87bad10f7ba0824cea6715d1c045b4f93865a2758b7bfe825c6ca02ac3550cae0c7749e131b482ea3c5a5d4ca66f4b84e54861ab86cd68340f50a1a017101f0c0b91c713db6f79c1aa95c83a2cf7a6c81085692af8526b7b755d5692" + "serialized": "f9018d0185012a05f20083030d4094535b3d7a252fa034ed71f0c53ec0c6f784cb64e180b90124226f2645000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000030a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996d1c69feb158c002aed327f69865be4960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000608dff1b303bfacacb2eb716892b79123b256314d8fc91635aae307f0fd7faf58019bba25c494b38eb1adccd91f49923ef00e39947932d7edffe710c48b9ab61ad4a9bd48f41f9babcfdd5c88bf3ad74c4d70d091a407310297b1dc4bc84ec6d5f825c6ca0ea221e5359e4c2dc58d5ae94663596f57d36b4de48588b68866014605382bfcca079cdc46c61665218d9d8320cd863f697ddf98676c49393ef9ca104b154d8cc0d" } diff --git a/tests/fixtures/transactions/evm_call/validator-update.json b/tests/fixtures/transactions/evm_call/validator-update.json index 0e1c2a3..8d5135a 100644 --- a/tests/fixtures/transactions/evm_call/validator-update.json +++ b/tests/fixtures/transactions/evm_call/validator-update.json @@ -5,14 +5,14 @@ "gasLimit": "200000", "to": "0x535B3D7A252fa034Ed71F0C53ec0C6F784cB64E1", "value": "0", - "data": "8f062626000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000030a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996d1c69feb158c002aed327f69865be496000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060a124539f9d469919eb57224cc003d9d5b086a27c6de244abf60b74b35fb749fceab7f4c24b983475cddab7d0876de49c000b5c362f5e3ce18d964f5c2d20d4eadcf7cb77a73d8ee4cd87bad10f7ba0824cea6715d1c045b4f93865a2758b7bfe", + "data": "8f062626000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000030a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996d1c69feb158c002aed327f69865be4960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000608dff1b303bfacacb2eb716892b79123b256314d8fc91635aae307f0fd7faf58019bba25c494b38eb1adccd91f49923ef00e39947932d7edffe710c48b9ab61ad4a9bd48f41f9babcfdd5c88bf3ad74c4d70d091a407310297b1dc4bc84ec6d5f", "network": 11812, "v": 0, - "r": "5500089b0b0afbf2a638d7fab985d8def9e44c0087859f6e5e0561e37dccc487", - "s": "219b047c62e0d94b3e834085dc0cd6b5f12c6f27ab058e949dec82f24f29b4fd", + "r": "65d33208546683e1b15a5838e75d6e918d6a0b6a6af249479b1364a3de1c1c16", + "s": "77180f51d14a00eb92c7296aaf31d70ca82ec961f0a0e9c34069ce1d0a278622", "senderPublicKey": "0243333347c8cbf4e3cbc7a96964181d02a2b0c854faa2fef86b4b8d92afcf473d", "from": "0x1E6747BEAa5B4076a6A98D735DF8c35a70D18Bdd", - "hash": "142c471a038d69b7ae7d18c83efa767a16915dc750a380966f50959beec9f9ea" + "hash": "7e84d174ead70741b92adfc3427dd612b70ecd57e8ffe69462f96670f5607be1" }, - "serialized": "f9018d0185012a05f20083030d4094535b3d7a252fa034ed71f0c53ec0c6f784cb64e180b901248f062626000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000030a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996d1c69feb158c002aed327f69865be496000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060a124539f9d469919eb57224cc003d9d5b086a27c6de244abf60b74b35fb749fceab7f4c24b983475cddab7d0876de49c000b5c362f5e3ce18d964f5c2d20d4eadcf7cb77a73d8ee4cd87bad10f7ba0824cea6715d1c045b4f93865a2758b7bfe825c6ba05500089b0b0afbf2a638d7fab985d8def9e44c0087859f6e5e0561e37dccc487a0219b047c62e0d94b3e834085dc0cd6b5f12c6f27ab058e949dec82f24f29b4fd" + "serialized": "f9018d0185012a05f20083030d4094535b3d7a252fa034ed71f0c53ec0c6f784cb64e180b901248f062626000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000030a18dba7811b212bbb2f080d7c69935998ffbe7b38586e2d3e9e12079ea789996d1c69feb158c002aed327f69865be4960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000608dff1b303bfacacb2eb716892b79123b256314d8fc91635aae307f0fd7faf58019bba25c494b38eb1adccd91f49923ef00e39947932d7edffe710c48b9ab61ad4a9bd48f41f9babcfdd5c88bf3ad74c4d70d091a407310297b1dc4bc84ec6d5f825c6ba065d33208546683e1b15a5838e75d6e918d6a0b6a6af249479b1364a3de1c1c16a077180f51d14a00eb92c7296aaf31d70ca82ec961f0a0e9c34069ce1d0a278622" }