utils

package
v0.0.0-...-b2d87a2 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2024 License: Apache-2.0 Imports: 8 Imported by: 10

Documentation

Index

Constants

View Source
const (
	SubModName = "$acl"
	StatusOK   = 200
)

Variables

This section is empty.

Functions

func CheckContractMethodPerm

func CheckContractMethodPerm(aclMgr base.AclManager, akURIs []string,
	contractName, methodName string) (bool, error)

func ExtractAddrFromAkURI

func ExtractAddrFromAkURI(akURI string) string

ExtractAddrFromAkURI extracts target address from input for AK, return AK itself for Account, return Account itself for auth requirement `Account/AK`, return AK

func ExtractAkFromAuthRequire

func ExtractAkFromAuthRequire(authRequire string) string

ExtractAkFromAuthRequire extracts required AK from auth requirement return AK in `Account/AK`

func GetACLSeparator

func GetACLSeparator() string

GetACLSeparator return the acl separator string

func GetAK2AccountBucket

func GetAK2AccountBucket() string

GetAK2AccountBucket return the ak2Account bucket

func GetAKAccountSeparator

func GetAKAccountSeparator() string

GetAKAccountSeparator return the separator between address and account

func GetAccount2ContractBucket

func GetAccount2ContractBucket() string

GetAccount2ContractBucket get the bucket name of account to contract map

func GetAccountBcNameSep

func GetAccountBcNameSep() string

GetAccountBcNameSep return the separator string for account and blockchain name

func GetAccountBucket

func GetAccountBucket() string

GetAccountBucket return the account bucket name

func GetAccountContractValue

func GetAccountContractValue() string

GetAccountContractValue return accountContractValue

func GetAccountNumberSize

func GetAccountNumberSize() int

GetAccountNumberSize return the account number size

func GetAccountPrefix

func GetAccountPrefix() string

GetAccountPrefix return the account prefix

func GetAkLimit

func GetAkLimit() int

GetAkLimit return maximum AK numbers of an ACL

func GetContract2AccountBucket

func GetContract2AccountBucket() string

GetContract2AccountBucket get the bucket name of contract to account map

func GetContractBucket

func GetContractBucket() string

GetContractBucket return the contract bucket name

func GetContractNameMaxSize

func GetContractNameMaxSize() int

GetContractNameMaxSize return the contract name max size

func GetContractNameMinSize

func GetContractNameMinSize() int

GetContractNameMinSize return the contract name min size

func IdentifyAK

func IdentifyAK(akURI string, sign *pb.SignatureInfo, msg []byte) (bool, error)

func IdentifyAccount

func IdentifyAccount(aclMgr base.AclManager, account string, akURIs []string) (bool, error)

func IsAK

func IsAK(address string) bool

IsAK returns true for a valid AK

func IsAccount

func IsAccount(address string) bool

IsAccount returns true for a valid account

func MakeAK2AccountKey

func MakeAK2AccountKey(ak string, accountName string) string

MakeAK2AccountKey generate key mixed ak with account as prefix key

func MakeAccountContractKey

func MakeAccountContractKey(accountName string, contractName string) string

MakeAccountContractKey generate account and contract mapping key

func MakeAccountKey

func MakeAccountKey(bcname string, accountName string) string

MakeAccountKey generate account key using blockchain name and account number

func MakeContractMethodKey

func MakeContractMethodKey(contractName string, methodName string) string

MakeContractMethodKey generate contract and account mapping key

func ValidAccountNumber

func ValidAccountNumber(number string) error

ValidAccountNumber validate account number a valid account number pattern is `[0-9]{16}`

func ValidRawAccount

func ValidRawAccount(number string) error

Deprecating, use ValidAccountNumber instead

func VerifySign

func VerifySign(ak string, si *pb.SignatureInfo, data []byte) (bool, error)

Types

type AddressType

type AddressType int
const (
	AddressAK AddressType = iota
	AddressAccount
)

func ParseAddressType

func ParseAddressType(address string) (addressType AddressType, isValid bool)

ParseAddressType returns address type when address is valid A valid address is not empty which is AK or Account. A valid Account pattern is `<AccountPrefix><AccountNumber>[@<BlockChainName>]`

Jump to

Keyboard shortcuts

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