access

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2024 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SubmitMethod                 = "submit"
	RemoveMethod                 = "remove"
	QueryAuthInfoMethod          = "queryAuthInfo"
	QueryWhiteListProviderMethod = "queryWhiteListProvider"
	AuthInfoKey                  = "authinfo"
	WhiteListProviderKey         = "providers"
)

Variables

View Source
var (
	ErrCheckSubmitInfo        = errors.New("submit args check fail")
	ErrCheckRemoveInfo        = errors.New("remove args check fail")
	ErrUser                   = errors.New("user is invalid")
	ErrCheckWhiteListProvider = errors.New("white list provider check fail")
	ErrParseArgs              = errors.New("parse args fail")
	ErrGetMethodName          = errors.New("get method name fail")
	ErrVerify                 = errors.New("access error")
	ErrQueryPermission        = errors.New("insufficient query permissions")
	ErrNotFound               = errors.New("not found")
)
View Source
var Providers []string

Global variable

Functions

func AddAndRemoveProviders

func AddAndRemoveProviders(lg ledger.StateLedger, modifyType ModifyType, inputServices []WhiteListProvider) error

func CheckInServices

func CheckInServices(account ledger.IAccount, addr string) error

func GetABI

func GetABI() (*abi.ABI, error)

GetABI get system contract abi

func InitProvidersAndWhiteList

func InitProvidersAndWhiteList(lg ledger.StateLedger, initVerifiedUsers []string, initProviders []string) error

func SetProviders

func SetProviders(lg ledger.StateLedger, services []WhiteListProvider) error

func Verify

func Verify(lg ledger.StateLedger, needApprove string) error

Types

type AuthInfo

type AuthInfo struct {
	User      string
	Providers []string
	Role      Role
}

type BaseExtraArgs

type BaseExtraArgs struct {
	Extra []byte
}

type ModifyType

type ModifyType uint8
const (
	AddWhiteListProvider    ModifyType = 4
	RemoveWhiteListProvider ModifyType = 5
)

type QueryAuthInfoArgs

type QueryAuthInfoArgs struct {
	User string
}

type QueryWhiteListProviderArgs

type QueryWhiteListProviderArgs struct {
	WhiteListProviderAddr string
}

type RemoveArgs

type RemoveArgs struct {
	Addresses []string
}

type Role

type Role uint8
const (
	BasicUser Role = iota
	SuperUser
)

type SubmitArgs

type SubmitArgs struct {
	Addresses []string
}

type WhiteList

type WhiteList struct {
	// contains filtered or unexported fields
}

func NewWhiteList

func NewWhiteList(cfg *common.SystemContractConfig) *WhiteList

NewWhiteList constructs a new WhiteList

func (*WhiteList) CheckAndUpdateState

func (c *WhiteList) CheckAndUpdateState(lastHeight uint64, stateLedger ledger.StateLedger)

func (*WhiteList) EstimateGas

func (c *WhiteList) EstimateGas(callArgs *types.CallArgs) (uint64, error)

func (*WhiteList) PackOutputArgs

func (c *WhiteList) PackOutputArgs(methodName string, outputArgs ...any) ([]byte, error)

PackOutputArgs pack the output arguments by method name

func (*WhiteList) ParseArgs

func (c *WhiteList) ParseArgs(msg *vm.Message, methodName string, ret any) error

ParseArgs parse the arguments to specified interface by method name

func (*WhiteList) RecordLog

func (c *WhiteList) RecordLog(currentLog *common.Log, method string, data []byte)

func (*WhiteList) Reset

func (c *WhiteList) Reset(lastHeight uint64, stateLedger ledger.StateLedger)

func (*WhiteList) Run

func (c *WhiteList) Run(msg *vm.Message) (*vm.ExecutionResult, error)

func (*WhiteList) SaveLog

func (c *WhiteList) SaveLog(stateLedger ledger.StateLedger, currentLog *common.Log)

SaveLog save log

func (*WhiteList) UnpackOutputArgs

func (c *WhiteList) UnpackOutputArgs(methodName string, packed []byte) ([]any, error)

UnpackOutputArgs unpack the output arguments by method name

type WhiteListProvider

type WhiteListProvider struct {
	WhiteListProviderAddr string
}

func GetProviders

func GetProviders(lg ledger.StateLedger) ([]WhiteListProvider, error)

type WhiteListProviderArgs

type WhiteListProviderArgs struct {
	Providers []WhiteListProvider
}

Jump to

Keyboard shortcuts

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