diff --git a/src/test/app/Import_test.cpp b/src/test/app/Import_test.cpp index 88c9c9eea..510338712 100644 --- a/src/test/app/Import_test.cpp +++ b/src/test/app/Import_test.cpp @@ -54,10 +54,10 @@ class Import_test : public beast::unit_test::suite "ED74D4036C6591A4BDF9C54CEFA39B996A" "5DCE5F86D11FDA1874481CE9D5A1CDC1"}; return envconfig([&](std::unique_ptr cfg) { - // cfg->section(SECTION_RPC_STARTUP) - // .append( - // "{ \"command\": \"log_level\", \"severity\": \"warn\" " - // "}"); + cfg->section(SECTION_RPC_STARTUP) + .append( + "{ \"command\": \"log_level\", \"severity\": \"warn\" " + "}"); cfg->NETWORK_ID = networkID; for (auto const& strPk : keys) @@ -2376,6 +2376,52 @@ class Import_test : public beast::unit_test::suite } } + void + testAccountSet(FeatureBitset features) + { + testcase("account set tx"); + + using namespace test::jtx; + using namespace std::literals; + + // account set flags not migrated + { + test::jtx::Env env{*this, makeNetworkConfig(21337)}; + + // burn 100,000 xrp + auto const master = Account("masterpassphrase"); + env(noop(master), fee(100'000), ter(tesSUCCESS)); + env.close(); + + auto const alice = Account("alice"); + env.fund(XRP(1000), alice); + env.close(); + + // confirm env + auto const preCoins = env.current()->info().drops; + BEAST_EXPECT(preCoins == 99'999'999'999'899'980); + auto const preAlice = env.balance(alice); + BEAST_EXPECT(preAlice == XRP(1000)); + + // import tx + env(import(alice, loadXpop("account_set", "w_flags")), ter(tesSUCCESS)); + env.close(); + + // confirm fee was minted + auto const postAlice = env.balance(alice); + BEAST_EXPECT(postAlice == preAlice + XRP(0.00001)); + env.close(); + auto const postCoins = env.current()->info().drops; + BEAST_EXPECT(postCoins == 99'999'999'999'899'980); + + // confirm account exists + auto const [acct, acctSle] = accountKeyAndSle(*env.current(), alice); + BEAST_EXPECT(acctSle != nullptr); + auto const feeDrops = env.current()->fees().base; + env(noop(alice), fee(feeDrops), ter(tesSUCCESS)); + } + } + void testSetRegularKeyNA(FeatureBitset features) { @@ -2719,25 +2765,26 @@ public: void testWithFeats(FeatureBitset features) { - testIsHex(features); - testIsBase58(features); - testIsBase64(features); - testParseUint64(features); - testSyntaxCheckProofObject(features); - testSyntaxCheckXPOP(features); - testGetVLInfo(features); - testEnabled(features); - testInvalidPreflight(features); - testInvalidPreclaim(features); - testInvalidDoApply(features); - testAccountSetNA(features); - testAccountSetFA(features); - testSetRegularKeyNA(features); - testSetRegularKeyFA(features); - testSignersListSetNA(features); - testSignersListSetFA(features); + // testIsHex(features); + // testIsBase58(features); + // testIsBase64(features); + // testParseUint64(features); + // testSyntaxCheckProofObject(features); + // testSyntaxCheckXPOP(features); + // testGetVLInfo(features); + // testEnabled(features); + // testInvalidPreflight(features); + // testInvalidPreclaim(features); + // testInvalidDoApply(features); + // testAccountSetNA(features); + // testAccountSetFA(features); + testAccountSet(features); + // testSetRegularKeyNA(features); + // testSetRegularKeyFA(features); + // testSignersListSetNA(features); + // testSignersListSetFA(features); // testImportSequence(features); - testMaxSupply(features); + // testMaxSupply(features); // testUNLReport(features); } }; diff --git a/src/test/app/Import_test.json b/src/test/app/Import_test.json index 4f5c93718..787b171de 100644 --- a/src/test/app/Import_test.json +++ b/src/test/app/Import_test.json @@ -122,6 +122,47 @@ "version": 1 } } + }, + "w_flags": { + "ledger": { + "acroot": "54096307B907CB442BD9C1DB57EB2171927E157714462BB72B4C2FEBD25BF73A", + "close": 742411861, + "coins": "99999999999999858", + "cres": 10, + "flags": 0, + "index": 520, + "pclose": 742411860, + "phash": "2DB163BC3CF010694113A1BF438D30B7030F017F2C9DAD73D8700DF2569FFCCB", + "txroot": "F94056C8000957829B909511CC3856095D8877FEB844A776473A64B0FE4E4479" + }, + "transaction": { + "blob": "12000322000000002400000002201B0000021A201D0000535920210000000768400000000000000A73210388935426E0D08083314842EDFBB2D517BD47699F9A4527318A8E10468C97C05274473045022100CEB2BD79AEC20B65F3067A6CA2578902D9914409A4242AF04F711FC44B6C8EBD022068E22D6E4D0AD5AD6F86E5C4F14D64EDF37AF79BA8F205B53A3733AF979231F58114AE123A8556F3CF91154711376AFB0F894F832B3D", + "meta": "201C00000000F8E5110061250000006A550CEE5E0852148CD189D5BC4D89B8B0291D604D5035BBA3A34F9E15AADD8549315692FA6A9FC8EA6018D5D16532D7795C91BFB0831355BDFDA177E86C8BF997985FE6220000000024000000026240000000773593F4E1E7220040000024000000032D000000016240000000773593EA8114AE123A8556F3CF91154711376AFB0F894F832B3DE1E1F1031000", + "proof": { + "children": { + "1": { + "children": {}, + "hash": "06EC8EA6F8B78F8716EEE610F7E73A262E98CB9A8D55C554B86D6ABF570E6BC0", + "key": "1510A0E13D0AABC30FB87E348E0F54B8CAE279691C7E2E6DD044D767EB9C484F" + } + }, + "hash": "F94056C8000957829B909511CC3856095D8877FEB844A776473A64B0FE4E4479", + "key": "0000000000000000000000000000000000000000000000000000000000000000" + } + }, + "validation": { + "data": { + "n94QWAYxKUHacmyFTnzK4bvqVcUfr6RwtaNxCM2cJRY59UHmz1Fr": "22800000012600000208292C404E545164757CF68364EED084951F45BA9D258E2FF0434B39CBEE2C770281F9A354BF13501712EB34F76381F6931333B5EE46F48C96D554BD44003ADF4182172389504A637A732103FCA947A7F08B146457BEF95AF0CF7C3ABF0D09CD1DC02099F7185C37BB32807576473045022100E33FAF1A395642B42306C0D8A8C1E839B82CFAD41B27FB784B7661BBAA8E5D1202207B48A71718D8006B49BB78BFF21E33DC1998A1DEBEFC7F422681F28A1B042FD0", + "n9KqAeJTJEJaMZNN35SNrPDbs324rwjDPy6BFHjZ4oM4en4snKjf": "22800000012600000208292C404E545164757CF68364EED084951F45BA9D258E2FF0434B39CBEE2C770281F9A354BF13501712EB34F76381F6931333B5EE46F48C96D554BD44003ADF4182172389504A637A732102AB4E3B7C53A4265C51952DD9D2CD2829219CDD4F55F63969E38C5C910F3C5F1C76473045022100C9FA07C6143C08ED3D6927ACF1F7E8DEDB825612263D63A838FD8ECE44A906D2022017D5E5956C10A4FF13663AF75BFFB060991B04B18848AC75B9256169CB2003A3" + }, + "unl": { + "blob": "eyJzZXF1ZW5jZSI6MSwiZXhwaXJhdGlvbiI6NzY3Nzg0NjQ1LCJ2YWxpZGF0b3JzIjpbeyJ2YWxpZGF0aW9uX3B1YmxpY19rZXkiOiJFRDExREMwN0E2REEzRDA3QzAxMkUxOUZGOUFDNjdBQ0U1MzlBMjk1MTQ1QzhEQTM5NjQzN0NBQ0FFQzM2NzA5RjYiLCJtYW5pZmVzdCI6IkpBQUFBQUZ4SWUwUjNBZW0yajBId0JMaG4vbXNaNnpsT2FLVkZGeU5vNVpEZkt5dXcyY0o5bk1oQXF0T08zeFRwQ1pjVVpVdDJkTE5LQ2tobk4xUFZmWTVhZU9NWEpFUFBGOGNka2N3UlFJaEFOYlBEZlZLUzdwSWFqejlOMlFNNEY4Q3hhd1dJcmF0c3QyQjd3ZWR5czFGQWlCR0s3L1YwRDRBMlp2VFJEQlVQb0JLUVhpQk83QUV3ckRiOFlvN2RUSTJTWEFTUU9lQTIrVGdGVlRwNzdlN3VFZGpYNU1BYk8yU0t2dk8zOW1POEFyQkNqemRPUElxVmIrWi9QMDJUTmYzNjUrYjVCOGc3V0xEY0x2VkNpZUxjemw4MHcwPSJ9LHsidmFsaWRhdGlvbl9wdWJsaWNfa2V5IjoiRURBMTY0RjRCMzZDMkQ3MzA0NjJENUY3NjJCRkEyODA4QUE1MDkyQUJDRUNFQkIyNzA4OTUyNUQxRDA1NEJFMzNCIiwibWFuaWZlc3QiOiJKQUFBQUFGeEllMmhaUFN6YkMxekJHTFY5Mksvb29DS3BRa3F2T3pyc25DSlVsMGRCVXZqTzNNaEEveXBSNmZ3aXhSa1Y3NzVXdkRQZkRxL0RRbk5IY0FnbWZjWVhEZTdNb0IxZGtjd1JRSWhBTjRldTFvSGV0bFVDUmZmZ2FaeTkvTWJrQ0prWlFZdlJoMFVJZWFCaVZodkFpQWhGWXZKTXBPeVFpNGxFdzdzM0pTVTBMRm5FckRWVlRnK3NYUVk0c3Zta25BU1FCSGswakIweG1yL1UwbnkyajNrRmVvdEJUVEExVzdXcHBKbXFvYmR4SXkyR0w0QXBRaEpPcm5aRy93bXZqeFJCNXV4Y05FNUdUR1NZekQ3azhhVEx3bz0ifV19", + "manifest": "JAAAAAFxIe101ANsZZGkvfnFTO+jm5lqXc5fhtEf2hh0SBzp1aHNwXMh7TN9+b62cZqTngaFYU5tbGpYHC8oYuI3G3vwj9OW2Z9gdkAnUjfY5zOEkhq31tU4338jcyUpVA5/VTsANFce7unDo+JeVoEhfuOb/Y8WA3Diu9XzuOD4U/ikfgf9SZOlOGcBcBJAw44PLjH+HUtEnwX45lIRmo0x5aINFMvZsBpE9QteSDBXKwYzLdnSW4e1bs21o+IILJIiIKU/+1Uxx0FRpQbMDA==", + "public_key": "ED74D4036C6591A4BDF9C54CEFA39B996A5DCE5F86D11FDA1874481CE9D5A1CDC1", + "signature": "77809A0938EA47F3A03BA0B71DD2C6879416F06574F6B5DC0041C9D806D3D5971282EF99D9EF911F8F37B56DA7016679744EF042C7A98ED425EFFFC6CC8AEA05", + "version": 1 + } + } } }, "set_regular_key": {