utils

package
v10.0.0 Latest Latest
Warning

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

Go to latest
Published: Jun 15, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Admins = map[string]bool{
	"stride1k8c2m5cn322akk5wy8lpt87dd2f4yh9azg7jlh": true,
	"stride10d07y265gmmuvt4z0w9aw880jnsr700jefnezl": true,
}

Functions

func CanCreateModuleAccountAtAddr

func CanCreateModuleAccountAtAddr(ctx sdk.Context, ak AccountKeeper, addr sdk.AccAddress) error

CanCreateModuleAccountAtAddr tells us if we can safely make a module account at a given address. By collision resistance of the address (given API safe construction), the only way for an account to be already be at this address is if its claimed by the same pre-image from the correct module, or some SDK command breaks assumptions and creates an account at designated address. This function checks if there is an account at that address, and runs some safety checks to be extra-sure its not a user account (e.g. non-zero sequence, pubkey, of fore-seen account types). If there is no account, or if we believe its not a user-spendable account, we allow module account creation at the address. else, we do not.

func ContainsString

func ContainsString(s []string, e string) bool

check string array inclusion

func ConvertAddressToStrideAddress

func ConvertAddressToStrideAddress(address string) string

Convert any bech32 to stride address

func CreateModuleAccount

func CreateModuleAccount(ctx sdk.Context, ak AccountKeeper, addr sdk.AccAddress) error

CreateModuleAccount creates a module account at the provided address. It overrides an account if it exists at that address, with a non-zero sequence number & pubkey Contract: addr is derived from `address.Module(ModuleName, key)`

func FilterDepositRecords

func FilterDepositRecords(arr []recordstypes.DepositRecord, condition func(recordstypes.DepositRecord) bool) (ret []recordstypes.DepositRecord)

func GetFromBech32

func GetFromBech32(bech32str, prefix string) ([]byte, error)

GetFromBech32 decodes a bytestring from a Bech32 encoded string.

func GetVestedCoinsAt

func GetVestedCoinsAt(vAt int64, vStart int64, vLength int64, vCoins sdk.Coins) sdk.Coins

Compute coin amount for specific period using linear vesting calculation algorithm.

func Int32MapKeys

func Int32MapKeys[V any](m map[int32]V) []int32

func Int64ToCoinString

func Int64ToCoinString(amount int64, denom string) string

func LogHeader

func LogHeader(s string, a ...any) string

Returns a log header string with a dash padding on either side Ex:

------------------------------ string ------------------------------

func LogICACallbackStatusWithHostZone

func LogICACallbackStatusWithHostZone(chainId string, callbackId string, status icacallbacktypes.AckResponseStatus, packet channeltypes.Packet) string

Returns a log string with a chain Id and icacallback as a prefix, and status of the callback Ex:

| COSMOSHUB-4   |  DELEGATE ICACALLBACK  |  ICA SUCCESS, Packet: ...

func LogICACallbackWithHostZone

func LogICACallbackWithHostZone(chainId string, callbackId string, s string, a ...any) string

Returns a log string with a chain Id and icacallback as a prefix Ex:

| COSMOSHUB-4   |  DELEGATE ICACALLBACK  |  string

func LogICQCallbackWithHostZone

func LogICQCallbackWithHostZone(chainId string, callbackId string, s string, a ...any) string

Returns a log string with a chain Id and icqcallback as a prefix Ex:

| COSMOSHUB-4   |  WITHDRAWALBALANCE ICQCALLBACK  |  string

func LogWithHostZone

func LogWithHostZone(chainId string, s string, a ...any) string

Returns a log string with a chainId and tab as the prefix Ex:

| COSMOSHUB-4   |   string

func Max64

func Max64(i, j int64) int64

============================== AIRDROP UTILS ================================ max64 returns the maximum of its inputs.

func Min

func Min(a int, b int) int

func Min64

func Min64(i, j int64) int64

Min64 returns the minimum of its inputs.

func StringMapKeys

func StringMapKeys[V any](m map[string]V) []string

func ValidateAdminAddress

func ValidateAdminAddress(address string) error

func VerifyAddressFormat

func VerifyAddressFormat(bz []byte) error

VerifyAddressFormat verifies that the provided bytes form a valid address according to the default address rules or a custom address verifier set by GetConfig().SetAddressVerifier(). TODO make an issue to get rid of global Config ref: https://github.com/cosmos/cosmos-sdk/issues/9690

Types

type AccAddress

type AccAddress []byte

AccAddress a wrapper around bytes meant to represent an account address. When marshaled to a string or JSON, it uses Bech32.

func AccAddressFromBech32

func AccAddressFromBech32(address string, bech32prefix string) (addr AccAddress, err error)

AccAddressFromBech32 creates an AccAddress from a Bech32 string.

type AccountKeeper

type AccountKeeper interface {
	NewAccount(sdk.Context, authtypes.AccountI) authtypes.AccountI
	GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI
	SetAccount(ctx sdk.Context, acc authtypes.AccountI)
}

Jump to

Keyboard shortcuts

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