Skip to content

Commit

Permalink
feat: Add nv24 skeleton (#299)
Browse files Browse the repository at this point in the history
* create base nv24 skeleton

* Delete migration specific for nv24

* Remove .go= duplicate files

* Use v15 instead of v14

---------

Co-authored-by: Phi-rjan <orjan.roren@gmail.com>
  • Loading branch information
kamuik16 and rjan90 authored Aug 7, 2024
1 parent 0978149 commit de9214e
Show file tree
Hide file tree
Showing 107 changed files with 33,962 additions and 0 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ gen:
$(GO_BIN) run ./builtin/v12/gen/gen.go
$(GO_BIN) run ./builtin/v13/gen/gen.go
$(GO_BIN) run ./builtin/v14/gen/gen.go
$(GO_BIN) run ./builtin/v15/gen/gen.go
.PHONY: gen

lint:
Expand Down
3 changes: 3 additions & 0 deletions actors/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ const (
Version12 Version = 12
Version13 Version = 13
Version14 Version = 14
Version15 Version = 15
)

// Converts a network version into an actors adt version.
Expand Down Expand Up @@ -56,6 +57,8 @@ func VersionForNetwork(version network.Version) (Version, error) {
return Version13, nil
case network.Version23:
return Version14, nil
case network.Version24:
return Version15, nil
default:
return -1, fmt.Errorf("unsupported network version %d", version)
}
Expand Down
9 changes: 9 additions & 0 deletions builtin/v15/account/account_state.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package account

import (
addr "github.com/filecoin-project/go-address"
)

type State struct {
Address addr.Address
}
6 changes: 6 additions & 0 deletions builtin/v15/account/account_types.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package account

type AuthenticateMessageParams struct {
Signature []byte
Message []byte
}
188 changes: 188 additions & 0 deletions builtin/v15/account/cbor_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 27 additions & 0 deletions builtin/v15/account/invariants.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package account

import (
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-state-types/builtin"
)

type StateSummary struct {
PubKeyAddr address.Address
}

// Checks internal invariants of account state.
func CheckStateInvariants(st *State, idAddr address.Address) (*StateSummary, *builtin.MessageAccumulator) {
acc := &builtin.MessageAccumulator{}
accountSummary := &StateSummary{
PubKeyAddr: st.Address,
}

if id, err := address.IDFromAddress(idAddr); err != nil {
acc.Addf("error extracting actor ID from address: %v", err)
} else if id >= builtin.FirstNonSingletonActorId {
acc.Require(st.Address.Protocol() == address.BLS || st.Address.Protocol() == address.SECP256K1,
"actor address %v must be BLS or SECP256K1 protocol", st.Address)
}

return accountSummary, acc
}
15 changes: 15 additions & 0 deletions builtin/v15/account/methods.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package account

import (
typegen "github.com/whyrusleeping/cbor-gen"

"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/builtin"
)

var Methods = map[abi.MethodNum]builtin.MethodMeta{
1: builtin.NewMethodMeta("Constructor", *new(func(*address.Address) *abi.EmptyValue)), // Constructor
2: builtin.NewMethodMeta("PubkeyAddress", *new(func(*abi.EmptyValue) *address.Address)), // PubkeyAddress
builtin.MustGenerateFRCMethodNum("AuthenticateMessage"): builtin.NewMethodMeta("AuthenticateMessage", *new(func(*AuthenticateMessageParams) *typegen.CborBool)), // AuthenticateMessage
}
Loading

0 comments on commit de9214e

Please sign in to comment.