Documentation
¶
Index ¶
- func Exists(path string) bool
- func GetAuthorizerCount(fileName string, code []byte) int
- func NewStakingInfoFromValue(value cadence.Value) ([]map[string]interface{}, error)
- func ParseArgumentsJSON(input string) ([]cadence.Value, error)
- func ParseArgumentsWithoutType(fileName string, code []byte, args []string) (scriptArgs []cadence.Value, err error)
- type Account
- type AccountKey
- type Accounts
- type Bip44AccountKey
- func (a Bip44AccountKey) HashAlgo() crypto.HashAlgorithm
- func (a Bip44AccountKey) Index() int
- func (a *Bip44AccountKey) PrivateKey() (*crypto.PrivateKey, error)
- func (a *Bip44AccountKey) PrivateKeyHex() string
- func (a Bip44AccountKey) SigAlgo() crypto.SignatureAlgorithm
- func (a *Bip44AccountKey) Signer(ctx context.Context) (crypto.Signer, error)
- func (a *Bip44AccountKey) ToConfig() config.AccountKey
- func (a Bip44AccountKey) Type() config.KeyType
- func (a *Bip44AccountKey) Validate() error
- type CadenceArgument
- type Event
- type Events
- type FileAccountKey
- func (a FileAccountKey) HashAlgo() crypto.HashAlgorithm
- func (a FileAccountKey) Index() int
- func (f *FileAccountKey) PrivateKey() (*crypto.PrivateKey, error)
- func (a FileAccountKey) SigAlgo() crypto.SignatureAlgorithm
- func (f *FileAccountKey) Signer(ctx context.Context) (crypto.Signer, error)
- func (f *FileAccountKey) ToConfig() config.AccountKey
- func (a FileAccountKey) Type() config.KeyType
- func (a FileAccountKey) Validate() error
- type HexAccountKey
- func (a HexAccountKey) HashAlgo() crypto.HashAlgorithm
- func (a HexAccountKey) Index() int
- func (a *HexAccountKey) PrivateKey() (*crypto.PrivateKey, error)
- func (a *HexAccountKey) PrivateKeyHex() string
- func (a HexAccountKey) SigAlgo() crypto.SignatureAlgorithm
- func (a *HexAccountKey) Signer(ctx context.Context) (crypto.Signer, error)
- func (a *HexAccountKey) ToConfig() config.AccountKey
- func (a HexAccountKey) Type() config.KeyType
- func (a *HexAccountKey) Validate() error
- type KmsAccountKey
- func (a KmsAccountKey) HashAlgo() crypto.HashAlgorithm
- func (a KmsAccountKey) Index() int
- func (a *KmsAccountKey) PrivateKey() (*crypto.PrivateKey, error)
- func (a KmsAccountKey) SigAlgo() crypto.SignatureAlgorithm
- func (a *KmsAccountKey) Signer(ctx context.Context) (crypto.Signer, error)
- func (a *KmsAccountKey) ToConfig() config.AccountKey
- func (a KmsAccountKey) Type() config.KeyType
- func (a *KmsAccountKey) Validate() error
- type ReaderWriter
- type Script
- type State
- func (p *State) Accounts() *Accounts
- func (p *State) AccountsForNetwork(network string) Accounts
- func (p *State) AliasesForNetwork(network string) project.LocationAliases
- func (p *State) Config() *config.Config
- func (p *State) Contracts() *config.Contracts
- func (p *State) DeploymentContractsByNetwork(network string) ([]*project.Contract, error)
- func (p *State) Deployments() *config.Deployments
- func (p *State) EmulatorServiceAccount() (*Account, error)
- func (p *State) Networks() *config.Networks
- func (p *State) ReadFile(source string) ([]byte, error)
- func (p *State) ReaderWriter() ReaderWriter
- func (p *State) Save(path string) error
- func (p *State) SaveDefault() error
- func (p *State) SaveEdited(paths []string) error
- func (p *State) SetAccountFileLocation(account Account, location string)
- func (p *State) SetEmulatorKey(privateKey crypto.PrivateKey)
- type Transaction
- func NewAddAccountContractTransaction(signer *Account, name string, source []byte, args []cadence.Value) (*Transaction, error)
- func NewCreateAccountTransaction(signer *Account, keys []*flow.AccountKey, contracts []templates.Contract) (*Transaction, error)
- func NewRemoveAccountContractTransaction(signer *Account, name string) (*Transaction, error)
- func NewTransaction() *Transaction
- func NewTransactionFromPayload(payload []byte) (*Transaction, error)
- func NewUpdateAccountContractTransaction(signer *Account, name string, source []byte) (*Transaction, error)
- func (t *Transaction) AddArgument(arg cadence.Value) error
- func (t *Transaction) AddArguments(args []cadence.Value) error
- func (t *Transaction) AddAuthorizers(authorizers []flow.Address) (*Transaction, error)
- func (t *Transaction) FlowTransaction() *flow.Transaction
- func (t *Transaction) Proposer() *flow.Account
- func (t *Transaction) SetBlockReference(block *flow.Block) *Transaction
- func (t *Transaction) SetGasLimit(gasLimit uint64) *Transaction
- func (t *Transaction) SetPayer(address flow.Address) *Transaction
- func (t *Transaction) SetProposer(proposer *flow.Account, keyIndex int) error
- func (t *Transaction) SetScriptWithArgs(script []byte, args []cadence.Value) error
- func (t *Transaction) SetSigner(account *Account) error
- func (t *Transaction) Sign() (*Transaction, error)
- func (t *Transaction) Signer() *Account
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetAuthorizerCount ¶
func NewStakingInfoFromValue ¶
Types ¶
type Account ¶
type Account struct {
// contains filtered or unexported fields
}
Account is a flowkit-specific account implementation.
func NewAccount ¶
NewAccount creates an empty account with the provided name.
func NewAccountFromOnChainAccount ¶
func NewAccountFromOnChainAccount( name string, onChainAccount *flow.Account, privateKey crypto.PrivateKey, ) (*Account, error)
NewAccountFromOnChainAccount creates a new flowkit account definition that mirrors an already-existing on-chain Flow account.
This function requires the on-chain account to have exactly one public key with full signing weight (1000). This ensures that the user has complete and sole control over the on-chain account.
func (*Account) SetAddress ¶
SetAddress sets the account address.
type AccountKey ¶
type AccountKey interface { Type() config.KeyType Index() int SigAlgo() crypto.SignatureAlgorithm HashAlgo() crypto.HashAlgorithm Signer(ctx context.Context) (crypto.Signer, error) ToConfig() config.AccountKey Validate() error PrivateKey() (*crypto.PrivateKey, error) }
AccountKey is a flowkit specific account key implementation allowing us to sign the transactions using different implemented methods.
type Accounts ¶
type Accounts []Account
Accounts is a collection of account.
func (*Accounts) AddOrUpdate ¶
AddOrUpdate add account if missing or updates if present.
type Bip44AccountKey ¶
type Bip44AccountKey struct {
// contains filtered or unexported fields
}
Bip44AccountKey implements https://github.com/onflow/flow/blob/master/flips/20201125-bip-44-multi-account.md
func (Bip44AccountKey) HashAlgo ¶
func (a Bip44AccountKey) HashAlgo() crypto.HashAlgorithm
func (*Bip44AccountKey) PrivateKey ¶
func (a *Bip44AccountKey) PrivateKey() (*crypto.PrivateKey, error)
func (*Bip44AccountKey) PrivateKeyHex ¶
func (a *Bip44AccountKey) PrivateKeyHex() string
func (Bip44AccountKey) SigAlgo ¶
func (a Bip44AccountKey) SigAlgo() crypto.SignatureAlgorithm
func (*Bip44AccountKey) ToConfig ¶
func (a *Bip44AccountKey) ToConfig() config.AccountKey
func (*Bip44AccountKey) Validate ¶
func (a *Bip44AccountKey) Validate() error
type CadenceArgument ¶
func (CadenceArgument) MarshalJSON ¶
func (v CadenceArgument) MarshalJSON() ([]byte, error)
func (*CadenceArgument) UnmarshalJSON ¶
func (v *CadenceArgument) UnmarshalJSON(b []byte) (err error)
type Event ¶
func (*Event) GetAddress ¶
func (e *Event) GetAddress() *flow.Address
type Events ¶
type Events []Event
func EventsFromTransaction ¶
func EventsFromTransaction(tx *flow.TransactionResult) Events
func (*Events) GetAddress ¶
func (e *Events) GetAddress() *flow.Address
func (*Events) GetAddressForKeyAdded ¶
func (*Events) GetCreatedAddresses ¶
func (e *Events) GetCreatedAddresses() []*flow.Address
type FileAccountKey ¶
type FileAccountKey struct {
// contains filtered or unexported fields
}
func NewFileAccountKey ¶
func NewFileAccountKey( location string, index int, sigAlgo crypto.SignatureAlgorithm, hashAlgo crypto.HashAlgorithm, ) *FileAccountKey
NewFileAccountKey creates a new account key that is stored to a separate file in the provided location.
This type of the key is a more secure way of storing accounts. The config only includes the location and not the key.
func (FileAccountKey) HashAlgo ¶
func (a FileAccountKey) HashAlgo() crypto.HashAlgorithm
func (*FileAccountKey) PrivateKey ¶
func (f *FileAccountKey) PrivateKey() (*crypto.PrivateKey, error)
func (FileAccountKey) SigAlgo ¶
func (a FileAccountKey) SigAlgo() crypto.SignatureAlgorithm
func (*FileAccountKey) ToConfig ¶
func (f *FileAccountKey) ToConfig() config.AccountKey
type HexAccountKey ¶
type HexAccountKey struct {
// contains filtered or unexported fields
}
HexAccountKey implements account key in hex representation.
func NewHexAccountKeyFromPrivateKey ¶
func NewHexAccountKeyFromPrivateKey( index int, hashAlgo crypto.HashAlgorithm, privateKey crypto.PrivateKey, ) *HexAccountKey
func (HexAccountKey) HashAlgo ¶
func (a HexAccountKey) HashAlgo() crypto.HashAlgorithm
func (*HexAccountKey) PrivateKey ¶
func (a *HexAccountKey) PrivateKey() (*crypto.PrivateKey, error)
func (*HexAccountKey) PrivateKeyHex ¶
func (a *HexAccountKey) PrivateKeyHex() string
func (HexAccountKey) SigAlgo ¶
func (a HexAccountKey) SigAlgo() crypto.SignatureAlgorithm
func (*HexAccountKey) ToConfig ¶
func (a *HexAccountKey) ToConfig() config.AccountKey
func (*HexAccountKey) Validate ¶
func (a *HexAccountKey) Validate() error
type KmsAccountKey ¶
type KmsAccountKey struct {
// contains filtered or unexported fields
}
KmsAccountKey implements Gcloud KMS system for signing.
func (KmsAccountKey) HashAlgo ¶
func (a KmsAccountKey) HashAlgo() crypto.HashAlgorithm
func (*KmsAccountKey) PrivateKey ¶
func (a *KmsAccountKey) PrivateKey() (*crypto.PrivateKey, error)
func (KmsAccountKey) SigAlgo ¶
func (a KmsAccountKey) SigAlgo() crypto.SignatureAlgorithm
func (*KmsAccountKey) ToConfig ¶
func (a *KmsAccountKey) ToConfig() config.AccountKey
ToConfig convert account key to configuration.
func (*KmsAccountKey) Validate ¶
func (a *KmsAccountKey) Validate() error
type ReaderWriter ¶
type ReaderWriter interface { ReadFile(source string) ([]byte, error) WriteFile(filename string, data []byte, perm os.FileMode) error }
ReaderWriter is implemented by any value that has ReadFile and WriteFile and it is used to load and save files.
type Script ¶
Script includes Cadence code and optional arguments and filename.
Filename is only required to be passed if you want to resolve imports.
type State ¶
type State struct {
// contains filtered or unexported fields
}
State manages the state for a Flow project.
func Init ¶
func Init( readerWriter ReaderWriter, sigAlgo crypto.SignatureAlgorithm, hashAlgo crypto.HashAlgorithm, ) (*State, error)
Init initializes a new Flow project.
func Load ¶
func Load(configFilePaths []string, readerWriter ReaderWriter) (*State, error)
Load loads a project configuration and returns the resulting project.
func (*State) AccountsForNetwork ¶
AccountsForNetwork returns all accounts used on a network defined by deployments.
func (*State) AliasesForNetwork ¶
func (p *State) AliasesForNetwork(network string) project.LocationAliases
AliasesForNetwork returns all deployment aliases for a network.
func (*State) DeploymentContractsByNetwork ¶
DeploymentContractsByNetwork returns all contracts for a network.
Build contract slice based on the network provided, check the deployment section for that network and retrieve the account by name, then add the accounts address on the contract as a destination.
func (*State) Deployments ¶
func (p *State) Deployments() *config.Deployments
Deployments get deployments configuration.
func (*State) EmulatorServiceAccount ¶
EmulatorServiceAccount returns the service account for the default emulator profile.
func (*State) ReaderWriter ¶
func (p *State) ReaderWriter() ReaderWriter
ReaderWriter retrieve current file reader writer.
func (*State) SaveEdited ¶
SaveEdited saves configuration to valid path.
func (*State) SetAccountFileLocation ¶
SetAccountFileLocation sets a private file location for the specified account.
func (*State) SetEmulatorKey ¶
func (p *State) SetEmulatorKey(privateKey crypto.PrivateKey)
SetEmulatorKey sets the default emulator service account private key.
type Transaction ¶
type Transaction struct {
// contains filtered or unexported fields
}
Transaction builder of flow transactions.
func NewAddAccountContractTransaction ¶
func NewAddAccountContractTransaction( signer *Account, name string, source []byte, args []cadence.Value, ) (*Transaction, error)
NewAddAccountContractTransaction add new contract to the account.
func NewCreateAccountTransaction ¶
func NewCreateAccountTransaction( signer *Account, keys []*flow.AccountKey, contracts []templates.Contract, ) (*Transaction, error)
NewCreateAccountTransaction creates new transaction for account.
func NewRemoveAccountContractTransaction ¶
func NewRemoveAccountContractTransaction(signer *Account, name string) (*Transaction, error)
NewRemoveAccountContractTransaction creates new transaction to remove contract.
func NewTransaction ¶
func NewTransaction() *Transaction
NewTransaction create new instance of transaction.
func NewTransactionFromPayload ¶
func NewTransactionFromPayload(payload []byte) (*Transaction, error)
NewTransactionFromPayload build transaction from payload.
func NewUpdateAccountContractTransaction ¶
func NewUpdateAccountContractTransaction(signer *Account, name string, source []byte) (*Transaction, error)
NewUpdateAccountContractTransaction update account contract.
func (*Transaction) AddArgument ¶
func (t *Transaction) AddArgument(arg cadence.Value) error
AddArgument add cadence typed argument.
func (*Transaction) AddArguments ¶
func (t *Transaction) AddArguments(args []cadence.Value) error
AddArguments add array of cadence arguments.
func (*Transaction) AddAuthorizers ¶
func (t *Transaction) AddAuthorizers(authorizers []flow.Address) (*Transaction, error)
AddAuthorizers add group of authorizers.
func (*Transaction) FlowTransaction ¶
func (t *Transaction) FlowTransaction() *flow.Transaction
FlowTransaction get flow transaction.
func (*Transaction) Proposer ¶
func (t *Transaction) Proposer() *flow.Account
Proposer get proposer.
func (*Transaction) SetBlockReference ¶
func (t *Transaction) SetBlockReference(block *flow.Block) *Transaction
SetBlockReference sets block reference for transaction.
func (*Transaction) SetGasLimit ¶
func (t *Transaction) SetGasLimit(gasLimit uint64) *Transaction
SetGasLimit sets the gas limit for transaction.
func (*Transaction) SetPayer ¶
func (t *Transaction) SetPayer(address flow.Address) *Transaction
SetPayer sets the payer for transaction.
func (*Transaction) SetProposer ¶
func (t *Transaction) SetProposer(proposer *flow.Account, keyIndex int) error
SetProposer sets the proposer for transaction.
func (*Transaction) SetScriptWithArgs ¶
func (t *Transaction) SetScriptWithArgs(script []byte, args []cadence.Value) error
func (*Transaction) SetSigner ¶
func (t *Transaction) SetSigner(account *Account) error
SetSigner sets the signer for transaction.
func (*Transaction) Sign ¶
func (t *Transaction) Sign() (*Transaction, error)
Sign signs transaction using signer account.