Hooks-chaining alpha

This is a squash of 241 commits from https://github.com/XRPL-Labs/xrpld-hooks/tree/hooks-chaining
Ready for forward porting to rippled 1.8.3
This commit is contained in:
Richard Holland
2020-07-21 17:09:06 +02:00
parent 04d642387f
commit b33c91f761
66 changed files with 8276 additions and 36 deletions

View File

@@ -23,6 +23,17 @@ namespace ripple {
InnerObjectFormats::InnerObjectFormats()
{
add(sfEmitDetails.jsonName.c_str(),
sfEmitDetails.getCode(),
{
{sfEmitGeneration, soeREQUIRED},
{sfEmitBurden, soeREQUIRED},
{sfEmitParentTxnID, soeREQUIRED},
{sfEmitNonce, soeREQUIRED},
{sfEmitCallback, soeREQUIRED},
{sfEmitHookHash, soeREQUIRED}
});
add(sfSignerEntry.jsonName.c_str(),
sfSignerEntry.getCode(),
{
@@ -51,6 +62,60 @@ InnerObjectFormats::InnerObjectFormats()
{sfPublicKey, soeREQUIRED},
{sfFirstLedgerSequence, soeREQUIRED},
});
add(sfHookExecution.jsonName.c_str(),
sfHookExecution.getCode(),
{
{sfHookResult, soeREQUIRED},
{sfHookHash, soeREQUIRED},
{sfHookAccount, soeREQUIRED},
{sfHookReturnCode, soeREQUIRED},
{sfHookReturnString, soeREQUIRED},
{sfHookInstructionCount, soeREQUIRED},
{sfHookExecutionIndex, soeREQUIRED},
{sfHookStateChangeCount, soeREQUIRED},
{sfHookEmitCount, soeREQUIRED}
});
add(sfHookDefinition.jsonName.c_str(),
sfHook.getCode(),
{
{sfCreateCode, soeREQUIRED},
{sfHookNamespace, soeREQUIRED},
{sfHookParameters, soeREQUIRED},
{sfHookOn, soeREQUIRED},
{sfHookApiVersion, soeREQUIRED},
{sfFlags, soeREQUIRED}
});
add(sfHook.jsonName.c_str(),
sfHook.getCode(),
{
{sfHookHash, soeOPTIONAL},
{sfCreateCode, soeOPTIONAL},
{sfHookGrants, soeOPTIONAL},
{sfHookNamespace, soeOPTIONAL},
{sfHookParameters, soeOPTIONAL},
{sfHookOn, soeOPTIONAL},
{sfHookApiVersion, soeOPTIONAL},
{sfFlags, soeOPTIONAL}
});
add(sfHookGrant.jsonName.c_str(),
sfHookGrant.getCode(),
{
{sfHookHash, soeREQUIRED},
{sfAuthorize, soeOPTIONAL},
{sfFlags, soeOPTIONAL}
});
add(sfHookParameter.jsonName.c_str(),
sfHookParameter.getCode(),
{
{sfHookParameterName, soeREQUIRED},
{sfHookParameterValue, soeREQUIRED}
});
}
InnerObjectFormats const&