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

Hierarchy (View Summary)

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

    • OptionallocalKey: 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

    • OptionalcontractId: string

      NEAR account where the contract is deployed

    • OptionalmethodNames: 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.

    • Optionalamount: bigint

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

    Returns Promise<FinalExecutionOutcome>

    expand this API to support more options.

  • Parameters

    • newAccountId: string

      NEAR account name to be created

    • publicKey: string | PublicKey

      A public key created from the masterAccount

    • amount: bigint

    Returns Promise<FinalExecutionOutcome>

  • 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 }

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

  • Execute a function call.

    Parameters

    • options: ChangeFunctionCallOptions

      The options for the function call.

      Options used to initiate a function call (especially a change function call)

      • Optionalargs?: object

        named arguments to pass the method { messageText: 'my message' }

      • OptionalattachedDeposit?: bigint

        amount of NEAR (in yoctoNEAR) to send together with the call

      • contractId: string

        The NEAR account id where the contract is deployed

      • Optionalgas?: bigint

        max amount of gas that method call can use

      • OptionaljsContract?: boolean

        Is contract from JS SDK, automatically encodes args from JS SDK to binary.

      • methodName: string

        The name of the method to invoke

      • Optionalstringify?: (input: any) => Buffer

        Convert input arguments into bytes array.

      • OptionalwalletCallbackUrl?: string

        Callback url to send the NEAR Wallet if using it to sign transactions.

        RequestSignTransactionsOptions

      • OptionalwalletMeta?: string

        Metadata to send the NEAR Wallet if using it to sign transactions.

        RequestSignTransactionsOptions

    Returns Promise<FinalExecutionOutcome>

    A promise that resolves to the final execution outcome of the function call.

  • Returns a list of authorized apps

    Returns Promise<{ authorizedApps: AccountAuthorizedApp[] }>

    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.

      • actions

        Actions to be included in the meta transaction

      • blockHeightTtl

        Number of blocks past the current block height for which the SignedDelegate action may be included in a meta transaction

      • receiverId

        Receiver account of the meta transaction

    Returns Promise<SignedDelegate>

  • Invoke a contract view function using the RPC API.

    Parameters

    • options: ViewFunctionCallOptions

      Function call options.

      Options used to initiate a function call (especially a change function call)

      • Optionalargs?: object

        named arguments to pass the method { messageText: 'my message' }

      • OptionalattachedDeposit?: bigint

        amount of NEAR (in yoctoNEAR) to send together with the call

      • OptionalblockQuery?: BlockReference
      • contractId: string

        The NEAR account id where the contract is deployed

      • Optionalgas?: bigint

        max amount of gas that method call can use

      • OptionaljsContract?: boolean

        Is contract from JS SDK, automatically encodes args from JS SDK to binary.

      • methodName: string

        The name of the method to invoke

      • Optionalparse?: (response: Uint8Array) => any
      • Optionalstringify?: (input: any) => Buffer

        Convert input arguments into bytes array.

    Returns Promise<any>

  • 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.

    • OptionalblockQuery: 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 }[]>