Account implementation which redirects to wallet using WalletConnection when no local key is available.

Hierarchy

Constructors

Properties

accountId: string
connection: Connection
walletConnection: WalletConnection

Methods

  • Helper function returning the access key (if it exists) to the receiver that grants the designated permission

    Parameters

    • receiverId: string

      The NEAR account seeking the access key for a transaction

    • actions: Action[]

      The action(s) sought to gain access to

    • Optional localKey: PublicKey

      A local public key provided to check for access

    Returns Promise<any>

  • Check if given access key allows the function call or method attempted in transaction

    Parameters

    • accessKey: any

      Array of {access_key: AccessKey, public_key: PublicKey} items

    • receiverId: string

      The NEAR account attempting to have access

    • actions: Action[]

      The action(s) needed to be checked for access

    Returns Promise<boolean>

  • Parameters

    • publicKey: string | PublicKey

      A public key to be associated with the contract

    • Optional contractId: string

      NEAR account where the contract is deployed

    • Optional methodNames: string | string[]

      The method names on the contract that should be allowed to be called. Pass null for no method names and '' or [] for any method names.

    • Optional amount: bigint

      Payment in yoctoⓃ that is sent to the contract during this function call

    Returns Promise<FinalExecutionOutcome>

    See

    https://docs.near.org/concepts/basics/accounts/access-keys

    Todo

    expand this API to support more options.

  • Create a new account and deploy a contract to it

    Parameters

    • contractId: string

      NEAR account where the contract is deployed

    • publicKey: string | PublicKey

      The public key to add to the created contract account

    • data: Uint8Array

      The compiled contract code

    • amount: bigint

      of NEAR to transfer to the created contract account. Transfer enough to pay for storage https://docs.near.org/docs/concepts/storage-staking

    Returns Promise<Account>

  • Finds the AccessKeyView associated with the accounts PublicKey stored in the Keystore.

    Parameters

    • receiverId: string

      currently unused (see todo)

    • actions: Action[]

      currently unused (see todo)

    Returns Promise<{
        accessKey: AccessKeyView;
        publicKey: PublicKey;
    }>

    { publicKey PublicKey; accessKey: AccessKeyView }

    Todo

    Find matching access key based on transaction (i.e. receiverId and actions)

  • Returns a list of authorized apps

    Returns Promise<{
        authorizedApps: AccountAuthorizedApp[];
    }>

    Todo

    update the response value to return all the different keys, not just app keys.

  • Returns the NEAR tokens balance and validators of a given account that is delegated to the staking pools that are part of the validators set in the current epoch.

    NOTE: If the tokens are delegated to a staking pool that is currently on pause or does not have enough tokens to participate in validation, they won't be accounted for.

    Returns Promise<ActiveDelegatedStakeBalance>

  • Compose and sign a SignedDelegate action to be executed in a transaction on behalf of this Account instance

    Parameters

    • options: SignedDelegateOptions

      Options for the transaction.

    Returns Promise<SignedDelegate>

  • Returns the state (key value pairs) of this account's contract based on the key prefix. Pass an empty string for prefix if you would like to return the entire state.

    Parameters

    • prefix: string | Uint8Array

      allows to filter which keys should be returned. Empty prefix means all keys. String prefix is utf-8 encoded.

    • Optional blockQuery: BlockReference

      specifies which block to query state at. By default returns last "optimistic" block (i.e. not necessarily finalized).

    Returns Promise<{
        key: Buffer;
        value: Buffer;
    }[]>

Generated using TypeDoc