diff --git a/src/ledger/test/LedgerCloseMetaStreamTests.cpp b/src/ledger/test/LedgerCloseMetaStreamTests.cpp index 9b613555aa..d58c5fd79d 100644 --- a/src/ledger/test/LedgerCloseMetaStreamTests.cpp +++ b/src/ledger/test/LedgerCloseMetaStreamTests.cpp @@ -421,8 +421,8 @@ TEST_CASE_VERSIONS("meta stream contains reasonable meta", "[ledgerclosemeta]") .bucketListWindowSamplePeriod = 1; }); - // Modify Soroban network config closes a ledger - ++targetSeq; + // Modify Soroban network config closes 2 ledgers + targetSeq += 2; } auto root = TestAccount::createRoot(*app); diff --git a/src/test/TestUtils.cpp b/src/test/TestUtils.cpp index e53eed53c4..279f312c3c 100644 --- a/src/test/TestUtils.cpp +++ b/src/test/TestUtils.cpp @@ -273,6 +273,22 @@ modifySorobanNetworkConfig(Application& app, { return; } + + // In this upgrade path, cfg.writeAllSettings will call addBatch with and + // artificial ledgerSeq of lcl + 1. In order to properly refresh cached + // config setting state, we then close a "real" ledger with ledgerSeq == lcl + // + 1. This is usually fine. However, if lcl + 1 is a ledgerSeq that causes + // a Bucket merge event, we will erroneously merge the same level twice. + // This causes the BucketList to lose data. + // To prevent this, we check if lcl + 1 will cause a merge. If it does, we + // simply close a ledger to move on to lcl + 2. Note that if level 0 does + // not spill, no other level will spill. + if (LiveBucketList::levelShouldSpill( + app.getLedgerManager().getLastClosedLedgerNum() + 1, 0)) + { + txtest::closeLedger(app); + } + LedgerTxn ltx(app.getLedgerTxnRoot()); app.getLedgerManager().updateNetworkConfig(ltx); auto& cfg = app.getLedgerManager().getMutableSorobanNetworkConfig(); diff --git a/src/testdata/ledger-close-meta-v1-protocol-20.json b/src/testdata/ledger-close-meta-v1-protocol-20.json index 046b649d36..f2601be0e8 100644 --- a/src/testdata/ledger-close-meta-v1-protocol-20.json +++ b/src/testdata/ledger-close-meta-v1-protocol-20.json @@ -6,25 +6,25 @@ "v": 0 }, "ledgerHeader": { - "hash": "a50c06f398679584d4acff68de5130502114df913f41c270a4bce9e1d6cd5c36", + "hash": "8d677ecc1c16f53c6017f69afa8e22997b2a0b3afd0b8d509590a939134a7908", "header": { "ledgerVersion": 20, - "previousLedgerHash": "ab3ae955a234c8b03bbd42f5a7ba9b98989ea9fa6e380b00d9bb47abc11fd9f7", + "previousLedgerHash": "51bfcdabff1005a55bc84bfd109e075915da8cbc8d0d72f6b3350133a6c478d8", "scpValue": { - "txSetHash": "748fee17bde220a1e44a917ac6ae9cf70bedb749bc2a2bf440fffbe04d7a46cf", + "txSetHash": "6d4ce2c734075e517acfc9cc8bc689a1d5a2f32d1d4c71145772ea725a1fe76e", "closeTime": 0, "upgrades": [], "ext": { "v": "STELLAR_VALUE_SIGNED", "lcValueSignature": { "nodeID": "GDDOUW25MRFLNXQMN3OODP6JQEXSGLMHAFZV4XPQ2D3GA4QFIDMEJG2O", - "signature": "db221f42903acae8fa8f38251516df81257687c301729f00fe8c9f377af298181a8f18b9b5a690f3c6c05f8fe168c30081d1ad0c4b8dcbd34f194300e9aa830a" + "signature": "708b0e67d8bd51da036262ba4bb8e28444987bab5cd932725688e5d3db30d9f4d896862ae59fc3143d0dde32fc65d3e8ba602c40d20b0e168d4020dbc1739501" } } }, - "txSetResultHash": "249b974bacf8b5c4a8f0b5598194c1b9eca64af0b5c1506daa871c1533b6baac", - "bucketListHash": "7c28bf01c1eb9bf17fae213218f9cffeea048d5b261b57bb1092ee39a3afe1c3", - "ledgerSeq": 7, + "txSetResultHash": "9497abe823bdfa12256027624ba5aeeabcd861c5dea14534d4bb94109761cf45", + "bucketListHash": "70fbdb141aaca5c2b5d5d69f590bffcb3e7d591b9ab2c969e40f24e507ddc470", + "ledgerSeq": 8, "totalCoins": 1000000000000000000, "feePool": 800, "inflationSeq": 0, @@ -49,7 +49,7 @@ "txSet": { "v": 1, "v1TxSet": { - "previousLedgerHash": "ab3ae955a234c8b03bbd42f5a7ba9b98989ea9fa6e380b00d9bb47abc11fd9f7", + "previousLedgerHash": "51bfcdabff1005a55bc84bfd109e075915da8cbc8d0d72f6b3350133a6c478d8", "phases": [ { "v": 0, @@ -59,44 +59,6 @@ "txsMaybeDiscountedFee": { "baseFee": 100, "txs": [ - { - "type": "ENVELOPE_TYPE_TX", - "v1": { - "tx": { - "sourceAccount": "GC4EFXBN6BEENDAX7PBW5PGIIIVH3INMD3OEPQASXOLGOHVVP7ZEMG7X", - "fee": 100, - "seqNum": 4, - "cond": { - "type": "PRECOND_NONE" - }, - "memo": { - "type": "MEMO_NONE" - }, - "operations": [ - { - "sourceAccount": null, - "body": { - "type": "PAYMENT", - "paymentOp": { - "destination": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", - "asset": "NATIVE", - "amount": 1000 - } - } - } - ], - "ext": { - "v": 0 - } - }, - "signatures": [ - { - "hint": "b57ff246", - "signature": "99498d3a685452edeb4277bab6c700d0c59bf933085250cd1f281cae913064abc1d1214c03a41d5d91993e03e0dd56e81190965e9377c10e37a5b447735c590c" - } - ] - } - }, { "type": "ENVELOPE_TYPE_TX_FEE_BUMP", "feeBump": { @@ -109,7 +71,7 @@ "tx": { "sourceAccount": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "fee": 200, - "seqNum": 21474836481, + "seqNum": 25769803777, "cond": { "type": "PRECOND_NONE" }, @@ -153,7 +115,7 @@ "signatures": [ { "hint": "eaf6bc36", - "signature": "6e7298cfa615172abf916f32df9b7b4202c5ce2014cf936ddd21157923c829f90f67d9849646e0d4e0169ac3f52e94dfdd0674f7b55b85aa7770164d186f5509" + "signature": "73d876b891e119d4e4395897722820f90db6da1462d629d423a72ce7516e50ee59a4725c458036a22b734097e345562f680d6a118d3e776762ec8f1558c2d802" } ] } @@ -165,7 +127,45 @@ "signatures": [ { "hint": "f7f60229", - "signature": "de09a3bf14a4b7ba0980b6fc998edf64144ef9b9a3a7636b292e070880ce866bdb1256fbd66d2a2e17e263e34e1ac31fdf7f87001505aa295091de793b212406" + "signature": "748a8e06c251a0018b6c2588347ac08bf9b98e1cea2ef724fe988571c597d70188b1ffb248a023b80e00fa3417b2785033ff6e7bc10674bc3c37008527a00006" + } + ] + } + }, + { + "type": "ENVELOPE_TYPE_TX", + "v1": { + "tx": { + "sourceAccount": "GC4EFXBN6BEENDAX7PBW5PGIIIVH3INMD3OEPQASXOLGOHVVP7ZEMG7X", + "fee": 100, + "seqNum": 4, + "cond": { + "type": "PRECOND_NONE" + }, + "memo": { + "type": "MEMO_NONE" + }, + "operations": [ + { + "sourceAccount": null, + "body": { + "type": "PAYMENT", + "paymentOp": { + "destination": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", + "asset": "NATIVE", + "amount": 1000 + } + } + } + ], + "ext": { + "v": 0 + } + }, + "signatures": [ + { + "hint": "b57ff246", + "signature": "99498d3a685452edeb4277bab6c700d0c59bf933085250cd1f281cae913064abc1d1214c03a41d5d91993e03e0dd56e81190965e9377c10e37a5b447735c590c" } ] } @@ -211,7 +211,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 5, + "lastModifiedLedgerSeq": 6, "data": { "type": "ACCOUNT", "account": { @@ -243,7 +243,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -261,7 +261,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -293,7 +293,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -319,7 +319,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -351,7 +351,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -369,7 +369,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -401,7 +401,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -423,13 +423,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 6, + "lastModifiedLedgerSeq": 7, "data": { "type": "ACCOUNT", "account": { "accountID": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", "balance": 399999900, - "seqNum": 12884901889, + "seqNum": 17179869185, "numSubEntries": 1, "inflationDest": null, "flags": 0, @@ -455,7 +455,7 @@ "ext": { "v": 0 }, - "seqLedger": 6, + "seqLedger": 7, "seqTime": 0 } } @@ -473,13 +473,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", "balance": 400000900, - "seqNum": 12884901889, + "seqNum": 17179869185, "numSubEntries": 1, "inflationDest": null, "flags": 0, @@ -505,7 +505,7 @@ "ext": { "v": 0 }, - "seqLedger": 6, + "seqLedger": 7, "seqTime": 0 } } @@ -523,7 +523,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -555,7 +555,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -573,7 +573,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -605,7 +605,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -630,13 +630,13 @@ }, { "result": { - "transactionHash": "324d0628e2a215d367f181f0e3aacbaa26fa638e676e73fb9ad26a360314a7b7", + "transactionHash": "87d640181bd5e0ed937db62f17a2165766cc7b6b6f66af11629db528f132ac64", "result": { "feeCharged": 300, "result": { "code": "txFEE_BUMP_INNER_SUCCESS", "innerResultPair": { - "transactionHash": "b28c171f9658320b5ce8d50e4e1a36b74afbb2a92eec7df92a8981067131b025", + "transactionHash": "6a53a2bc61cad283dd8788ba8a2c9e95629c8400f9d1cf287b860ba1da9a9e4a", "result": { "feeCharged": 200, "result": { @@ -677,13 +677,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 4, + "lastModifiedLedgerSeq": 5, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 400000000, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -703,13 +703,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -737,13 +737,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -763,13 +763,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -789,13 +789,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 5, + "lastModifiedLedgerSeq": 6, "data": { "type": "ACCOUNT", "account": { "accountID": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "balance": 200010000, - "seqNum": 21474836480, + "seqNum": 25769803776, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -815,13 +815,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "balance": 200010000, - "seqNum": 21474836481, + "seqNum": 25769803777, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -847,7 +847,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -869,7 +869,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 6, + "lastModifiedLedgerSeq": 7, "data": { "type": "TRUSTLINE", "trustLine": { @@ -894,7 +894,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -923,7 +923,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -948,7 +948,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -981,7 +981,7 @@ ], "upgradesProcessing": [], "scpInfo": [], - "totalByteSizeOfBucketList": 583, + "totalByteSizeOfBucketList": 618, "evictedTemporaryLedgerKeys": [], "evictedPersistentLedgerEntries": [] } diff --git a/src/testdata/ledger-close-meta-v1-protocol-21.json b/src/testdata/ledger-close-meta-v1-protocol-21.json index 1851a23f3e..4846ff7bb3 100644 --- a/src/testdata/ledger-close-meta-v1-protocol-21.json +++ b/src/testdata/ledger-close-meta-v1-protocol-21.json @@ -6,25 +6,25 @@ "v": 0 }, "ledgerHeader": { - "hash": "52f4e92f487154e485346c691585a082a9733ebab749c580734e9b13be42c963", + "hash": "219555962f95024eec0acc8b2b9a9e8a8e98ea46b93664e3301ba2cc6285e2a2", "header": { "ledgerVersion": 21, - "previousLedgerHash": "4d6b671a994888a7276f1bd0ebf844b678284f483258f6e11378fafe7262ea6c", + "previousLedgerHash": "9b3da427f18597b6110fefdca544985dd0effa4cbf8638834e414a909e07432b", "scpValue": { - "txSetHash": "ecd3150886583d2df7c8e2da0043cdb5cba4f8a9371283bec5f3856e019df40c", + "txSetHash": "2ad5550a652c3b49db09901c55dd3ff926349655ac93338ec645b7ee31e16d27", "closeTime": 0, "upgrades": [], "ext": { "v": "STELLAR_VALUE_SIGNED", "lcValueSignature": { "nodeID": "GDDOUW25MRFLNXQMN3OODP6JQEXSGLMHAFZV4XPQ2D3GA4QFIDMEJG2O", - "signature": "28f38eed1571b69f23307a87c67fdabf7e619bb0cef976bc460bb40aa68f1fa97db858aef8484c35837ce8794e2d2a492bff14ee4ca75b67d4f10646a04e000b" + "signature": "25cbc61b7de217c712f294b1049904cbb39222bd7e1d419973efa6838cba07f54b5c43168f804779d2112489c4d2acb6c71acc334e64ce62a2e8fa5ea6b32509" } } }, - "txSetResultHash": "f66233c106977a4cc148e019411ff6ddfaf76c337d004ed9a304a70407b161d0", - "bucketListHash": "ade00de2089f5d22038df58ed0acab53cd53079fc0980d423b8edf61506c6481", - "ledgerSeq": 7, + "txSetResultHash": "f3b3ecfb7bd36dce1518432b94a21111718a925fa6fc5601db65b894ddfe6216", + "bucketListHash": "03c46a174066cde5f6596041314eca50627c754b23157ec1b4d4efd63091899f", + "ledgerSeq": 8, "totalCoins": 1000000000000000000, "feePool": 800, "inflationSeq": 0, @@ -49,7 +49,7 @@ "txSet": { "v": 1, "v1TxSet": { - "previousLedgerHash": "4d6b671a994888a7276f1bd0ebf844b678284f483258f6e11378fafe7262ea6c", + "previousLedgerHash": "9b3da427f18597b6110fefdca544985dd0effa4cbf8638834e414a909e07432b", "phases": [ { "v": 0, @@ -59,44 +59,6 @@ "txsMaybeDiscountedFee": { "baseFee": 100, "txs": [ - { - "type": "ENVELOPE_TYPE_TX", - "v1": { - "tx": { - "sourceAccount": "GC4EFXBN6BEENDAX7PBW5PGIIIVH3INMD3OEPQASXOLGOHVVP7ZEMG7X", - "fee": 100, - "seqNum": 4, - "cond": { - "type": "PRECOND_NONE" - }, - "memo": { - "type": "MEMO_NONE" - }, - "operations": [ - { - "sourceAccount": null, - "body": { - "type": "PAYMENT", - "paymentOp": { - "destination": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", - "asset": "NATIVE", - "amount": 1000 - } - } - } - ], - "ext": { - "v": 0 - } - }, - "signatures": [ - { - "hint": "b57ff246", - "signature": "99498d3a685452edeb4277bab6c700d0c59bf933085250cd1f281cae913064abc1d1214c03a41d5d91993e03e0dd56e81190965e9377c10e37a5b447735c590c" - } - ] - } - }, { "type": "ENVELOPE_TYPE_TX_FEE_BUMP", "feeBump": { @@ -109,7 +71,7 @@ "tx": { "sourceAccount": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "fee": 200, - "seqNum": 21474836481, + "seqNum": 25769803777, "cond": { "type": "PRECOND_NONE" }, @@ -153,7 +115,7 @@ "signatures": [ { "hint": "eaf6bc36", - "signature": "6e7298cfa615172abf916f32df9b7b4202c5ce2014cf936ddd21157923c829f90f67d9849646e0d4e0169ac3f52e94dfdd0674f7b55b85aa7770164d186f5509" + "signature": "73d876b891e119d4e4395897722820f90db6da1462d629d423a72ce7516e50ee59a4725c458036a22b734097e345562f680d6a118d3e776762ec8f1558c2d802" } ] } @@ -165,7 +127,45 @@ "signatures": [ { "hint": "f7f60229", - "signature": "de09a3bf14a4b7ba0980b6fc998edf64144ef9b9a3a7636b292e070880ce866bdb1256fbd66d2a2e17e263e34e1ac31fdf7f87001505aa295091de793b212406" + "signature": "748a8e06c251a0018b6c2588347ac08bf9b98e1cea2ef724fe988571c597d70188b1ffb248a023b80e00fa3417b2785033ff6e7bc10674bc3c37008527a00006" + } + ] + } + }, + { + "type": "ENVELOPE_TYPE_TX", + "v1": { + "tx": { + "sourceAccount": "GC4EFXBN6BEENDAX7PBW5PGIIIVH3INMD3OEPQASXOLGOHVVP7ZEMG7X", + "fee": 100, + "seqNum": 4, + "cond": { + "type": "PRECOND_NONE" + }, + "memo": { + "type": "MEMO_NONE" + }, + "operations": [ + { + "sourceAccount": null, + "body": { + "type": "PAYMENT", + "paymentOp": { + "destination": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", + "asset": "NATIVE", + "amount": 1000 + } + } + } + ], + "ext": { + "v": 0 + } + }, + "signatures": [ + { + "hint": "b57ff246", + "signature": "99498d3a685452edeb4277bab6c700d0c59bf933085250cd1f281cae913064abc1d1214c03a41d5d91993e03e0dd56e81190965e9377c10e37a5b447735c590c" } ] } @@ -185,13 +185,13 @@ "txProcessing": [ { "result": { - "transactionHash": "324d0628e2a215d367f181f0e3aacbaa26fa638e676e73fb9ad26a360314a7b7", + "transactionHash": "87d640181bd5e0ed937db62f17a2165766cc7b6b6f66af11629db528f132ac64", "result": { "feeCharged": 300, "result": { "code": "txFEE_BUMP_INNER_SUCCESS", "innerResultPair": { - "transactionHash": "b28c171f9658320b5ce8d50e4e1a36b74afbb2a92eec7df92a8981067131b025", + "transactionHash": "6a53a2bc61cad283dd8788ba8a2c9e95629c8400f9d1cf287b860ba1da9a9e4a", "result": { "feeCharged": 200, "result": { @@ -232,13 +232,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 4, + "lastModifiedLedgerSeq": 5, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 400000000, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -258,13 +258,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -292,13 +292,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -318,13 +318,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -344,13 +344,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 5, + "lastModifiedLedgerSeq": 6, "data": { "type": "ACCOUNT", "account": { "accountID": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "balance": 200010000, - "seqNum": 21474836480, + "seqNum": 25769803776, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -370,13 +370,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "balance": 200010000, - "seqNum": 21474836481, + "seqNum": 25769803777, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -402,7 +402,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -424,7 +424,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 6, + "lastModifiedLedgerSeq": 7, "data": { "type": "TRUSTLINE", "trustLine": { @@ -449,7 +449,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -478,7 +478,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -503,7 +503,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -561,7 +561,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 5, + "lastModifiedLedgerSeq": 6, "data": { "type": "ACCOUNT", "account": { @@ -593,7 +593,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -611,7 +611,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -643,7 +643,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -669,7 +669,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -701,7 +701,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -719,7 +719,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -751,7 +751,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -773,13 +773,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 6, + "lastModifiedLedgerSeq": 7, "data": { "type": "ACCOUNT", "account": { "accountID": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", "balance": 399999900, - "seqNum": 12884901889, + "seqNum": 17179869185, "numSubEntries": 1, "inflationDest": null, "flags": 0, @@ -805,7 +805,7 @@ "ext": { "v": 0 }, - "seqLedger": 6, + "seqLedger": 7, "seqTime": 0 } } @@ -823,13 +823,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", "balance": 400000900, - "seqNum": 12884901889, + "seqNum": 17179869185, "numSubEntries": 1, "inflationDest": null, "flags": 0, @@ -855,7 +855,7 @@ "ext": { "v": 0 }, - "seqLedger": 6, + "seqLedger": 7, "seqTime": 0 } } @@ -873,7 +873,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -905,7 +905,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -923,7 +923,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -955,7 +955,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -981,7 +981,7 @@ ], "upgradesProcessing": [], "scpInfo": [], - "totalByteSizeOfBucketList": 788, + "totalByteSizeOfBucketList": 852, "evictedTemporaryLedgerKeys": [], "evictedPersistentLedgerEntries": [] } diff --git a/src/testdata/ledger-close-meta-v1-protocol-22.json b/src/testdata/ledger-close-meta-v1-protocol-22.json index f9e1ff43fe..de455fb5a8 100644 --- a/src/testdata/ledger-close-meta-v1-protocol-22.json +++ b/src/testdata/ledger-close-meta-v1-protocol-22.json @@ -6,25 +6,25 @@ "v": 0 }, "ledgerHeader": { - "hash": "bb89aefaf31b3f03f6f7623c75dd055f4e58773b557eda1118b5a9d2b80b33b9", + "hash": "65b1b4fd95e5369b886bb6b329c31d71c33cacbf01e2df539e41b3ffa014dd25", "header": { "ledgerVersion": 22, - "previousLedgerHash": "7571e5186d594475cfb7107be2ac14b4aa70e6ccf31810dd961eb91168443ac3", + "previousLedgerHash": "62494315536cb3ffb8c4fc11f3aebdcb056611740d011908f3e44918492a0b63", "scpValue": { - "txSetHash": "833ee1e2b95263731bc434c06c0878aa93b2466b3ec05cbda1c4c60881249301", + "txSetHash": "9370906b080540f6e21b8540d1ef7adab1d51fc9bbb6eb3487f286290e2aff41", "closeTime": 0, "upgrades": [], "ext": { "v": "STELLAR_VALUE_SIGNED", "lcValueSignature": { "nodeID": "GDDOUW25MRFLNXQMN3OODP6JQEXSGLMHAFZV4XPQ2D3GA4QFIDMEJG2O", - "signature": "6d0af8ae88d6cf05d4ef0fbd85e3e0676fc9f5334e8630cced3ca1f9521c34e6f6ae7c4a7ad296a1a1a092bbe9b40802462511ec99e389b7d953ba7695339802" + "signature": "87e3777adad2f645379dfd23d7bb9ce692d0feef0e5257df849fca5c6c9645a7c2073ea27994fee2cdb3f36dd1ac4827ce0546a654ff112a8713288e859b0601" } } }, - "txSetResultHash": "f66233c106977a4cc148e019411ff6ddfaf76c337d004ed9a304a70407b161d0", - "bucketListHash": "bfe580088e8d44d0f6be8f0dd5d55ffdd22931b66a80c88407b169eeca70aa5c", - "ledgerSeq": 7, + "txSetResultHash": "f3b3ecfb7bd36dce1518432b94a21111718a925fa6fc5601db65b894ddfe6216", + "bucketListHash": "b3fd55e3f9631d2f2ca7f646b96b2d55d54d600abb4d009442f734f747fd2fbd", + "ledgerSeq": 8, "totalCoins": 1000000000000000000, "feePool": 800, "inflationSeq": 0, @@ -49,7 +49,7 @@ "txSet": { "v": 1, "v1TxSet": { - "previousLedgerHash": "7571e5186d594475cfb7107be2ac14b4aa70e6ccf31810dd961eb91168443ac3", + "previousLedgerHash": "62494315536cb3ffb8c4fc11f3aebdcb056611740d011908f3e44918492a0b63", "phases": [ { "v": 0, @@ -59,44 +59,6 @@ "txsMaybeDiscountedFee": { "baseFee": 100, "txs": [ - { - "type": "ENVELOPE_TYPE_TX", - "v1": { - "tx": { - "sourceAccount": "GC4EFXBN6BEENDAX7PBW5PGIIIVH3INMD3OEPQASXOLGOHVVP7ZEMG7X", - "fee": 100, - "seqNum": 4, - "cond": { - "type": "PRECOND_NONE" - }, - "memo": { - "type": "MEMO_NONE" - }, - "operations": [ - { - "sourceAccount": null, - "body": { - "type": "PAYMENT", - "paymentOp": { - "destination": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", - "asset": "NATIVE", - "amount": 1000 - } - } - } - ], - "ext": { - "v": 0 - } - }, - "signatures": [ - { - "hint": "b57ff246", - "signature": "99498d3a685452edeb4277bab6c700d0c59bf933085250cd1f281cae913064abc1d1214c03a41d5d91993e03e0dd56e81190965e9377c10e37a5b447735c590c" - } - ] - } - }, { "type": "ENVELOPE_TYPE_TX_FEE_BUMP", "feeBump": { @@ -109,7 +71,7 @@ "tx": { "sourceAccount": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "fee": 200, - "seqNum": 21474836481, + "seqNum": 25769803777, "cond": { "type": "PRECOND_NONE" }, @@ -153,7 +115,7 @@ "signatures": [ { "hint": "eaf6bc36", - "signature": "6e7298cfa615172abf916f32df9b7b4202c5ce2014cf936ddd21157923c829f90f67d9849646e0d4e0169ac3f52e94dfdd0674f7b55b85aa7770164d186f5509" + "signature": "73d876b891e119d4e4395897722820f90db6da1462d629d423a72ce7516e50ee59a4725c458036a22b734097e345562f680d6a118d3e776762ec8f1558c2d802" } ] } @@ -165,7 +127,45 @@ "signatures": [ { "hint": "f7f60229", - "signature": "de09a3bf14a4b7ba0980b6fc998edf64144ef9b9a3a7636b292e070880ce866bdb1256fbd66d2a2e17e263e34e1ac31fdf7f87001505aa295091de793b212406" + "signature": "748a8e06c251a0018b6c2588347ac08bf9b98e1cea2ef724fe988571c597d70188b1ffb248a023b80e00fa3417b2785033ff6e7bc10674bc3c37008527a00006" + } + ] + } + }, + { + "type": "ENVELOPE_TYPE_TX", + "v1": { + "tx": { + "sourceAccount": "GC4EFXBN6BEENDAX7PBW5PGIIIVH3INMD3OEPQASXOLGOHVVP7ZEMG7X", + "fee": 100, + "seqNum": 4, + "cond": { + "type": "PRECOND_NONE" + }, + "memo": { + "type": "MEMO_NONE" + }, + "operations": [ + { + "sourceAccount": null, + "body": { + "type": "PAYMENT", + "paymentOp": { + "destination": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", + "asset": "NATIVE", + "amount": 1000 + } + } + } + ], + "ext": { + "v": 0 + } + }, + "signatures": [ + { + "hint": "b57ff246", + "signature": "99498d3a685452edeb4277bab6c700d0c59bf933085250cd1f281cae913064abc1d1214c03a41d5d91993e03e0dd56e81190965e9377c10e37a5b447735c590c" } ] } @@ -185,13 +185,13 @@ "txProcessing": [ { "result": { - "transactionHash": "324d0628e2a215d367f181f0e3aacbaa26fa638e676e73fb9ad26a360314a7b7", + "transactionHash": "87d640181bd5e0ed937db62f17a2165766cc7b6b6f66af11629db528f132ac64", "result": { "feeCharged": 300, "result": { "code": "txFEE_BUMP_INNER_SUCCESS", "innerResultPair": { - "transactionHash": "b28c171f9658320b5ce8d50e4e1a36b74afbb2a92eec7df92a8981067131b025", + "transactionHash": "6a53a2bc61cad283dd8788ba8a2c9e95629c8400f9d1cf287b860ba1da9a9e4a", "result": { "feeCharged": 200, "result": { @@ -232,13 +232,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 4, + "lastModifiedLedgerSeq": 5, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 400000000, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -258,13 +258,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -292,13 +292,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -318,13 +318,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -344,13 +344,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 5, + "lastModifiedLedgerSeq": 6, "data": { "type": "ACCOUNT", "account": { "accountID": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "balance": 200010000, - "seqNum": 21474836480, + "seqNum": 25769803776, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -370,13 +370,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "balance": 200010000, - "seqNum": 21474836481, + "seqNum": 25769803777, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -402,7 +402,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -424,7 +424,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 6, + "lastModifiedLedgerSeq": 7, "data": { "type": "TRUSTLINE", "trustLine": { @@ -449,7 +449,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -478,7 +478,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -503,7 +503,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -561,7 +561,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 5, + "lastModifiedLedgerSeq": 6, "data": { "type": "ACCOUNT", "account": { @@ -593,7 +593,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -611,7 +611,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -643,7 +643,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -669,7 +669,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -701,7 +701,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -719,7 +719,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -751,7 +751,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -773,13 +773,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 6, + "lastModifiedLedgerSeq": 7, "data": { "type": "ACCOUNT", "account": { "accountID": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", "balance": 399999900, - "seqNum": 12884901889, + "seqNum": 17179869185, "numSubEntries": 1, "inflationDest": null, "flags": 0, @@ -805,7 +805,7 @@ "ext": { "v": 0 }, - "seqLedger": 6, + "seqLedger": 7, "seqTime": 0 } } @@ -823,13 +823,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", "balance": 400000900, - "seqNum": 12884901889, + "seqNum": 17179869185, "numSubEntries": 1, "inflationDest": null, "flags": 0, @@ -855,7 +855,7 @@ "ext": { "v": 0 }, - "seqLedger": 6, + "seqLedger": 7, "seqTime": 0 } } @@ -873,7 +873,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -905,7 +905,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -923,7 +923,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -955,7 +955,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -981,7 +981,7 @@ ], "upgradesProcessing": [], "scpInfo": [], - "totalByteSizeOfBucketList": 1021, + "totalByteSizeOfBucketList": 1119, "evictedTemporaryLedgerKeys": [], "evictedPersistentLedgerEntries": [] } diff --git a/src/testdata/ledger-close-meta-v1-protocol-23.json b/src/testdata/ledger-close-meta-v1-protocol-23.json index 8b885c3a8e..2500ca594f 100644 --- a/src/testdata/ledger-close-meta-v1-protocol-23.json +++ b/src/testdata/ledger-close-meta-v1-protocol-23.json @@ -6,25 +6,25 @@ "v": 0 }, "ledgerHeader": { - "hash": "1f1a643fd94c3ec834009d049a7e82053f22ae0f4571f123e7ef0a80463a6c38", + "hash": "cc541db0065f82528870f5d2c2ea5aae4cfc0e7cc49763da75d14b58e6df907d", "header": { "ledgerVersion": 23, - "previousLedgerHash": "bd01346128a3d366530ceed22c4e6d07f299fd2723fe5f5fa7fd9217cdb14bc4", + "previousLedgerHash": "1c40a28a770bd5769511e929ca58210edd34afe47fae3d4f91ba5ae5175aa0a6", "scpValue": { - "txSetHash": "f0c030c5a4294f8a0df3e91468c7a7a3a0f7b0ebd370cf9b2a08e78146be7fc5", + "txSetHash": "37d2ba7b7f2fbf8d0ee9f2c71981ea41e1c294aa5177ee5a72f826ff15cadc6e", "closeTime": 0, "upgrades": [], "ext": { "v": "STELLAR_VALUE_SIGNED", "lcValueSignature": { "nodeID": "GDDOUW25MRFLNXQMN3OODP6JQEXSGLMHAFZV4XPQ2D3GA4QFIDMEJG2O", - "signature": "3fa08aaa2ad7f9d98f6298bce516627b41dd49b3436f09a48dedd45e4228c1b4ea8815353ae2dcf86740e66d2a6dc8eae9a405eb7e2cc6957c899024b96b190f" + "signature": "4326493944a046796dce412302979b63f939876820c466396cb1e310f03d81d71d812caf93e72892bb08cd23adae9baf8afe6fa2ad4b53eda0c8b53ce3f68607" } } }, - "txSetResultHash": "f66233c106977a4cc148e019411ff6ddfaf76c337d004ed9a304a70407b161d0", - "bucketListHash": "2cad5583e8417a71e3ab5033de493900a0febc5bb540240b3ef2367c4f04339e", - "ledgerSeq": 7, + "txSetResultHash": "f3b3ecfb7bd36dce1518432b94a21111718a925fa6fc5601db65b894ddfe6216", + "bucketListHash": "4202ac577c9a1e448303b17edda0dc054f56736f3ac4463a2dcacc70e6343a03", + "ledgerSeq": 8, "totalCoins": 1000000000000000000, "feePool": 800, "inflationSeq": 0, @@ -49,7 +49,7 @@ "txSet": { "v": 1, "v1TxSet": { - "previousLedgerHash": "bd01346128a3d366530ceed22c4e6d07f299fd2723fe5f5fa7fd9217cdb14bc4", + "previousLedgerHash": "1c40a28a770bd5769511e929ca58210edd34afe47fae3d4f91ba5ae5175aa0a6", "phases": [ { "v": 0, @@ -59,44 +59,6 @@ "txsMaybeDiscountedFee": { "baseFee": 100, "txs": [ - { - "type": "ENVELOPE_TYPE_TX", - "v1": { - "tx": { - "sourceAccount": "GC4EFXBN6BEENDAX7PBW5PGIIIVH3INMD3OEPQASXOLGOHVVP7ZEMG7X", - "fee": 100, - "seqNum": 4, - "cond": { - "type": "PRECOND_NONE" - }, - "memo": { - "type": "MEMO_NONE" - }, - "operations": [ - { - "sourceAccount": null, - "body": { - "type": "PAYMENT", - "paymentOp": { - "destination": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", - "asset": "NATIVE", - "amount": 1000 - } - } - } - ], - "ext": { - "v": 0 - } - }, - "signatures": [ - { - "hint": "b57ff246", - "signature": "99498d3a685452edeb4277bab6c700d0c59bf933085250cd1f281cae913064abc1d1214c03a41d5d91993e03e0dd56e81190965e9377c10e37a5b447735c590c" - } - ] - } - }, { "type": "ENVELOPE_TYPE_TX_FEE_BUMP", "feeBump": { @@ -109,7 +71,7 @@ "tx": { "sourceAccount": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "fee": 200, - "seqNum": 21474836481, + "seqNum": 25769803777, "cond": { "type": "PRECOND_NONE" }, @@ -153,7 +115,7 @@ "signatures": [ { "hint": "eaf6bc36", - "signature": "6e7298cfa615172abf916f32df9b7b4202c5ce2014cf936ddd21157923c829f90f67d9849646e0d4e0169ac3f52e94dfdd0674f7b55b85aa7770164d186f5509" + "signature": "73d876b891e119d4e4395897722820f90db6da1462d629d423a72ce7516e50ee59a4725c458036a22b734097e345562f680d6a118d3e776762ec8f1558c2d802" } ] } @@ -165,7 +127,45 @@ "signatures": [ { "hint": "f7f60229", - "signature": "de09a3bf14a4b7ba0980b6fc998edf64144ef9b9a3a7636b292e070880ce866bdb1256fbd66d2a2e17e263e34e1ac31fdf7f87001505aa295091de793b212406" + "signature": "748a8e06c251a0018b6c2588347ac08bf9b98e1cea2ef724fe988571c597d70188b1ffb248a023b80e00fa3417b2785033ff6e7bc10674bc3c37008527a00006" + } + ] + } + }, + { + "type": "ENVELOPE_TYPE_TX", + "v1": { + "tx": { + "sourceAccount": "GC4EFXBN6BEENDAX7PBW5PGIIIVH3INMD3OEPQASXOLGOHVVP7ZEMG7X", + "fee": 100, + "seqNum": 4, + "cond": { + "type": "PRECOND_NONE" + }, + "memo": { + "type": "MEMO_NONE" + }, + "operations": [ + { + "sourceAccount": null, + "body": { + "type": "PAYMENT", + "paymentOp": { + "destination": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", + "asset": "NATIVE", + "amount": 1000 + } + } + } + ], + "ext": { + "v": 0 + } + }, + "signatures": [ + { + "hint": "b57ff246", + "signature": "99498d3a685452edeb4277bab6c700d0c59bf933085250cd1f281cae913064abc1d1214c03a41d5d91993e03e0dd56e81190965e9377c10e37a5b447735c590c" } ] } @@ -185,13 +185,13 @@ "txProcessing": [ { "result": { - "transactionHash": "324d0628e2a215d367f181f0e3aacbaa26fa638e676e73fb9ad26a360314a7b7", + "transactionHash": "87d640181bd5e0ed937db62f17a2165766cc7b6b6f66af11629db528f132ac64", "result": { "feeCharged": 300, "result": { "code": "txFEE_BUMP_INNER_SUCCESS", "innerResultPair": { - "transactionHash": "b28c171f9658320b5ce8d50e4e1a36b74afbb2a92eec7df92a8981067131b025", + "transactionHash": "6a53a2bc61cad283dd8788ba8a2c9e95629c8400f9d1cf287b860ba1da9a9e4a", "result": { "feeCharged": 200, "result": { @@ -232,13 +232,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 4, + "lastModifiedLedgerSeq": 5, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 400000000, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -258,13 +258,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -292,13 +292,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -318,13 +318,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCAEBM3GKNR6SV6N73FSGBXU6NSMZ2URQVMJQHXFQFY2PJPX6YBCSAKZ", "balance": 399999700, - "seqNum": 17179869184, + "seqNum": 21474836480, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -344,13 +344,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 5, + "lastModifiedLedgerSeq": 6, "data": { "type": "ACCOUNT", "account": { "accountID": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "balance": 200010000, - "seqNum": 21474836480, + "seqNum": 25769803776, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -370,13 +370,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GCGE27HU2VYQANKL2VZWLCAOJYMEFST5DXPBWQ7BRRPOHUPK626DNG4Q", "balance": 200010000, - "seqNum": 21474836481, + "seqNum": 25769803777, "numSubEntries": 0, "inflationDest": null, "flags": 0, @@ -402,7 +402,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -424,7 +424,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 6, + "lastModifiedLedgerSeq": 7, "data": { "type": "TRUSTLINE", "trustLine": { @@ -449,7 +449,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -478,7 +478,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -503,7 +503,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "TRUSTLINE", "trustLine": { @@ -561,7 +561,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 5, + "lastModifiedLedgerSeq": 6, "data": { "type": "ACCOUNT", "account": { @@ -593,7 +593,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -611,7 +611,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -643,7 +643,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -669,7 +669,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -701,7 +701,7 @@ "ext": { "v": 0 }, - "seqLedger": 5, + "seqLedger": 6, "seqTime": 0 } } @@ -719,7 +719,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -751,7 +751,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -773,13 +773,13 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 6, + "lastModifiedLedgerSeq": 7, "data": { "type": "ACCOUNT", "account": { "accountID": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", "balance": 399999900, - "seqNum": 12884901889, + "seqNum": 17179869185, "numSubEntries": 1, "inflationDest": null, "flags": 0, @@ -805,7 +805,7 @@ "ext": { "v": 0 }, - "seqLedger": 6, + "seqLedger": 7, "seqTime": 0 } } @@ -823,13 +823,13 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { "accountID": "GB6MXQ5262ZJGDQNA6BL4TWE5SADVZXIKLPELFXKUE27X4SQTGQS44ZB", "balance": 400000900, - "seqNum": 12884901889, + "seqNum": 17179869185, "numSubEntries": 1, "inflationDest": null, "flags": 0, @@ -855,7 +855,7 @@ "ext": { "v": 0 }, - "seqLedger": 6, + "seqLedger": 7, "seqTime": 0 } } @@ -873,7 +873,7 @@ { "type": "LEDGER_ENTRY_STATE", "state": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -905,7 +905,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -923,7 +923,7 @@ { "type": "LEDGER_ENTRY_UPDATED", "updated": { - "lastModifiedLedgerSeq": 7, + "lastModifiedLedgerSeq": 8, "data": { "type": "ACCOUNT", "account": { @@ -955,7 +955,7 @@ "ext": { "v": 0 }, - "seqLedger": 7, + "seqLedger": 8, "seqTime": 0 } } @@ -981,7 +981,7 @@ ], "upgradesProcessing": [], "scpInfo": [], - "totalByteSizeOfBucketList": 1023, + "totalByteSizeOfBucketList": 1121, "evictedTemporaryLedgerKeys": [], "evictedPersistentLedgerEntries": [] } diff --git a/test-tx-meta-baseline-current/InvokeHostFunctionTests.json b/test-tx-meta-baseline-current/InvokeHostFunctionTests.json index 6f2d88e86e..3abfa10fff 100644 --- a/test-tx-meta-baseline-current/InvokeHostFunctionTests.json +++ b/test-tx-meta-baseline-current/InvokeHostFunctionTests.json @@ -1323,7 +1323,7 @@ "bKDF6V5IzTo=", "bKDF6V5IzTo=" ], - "contract storage|footprint|unused readWrite key" : [ "VzQb0aWq2bE=" ], + "contract storage|footprint|unused readWrite key" : [ "7docDsgLbB4=" ], "failure diagnostics" : [ "bKDF6V5IzTo=" ], "ledger entry size limit enforced" : [ "bKDF6V5IzTo=", "bKDF6V5IzTo=" ], "loadgen Wasm executes properly" : [ "bKDF6V5IzTo=" ], @@ -1340,15 +1340,15 @@ "bKDF6V5IzTo=" ], "refund account merged" : [ "bKDF6V5IzTo=", "398Rd+u+jdE=", "b4KxXJCxvM0=", "7/h1q7KjqKA=" ], - "refund is sent to fee-bump source|protocol version 20" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund is sent to fee-bump source|protocol version 21" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund is sent to fee-bump source|protocol version 22" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund still happens on bad auth|protocol version 20" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund still happens on bad auth|protocol version 21" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund still happens on bad auth|protocol version 22" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund test with closeLedger|protocol version 20" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=" ], - "refund test with closeLedger|protocol version 21" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=" ], - "refund test with closeLedger|protocol version 22" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=" ], + "refund is sent to fee-bump source|protocol version 20" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund is sent to fee-bump source|protocol version 21" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund is sent to fee-bump source|protocol version 22" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund still happens on bad auth|protocol version 20" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund still happens on bad auth|protocol version 21" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund still happens on bad auth|protocol version 22" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund test with closeLedger|protocol version 20" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=" ], + "refund test with closeLedger|protocol version 21" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=" ], + "refund test with closeLedger|protocol version 22" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=" ], "settings upgrade" : [ "bKDF6V5IzTo=", "bKDF6V5IzTo=" ], "settings upgrade command line utils" : [ diff --git a/test-tx-meta-baseline-next/InvokeHostFunctionTests.json b/test-tx-meta-baseline-next/InvokeHostFunctionTests.json index c5dfd2de4e..434aa3c6ff 100644 --- a/test-tx-meta-baseline-next/InvokeHostFunctionTests.json +++ b/test-tx-meta-baseline-next/InvokeHostFunctionTests.json @@ -1324,7 +1324,7 @@ "bKDF6V5IzTo=", "bKDF6V5IzTo=" ], - "contract storage|footprint|unused readWrite key" : [ "VzQb0aWq2bE=" ], + "contract storage|footprint|unused readWrite key" : [ "7docDsgLbB4=" ], "failure diagnostics" : [ "bKDF6V5IzTo=" ], "ledger entry size limit enforced" : [ "bKDF6V5IzTo=", "bKDF6V5IzTo=" ], "loadgen Wasm executes properly" : [ "bKDF6V5IzTo=" ], @@ -1341,18 +1341,18 @@ "bKDF6V5IzTo=" ], "refund account merged" : [ "bKDF6V5IzTo=", "398Rd+u+jdE=", "b4KxXJCxvM0=", "7/h1q7KjqKA=" ], - "refund is sent to fee-bump source|protocol version 20" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund is sent to fee-bump source|protocol version 21" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund is sent to fee-bump source|protocol version 22" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund is sent to fee-bump source|protocol version 23" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund still happens on bad auth|protocol version 20" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund still happens on bad auth|protocol version 21" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund still happens on bad auth|protocol version 22" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund still happens on bad auth|protocol version 23" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=", "LyDINL0VaLk=" ], - "refund test with closeLedger|protocol version 20" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=" ], - "refund test with closeLedger|protocol version 21" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=" ], - "refund test with closeLedger|protocol version 22" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=" ], - "refund test with closeLedger|protocol version 23" : [ "bKDF6V5IzTo=", "JRiUwIP1h2Q=" ], + "refund is sent to fee-bump source|protocol version 20" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund is sent to fee-bump source|protocol version 21" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund is sent to fee-bump source|protocol version 22" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund is sent to fee-bump source|protocol version 23" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund still happens on bad auth|protocol version 20" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund still happens on bad auth|protocol version 21" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund still happens on bad auth|protocol version 22" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund still happens on bad auth|protocol version 23" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=", "X9SMBpriL1M=" ], + "refund test with closeLedger|protocol version 20" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=" ], + "refund test with closeLedger|protocol version 21" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=" ], + "refund test with closeLedger|protocol version 22" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=" ], + "refund test with closeLedger|protocol version 23" : [ "bKDF6V5IzTo=", "aP2GN4F3Jm8=" ], "settings upgrade" : [ "bKDF6V5IzTo=", "bKDF6V5IzTo=" ], "settings upgrade command line utils" : [