actors: Drop refs to multisig_actor.go
This commit is contained in:
parent
604c234484
commit
1d0d429435
@ -1,128 +0,0 @@
|
|||||||
package actors
|
|
||||||
|
|
||||||
import (
|
|
||||||
samsig "github.com/filecoin-project/specs-actors/actors/builtin/multisig"
|
|
||||||
)
|
|
||||||
|
|
||||||
type MultiSigActor struct{}
|
|
||||||
type MultiSigActorState = samsig.MultiSigActorState
|
|
||||||
type MultiSigTransaction = samsig.MultiSigTransaction
|
|
||||||
type TxnID = samsig.TxnID
|
|
||||||
|
|
||||||
type musigMethods struct {
|
|
||||||
MultiSigConstructor uint64
|
|
||||||
Propose uint64
|
|
||||||
Approve uint64
|
|
||||||
Cancel uint64
|
|
||||||
ClearCompleted uint64
|
|
||||||
AddSigner uint64
|
|
||||||
RemoveSigner uint64
|
|
||||||
SwapSigner uint64
|
|
||||||
ChangeRequirement uint64
|
|
||||||
}
|
|
||||||
|
|
||||||
var MultiSigMethods = musigMethods{1, 2, 3, 4, 5, 6, 7, 8, 9}
|
|
||||||
|
|
||||||
type MultiSigConstructorParams = samsig.ConstructorParams
|
|
||||||
type MultiSigProposeParams = samsig.ProposeParams
|
|
||||||
type MultiSigTxID = samsig.TxnIDParams
|
|
||||||
type MultiSigAddSignerParam = samsig.AddSignerParams
|
|
||||||
type MultiSigRemoveSignerParam = samsig.RemoveSignerParams
|
|
||||||
type MultiSigSwapSignerParams = samsig.SwapSignerParams
|
|
||||||
type MultiSigChangeReqParams = samsig.ChangeNumApprovalsThresholdParams
|
|
||||||
|
|
||||||
/*
|
|
||||||
func (msa MultiSigActor) Exports() []interface{} {
|
|
||||||
return []interface{}{
|
|
||||||
1: msa.MultiSigConstructor,
|
|
||||||
2: msa.Propose,
|
|
||||||
3: msa.Approve,
|
|
||||||
4: msa.Cancel,
|
|
||||||
//5: msa.ClearCompleted,
|
|
||||||
6: msa.AddSigner,
|
|
||||||
7: msa.RemoveSigner,
|
|
||||||
8: msa.SwapSigner,
|
|
||||||
9: msa.ChangeRequirement,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func (MultiSigActor) MultiSigConstructor(act *types.Actor, vmctx types.VMContext,
|
|
||||||
params *MultiSigConstructorParams) ([]byte, ActorError) {
|
|
||||||
|
|
||||||
shim := &runtimeShim{vmctx: vmctx}
|
|
||||||
return shim.shimCall(func() interface{} {
|
|
||||||
return (&samsig.MultiSigActor{}).Constructor(shim, params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
func (msa MultiSigActor) Propose(act *types.Actor, vmctx types.VMContext,
|
|
||||||
params *MultiSigProposeParams) ([]byte, ActorError) {
|
|
||||||
|
|
||||||
shim := &runtimeShim{vmctx: vmctx}
|
|
||||||
return shim.shimCall(func() interface{} {
|
|
||||||
return (&samsig.MultiSigActor{}).Propose(shim, params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
func (msa MultiSigActor) Approve(act *types.Actor, vmctx types.VMContext,
|
|
||||||
params *MultiSigTxID) ([]byte, ActorError) {
|
|
||||||
|
|
||||||
shim := &runtimeShim{vmctx: vmctx}
|
|
||||||
return shim.shimCall(func() interface{} {
|
|
||||||
return (&samsig.MultiSigActor{}).Approve(shim, params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (msa MultiSigActor) Cancel(act *types.Actor, vmctx types.VMContext,
|
|
||||||
params *MultiSigTxID) ([]byte, ActorError) {
|
|
||||||
|
|
||||||
shim := &runtimeShim{vmctx: vmctx}
|
|
||||||
return shim.shimCall(func() interface{} {
|
|
||||||
return (&samsig.MultiSigActor{}).Cancel(shim, params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
func (msa MultiSigActor) AddSigner(act *types.Actor, vmctx types.VMContext,
|
|
||||||
params *MultiSigAddSignerParam) ([]byte, ActorError) {
|
|
||||||
|
|
||||||
shim := &runtimeShim{vmctx: vmctx}
|
|
||||||
return shim.shimCall(func() interface{} {
|
|
||||||
return (&samsig.MultiSigActor{}).AddSigner(shim, params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
func (msa MultiSigActor) RemoveSigner(act *types.Actor, vmctx types.VMContext,
|
|
||||||
params *MultiSigRemoveSignerParam) ([]byte, ActorError) {
|
|
||||||
|
|
||||||
shim := &runtimeShim{vmctx: vmctx}
|
|
||||||
return shim.shimCall(func() interface{} {
|
|
||||||
return (&samsig.MultiSigActor{}).RemoveSigner(shim, params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
func (msa MultiSigActor) SwapSigner(act *types.Actor, vmctx types.VMContext,
|
|
||||||
params *MultiSigSwapSignerParams) ([]byte, ActorError) {
|
|
||||||
|
|
||||||
shim := &runtimeShim{vmctx: vmctx}
|
|
||||||
return shim.shimCall(func() interface{} {
|
|
||||||
return (&samsig.MultiSigActor{}).SwapSigner(shim, params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
func (msa MultiSigActor) ChangeRequirement(act *types.Actor, vmctx types.VMContext,
|
|
||||||
params *MultiSigChangeReqParams) ([]byte, ActorError) {
|
|
||||||
|
|
||||||
shim := &runtimeShim{vmctx: vmctx}
|
|
||||||
return shim.shimCall(func() interface{} {
|
|
||||||
return (&samsig.MultiSigActor{}).ChangeNumApprovalsThreshold(shim, params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
*/
|
|
@ -3,6 +3,8 @@ package actors_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/filecoin-project/specs-actors/actors/builtin"
|
||||||
|
samsig "github.com/filecoin-project/specs-actors/actors/builtin/multisig"
|
||||||
cbor "github.com/ipfs/go-ipld-cbor"
|
cbor "github.com/ipfs/go-ipld-cbor"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
cbg "github.com/whyrusleeping/cbor-gen"
|
cbg "github.com/whyrusleeping/cbor-gen"
|
||||||
@ -26,7 +28,7 @@ func TestMultiSigCreate(t *testing.T) {
|
|||||||
|
|
||||||
h := NewHarness(t, opts...)
|
h := NewHarness(t, opts...)
|
||||||
ret, _ := h.CreateActor(t, creatorAddr, actors.MultisigCodeCid,
|
ret, _ := h.CreateActor(t, creatorAddr, actors.MultisigCodeCid,
|
||||||
&actors.MultiSigConstructorParams{
|
&samsig.ConstructorParams{
|
||||||
Signers: []address.Address{creatorAddr, sig1Addr, sig2Addr},
|
Signers: []address.Address{creatorAddr, sig1Addr, sig2Addr},
|
||||||
NumApprovalsThreshold: 2,
|
NumApprovalsThreshold: 2,
|
||||||
})
|
})
|
||||||
@ -53,7 +55,7 @@ func TestMultiSigOps(t *testing.T) {
|
|||||||
HarnessAddr(&outsideAddr, 100000),
|
HarnessAddr(&outsideAddr, 100000),
|
||||||
HarnessActor(&multSigAddr, &creatorAddr, actors.MultisigCodeCid,
|
HarnessActor(&multSigAddr, &creatorAddr, actors.MultisigCodeCid,
|
||||||
func() cbg.CBORMarshaler {
|
func() cbg.CBORMarshaler {
|
||||||
return &actors.MultiSigConstructorParams{
|
return &samsig.ConstructorParams{
|
||||||
Signers: []address.Address{creatorAddr, sig1Addr, sig2Addr},
|
Signers: []address.Address{creatorAddr, sig1Addr, sig2Addr},
|
||||||
NumApprovalsThreshold: 2,
|
NumApprovalsThreshold: 2,
|
||||||
}
|
}
|
||||||
@ -73,22 +75,22 @@ func TestMultiSigOps(t *testing.T) {
|
|||||||
{
|
{
|
||||||
// Transfer funds outside of multsig
|
// Transfer funds outside of multsig
|
||||||
const sendVal = 1000
|
const sendVal = 1000
|
||||||
ret, _ := h.Invoke(t, creatorAddr, multSigAddr, actors.MultiSigMethods.Propose,
|
ret, _ := h.Invoke(t, creatorAddr, multSigAddr, uint64(builtin.MethodsMultisig.Propose),
|
||||||
&actors.MultiSigProposeParams{
|
&samsig.ProposeParams{
|
||||||
To: outsideAddr,
|
To: outsideAddr,
|
||||||
Value: big.NewInt(sendVal),
|
Value: big.NewInt(sendVal),
|
||||||
})
|
})
|
||||||
ApplyOK(t, ret)
|
ApplyOK(t, ret)
|
||||||
var txIDParam actors.MultiSigTxID
|
var txIDParam samsig.TxnIDParams
|
||||||
err := cbor.DecodeInto(ret.Return, &txIDParam.ID)
|
err := cbor.DecodeInto(ret.Return, &txIDParam.ID)
|
||||||
assert.NoError(t, err, "decoding txid")
|
assert.NoError(t, err, "decoding txid")
|
||||||
|
|
||||||
ret, _ = h.Invoke(t, outsideAddr, multSigAddr, actors.MultiSigMethods.Approve,
|
ret, _ = h.Invoke(t, outsideAddr, multSigAddr, uint64(builtin.MethodsMultisig.Approve),
|
||||||
&txIDParam)
|
&txIDParam)
|
||||||
assert.Equal(t, uint8(18), ret.ExitCode, "outsideAddr should not approve")
|
assert.Equal(t, uint8(18), ret.ExitCode, "outsideAddr should not approve")
|
||||||
h.AssertBalanceChange(t, multSigAddr, 0)
|
h.AssertBalanceChange(t, multSigAddr, 0)
|
||||||
|
|
||||||
ret2, _ := h.Invoke(t, sig1Addr, multSigAddr, actors.MultiSigMethods.Approve,
|
ret2, _ := h.Invoke(t, sig1Addr, multSigAddr, uint64(builtin.MethodsMultisig.Approve),
|
||||||
&txIDParam)
|
&txIDParam)
|
||||||
ApplyOK(t, ret2)
|
ApplyOK(t, ret2)
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ type Message struct {
|
|||||||
GasPrice BigInt
|
GasPrice BigInt
|
||||||
GasLimit BigInt
|
GasLimit BigInt
|
||||||
|
|
||||||
Method uint64
|
Method uint64 // TODO: decide
|
||||||
Params []byte
|
Params []byte
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,17 +12,20 @@ import (
|
|||||||
"text/tabwriter"
|
"text/tabwriter"
|
||||||
|
|
||||||
"github.com/filecoin-project/go-address"
|
"github.com/filecoin-project/go-address"
|
||||||
"github.com/filecoin-project/lotus/api"
|
|
||||||
"github.com/filecoin-project/lotus/api/apibstore"
|
|
||||||
actors "github.com/filecoin-project/lotus/chain/actors"
|
|
||||||
types "github.com/filecoin-project/lotus/chain/types"
|
|
||||||
"github.com/filecoin-project/specs-actors/actors/abi"
|
"github.com/filecoin-project/specs-actors/actors/abi"
|
||||||
|
"github.com/filecoin-project/specs-actors/actors/builtin"
|
||||||
|
samsig "github.com/filecoin-project/specs-actors/actors/builtin/multisig"
|
||||||
cid "github.com/ipfs/go-cid"
|
cid "github.com/ipfs/go-cid"
|
||||||
"github.com/ipfs/go-hamt-ipld"
|
"github.com/ipfs/go-hamt-ipld"
|
||||||
cbor "github.com/ipfs/go-ipld-cbor"
|
cbor "github.com/ipfs/go-ipld-cbor"
|
||||||
cbg "github.com/whyrusleeping/cbor-gen"
|
cbg "github.com/whyrusleeping/cbor-gen"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
"gopkg.in/urfave/cli.v2"
|
"gopkg.in/urfave/cli.v2"
|
||||||
|
|
||||||
|
"github.com/filecoin-project/lotus/api"
|
||||||
|
"github.com/filecoin-project/lotus/api/apibstore"
|
||||||
|
actors "github.com/filecoin-project/lotus/chain/actors"
|
||||||
|
types "github.com/filecoin-project/lotus/chain/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
var multisigCmd = &cli.Command{
|
var multisigCmd = &cli.Command{
|
||||||
@ -90,7 +93,7 @@ var msigCreateCmd = &cli.Command{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set up constructor parameters for multisig
|
// Set up constructor parameters for multisig
|
||||||
msigParams := &actors.MultiSigConstructorParams{
|
msigParams := &samsig.ConstructorParams{
|
||||||
Signers: addrs,
|
Signers: addrs,
|
||||||
NumApprovalsThreshold: required,
|
NumApprovalsThreshold: required,
|
||||||
}
|
}
|
||||||
@ -183,7 +186,7 @@ var msigInspectCmd = &cli.Command{
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
var mstate actors.MultiSigActorState
|
var mstate samsig.MultiSigActorState
|
||||||
if err := mstate.UnmarshalCBOR(bytes.NewReader(obj)); err != nil {
|
if err := mstate.UnmarshalCBOR(bytes.NewReader(obj)); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -223,7 +226,7 @@ var msigInspectCmd = &cli.Command{
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetMultisigPending(ctx context.Context, lapi api.FullNode, hroot cid.Cid) (map[int64]*actors.MultiSigTransaction, error) {
|
func GetMultisigPending(ctx context.Context, lapi api.FullNode, hroot cid.Cid) (map[int64]*samsig.MultiSigTransaction, error) {
|
||||||
bs := apibstore.NewAPIBlockstore(lapi)
|
bs := apibstore.NewAPIBlockstore(lapi)
|
||||||
cst := cbor.NewCborStore(bs)
|
cst := cbor.NewCborStore(bs)
|
||||||
|
|
||||||
@ -232,10 +235,10 @@ func GetMultisigPending(ctx context.Context, lapi api.FullNode, hroot cid.Cid) (
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
txs := make(map[int64]*actors.MultiSigTransaction)
|
txs := make(map[int64]*samsig.MultiSigTransaction)
|
||||||
err = nd.ForEach(ctx, func(k string, val interface{}) error {
|
err = nd.ForEach(ctx, func(k string, val interface{}) error {
|
||||||
d := val.(*cbg.Deferred)
|
d := val.(*cbg.Deferred)
|
||||||
var tx actors.MultiSigTransaction
|
var tx samsig.MultiSigTransaction
|
||||||
if err := tx.UnmarshalCBOR(bytes.NewReader(d.Raw)); err != nil {
|
if err := tx.UnmarshalCBOR(bytes.NewReader(d.Raw)); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -252,7 +255,7 @@ func GetMultisigPending(ctx context.Context, lapi api.FullNode, hroot cid.Cid) (
|
|||||||
return txs, nil
|
return txs, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func state(tx *actors.MultiSigTransaction) string {
|
func state(tx *samsig.MultiSigTransaction) string {
|
||||||
/* // TODO(why): I strongly disagree with not having these... but i need to move forward
|
/* // TODO(why): I strongly disagree with not having these... but i need to move forward
|
||||||
if tx.Complete {
|
if tx.Complete {
|
||||||
return "done"
|
return "done"
|
||||||
@ -315,7 +318,7 @@ var msigProposeCmd = &cli.Command{
|
|||||||
params = p
|
params = p
|
||||||
}
|
}
|
||||||
|
|
||||||
enc, err := actors.SerializeParams(&actors.MultiSigProposeParams{
|
enc, err := actors.SerializeParams(&samsig.ProposeParams{
|
||||||
To: dest,
|
To: dest,
|
||||||
Value: abi.TokenAmount(types.BigInt(value)),
|
Value: abi.TokenAmount(types.BigInt(value)),
|
||||||
Method: abi.MethodNum(method),
|
Method: abi.MethodNum(method),
|
||||||
@ -344,7 +347,7 @@ var msigProposeCmd = &cli.Command{
|
|||||||
To: msig,
|
To: msig,
|
||||||
From: from,
|
From: from,
|
||||||
Value: types.NewInt(0),
|
Value: types.NewInt(0),
|
||||||
Method: actors.MultiSigMethods.Propose,
|
Method: uint64(builtin.MethodsMultisig.Propose),
|
||||||
Params: enc,
|
Params: enc,
|
||||||
GasLimit: types.NewInt(100000),
|
GasLimit: types.NewInt(100000),
|
||||||
GasPrice: types.NewInt(1),
|
GasPrice: types.NewInt(1),
|
||||||
@ -403,8 +406,8 @@ var msigApproveCmd = &cli.Command{
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
enc, err := actors.SerializeParams(&actors.MultiSigTxID{
|
enc, err := actors.SerializeParams(&samsig.TxnIDParams{
|
||||||
ID: actors.TxnID(txid),
|
ID: samsig.TxnID(txid),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -429,7 +432,7 @@ var msigApproveCmd = &cli.Command{
|
|||||||
To: msig,
|
To: msig,
|
||||||
From: from,
|
From: from,
|
||||||
Value: types.NewInt(0),
|
Value: types.NewInt(0),
|
||||||
Method: actors.MultiSigMethods.Approve,
|
Method: uint64(builtin.MethodsMultisig.Approve),
|
||||||
Params: enc,
|
Params: enc,
|
||||||
GasLimit: types.NewInt(100000),
|
GasLimit: types.NewInt(100000),
|
||||||
GasPrice: types.NewInt(1),
|
GasPrice: types.NewInt(1),
|
||||||
|
2
go.mod
2
go.mod
@ -21,7 +21,7 @@ require (
|
|||||||
github.com/filecoin-project/go-paramfetch v0.0.1
|
github.com/filecoin-project/go-paramfetch v0.0.1
|
||||||
github.com/filecoin-project/go-sectorbuilder v0.0.2-0.20200203173614-42d67726bb62
|
github.com/filecoin-project/go-sectorbuilder v0.0.2-0.20200203173614-42d67726bb62
|
||||||
github.com/filecoin-project/go-statestore v0.1.0
|
github.com/filecoin-project/go-statestore v0.1.0
|
||||||
github.com/filecoin-project/specs-actors v0.0.0-20200204204849-b1474eeb2fb5
|
github.com/filecoin-project/specs-actors v0.0.0-20200206185502-20fc70907293
|
||||||
github.com/gbrlsnchs/jwt/v3 v3.0.0-beta.1
|
github.com/gbrlsnchs/jwt/v3 v3.0.0-beta.1
|
||||||
github.com/go-ole/go-ole v1.2.4 // indirect
|
github.com/go-ole/go-ole v1.2.4 // indirect
|
||||||
github.com/gorilla/mux v1.7.3
|
github.com/gorilla/mux v1.7.3
|
||||||
|
2
go.sum
2
go.sum
@ -125,6 +125,8 @@ github.com/filecoin-project/go-statestore v0.1.0 h1:t56reH59843TwXHkMcwyuayStBIi
|
|||||||
github.com/filecoin-project/go-statestore v0.1.0/go.mod h1:LFc9hD+fRxPqiHiaqUEZOinUJB4WARkRfNl10O7kTnI=
|
github.com/filecoin-project/go-statestore v0.1.0/go.mod h1:LFc9hD+fRxPqiHiaqUEZOinUJB4WARkRfNl10O7kTnI=
|
||||||
github.com/filecoin-project/specs-actors v0.0.0-20200204204849-b1474eeb2fb5 h1:rDyP5UTPFxdfS7D5I0XLdaQZZoNGYTic1X9ptKmRSlM=
|
github.com/filecoin-project/specs-actors v0.0.0-20200204204849-b1474eeb2fb5 h1:rDyP5UTPFxdfS7D5I0XLdaQZZoNGYTic1X9ptKmRSlM=
|
||||||
github.com/filecoin-project/specs-actors v0.0.0-20200204204849-b1474eeb2fb5/go.mod h1:9vrrnLVhF2Zz6R3VBI7lKxQYRvPpsc1FTUyNqCvuYME=
|
github.com/filecoin-project/specs-actors v0.0.0-20200204204849-b1474eeb2fb5/go.mod h1:9vrrnLVhF2Zz6R3VBI7lKxQYRvPpsc1FTUyNqCvuYME=
|
||||||
|
github.com/filecoin-project/specs-actors v0.0.0-20200206185502-20fc70907293 h1:k/xtj90OknHTVOJikJ9mnf81UN2BaflS3R83OUg3BJM=
|
||||||
|
github.com/filecoin-project/specs-actors v0.0.0-20200206185502-20fc70907293/go.mod h1:gx4vDpIVf3AfF23iyVn9PNQhKy7wGQDrhxNyCHDzG8I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/gbrlsnchs/jwt/v3 v3.0.0-beta.1 h1:EzDjxMg43q1tA2c0MV3tNbaontnHLplHyFF6M5KiVP0=
|
github.com/gbrlsnchs/jwt/v3 v3.0.0-beta.1 h1:EzDjxMg43q1tA2c0MV3tNbaontnHLplHyFF6M5KiVP0=
|
||||||
|
@ -7,6 +7,7 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/filecoin-project/go-amt-ipld/v2"
|
"github.com/filecoin-project/go-amt-ipld/v2"
|
||||||
|
samsig "github.com/filecoin-project/specs-actors/actors/builtin/multisig"
|
||||||
|
|
||||||
cid "github.com/ipfs/go-cid"
|
cid "github.com/ipfs/go-cid"
|
||||||
"github.com/ipfs/go-hamt-ipld"
|
"github.com/ipfs/go-hamt-ipld"
|
||||||
@ -416,7 +417,7 @@ func (a *StateAPI) MsigGetAvailableBalance(ctx context.Context, addr address.Add
|
|||||||
ts = a.Chain.GetHeaviestTipSet()
|
ts = a.Chain.GetHeaviestTipSet()
|
||||||
}
|
}
|
||||||
|
|
||||||
var st actors.MultiSigActorState
|
var st samsig.MultiSigActorState
|
||||||
act, err := a.StateManager.LoadActorState(ctx, addr, &st, ts)
|
act, err := a.StateManager.LoadActorState(ctx, addr, &st, ts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return types.EmptyInt, xerrors.Errorf("failed to load multisig actor state: %w", err)
|
return types.EmptyInt, xerrors.Errorf("failed to load multisig actor state: %w", err)
|
||||||
|
Loading…
Reference in New Issue
Block a user