arnaucube
arnaucube/hermez-nodePublic Self-hosted repository
hermez-node/common/zk.go
common/zk.goRaw
 1package common
 2
 3import (
 4	"math/big"
 5)
 6
 7// ZKInputs represents the inputs that will be used to generate the zkSNARK
 8// proof
 9type ZKInputs struct {
10	InitialIdx    uint64
11	OldStRoot     Hash
12	FeePlanCoins  *big.Int
13	FeeTotals     *big.Int
14	PubEthAddress *big.Int
15
16	ImStateRoot []Hash
17	ImExitRoot  []Hash
18
19	ImOnChainHash []Hash
20	ImOnChain     []*big.Int
21	TxData        []*big.Int
22
23	FromIdx     []uint64
24	ToIdX       []uint64 //nolint:golint
25	ToAx        []*big.Int
26	ToAy        []*big.Int
27	ToEthAddr   []*big.Int
28	FromEthAddr []*big.Int
29	FromAx      []*big.Int
30	FromAy      []*big.Int
31
32	RqTxData   []*big.Int
33	LoadAmount []*big.Int
34
35	S   []*big.Int
36	R8x []*big.Int
37	R8y []*big.Int
38
39	Ax1       []*big.Int
40	Ay1       []*big.Int
41	Amount1   []*big.Int
42	Nonce1    []*big.Int
43	EthAddr1  []*big.Int
44	Siblings1 [][]*big.Int
45	IsOld01   []*big.Int `json:"isOld0_1"`
46	OldKey1   []*big.Int
47	OldValue1 []*big.Int
48
49	Ax2       []*big.Int
50	Ay2       []*big.Int
51	Amount2   []*big.Int
52	Nonce2    []*big.Int
53	EthAddr2  []*big.Int
54	Siblings2 [][]*big.Int
55	IsOld02   []*big.Int `json:"isOld0_2"`
56	OldKey2   []*big.Int
57	OldValue2 []*big.Int
58}
59
60// CallDataForge TBD
61type CallDataForge struct {
62	// TBD
63}