diff --git a/extern/supraseal/sealing/supra_seal.cpp b/extern/supraseal/sealing/supra_seal.cpp index 6513390fb..73002a8b1 100644 --- a/extern/supraseal/sealing/supra_seal.cpp +++ b/extern/supraseal/sealing/supra_seal.cpp @@ -129,6 +129,11 @@ static void init_ctx(size_t sector_size) { } } +extern "C" +int supra_version() { + return 0x100001; +} + extern "C" void supra_seal_init(size_t sector_size, const char* config_file) { printf("INIT called %s\n", config_file); diff --git a/extern/supraseal/sealing/supra_seal.h b/extern/supraseal/sealing/supra_seal.h index 714b05f9c..3b9b5c4ce 100644 --- a/extern/supraseal/sealing/supra_seal.h +++ b/extern/supraseal/sealing/supra_seal.h @@ -7,6 +7,7 @@ extern "C" { #endif +int supra_version(); // Optional init function. // config_file - topology config file. Defaults to supra_config.cfg diff --git a/lib/proof/porep_vproof_bin_decode.go b/lib/proof/porep_vproof_bin_decode.go index 34b2bbdf0..298cd48bc 100644 --- a/lib/proof/porep_vproof_bin_decode.go +++ b/lib/proof/porep_vproof_bin_decode.go @@ -3,8 +3,9 @@ package proof import ( "encoding/binary" "fmt" - "golang.org/x/xerrors" "io" + + "golang.org/x/xerrors" ) // This file contains a bincode decoder for Commit1OutRaw. diff --git a/lib/supraffi/seal.go b/lib/supraffi/seal.go index 2d4a715f7..b9e55caf6 100644 --- a/lib/supraffi/seal.go +++ b/lib/supraffi/seal.go @@ -166,6 +166,16 @@ ${SRCDIR}/../../extern/supraseal/deps/spdk-v24.05/dpdk/build/lib/librte_vhost.a */ +const libsupra_version = 0x10_00_01 + +func init() { + libVer := int(C.supra_version()) + + if libVer != libsupra_version { + panic(fmt.Sprintf("libsupra version mismatch: %x != %x", libVer, libsupra_version)) + } +} + // SupraSealInit initializes the supra seal with a sector size and optional config file. func SupraSealInit(sectorSize uint64, configFile string) { cConfigFile := C.CString(configFile)