feat: Hook up permissioned_domain_id host function

This commit is contained in:
TimothyBanks
2026-08-10 21:35:33 -04:00
parent ca560ed6b0
commit 6eab6c7c28
11 changed files with 170 additions and 1 deletions

View File

@@ -746,6 +746,26 @@ HostContext::paychannelKeylet(
});
}
std::int32_t
HostContext::permissionedDomainKeylet(
rust::Slice<std::uint8_t const> account,
std::int32_t seq,
rust::Slice<std::uint8_t> out) const noexcept
{
return guarded(hostFunctions_.getJournal(), kHostInternal, [&] {
if (account.size() != AccountID::size())
return hfErrorToInt(HostFunctionError::InvalidParams);
// The guest's u32 seq arrives as its i32 bit pattern; recover it.
auto const value = hostFunctions_.permissionedDomainKeylet(
AccountID::fromVoid(account.data()), static_cast<std::uint32_t>(seq));
if (!value)
return hfErrorToInt(value.error());
return answer(out, value->data(), value->size());
});
}
std::int32_t
HostContext::sha512Half(rust::Slice<std::uint8_t const> data, rust::Slice<std::uint8_t> out)
const noexcept