diff --git a/src/ripple/app/tx/impl/Change.cpp b/src/ripple/app/tx/impl/Change.cpp index 2ad0940d7..1174f8d39 100644 --- a/src/ripple/app/tx/impl/Change.cpp +++ b/src/ripple/app/tx/impl/Change.cpp @@ -604,7 +604,7 @@ Change::activateXahauGenesis() hookDef->setFieldVL(sfCreateCode, wasmBytes); hookDef->setFieldH256(sfHookSetTxnID, ctx_.tx.getTransactionID()); // governance hook is referenced by the l2tables - hookDef->setFieldU64(sfReferenceCount, (hookCount == 0 ? tables.size() : 0) + 1); + hookDef->setFieldU64(sfReferenceCount, (hookCount++ == 0 ? tables.size() : 0) + 1); hookDef->setFieldAmount(sfFee, XRPAmount {hook::computeExecutionFee(result->first)}); if (result->second > 0) diff --git a/src/test/app/XahauGenesis_test.cpp b/src/test/app/XahauGenesis_test.cpp index 1c740fe9c..90e5c4aba 100644 --- a/src/test/app/XahauGenesis_test.cpp +++ b/src/test/app/XahauGenesis_test.cpp @@ -170,7 +170,7 @@ struct XahauGenesis_test : public beast::unit_test::suite auto const govVL = govSLE->getFieldVL(sfCreateCode); BEAST_EXPECT(govHash == ripple::sha512Half_s(ripple::Slice(govVL.data(), govVL.size()))); - BEAST_EXPECT(govSLE->getFieldU64(sfReferenceCount) == 1); + BEAST_EXPECT(govSLE->getFieldU64(sfReferenceCount) == 1 + XahauGenesis::L2Membership.size()); BEAST_EXPECT(govSLE->getFieldH256(sfHookOn) == ripple::uint256("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFFFFFBFFFFF")); BEAST_EXPECT(govSLE->getFieldH256(sfHookNamespace) ==