Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zns 2 l2 #77

Merged
merged 127 commits into from
Mar 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
83069be
exodo exist
mark-c-20230331 Feb 17, 2023
34c5a24
exodo exist
mark-c-20230331 Feb 17, 2023
8d5fb46
exodo exist
mark-c-20230331 Feb 17, 2023
b9b2107
exodus exit
mark-c-20230331 Feb 21, 2023
7898c45
Merge remote-tracking branch 'toni/qa' into exodo_exist
mark-c-20230331 Feb 21, 2023
39e13da
exodus exit
mark-c-20230331 Feb 22, 2023
cc5a5ad
Merge branch 'apiserver' into exodo_exist
mark-c-20230331 Feb 22, 2023
b7ee72d
apiserversenttx add redis lock
mark-c-20230331 Feb 23, 2023
ac025fb
exodus exit
mark-c-20230331 Feb 28, 2023
cd56daa
exodus exit
mark-c-20230331 Feb 28, 2023
4b459ea
exodus exit
mark-c-20230331 Feb 28, 2023
6fca6cc
set the value to redis cache with pk and account name
mark-c-20230331 Mar 1, 2023
d2ab7f4
test l1 register zns
mark-c-20230331 Mar 3, 2023
e30b9b7
Merge remote-tracking branch 'toni/qa' into exodo_exist
mark-c-20230331 Mar 3, 2023
402f6d7
Merge remote-tracking branch 'toni/qa' into exodo_exist
mark-c-20230331 Mar 3, 2023
d9bb875
exodus exit
mark-c-20230331 Mar 3, 2023
6e0bf53
exodus exit
mark-c-20230331 Mar 4, 2023
75582ca
exodus exit
mark-c-20230331 Mar 4, 2023
0bf84fe
fix
garyxiong123 Mar 4, 2023
1b72321
fix
garyxiong123 Mar 4, 2023
a8eb8da
fix
garyxiong123 Mar 4, 2023
d43a76c
zns l2
mark-c-20230331 Mar 4, 2023
526c8cb
exodus exit
mark-c-20230331 Mar 4, 2023
d635566
fix
garyxiong123 Mar 4, 2023
00c38c0
``fix``
garyxiong123 Mar 4, 2023
436b642
change pub key
mark-c-20230331 Mar 6, 2023
1109aea
change pub key
mark-c-20230331 Mar 7, 2023
f5e6e01
change pub key
mark-c-20230331 Mar 7, 2023
12af95c
change pub key
mark-c-20230331 Mar 7, 2023
b86bbc1
ants panic,crush service
mark-c-20230331 Mar 7, 2023
f20e1c5
ants panic,crush service
mark-c-20230331 Mar 7, 2023
b24051e
change pub key
mark-c-20230331 Mar 7, 2023
d44b6a2
change pub key
mark-c-20230331 Mar 8, 2023
a72a144
Merge remote-tracking branch 'toni/zns-2-L2' into zns-2-L2
mark-c-20230331 Mar 8, 2023
41f39f6
nft witness
toni-x-20230331 Mar 8, 2023
7a7fccc
add fromindex and toindex
toni-x-20230331 Mar 8, 2023
4c2551f
add fromindex and toindex
toni-x-20230331 Mar 8, 2023
f2177eb
change pub key
mark-c-20230331 Mar 8, 2023
0ce539c
change pub key
mark-c-20230331 Mar 9, 2023
4a5a314
change pub key
mark-c-20230331 Mar 9, 2023
fada40c
change pub key
mark-c-20230331 Mar 9, 2023
b175572
full exit
mark-c-20230331 Mar 9, 2023
c26e5ac
PublicKey:txDetail.Balance
toni-x-20230331 Mar 9, 2023
288e2b9
remove registerZNS
toni-x-20230331 Mar 9, 2023
ff18ae9
full exit
mark-c-20230331 Mar 10, 2023
e010161
Merge remote-tracking branch 'toni/zns-2-L2' into zns-2-L2
mark-c-20230331 Mar 10, 2023
1d3f067
full exit
mark-c-20230331 Mar 10, 2023
1531586
if account is new ,set index:types.NilAccountIndex
toni-x-20230331 Mar 10, 2023
6b887dd
change pub key
mark-c-20230331 Mar 10, 2023
1548d6e
Merge remote-tracking branch 'toni/zns-2-L2' into zns-2-L2
mark-c-20230331 Mar 10, 2023
28d4fd3
update PublicKey
toni-x-20230331 Mar 10, 2023
4998592
change pub key
mark-c-20230331 Mar 10, 2023
efaff89
Merge branch 'zns-2-L2' of https://github.com/15000785133/zkbnb into …
mark-c-20230331 Mar 10, 2023
a4c1cb3
change pub key
mark-c-20230331 Mar 10, 2023
9b7aafb
change pub key
mark-c-20230331 Mar 10, 2023
9999f3f
change pub key
mark-c-20230331 Mar 11, 2023
1978914
change pub key
mark-c-20230331 Mar 11, 2023
a6e10e3
update CollectionNonce: txDetail.CollectionNonce
toni-x-20230331 Mar 11, 2023
fd5c040
change pub key
mark-c-20230331 Mar 12, 2023
278e7ff
change pub key
mark-c-20230331 Mar 12, 2023
70a24cb
Merge remote-tracking branch 'toni/zns-2-L2' into zns-2-L2
mark-c-20230331 Mar 12, 2023
46e84ce
update L1Address string to []byte
toni-x-20230331 Mar 12, 2023
dab45a1
change pub key
mark-c-20230331 Mar 12, 2023
06fc96b
update account l1Address
toni-x-20230331 Mar 12, 2023
fe96dfd
update account l1Address
toni-x-20230331 Mar 12, 2023
6c3a09c
update account l1Address
toni-x-20230331 Mar 12, 2023
7fcd043
update oTx TxType
toni-x-20230331 Mar 12, 2023
f6bb1a4
change pub key
mark-c-20230331 Mar 13, 2023
8af146b
change pub key
mark-c-20230331 Mar 13, 2023
0500042
Merge remote-tracking branch 'origin/zns-2-L2' into zns-2-L2
toni-x-20230331 Mar 13, 2023
4240a30
update l1 Signature
toni-x-20230331 Mar 13, 2023
a318895
change pub key
mark-c-20230331 Mar 14, 2023
27d8152
add GetPubKey
toni-x-20230331 Mar 14, 2023
a67bdf6
Merge remote-tracking branch 'origin/zns-2-L2' into zns-2-L2
toni-x-20230331 Mar 14, 2023
f5318fd
add system gas fee
toni-x-20230331 Mar 14, 2023
98ea4b3
change pub key
mark-c-20230331 Mar 14, 2023
5b8684c
change pub key
mark-c-20230331 Mar 14, 2023
ec424f7
change pub key
mark-c-20230331 Mar 14, 2023
b158430
change pub key
mark-c-20230331 Mar 14, 2023
d2e21b5
change pub key
mark-c-20230331 Mar 14, 2023
07f29a6
change pub key
mark-c-20230331 Mar 15, 2023
563d055
update l1 Signature
toni-x-20230331 Mar 15, 2023
005a8ec
Adjustment for double signature
smith-s-20230331 Mar 15, 2023
b03cc25
Merge branch 'zns-2-L2' of https://github.com/15000785133/zkbnb into …
smith-s-20230331 Mar 15, 2023
9bf8890
Merge branch 'zns-2-L2' of https://github.com/15000785133/zkbnb into …
mark-c-20230331 Mar 15, 2023
976086a
update l1 Signature
toni-x-20230331 Mar 15, 2023
c2d17ca
Merge remote-tracking branch 'origin/zns-2-L2' into zns-2-L2
toni-x-20230331 Mar 15, 2023
b7780ad
Merge branch 'zns-2-L2' of https://github.com/15000785133/zkbnb into …
mark-c-20230331 Mar 15, 2023
7a8bccd
add applicationDev
toni-x-20230331 Mar 15, 2023
332cb97
Merge branch 'zns-2-L2' of https://github.com/15000785133/zkbnb into …
mark-c-20230331 Mar 15, 2023
0054e18
change pub key
mark-c-20230331 Mar 15, 2023
6c51098
change pub key
mark-c-20230331 Mar 16, 2023
cb5b824
update nft content type
toni-x-20230331 Mar 16, 2023
28043e7
change pub key
mark-c-20230331 Mar 16, 2023
6f3d215
Merge branch 'zns-2-L2' of https://github.com/15000785133/zkbnb into …
mark-c-20230331 Mar 16, 2023
96ac5c5
change pub key
mark-c-20230331 Mar 16, 2023
c512fb3
check l1 sig
toni-x-20230331 Mar 16, 2023
9ddac68
modify update nft params
toni-x-20230331 Mar 16, 2023
a60f948
check l1 sig
toni-x-20230331 Mar 16, 2023
a702076
change pub key
mark-c-20230331 Mar 17, 2023
f77567a
change pub key
mark-c-20230331 Mar 17, 2023
303a763
change pub key
mark-c-20230331 Mar 17, 2023
b2f499d
change pub key
mark-c-20230331 Mar 18, 2023
cd13267
update version
toni-x-20230331 Mar 18, 2023
0b3bf98
change pub key
mark-c-20230331 Mar 18, 2023
4deff26
Merge remote-tracking branch 'toni/zns-2-L2' into zns-2-L2
mark-c-20230331 Mar 18, 2023
a659b57
change pub key
mark-c-20230331 Mar 18, 2023
6b0ee3a
change pub key
mark-c-20230331 Mar 18, 2023
95817b9
change pub key
mark-c-20230331 Mar 18, 2023
44aebf0
change pub key
mark-c-20230331 Mar 18, 2023
33e751a
update version
toni-x-20230331 Mar 18, 2023
ef6951e
update pool tx
toni-x-20230331 Mar 19, 2023
1d2c3ac
change pub key
mark-c-20230331 Mar 19, 2023
86f9e2a
Merge remote-tracking branch 'toni/zns-2-L2' into zns-2-L2
mark-c-20230331 Mar 19, 2023
a6a3a59
update doc
mark-c-20230331 Mar 20, 2023
a4c6dbb
update doc
mark-c-20230331 Mar 20, 2023
04b9c38
Merge branch 'panic' into zns-2-L2
mark-c-20230331 Mar 20, 2023
fe4e653
update doc
mark-c-20230331 Mar 20, 2023
6ce354b
update doc
mark-c-20230331 Mar 22, 2023
191959b
update doc
mark-c-20230331 Mar 22, 2023
f8eb97b
update offer (#74)
15000785133 Mar 22, 2023
36461b1
Zns 2 l2 offer (#75)
15000785133 Mar 22, 2023
70646b0
check full exit asset info not nil
mark-c-20230331 Mar 23, 2023
957f30f
Merge remote-tracking branch 'toni/zns-2-L2' into zns-2-L2
mark-c-20230331 Mar 23, 2023
e7674f5
update protocol
toni-x-20230331 Mar 23, 2023
792a709
update protocol
toni-x-20230331 Mar 23, 2023
4962632
Merge branch 'qa' into zns-2-L2
toni-x-20230331 Mar 23, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions cmd/flags/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,14 @@ var (
Usage: "Metrics HTTP server listening port",
Value: 6060,
}
CommandFlag = &cli.StringFlag{
Name: "command",
Aliases: []string{"m"},
Usage: "the config file",
}
RecoveryFromHistoryFlag = &cli.BoolFlag{
Name: "recoveryFromHistory",
Value: true,
Usage: "read account and nft history record from the database, or read account and nft from the database",
}
)
59 changes: 59 additions & 0 deletions cmd/zkbnb/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package main

import (
"fmt"
"github.com/bnb-chain/zkbnb/tools/exodusexit/generateproof"
"github.com/bnb-chain/zkbnb/tools/exodusexit/performexodus"
"github.com/bnb-chain/zkbnb/tools/query"
"os"
"runtime"
Expand Down Expand Up @@ -184,6 +186,59 @@ func main() {
return apiserver.Run(cCtx.String(flags.ConfigFlag.Name))
},
},
{
Name: "generateproof",
Usage: "Run generateproof service",
Flags: []cli.Flag{
flags.CommandFlag,
flags.ConfigFlag,
},
Action: func(cCtx *cli.Context) error {
if !cCtx.IsSet(flags.CommandFlag.Name) {
return cli.ShowSubcommandHelp(cCtx)
}
if !cCtx.IsSet(flags.ConfigFlag.Name) {
return cli.ShowSubcommandHelp(cCtx)
}
if cCtx.String(flags.CommandFlag.Name) == "init" {
return dbinitializer.InitializeExodusExit(
cCtx.String(flags.ConfigFlag.Name),
)
}
if cCtx.String(flags.CommandFlag.Name) == "run" {
err := dbinitializer.InitializeExodusExit(
cCtx.String(flags.ConfigFlag.Name),
)
if err != nil {
return err
}
return generateproof.Run(cCtx.String(flags.ConfigFlag.Name))
}
if cCtx.String(flags.CommandFlag.Name) == "continue" {
return generateproof.Run(cCtx.String(flags.ConfigFlag.Name))
}
return nil
},
},
{
Name: "performexodus",
Usage: "Run performexodus service",
Flags: []cli.Flag{
flags.CommandFlag,
flags.ConfigFlag,
},
Action: func(cCtx *cli.Context) error {
if !cCtx.IsSet(flags.CommandFlag.Name) {
return cli.ShowSubcommandHelp(cCtx)
}
if !cCtx.IsSet(flags.ConfigFlag.Name) {
return cli.ShowSubcommandHelp(cCtx)
}
return performexodus.Run(cCtx.String(flags.ConfigFlag.Name))

return nil
},
},
// tools
{
Name: "db",
Expand Down Expand Up @@ -226,6 +281,7 @@ func main() {
flags.BlockHeightFlag,
flags.ServiceNameFlag,
flags.BatchSizeFlag,
flags.RecoveryFromHistoryFlag,
},
Action: func(cCtx *cli.Context) error {
if !cCtx.IsSet(flags.ServiceNameFlag.Name) ||
Expand All @@ -238,6 +294,7 @@ func main() {
cCtx.Int64(flags.BlockHeightFlag.Name),
cCtx.String(flags.ServiceNameFlag.Name),
cCtx.Int(flags.BatchSizeFlag.Name),
cCtx.Bool(flags.RecoveryFromHistoryFlag.Name),
)
return nil
},
Expand All @@ -256,6 +313,7 @@ func main() {
flags.BlockHeightFlag,
flags.ServiceNameFlag,
flags.BatchSizeFlag,
flags.RecoveryFromHistoryFlag,
},
Action: func(cCtx *cli.Context) error {
if !cCtx.IsSet(flags.ServiceNameFlag.Name) ||
Expand All @@ -268,6 +326,7 @@ func main() {
cCtx.Int64(flags.BlockHeightFlag.Name),
cCtx.String(flags.ServiceNameFlag.Name),
cCtx.Int(flags.BatchSizeFlag.Name),
cCtx.Bool(flags.RecoveryFromHistoryFlag.Name),
)
return nil
},
Expand Down
66 changes: 66 additions & 0 deletions common/abicoder/abicoder.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package abicoder

import (
"fmt"
"github.com/ethereum/go-ethereum/accounts/abi"
)

func (d *ABIDecoder) getArguments(name string, data []byte) (Arguments, error) {
// since there can't be naming collisions with contracts and events,
// we need to decide whether we're calling a method or an event
args := make([]Argument, 0)
if method, ok := d.myabi.Methods[name]; ok {
if len(data)%32 != 0 {
return nil, fmt.Errorf("abicoder: improperly formatted output: %s - Bytes: [%+v]", string(data), data)
}
for _, input := range method.Inputs {
newInput := Argument{Name: input.Name, Type: input.Type, Indexed: input.Indexed}
args = append(args, newInput)
}
}
if args == nil {
return nil, fmt.Errorf("abicoder: could not locate named method or event: %s", name)
}
return args, nil
}

//
// Unpack unpacks the output according to the abicoder specification.
func (d *ABIDecoder) Unpack(name string, data []byte) ([]interface{}, error) {
args, err := d.getArguments(name, data)
if err != nil {
return nil, err
}
return args.Unpack(data)
}

func (d *ABIDecoder) UnpackIntoInterface(v interface{}, name string, data []byte) error {
args, err := d.getArguments(name, data)
if err != nil {
return err
}
unpacked, err := args.Unpack(data)
if err != nil {
return err
}
return args.Copy(v, unpacked)
}

//
// UnpackIntoMap unpacks a log into the provided map[string]interface{}.
func (d *ABIDecoder) UnpackIntoMap(v map[string]interface{}, name string, data []byte) (err error) {
args, err := d.getArguments(name, data)
if err != nil {
return err
}
return args.UnpackIntoMap(v, data)
}

// ABIDecoder ethereum transaction data decoder
type ABIDecoder struct {
myabi abi.ABI
}

func NewABIDecoder(abi abi.ABI) *ABIDecoder {
return &ABIDecoder{myabi: abi}
}
Loading