multisig

package
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2022 License: Apache-2.0, MIT Imports: 11 Imported by: 12

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Methods = map[uint64]interface{}{
	1: *new(func(interface{}, *ConstructorParams) *abi.EmptyValue),
	2: *new(func(interface{}, *ProposeParams) *ProposeReturn),
	3: *new(func(interface{}, *TxnIDParams) *ApproveReturn),
	4: *new(func(interface{}, *TxnIDParams) *abi.EmptyValue),
	5: *new(func(interface{}, *AddSignerParams) *abi.EmptyValue),
	6: *new(func(interface{}, *RemoveSignerParams) *abi.EmptyValue),
	7: *new(func(interface{}, *SwapSignerParams) *abi.EmptyValue),
	8: *new(func(interface{}, *ChangeNumApprovalsThresholdParams) *abi.EmptyValue),
	9: *new(func(interface{}, *LockBalanceParams) *abi.EmptyValue),
	uint64(builtin.UniversalReceiverHookMethodNum): *new(func(interface{}, *[]byte) *abi.EmptyValue),
}

Functions

This section is empty.

Types

type AddSignerParams

type AddSignerParams struct {
	Signer   addr.Address
	Increase bool
}

func (*AddSignerParams) MarshalCBOR

func (t *AddSignerParams) MarshalCBOR(w io.Writer) error

func (*AddSignerParams) UnmarshalCBOR

func (t *AddSignerParams) UnmarshalCBOR(r io.Reader) error

type ApproveReturn

type ApproveReturn struct {
	// Applied indicates if the transaction was applied as opposed to proposed but not applied due to lack of approvals
	Applied bool
	// Code is the exitcode of the transaction, if Applied is false this field should be ignored.
	Code exitcode.ExitCode
	// Ret is the return vale of the transaction, if Applied is false this field should be ignored.
	Ret []byte
}

func (*ApproveReturn) MarshalCBOR

func (t *ApproveReturn) MarshalCBOR(w io.Writer) error

func (*ApproveReturn) UnmarshalCBOR

func (t *ApproveReturn) UnmarshalCBOR(r io.Reader) error

type ChangeNumApprovalsThresholdParams

type ChangeNumApprovalsThresholdParams struct {
	NewThreshold uint64
}

func (*ChangeNumApprovalsThresholdParams) MarshalCBOR

func (*ChangeNumApprovalsThresholdParams) UnmarshalCBOR

func (t *ChangeNumApprovalsThresholdParams) UnmarshalCBOR(r io.Reader) error

type ConstructorParams

type ConstructorParams struct {
	Signers               []addr.Address
	NumApprovalsThreshold uint64
	UnlockDuration        abi.ChainEpoch
	StartEpoch            abi.ChainEpoch
}

func (*ConstructorParams) MarshalCBOR

func (t *ConstructorParams) MarshalCBOR(w io.Writer) error

func (*ConstructorParams) UnmarshalCBOR

func (t *ConstructorParams) UnmarshalCBOR(r io.Reader) error

type LockBalanceParams

type LockBalanceParams struct {
	StartEpoch     abi.ChainEpoch
	UnlockDuration abi.ChainEpoch
	Amount         abi.TokenAmount
}

func (*LockBalanceParams) MarshalCBOR

func (t *LockBalanceParams) MarshalCBOR(w io.Writer) error

func (*LockBalanceParams) UnmarshalCBOR

func (t *LockBalanceParams) UnmarshalCBOR(r io.Reader) error

type ProposalHashData

type ProposalHashData struct {
	Requester addr.Address
	To        addr.Address
	Value     abi.TokenAmount
	Method    abi.MethodNum
	Params    []byte
}

Data for a BLAKE2B-256 to be attached to methods referencing proposals via TXIDs. Ensures the existence of a cryptographic reference to the original proposal. Useful for offline signers and for protection when reorgs change a multisig TXID.

Requester - The requesting multisig wallet member. All other fields - From the "Transaction" struct.

func (*ProposalHashData) MarshalCBOR

func (t *ProposalHashData) MarshalCBOR(w io.Writer) error

func (*ProposalHashData) Serialize

func (phd *ProposalHashData) Serialize() ([]byte, error)

func (*ProposalHashData) UnmarshalCBOR

func (t *ProposalHashData) UnmarshalCBOR(r io.Reader) error

type ProposeParams

type ProposeParams struct {
	To     addr.Address
	Value  abi.TokenAmount
	Method abi.MethodNum
	Params []byte
}

func (*ProposeParams) MarshalCBOR

func (t *ProposeParams) MarshalCBOR(w io.Writer) error

func (*ProposeParams) UnmarshalCBOR

func (t *ProposeParams) UnmarshalCBOR(r io.Reader) error

type ProposeReturn

type ProposeReturn struct {
	// TxnID is the ID of the proposed transaction
	TxnID TxnID
	// Applied indicates if the transaction was applied as opposed to proposed but not applied due to lack of approvals
	Applied bool
	// Code is the exitcode of the transaction, if Applied is false this field should be ignored.
	Code exitcode.ExitCode
	// Ret is the return vale of the transaction, if Applied is false this field should be ignored.
	Ret []byte
}

func (*ProposeReturn) MarshalCBOR

func (t *ProposeReturn) MarshalCBOR(w io.Writer) error

func (*ProposeReturn) UnmarshalCBOR

func (t *ProposeReturn) UnmarshalCBOR(r io.Reader) error

type RemoveSignerParams

type RemoveSignerParams struct {
	Signer   addr.Address
	Decrease bool
}

func (*RemoveSignerParams) MarshalCBOR

func (t *RemoveSignerParams) MarshalCBOR(w io.Writer) error

func (*RemoveSignerParams) UnmarshalCBOR

func (t *RemoveSignerParams) UnmarshalCBOR(r io.Reader) error

type State

type State struct {
	Signers               []address.Address // Signers must be canonical ID-addresses.
	NumApprovalsThreshold uint64
	NextTxnID             TxnID

	// Linear unlock
	InitialBalance abi.TokenAmount
	StartEpoch     abi.ChainEpoch
	UnlockDuration abi.ChainEpoch

	PendingTxns cid.Cid // HAMT[TxnID]Transaction
}

func (*State) AmountLocked

func (st *State) AmountLocked(elapsedEpoch abi.ChainEpoch) abi.TokenAmount

func (*State) MarshalCBOR

func (t *State) MarshalCBOR(w io.Writer) error

func (*State) UnmarshalCBOR

func (t *State) UnmarshalCBOR(r io.Reader) error

type SwapSignerParams

type SwapSignerParams struct {
	From addr.Address
	To   addr.Address
}

func (*SwapSignerParams) MarshalCBOR

func (t *SwapSignerParams) MarshalCBOR(w io.Writer) error

func (*SwapSignerParams) UnmarshalCBOR

func (t *SwapSignerParams) UnmarshalCBOR(r io.Reader) error

type Transaction

type Transaction struct {
	To     addr.Address
	Value  abi.TokenAmount
	Method abi.MethodNum
	Params []byte

	// This address at index 0 is the transaction proposer, order of this slice must be preserved.
	Approved []addr.Address
}

func (*Transaction) MarshalCBOR

func (t *Transaction) MarshalCBOR(w io.Writer) error

func (*Transaction) UnmarshalCBOR

func (t *Transaction) UnmarshalCBOR(r io.Reader) error

type TxnID

type TxnID int64

type TxnIDParams

type TxnIDParams struct {
	ID TxnID
	// Optional hash of proposal to ensure an operation can only apply to a
	// specific proposal.
	ProposalHash []byte
}

func (*TxnIDParams) MarshalCBOR

func (t *TxnIDParams) MarshalCBOR(w io.Writer) error

func (*TxnIDParams) UnmarshalCBOR

func (t *TxnIDParams) UnmarshalCBOR(r io.Reader) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL