utils

package
v1.5.1 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2022 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// SUCCESS ContractResult success code
	SUCCESS uint32 = 0
	// Separator herbt hex ca
	Separator = byte(202)
)
View Source
const (
	HibeMsgKey           = "hibe_msg"
	HibeMsgIdKey         = "tx_id"
	HibeMsgCipherTextKey = "CT"
	HibeParamsKey        = "org_id"
	HibeParamsValueKey   = "params"
)

hibe msg's Keys

View Source
const (
	// System Block Contract keys
	KeyBlockContractWithRWSet        = "withRWSet"
	KeyBlockContractBlockHash        = "blockHash"
	KeyBlockContractBlockHeight      = "blockHeight"
	KeyBlockContractTxId             = "txId"
	KeyBlockContractTruncateValueLen = "truncateValueLen"
	KeyBlockContractTruncateModel    = "truncateModel"

	// System Chain Config Contract keys
	KeyChainConfigContractRoot                   = "root"
	KeyChainConfigContractOrgId                  = "org_id"
	KeyChainConfigAddrType                       = "addr_type"
	KeyChainConfigContractNodeId                 = "node_id"
	KeyChainConfigContractNewNodeId              = "new_node_id"
	KeyChainConfigContractNodeIds                = "node_ids"
	KeyChainConfigContractBlockHeight            = "block_height"
	KeyChainConfigContractTrustParticipantOrgId  = "org_id"
	KeyChainConfigContractTrustParticipantInfo   = "participant_info"
	KeyChainConfigContractTrustParticipantNodeId = "node_id"
	KeyChainConfigContractTrustParticipantRole   = "role"

	// CoreConfig keys
	KeyTxSchedulerTimeout         = "tx_scheduler_timeout"
	KeyTxSchedulerValidateTimeout = "tx_scheduler_validate_timeout"
	KeyEnableOptimizeChargeGas    = "enable_optimize_charge_gas"

	// BlockConfig keys
	KeyTxTimeOut       = "tx_timeout"
	KeyBlockTxCapacity = "block_tx_capacity"
	KeyBlockSize       = "block_size"
	KeyBlockInterval   = "block_interval"
	KeyTxParamterSize  = "tx_parameter_size"

	// CertManage keys
	KeyCertHashes = "cert_hashes"
	KeyCerts      = "certs"
	KeyCertCrl    = "cert_crl"

	// PrivateCompute keys
	KeyOrderId      = "order_id"
	KeyPrivateDir   = "private_dir"
	KeyContractName = "contract_name"
	KeyCodeHash     = "code_hash"
	KeyResult       = "result"
	KeyCodeHeader   = "code_header"
	KeyVersion      = "version"
	KeyIsDeploy     = "is_deploy"
	KeyRWSet        = "rw_set"
	KeyEvents       = "events"
	KeyReportHash   = "report_hash"
	KeySign         = "sign"
	KeyKey          = "key"
	KeyPayload      = "payload"
	KeyOrgIds       = "org_ids"
	KeySignPairs    = "sign_pairs"
	KeyCaCert       = "ca_cert"
	KeyEnclaveId    = "enclave_id"
	KeyReport       = "report"
	KeyProof        = "proof"
	KeyDeployReq    = "deploy_req"
	KeyPrivateReq   = "private_req"

	// PubkeyManage keys
	KeyPubkey      = "pubkey"
	KeyPubkeyRole  = "role"
	KeyPubkeyOrgId = "org_id"

	// Gas management
	KeyGasAddressKey       = "address_key"
	KeyGasPublicKey        = "public_key"
	KeyGasBatchRecharge    = "batch_recharge"
	KeyGasBalancePublicKey = "balance_public_key"
	KeyGasChargePublicKey  = "charge_public_key"
	KeyGasChargeGasAmount  = "charge_gas_amount"
	KeyGasFrozenPublicKey  = "frozen_public_key"
	KeySetInvokeBaseGas    = "set_invoke_base_gas"
)

nolint

View Source
const (
	// ArchiveConfig consts
	MysqlDBNamePrefix     = "herbt_archived_chain"
	MysqlTableNamePrefix  = "t_block_info"
	RowsPerBlockInfoTable = 100000
)

nolint

Variables

This section is empty.

Functions

func BytesToI64

func BytesToI64(b []byte) (int64, error)

BytesToI64 bytes to int64 in little endian

func BytesToU64

func BytesToU64(b []byte) (uint64, error)

BytesToU64 bytes to uint64 in little endian

func CheckProposalRequestResp

func CheckProposalRequestResp(resp *common.TxResponse, needContractResult bool) error

CheckProposalRequestResp check tx response is ok or not

func DecryptHibeTx

func DecryptHibeTx(localId string, hibeParams []byte, hibePrvKey []byte, tx *common.Transaction,
	keyType crypto.KeyType) ([]byte, error)

DecryptHibeTx DecryptHibeTx

func Exists

func Exists(path string) bool

Exists returns a boolean indicating whether the error is known to report that a file or directory already exists.

func GetCertificateId

func GetCertificateId(certPEM []byte, hashType string) ([]byte, error)

GetCertificateId get cert id from cert pem

func GetCertificateIdFromDER

func GetCertificateIdFromDER(certDER []byte, hashType string) ([]byte, error)

GetCertificateIdFromDER get cert id from cert der

func GetNanoByTimestampTxId

func GetNanoByTimestampTxId(timestampTxId string) (nano int64, err error)

GetNanoByTimestampTxId validate and parse 160 ... 223 22

func GetRandTxId

func GetRandTxId() string

GetRandTxId get random tx id

func GetTimestampTxId

func GetTimestampTxId() string

GetTimestampTxId by current time, see: GetTimestampTxIdByNano eg: 687dca1d9c4fdf1652fdfc072182654f53622c496aa94c05b47d34263cd99ec9

func GetTimestampTxIdByNano

func GetTimestampTxIdByNano(nano int64) string

GetTimestampTxIdByNano nanosecond

func I64ToBytes

func I64ToBytes(i int64) []byte

I64ToBytes int64 to bytes in little endian

func IsArchived

func IsArchived(txStatusCode common.TxStatusCode) bool

IsArchived returns a boolean indicating whether is archived by txStatusCode in common.TxStatusCode

func IsArchivedString

func IsArchivedString(txStatusCode string) bool

IsArchivedString returns a boolean indicating whether is archived by txStatusCode in string

func MakeEndorser

func MakeEndorser(orgId string, hashType crypto.HashType, participantType accesscontrol.ParticipantType, keyPem,
	participantInfo []byte, payload *common.Payload) (*common.EndorsementEntry, error)

MakeEndorser returns *common.EndorsementEntry

func MakeEndorserWithPath

func MakeEndorserWithPath(keyFilePath, crtFilePath string, payload *common.Payload) (*common.EndorsementEntry, error)

MakeEndorserWithPath make endorser with key/cert file path

func MakeEndorserWithPathAndP11Handle

func MakeEndorserWithPathAndP11Handle(keyFilePath, crtFilePath string, p11Handle interface{},
	payload *common.Payload) (*common.EndorsementEntry, error)

MakeEndorserWithPathAndP11Handle make endorser with key/cert file path and P11Handle

func MakeEndorserWithPem

func MakeEndorserWithPem(keyPem, certPem []byte, payload *common.Payload) (*common.EndorsementEntry, error)

MakeEndorserWithPem make endorser with pem Deprecated: This function will be deleted when appropriate. Please use MakeEndorser

func MakePkEndorserWithPath

func MakePkEndorserWithPath(keyFilePath string, hashType crypto.HashType, orgId string,
	payload *common.Payload) (*common.EndorsementEntry, error)

MakePkEndorserWithPath make public mode endorser with key file path

func MakePkEndorserWithPem

func MakePkEndorserWithPem(keyPem []byte, hashType crypto.HashType, orgId string,
	payload *common.Payload) (*common.EndorsementEntry, error)

MakePkEndorserWithPem make public mode endorser with pem Deprecated: This function will be deleted when appropriate. Please use MakeEndorser

func NewEndorser

func NewEndorser(orgId string, certPem []byte, sig []byte) *common.EndorsementEntry

NewEndorser returns *common.EndorsementEntry Deprecated: This function will be deleted when appropriate. Please use NewEndorserWithParticipantType

func NewEndorserWithParticipantType

func NewEndorserWithParticipantType(orgId string, participantInfo []byte, participantType accesscontrol.ParticipantType,
	sig []byte) *common.EndorsementEntry

NewEndorserWithParticipantType new endorser with participant type

func NewPayload

func NewPayload(opts ...PayloadOption) *commonPb.Payload

NewPayload new payload

func NewPkEndorser

func NewPkEndorser(orgId string, pk []byte, sig []byte) *common.EndorsementEntry

NewPkEndorser returns *common.EndorsementEntry

func ParseCert

func ParseCert(crtPEM []byte) (*bcx509.Certificate, error)

ParseCert parse cert pem to *bcx509.Certificate

func ReadHibeParamsWithFilePath

func ReadHibeParamsWithFilePath(hibeParamsFilePath string) ([]byte, error)

ReadHibeParamsWithFilePath Returns the serialized byte array of hibeParams

func ReadHibePrvKeysWithFilePath

func ReadHibePrvKeysWithFilePath(hibePrvKeyFilePath string) ([]byte, error)

ReadHibePrvKeysWithFilePath Returns the serialized byte array of hibePrvKey

func SignPayload

func SignPayload(privateKey crypto.PrivateKey, cert *bcx509.Certificate, payload *common.Payload) ([]byte, error)

SignPayload sign payload Deprecated: This function will be deleted when appropriate. Please use SignPayloadWithHashType

func SignPayloadBytes

func SignPayloadBytes(privateKey crypto.PrivateKey, cert *bcx509.Certificate, payloadBytes []byte) ([]byte, error)

SignPayloadBytes sign payload bytes Deprecated: This function will be deleted when appropriate. Please use SignPayloadBytesWithHashType

func SignPayloadBytesWithHashType

func SignPayloadBytesWithHashType(privateKey crypto.PrivateKey,
	hashType crypto.HashType, payloadBytes []byte) ([]byte, error)

SignPayloadBytesWithHashType sign payload bytes with specified hash type

func SignPayloadWithHashType

func SignPayloadWithHashType(privateKey crypto.PrivateKey,
	hashType crypto.HashType, payload *common.Payload) ([]byte, error)

SignPayloadWithHashType sign payload with specified hash type

func SignPayloadWithPath

func SignPayloadWithPath(keyFilePath, crtFilePath string, payload *common.Payload) ([]byte, error)

SignPayloadWithPath sign payload with specified key/cert file path

func SignPayloadWithPkPath

func SignPayloadWithPkPath(keyFilePath, hashType string, payload *common.Payload) ([]byte, error)

SignPayloadWithPkPath sign payload with specified key file path

func U64ToBytes

func U64ToBytes(i uint64) []byte

U64ToBytes uint64 to bytes in little endian

Types

type ChainClientConfigModel

type ChainClientConfigModel struct {
	ChainClientConfig chainClientConfigModel `mapstructure:"chain_client"`
}

ChainClientConfigModel define ChainClientConfigModel

func InitConfig

func InitConfig(confPath string) (*ChainClientConfigModel, error)

InitConfig init config from config file path

type Logger

type Logger interface {
	Debugf(format string, args ...interface{})
	Infof(format string, args ...interface{})
	Warnf(format string, args ...interface{})
	Errorf(format string, args ...interface{})

	Debug(args ...interface{})
	Info(args ...interface{})
	Warn(args ...interface{})
	Error(args ...interface{})
}

Logger define log interface

type PayloadOption

type PayloadOption func(*commonPb.Payload)

PayloadOption define payload option func

func AddParameter

func AddParameter(parameter *commonPb.KeyValuePair) PayloadOption

AddParameter add one Parameter of payload

func WithChainId

func WithChainId(chainId string) PayloadOption

WithChainId set chainId of payload

func WithContractName

func WithContractName(contractName string) PayloadOption

WithContractName set ContractName of payload

func WithExpirationTime

func WithExpirationTime(expirationTime int64) PayloadOption

WithExpirationTime set ExpirationTime of payload

func WithLimit

func WithLimit(limit *commonPb.Limit) PayloadOption

WithLimit set Limit of payload

func WithMethod

func WithMethod(method string) PayloadOption

WithMethod set Method of payload

func WithParameters

func WithParameters(parameters []*commonPb.KeyValuePair) PayloadOption

WithParameters set Parameters of payload

func WithSequence

func WithSequence(sequence uint64) PayloadOption

WithSequence set Sequence of payload

func WithTimestamp

func WithTimestamp(timestamp int64) PayloadOption

WithTimestamp set Timestamp of payload

func WithTxId

func WithTxId(txId string) PayloadOption

WithTxId set TxId of payload

func WithTxType

func WithTxType(txType commonPb.TxType) PayloadOption

WithTxType set TxType of payload

Jump to

Keyboard shortcuts

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