Skip to content

Commit a90a4ca

Browse files
committed
Update go modules
1 parent 66fc5d3 commit a90a4ca

6 files changed

Lines changed: 35 additions & 16 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
�1�A��F�̰.��~)�s-K��.��s�/�nV�6�z[2�5��)l�˄nP���-:]��r4�b'

common/proving_systems.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@ const (
1616
Halo2IPA
1717
Risc0
1818
Mina
19+
MinaAccount
1920
)
2021

2122
func (t *ProvingSystemId) String() string {
22-
return [...]string{"GnarkPlonkBls12_381", "GnarkPlonkBn254", "Groth16Bn254", "SP1", "Halo2IPA", "Mina"}[*t]
23+
return [...]string{"GnarkPlonkBls12_381", "GnarkPlonkBn254", "Groth16Bn254", "SP1", "Halo2IPA", "Mina", "MinaAccount"}[*t]
2324
}
2425

2526
func ProvingSystemIdFromString(provingSystem string) (ProvingSystemId, error) {
@@ -41,6 +42,9 @@ func ProvingSystemIdFromString(provingSystem string) (ProvingSystemId, error) {
4142
case "Mina":
4243
return Mina, nil
4344
}
45+
case "MinaAccount":
46+
return MinaAccount, nil
47+
}
4448

4549
return 0, fmt.Errorf("unknown proving system: %s", provingSystem)
4650
}
@@ -64,6 +68,9 @@ func ProvingSystemIdToString(provingSystem ProvingSystemId) (string, error) {
6468
case Mina:
6569
return "Mina", nil
6670
}
71+
case MinaAccount:
72+
return "MinaAccount", nil
73+
}
6774

6875
return "", fmt.Errorf("unknown proving system: %d", provingSystem)
6976
}

operator/mina_account/mina_account.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package mina
1+
package mina_account
22

33
/*
4-
#cgo darwin LDFLAGS: -L./lib -lmina_state_verifier
5-
#cgo linux LDFLAGS: -L./lib -lmina_state_verifier -ldl -lrt -lm
4+
#cgo darwin LDFLAGS: -L./lib -lmina_account_verifier
5+
#cgo linux LDFLAGS: -L./lib -lmina_account_verifier -ldl -lrt -lm
66
7-
#include "lib/mina_verifier.h"
7+
#include "lib/mina_account_verifier.h"
88
*/
99
import "C"
1010
import (
@@ -20,13 +20,13 @@ const MAX_PUB_INPUT_SIZE = 6 * 1024
2020
func timer() func() {
2121
start := time.Now()
2222
return func() {
23-
fmt.Printf("Mina block verification took %v\n", time.Since(start))
23+
fmt.Printf("Mina account verification took %v\n", time.Since(start))
2424
}
2525
}
2626

27-
func VerifyProtocolStateProof(proofBuffer [MAX_PROOF_SIZE]byte, proofLen uint, pubInputBuffer [MAX_PUB_INPUT_SIZE]byte, pubInputLen uint) bool {
27+
func VerifyAccountInclusion(proofBuffer [MAX_PROOF_SIZE]byte, proofLen uint, pubInputBuffer [MAX_PUB_INPUT_SIZE]byte, pubInputLen uint) bool {
2828
defer timer()()
2929
proofPtr := (*C.uchar)(unsafe.Pointer(&proofBuffer[0]))
3030
pubInputPtr := (*C.uchar)(unsafe.Pointer(&pubInputBuffer[0]))
31-
return (bool)(C.verify_protocol_state_proof_ffi(proofPtr, (C.uint)(proofLen), pubInputPtr, (C.uint)(pubInputLen)))
31+
return (bool)(C.verify_account_inclusion_ffi(proofPtr, (C.uint)(proofLen), pubInputPtr, (C.uint)(pubInputLen)))
3232
}

operator/mina_account/mina_account_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,33 @@ import (
55
"os"
66
"testing"
77

8-
"github.com/yetanotherco/aligned_layer/operator/mina"
8+
"github.com/lambdaclass/aligned_layer/operator/mina_account"
99
)
1010

1111
func TestMinaStateProofVerifies(t *testing.T) {
1212
fmt.Println(os.Getwd())
13-
proofFile, err := os.Open("../../batcher/aligned/test_files/mina/protocol_state.proof")
13+
proofFile, err := os.Open("../../batcher/aligned/test_files/mina/account_B62qrQKS9ghd91shs73TCmBJRW9GzvTJK443DPx2YbqcyoLc56g1ny9.proof")
1414
if err != nil {
15-
t.Errorf("could not open mina state proof file")
15+
t.Errorf("could not open mina account proof file")
1616
}
1717

1818
proofBuffer := make([]byte, mina.MAX_PROOF_SIZE)
1919
proofLen, err := proofFile.Read(proofBuffer)
2020
if err != nil {
21-
t.Errorf("could not read bytes from mina state proof file")
21+
t.Errorf("could not read bytes from mina account proof file")
2222
}
2323

24-
pubInputFile, err := os.Open("../../batcher/aligned/test_files/mina/protocol_state.pub")
24+
pubInputFile, err := os.Open("../../batcher/aligned/test_files/mina/account_B62qrQKS9ghd91shs73TCmBJRW9GzvTJK443DPx2YbqcyoLc56g1ny9.pub")
2525
if err != nil {
26-
t.Errorf("could not open mina state hash file")
26+
t.Errorf("could not open mina account pub inputs file")
2727
}
2828
pubInputBuffer := make([]byte, mina.MAX_PUB_INPUT_SIZE)
2929
pubInputLen, err := pubInputFile.Read(pubInputBuffer)
3030
if err != nil {
31-
t.Errorf("could not read bytes from mina state hash")
31+
t.Errorf("could not read bytes from mina account pub inputs hash")
3232
}
3333

34-
if !mina.VerifyProtocolStateProof(([mina.MAX_PROOF_SIZE]byte)(proofBuffer), uint(proofLen), ([mina.MAX_PUB_INPUT_SIZE]byte)(pubInputBuffer), uint(pubInputLen)) {
34+
if !mina_account.VerifyAccountInclusion(([mina.MAX_PROOF_SIZE]byte)(proofBuffer), uint(proofLen), ([mina.MAX_PUB_INPUT_SIZE]byte)(pubInputBuffer), uint(pubInputLen)) {
3535
t.Errorf("proof did not verify")
3636
}
3737
}

operator/pkg/operator.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,17 @@ func (o *Operator) verify(verificationData VerificationData, results chan bool)
367367
verificationResult := mina.VerifyProtocolStateProof(([mina.MAX_PROOF_SIZE]byte)(proofBuffer), proofLen, ([mina.MAX_PUB_INPUT_SIZE]byte)(pubInputBuffer), (uint)(pubInputLen))
368368
o.Logger.Infof("Mina state proof verification result: %t", verificationResult)
369369
results <- verificationResult
370+
case common.MinaAccount:
371+
proofLen := (uint)(len(verificationData.Proof))
372+
pubInputLen := (uint)(len(verificationData.PubInput))
373+
proofBuffer := make([]byte, mina.MAX_PROOF_SIZE)
374+
copy(proofBuffer, verificationData.Proof)
375+
pubInputBuffer := make([]byte, mina.MAX_PUB_INPUT_SIZE)
376+
copy(pubInputBuffer, verificationData.PubInput)
377+
378+
verificationResult := mina.VerifyAccountInclusion(([mina.MAX_PROOF_SIZE]byte)(proofBuffer), proofLen, ([mina.MAX_PUB_INPUT_SIZE]byte)(pubInputBuffer), (uint)(pubInputLen))
379+
o.Logger.Infof("Mina account inclusion proof verification result: %t", verificationResult)
380+
results <- verificationResult
370381
default:
371382
o.Logger.Error("Unrecognized proving system ID")
372383
results <- false

0 commit comments

Comments
 (0)