///
/// HybridNativeUtilsSpec.cpp
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © 2025 Marc Rousavy @ Margelo
///

#include "HybridNativeUtilsSpec.hpp"

namespace margelo::nitro::metamask_nativeutils {

  void HybridNativeUtilsSpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridMethod("multiply", &HybridNativeUtilsSpec::multiply);
      prototype.registerHybridMethod("toPublicKey", &HybridNativeUtilsSpec::toPublicKey);
      prototype.registerHybridMethod("toPublicKeyFromBytes", &HybridNativeUtilsSpec::toPublicKeyFromBytes);
      prototype.registerHybridMethod("getPublicKeyEd25519", &HybridNativeUtilsSpec::getPublicKeyEd25519);
      prototype.registerHybridMethod("getPublicKeyEd25519FromBytes", &HybridNativeUtilsSpec::getPublicKeyEd25519FromBytes);
      prototype.registerHybridMethod("keccak256", &HybridNativeUtilsSpec::keccak256);
      prototype.registerHybridMethod("keccak256FromBytes", &HybridNativeUtilsSpec::keccak256FromBytes);
      prototype.registerHybridMethod("pubToAddress", &HybridNativeUtilsSpec::pubToAddress);
      prototype.registerHybridMethod("hmacSha512", &HybridNativeUtilsSpec::hmacSha512);
    });
  }

} // namespace margelo::nitro::metamask_nativeutils
