keeper

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2023 License: AGPL-3.0 Imports: 27 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

Functions

func GetNegFlows added in v0.0.7

func GetNegFlows(flows []types.OutFlow) (negFlows []types.OutFlow)

func MergeSecondarySpObjectsSize added in v0.0.7

func MergeSecondarySpObjectsSize(list []storagetypes.SecondarySpObjectsSize) []storagetypes.SecondarySpObjectsSize

func NewMsgServerImpl

func NewMsgServerImpl(keeper Keeper) types.MsgServer

NewMsgServerImpl returns an implementation of the MsgServer interface for the provided Keeper.

func RegisterCrossApps added in v0.0.9

func RegisterCrossApps(keeper Keeper)

Types

type BucketApp added in v0.0.9

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

func NewBucketApp added in v0.0.9

func NewBucketApp(keeper Keeper) *BucketApp

func (*BucketApp) ExecuteAckPackage added in v0.0.9

func (app *BucketApp) ExecuteAckPackage(ctx sdk.Context, appCtx *sdk.CrossChainAppContext, payload []byte) sdk.ExecuteResult

func (*BucketApp) ExecuteFailAckPackage added in v0.0.9

func (app *BucketApp) ExecuteFailAckPackage(ctx sdk.Context, appCtx *sdk.CrossChainAppContext, payload []byte) sdk.ExecuteResult

func (*BucketApp) ExecuteSynPackage added in v0.0.9

func (app *BucketApp) ExecuteSynPackage(ctx sdk.Context, appCtx *sdk.CrossChainAppContext, payload []byte) sdk.ExecuteResult

type CancelCreateObjectOptions added in v0.0.7

type CancelCreateObjectOptions struct {
	SourceType types.SourceType
}

type CopyObjectOptions added in v0.0.7

type CopyObjectOptions struct {
	SourceType        types.SourceType
	Visibility        types.VisibilityType
	PrimarySpApproval *types.Approval
	ApprovalMsgBytes  []byte
}

type CreateBucketOptions added in v0.0.7

type CreateBucketOptions struct {
	Visibility        types.VisibilityType
	SourceType        types.SourceType
	ChargedReadQuota  uint64
	PaymentAddress    string
	PrimarySpApproval *types.Approval
	ApprovalMsgBytes  []byte
}

type CreateGroupOptions added in v0.0.7

type CreateGroupOptions struct {
	Members    []string
	SourceType types.SourceType
}

type CreateObjectOptions added in v0.0.7

type CreateObjectOptions struct {
	Visibility           types.VisibilityType
	ContentType          string
	SourceType           types.SourceType
	RedundancyType       types.RedundancyType
	Checksums            [][]byte
	SecondarySpAddresses []string
	PrimarySpApproval    *types.Approval
	ApprovalMsgBytes     []byte
}

type DeleteBucketOptions added in v0.0.7

type DeleteBucketOptions struct {
	SourceType types.SourceType
}

type DeleteGroupOptions added in v0.0.7

type DeleteGroupOptions struct {
	SourceType types.SourceType
}

type DeleteObjectOptions added in v0.0.7

type DeleteObjectOptions struct {
	SourceType types.SourceType
}

type GroupApp added in v0.0.9

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

func NewGroupApp added in v0.0.9

func NewGroupApp(keeper Keeper) *GroupApp

func (*GroupApp) ExecuteAckPackage added in v0.0.9

func (app *GroupApp) ExecuteAckPackage(ctx sdk.Context, appCtx *sdk.CrossChainAppContext, payload []byte) sdk.ExecuteResult

func (*GroupApp) ExecuteFailAckPackage added in v0.0.9

func (app *GroupApp) ExecuteFailAckPackage(ctx sdk.Context, appCtx *sdk.CrossChainAppContext, payload []byte) sdk.ExecuteResult

func (*GroupApp) ExecuteSynPackage added in v0.0.9

func (app *GroupApp) ExecuteSynPackage(ctx sdk.Context, appCtx *sdk.CrossChainAppContext, payload []byte) sdk.ExecuteResult

type Keeper

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

func NewKeeper

func NewKeeper(
	cdc codec.BinaryCodec,
	storeKey,
	memKey storetypes.StoreKey,
	ps paramtypes.Subspace,
	accountKeeper types.AccountKeeper,
	spKeeper types.SpKeeper,
	paymentKeeper types.PaymentKeeper,
	permKeeper types.PermissionKeeper,
	crossChainKeeper types.CrossChainKeeper,
) *Keeper

func (Keeper) CancelCreateObject added in v0.0.7

func (k Keeper) CancelCreateObject(
	ctx sdk.Context, operator sdk.AccAddress,
	bucketName, objectName string, opts CancelCreateObjectOptions) error

func (Keeper) ChargeAccordingToBillChange added in v0.0.7

func (k Keeper) ChargeAccordingToBillChange(ctx sdk.Context, prev, current types.UserFlows) error

func (Keeper) ChargeDeleteBucket added in v0.0.10

func (k Keeper) ChargeDeleteBucket(ctx sdk.Context, bucketInfo *storagetypes.BucketInfo) error

func (Keeper) ChargeDeleteObject added in v0.0.7

func (k Keeper) ChargeDeleteObject(ctx sdk.Context, bucketInfo *storagetypes.BucketInfo, objectInfo *storagetypes.ObjectInfo) error

func (Keeper) ChargeInitialReadFee added in v0.0.7

func (k Keeper) ChargeInitialReadFee(ctx sdk.Context, bucketInfo *storagetypes.BucketInfo) error

func (Keeper) ChargeViaBucketChange added in v0.0.7

func (k Keeper) ChargeViaBucketChange(ctx sdk.Context, bucketInfo *storagetypes.BucketInfo, changeFunc func(bucketInfo *storagetypes.BucketInfo) error) error

func (Keeper) CopyObject added in v0.0.7

func (k Keeper) CopyObject(
	ctx sdk.Context, operator sdk.AccAddress, srcBucketName, srcObjectName, dstBucketName, dstObjectName string,
	opts CopyObjectOptions) (sdkmath.Uint, error)

func (Keeper) CreateBucket

func (k Keeper) CreateBucket(
	ctx sdk.Context, ownerAcc sdk.AccAddress, bucketName string,
	primarySpAcc sdk.AccAddress, opts *CreateBucketOptions) (sdkmath.Uint, error)

func (Keeper) CreateGroup

func (k Keeper) CreateGroup(
	ctx sdk.Context, owner sdk.AccAddress,
	groupName string, opts CreateGroupOptions) (sdkmath.Uint, error)

func (Keeper) CreateObject

func (k Keeper) CreateObject(
	ctx sdk.Context, operator sdk.AccAddress, bucketName, objectName string,
	payloadSize uint64, opts CreateObjectOptions) (sdkmath.Uint, error)

func (Keeper) DeleteBucket

func (k Keeper) DeleteBucket(ctx sdk.Context, operator sdk.AccAddress, bucketName string, opts DeleteBucketOptions) error

func (Keeper) DeleteGroup

func (k Keeper) DeleteGroup(ctx sdk.Context, operator sdk.AccAddress, groupName string, opts DeleteGroupOptions) error

func (Keeper) DeleteObject

func (k Keeper) DeleteObject(
	ctx sdk.Context, operator sdk.AccAddress, bucketName, objectName string, opts DeleteObjectOptions) error

func (Keeper) DeletePolicy added in v0.0.7

func (k Keeper) DeletePolicy(ctx sdk.Context, operator sdk.AccAddress, principal *permtypes.Principal,
	grn types2.GRN) (math.Uint,
	error)

func (Keeper) GenNextBucketId added in v0.0.7

func (k Keeper) GenNextBucketId(ctx sdk.Context) sdkmath.Uint

func (Keeper) GenNextGroupId added in v0.0.7

func (k Keeper) GenNextGroupId(ctx sdk.Context) sdkmath.Uint

func (Keeper) GenNextObjectID added in v0.0.7

func (k Keeper) GenNextObjectID(ctx sdk.Context) sdkmath.Uint

func (Keeper) GetBucketBill added in v0.0.7

func (k Keeper) GetBucketBill(ctx sdk.Context, bucketInfo *storagetypes.BucketInfo) (userFlows types.UserFlows, err error)

func (Keeper) GetBucketInfo added in v0.0.7

func (k Keeper) GetBucketInfo(ctx sdk.Context, bucketName string) (*types.BucketInfo, bool)

func (Keeper) GetBucketInfoById added in v0.0.7

func (k Keeper) GetBucketInfoById(ctx sdk.Context, bucketId sdkmath.Uint) (*types.BucketInfo, bool)

func (Keeper) GetChargeSize added in v0.0.7

func (k Keeper) GetChargeSize(ctx sdk.Context, payloadSize uint64, _time int64) uint64

TODO(Fynn): refactor when we have a way to record the min charge size parameter history

func (Keeper) GetExpectSecondarySPNumForECObject added in v0.0.9

func (k Keeper) GetExpectSecondarySPNumForECObject(ctx sdk.Context) (res uint32)

func (Keeper) GetGroupInfo added in v0.0.7

func (k Keeper) GetGroupInfo(ctx sdk.Context, ownerAddr sdk.AccAddress,
	groupName string) (*types.GroupInfo, bool)

func (Keeper) GetGroupInfoById added in v0.0.7

func (k Keeper) GetGroupInfoById(ctx sdk.Context, groupId sdkmath.Uint) (*types.GroupInfo, bool)

func (Keeper) GetObjectInfo added in v0.0.7

func (k Keeper) GetObjectInfo(ctx sdk.Context, bucketName string, objectName string) (*types.ObjectInfo, bool)

func (Keeper) GetObjectInfoById added in v0.0.7

func (k Keeper) GetObjectInfoById(ctx sdk.Context, objectId sdkmath.Uint) (*types.ObjectInfo, bool)

func (Keeper) GetObjectInfoCount added in v0.0.7

func (k Keeper) GetObjectInfoCount(ctx sdk.Context) sdkmath.Uint

func (Keeper) GetObjectLockFee added in v0.0.7

func (k Keeper) GetObjectLockFee(ctx sdk.Context, primarySpAddress string, priceTime int64, payloadSize uint64) (amount sdkmath.Int, err error)

func (Keeper) GetParams

func (k Keeper) GetParams(ctx sdk.Context) types.Params

GetParams get all parameters as types.Params

func (Keeper) GetPolicy added in v0.0.7

func (k Keeper) GetPolicy(ctx sdk.Context, grn *types2.GRN, principal *permtypes.Principal) (*permtypes.Policy, error)

func (Keeper) HeadBucket added in v0.0.6

func (Keeper) HeadBucketById added in v0.0.7

func (Keeper) HeadBucketNFT added in v0.0.7

func (k Keeper) HeadBucketNFT(goCtx context.Context, req *types.QueryNFTRequest) (*types.QueryBucketNFTResponse, error)

func (Keeper) HeadGroup added in v0.0.8

func (Keeper) HeadGroupMember added in v0.0.8

func (Keeper) HeadGroupNFT added in v0.0.7

func (k Keeper) HeadGroupNFT(goCtx context.Context, req *types.QueryNFTRequest) (*types.QueryGroupNFTResponse, error)

func (Keeper) HeadObject added in v0.0.6

func (Keeper) HeadObjectById added in v0.0.7

func (Keeper) HeadObjectNFT added in v0.0.7

func (k Keeper) HeadObjectNFT(goCtx context.Context, req *types.QueryNFTRequest) (*types.QueryObjectNFTResponse, error)

func (Keeper) LeaveGroup added in v0.0.7

func (k Keeper) LeaveGroup(
	ctx sdk.Context, member sdk.AccAddress, owner sdk.AccAddress,
	groupName string, opts LeaveGroupOptions) error

func (Keeper) ListBuckets added in v0.0.6

func (Keeper) ListGroup added in v0.0.8

func (Keeper) ListObjects added in v0.0.6

func (Keeper) ListObjectsByBucketId added in v0.0.7

func (Keeper) LockStoreFee added in v0.0.7

func (k Keeper) LockStoreFee(ctx sdk.Context, bucketInfo *storagetypes.BucketInfo, objectInfo *storagetypes.ObjectInfo) error

func (Keeper) Logger

func (k Keeper) Logger(ctx sdk.Context) log.Logger

func (Keeper) MaxBucketsPerAccount added in v0.0.10

func (k Keeper) MaxBucketsPerAccount(ctx sdk.Context) (res uint32)

func (Keeper) MaxPayloadSize

func (k Keeper) MaxPayloadSize(ctx sdk.Context) (res uint64)

func (Keeper) MaxSegmentSize

func (k Keeper) MaxSegmentSize(ctx sdk.Context) (res uint64)

func (Keeper) MinChargeSize added in v0.0.7

func (k Keeper) MinChargeSize(ctx sdk.Context) (res uint64)

func (Keeper) MirrorBucketAckRelayerFee added in v0.0.9

func (k Keeper) MirrorBucketAckRelayerFee(ctx sdk.Context) *big.Int

func (Keeper) MirrorBucketRelayerFee added in v0.0.9

func (k Keeper) MirrorBucketRelayerFee(ctx sdk.Context) *big.Int

func (Keeper) MirrorGroupAckRelayerFee added in v0.0.9

func (k Keeper) MirrorGroupAckRelayerFee(ctx sdk.Context) *big.Int

func (Keeper) MirrorGroupRelayerFee added in v0.0.9

func (k Keeper) MirrorGroupRelayerFee(ctx sdk.Context) *big.Int

func (Keeper) MirrorObjectAckRelayerFee added in v0.0.9

func (k Keeper) MirrorObjectAckRelayerFee(ctx sdk.Context) *big.Int

func (Keeper) MirrorObjectRelayerFee added in v0.0.9

func (k Keeper) MirrorObjectRelayerFee(ctx sdk.Context) *big.Int

func (Keeper) Params

func (Keeper) PutPolicy added in v0.0.7

func (k Keeper) PutPolicy(ctx sdk.Context, operator sdk.AccAddress, grn types2.GRN,
	policy *permtypes.Policy) (math.Uint, error)

func (Keeper) QueryPolicyForAccount added in v0.0.8

func (Keeper) QueryPolicyForGroup added in v0.0.8

func (Keeper) RedundantDataChunkNum

func (k Keeper) RedundantDataChunkNum(ctx sdk.Context) (res uint32)

func (Keeper) RedundantParityChunkNum

func (k Keeper) RedundantParityChunkNum(ctx sdk.Context) (res uint32)

func (Keeper) RejectSealObject added in v0.0.7

func (k Keeper) RejectSealObject(ctx sdk.Context, operator sdk.AccAddress, bucketName, objectName string) error

func (Keeper) SealObject added in v0.0.7

func (k Keeper) SealObject(
	ctx sdk.Context, spSealAcc sdk.AccAddress,
	bucketName, objectName string, opts SealObjectOptions) error

func (Keeper) SetBucketInfo added in v0.0.9

func (k Keeper) SetBucketInfo(ctx sdk.Context, bucketInfo *types.BucketInfo)

func (Keeper) SetGroupInfo added in v0.0.9

func (k Keeper) SetGroupInfo(ctx sdk.Context, groupInfo *types.GroupInfo)

func (Keeper) SetObjectInfo added in v0.0.9

func (k Keeper) SetObjectInfo(ctx sdk.Context, objectInfo *types.ObjectInfo)

func (Keeper) SetParams

func (k Keeper) SetParams(ctx sdk.Context, params types.Params)

SetParams set the params

func (Keeper) UnlockAndChargeStoreFee added in v0.0.7

func (k Keeper) UnlockAndChargeStoreFee(ctx sdk.Context, bucketInfo *storagetypes.BucketInfo, objectInfo *storagetypes.ObjectInfo) error

func (Keeper) UnlockStoreFee added in v0.0.7

func (k Keeper) UnlockStoreFee(ctx sdk.Context, bucketInfo *storagetypes.BucketInfo, objectInfo *storagetypes.ObjectInfo) error

UnlockStoreFee unlock store fee if the object is deleted in INIT state

func (Keeper) UpdateBucketInfo added in v0.0.7

func (k Keeper) UpdateBucketInfo(ctx sdk.Context, operator sdk.AccAddress, bucketName string, opts UpdateBucketOptions) error

func (Keeper) UpdateBucketInfoAndCharge added in v0.0.7

func (k Keeper) UpdateBucketInfoAndCharge(ctx sdk.Context, bucketInfo *storagetypes.BucketInfo, newPaymentAddr string, newReadQuota uint64) error

func (Keeper) UpdateGroupMember added in v0.0.7

func (k Keeper) UpdateGroupMember(ctx sdk.Context, operator sdk.AccAddress, groupInfo *types.GroupInfo, opts UpdateGroupMemberOptions) error

func (Keeper) VerifyBucketPermission added in v0.0.7

func (k Keeper) VerifyBucketPermission(ctx sdk.Context, bucketInfo *types.BucketInfo, operator sdk.AccAddress,
	action permtypes.ActionType, options *permtypes.VerifyOptions) permtypes.Effect

VerifyBucketPermission Bucket permissions checks are divided into three steps: First, if the bucket is a public bucket and the action is a read-only action, it returns "allow". Second, if the operator is the owner of the bucket, it returns "allow", as the owner has the highest permission. Third, verify the policy corresponding to the bucket and the operator.

  1. If the policy is evaluated as "allow", return "allow" to the user.
  2. If it is evaluated as "deny" or "unspecified", return "deny".

func (Keeper) VerifyGroupPermission added in v0.0.7

func (k Keeper) VerifyGroupPermission(ctx sdk.Context, groupInfo *types.GroupInfo, operator sdk.AccAddress,
	action permtypes.ActionType) permtypes.Effect

func (Keeper) VerifyObjectPermission added in v0.0.7

func (k Keeper) VerifyObjectPermission(ctx sdk.Context, bucketInfo *types.BucketInfo, objectInfo *types.ObjectInfo,
	operator sdk.AccAddress, action permtypes.ActionType) permtypes.Effect

VerifyObjectPermission Object permission checks are divided into four steps: First, if the object is a public object and the action is a read-only action, it returns "allow". Second, if the operator is the owner of the bucket, it returns "allow" Third, verify the policy corresponding to the bucket and the operator

  1. If it is evaluated as "deny", return "deny"
  2. If it is evaluated as "allow" or "unspecified", go ahead (Noted as EffectBucket)

Four, verify the policy corresponding to the object and the operator

  1. If it is evaluated as "deny", return "deny".
  2. If it is evaluated as "allow", return "allow".
  3. If it is evaluated as "unspecified", then if the EffectBucket is "allow", return allow
  4. If it is evaluated as "unspecified", then if the EffectBucket is "unspecified", return deny

func (Keeper) VerifyPaymentAccount added in v0.0.7

func (k Keeper) VerifyPaymentAccount(ctx sdk.Context, paymentAddress string, ownerAcc sdk.AccAddress) (sdk.AccAddress, error)

func (Keeper) VerifyPermission added in v0.0.7

func (Keeper) VerifySPAndSignature added in v0.0.6

func (k Keeper) VerifySPAndSignature(ctx sdk.Context, spAcc sdk.AccAddress, sigData []byte, signature []byte) error

type LeaveGroupOptions added in v0.0.7

type LeaveGroupOptions struct {
	SourceType types.SourceType
}

type ObjectApp added in v0.0.9

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

func NewObjectApp added in v0.0.9

func NewObjectApp(keeper Keeper) *ObjectApp

func (*ObjectApp) ExecuteAckPackage added in v0.0.9

func (app *ObjectApp) ExecuteAckPackage(ctx sdk.Context, appCtx *sdk.CrossChainAppContext, payload []byte) sdk.ExecuteResult

func (*ObjectApp) ExecuteFailAckPackage added in v0.0.9

func (app *ObjectApp) ExecuteFailAckPackage(ctx sdk.Context, appCtx *sdk.CrossChainAppContext, payload []byte) sdk.ExecuteResult

func (*ObjectApp) ExecuteSynPackage added in v0.0.9

func (app *ObjectApp) ExecuteSynPackage(ctx sdk.Context, appCtx *sdk.CrossChainAppContext, payload []byte) sdk.ExecuteResult

type SealObjectOptions added in v0.0.7

type SealObjectOptions struct {
	SecondarySpAddresses  []string
	SecondarySpSignatures [][]byte
}

type UpdateBucketOptions added in v0.0.7

type UpdateBucketOptions struct {
	Visibility       types.VisibilityType
	SourceType       types.SourceType
	PaymentAddress   string
	ChargedReadQuota *uint64
}

type UpdateGroupMemberOptions added in v0.0.7

type UpdateGroupMemberOptions struct {
	SourceType      types.SourceType
	MembersToAdd    []string
	MembersToDelete []string
}

Jump to

Keyboard shortcuts

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