#include #include #include #include #include #include #include #include #include namespace xrpl::test::jtx::delegate { json::Value set(jtx::Account const& account, jtx::Account const& authorize, std::vector const& permissions) { json::Value jv; jv[jss::TransactionType] = jss::DelegateSet; jv[jss::Account] = account.human(); jv[sfAuthorize.jsonName] = authorize.human(); json::Value permissionsJson(json::ValueType::Array); for (auto const& permission : permissions) { json::Value permissionValue; permissionValue[sfPermissionValue.jsonName] = permission; json::Value permissionObj; permissionObj[sfPermission.jsonName] = permissionValue; permissionsJson.append(permissionObj); } jv[sfPermissions.jsonName] = permissionsJson; return jv; } json::Value entry(jtx::Env& env, jtx::Account const& account, jtx::Account const& authorize) { json::Value jvParams; jvParams[jss::ledger_index] = jss::validated; jvParams[jss::delegate][jss::account] = account.human(); jvParams[jss::delegate][jss::authorize] = authorize.human(); return env.rpc("json", "ledger_entry", to_string(jvParams)); } } // namespace xrpl::test::jtx::delegate