Skip to content

Commit

Permalink
auction update
Browse files Browse the repository at this point in the history
  • Loading branch information
bianyuanop committed Dec 30, 2024
1 parent 8e9e0d5 commit 04688c7
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 11 deletions.
20 changes: 15 additions & 5 deletions actions/auction.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package actions

import (
"context"
"crypto/sha256"
"encoding/binary"
"fmt"

Expand All @@ -25,6 +26,14 @@ type AuctionInfo struct {
BuilderSEQAddress codec.Address `json:"builderSEQAddress"`
}

func (a *AuctionInfo) HashAuctionInfo() ([32]byte, error) {
msg := binary.BigEndian.AppendUint64(nil, a.EpochNumber)
msg = binary.BigEndian.AppendUint64(msg, a.BidPrice)
msg = append(msg, a.BuilderSEQAddress[:]...)
hash := sha256.Sum256(msg)
return hash, nil
}

func (info *AuctionInfo) Marshal(p *codec.Packer) {
p.PackUint64(info.EpochNumber)
p.PackUint64(info.BidPrice)
Expand Down Expand Up @@ -90,17 +99,18 @@ func (a *Auction) Execute(
return nil, fmt.Errorf("failed to parse public key: %w", err)
}

msg := make([]byte, 16)
binary.BigEndian.PutUint64(msg[:8], a.AuctionInfo.EpochNumber)
binary.BigEndian.PutUint64(msg[8:], a.AuctionInfo.BidPrice)
msg = append(msg, a.AuctionInfo.BuilderSEQAddress[:]...)
digest, err := a.AuctionInfo.HashAuctionInfo()
if err != nil {
return nil, fmt.Errorf("unable to hash auction info")
}

sig, err := bls.SignatureFromBytes(a.BuilderSignature)
if err != nil {
return nil, fmt.Errorf("failed to parse signature: %w", err)
}

// Verify the signature.
if !bls.Verify(msg, pubkey, sig) {
if !bls.Verify(digest[:], pubkey, sig) {
return nil, ErrInvalidBidderSignature
}

Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -173,4 +173,4 @@ require (

// replace github.com/ava-labs/coreth => github.com/AnomalyFi/coreth v0.12.5-rc.6.1

// replace github.com/AnomalyFi/hypersdk => ../hypersdk
replace github.com/AnomalyFi/hypersdk => ../hypersdk
4 changes: 0 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,6 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7
filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek=
filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns=
github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
github.com/AnomalyFi/hypersdk v0.9.7-arcadia.13 h1:jZJXZpW6gQkfH0draUp5fQLwCfKzRYhNLHDxz33ncOs=
github.com/AnomalyFi/hypersdk v0.9.7-arcadia.13/go.mod h1:0Vj2PdwSFN7pat4Sno39IfmtOiv/gO9mxZXyRKnoKtI=
github.com/AnomalyFi/hypersdk v0.9.7-arcadia.14 h1:mDlxazNtWWHV4sb+j9G/Aw6DW4WA1zcNLM2B6ZoYA8s=
github.com/AnomalyFi/hypersdk v0.9.7-arcadia.14/go.mod h1:0Vj2PdwSFN7pat4Sno39IfmtOiv/gO9mxZXyRKnoKtI=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
Expand Down
4 changes: 4 additions & 0 deletions rpc/jsonrpc_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,10 @@ func (j *JSONRPCServer) GetRollupInfo(req *http.Request, args *types.GetRollupIn
if err != nil {
return err
}
if info == nil {
return fmt.Errorf("not such rollup in state")
}

reply.Info = *info
return nil
}
Expand Down
5 changes: 4 additions & 1 deletion scripts/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,14 @@ find "${TMPDIR}"/avalanchego-"${VERSION}"
# if you are starting your own devnet (otherwise anyone can access
# funds using the included demo.pk)
# total stake can allocate: 10000000000000000000, make sure it is below this or genesis won't load
# builder address: seq1qxg2p2au72mweweuyu3dx8dhla6gyky630azwsvnc69tvg0m6qx9uqms9wx
# opnode address: seq1qy94dndd0wzru9gvq3ayw52ngcd2fuhyptt58f4a3eppjzpx573qg9cr7sm
echo "creating allocations file"
cat <<EOF > "${TMPDIR}"/allocations.json
[
{"address":"${ADDRESS}", "balance":1000000000000000000},
{"address":"seq1qy94dndd0wzru9gvq3ayw52ngcd2fuhyptt58f4a3eppjzpx573qg9cr7sm", "balance":1000000000000000000}
{"address":"seq1qy94dndd0wzru9gvq3ayw52ngcd2fuhyptt58f4a3eppjzpx573qg9cr7sm", "balance":1000000000000000000},
{"address":"seq1qxg2p2au72mweweuyu3dx8dhla6gyky630azwsvnc69tvg0m6qx9uqms9wx", "balance":1000000000000000000}
]
EOF

Expand Down

0 comments on commit 04688c7

Please sign in to comment.