open-index/open-npm huggingface dataset:
npm package: @onflow/ledger
Description: Node API for Flow App (Ledger Nano S/X)
Author: Dapper Labs
Latest version: 0.15.0

# @onflow/ledger

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![npm version](https://badge.fury.io/js/%40onflow%2Fledger.svg)](https://www.npmjs.com/package/@onflow/ledger)

This package provides a basic client library to communicate with the Flow App running in a Ledger Nano S/X

We recommend using the npmjs package in order to receive updates/fixes.

## Notes

Use `yarn install` to avoid issues.

## Minimal example

This is very simple. First you need to use one of the transport classes provided by Ledger.

```js
import TransportWebUSB from "@ledgerhq/hw-transport-webusb";
import FlowApp from "@onflow/ledger";

transport = await TransportWebUSB.create();
const app = new FlowApp(transport);
```

The `FlowApp` object will provide:

```js
const response = await app.getVersion();

if (response.returnCode !== FlowApp.ERROR_CODE.NoError) {
      console.log(`Error [${response.returnCode}] ${response.errorMessage}`);
} else {
    console.log(response);
}
```

## Acknowledgements

Developed by [Zondax GmbH](https://zondax.ch/) and [Vacuumlabs](https://vacuumlabs.com/).
npm package: @onflow/protobuf
Description: Access Node Protobuf
Author: Flow Foundation
Latest version: 1.3.2

# @onflow/protobuf

This package contains the protobuf files used by the Flow JS SDK to communicate with the Access API.

# Status

- **Last Updated:** July 27th 2020
- **Stable:** Yes
- **Risk of Breaking Change:** High

These change when the access nodes need different data. If the access nodes introduce a breaking change this package will proxy that breaking change into the SDK and FCL.
This risk is what lead us to the interaction abstraction and our send functions acting as a translation layer between the interaction and these.

# Install

```bash
npm install --save @onflow/protobuf
```

## Versioning

The version of this package reflects the version of the AccessAPI spec for which it supports.

## Generating Protobuf Files

First, ensure you have `protoc` installed on your machine. `protoc` is a tool that will allow us to generate js-protobuf files. To install `protoc`, follow the guide available here https://grpc.io/docs/quickstart/go/#protocol-buffers (note: MacOS users can install `protoc` using homebrew: `brew install protoc`)

To generate the js-protobuf files, run the generate script in package json:

```
npm run generate
```
npm package: @onflow/react-core
Description: Platform-agnostic React hooks and utilities for Flow blockchain
Author: Flow Foundation
Latest version: 0.9.0

# @onflow/react-core

**Internal private package** - Platform-agnostic React hooks and utilities for Flow blockchain.

This package provides shared functionality for:

- `@onflow/react-sdk` (Web)
- `@onflow/react-native-sdk` (React Native)

## Not Published

This package is **private** and used only within the monorepo. It is never published to npm.

## Contents

- **Hooks**: All Flow blockchain React hooks (useFlowClient, useFlowMutate, etc.)
- **Core**: Contexts, types, and interfaces
- **Utils**: Helper functions (deepEqual, flowscan)
- **Constants**: Contract addresses and configuration

## Usage

Do not import directly from this package. Import from the platform SDK:

```typescript
// Web
import {useFlowClient} from "@onflow/react-sdk"

// React Native
import {useFlowClient} from "@onflow/react-native-sdk"
```
npm package: @onflow/react-native-sdk
Description: React Native library for interacting with the Flow blockchain
Author: Flow Foundation
Latest version: 0.3.0

# @onflow/react-native-sdk

A React Native library that provides hooks for interacting with the Flow blockchain. It helps you authenticate users, run Cadence scripts and transactions, listen to events, and manage network configuration directly from your components. Fully compatible with Expo.

This package provides a comparable API to [@onflow/react-sdk](https://www.npmjs.com/package/@onflow/react-sdk) for React Native applications. See the hooks in action in the [React SDK Playground](https://react.flow.com).

## 🔧 Installation

```bash
npm install @onflow/react-native-sdk
```

## 🧩 Quick Setup

Before using any hooks, wrap your app in the `FlowProvider`:

```tsx
import {FlowProvider} from "@onflow/react-native-sdk"
import flowJson from "../flow.json"

<FlowProvider
  config={{
    accessNodeUrl: "https://rest-mainnet.onflow.org",
    flowNetwork: "mainnet",
    walletconnectProjectId: "YOUR_WALLETCONNECT_PROJECT_ID",
    appDetailTitle: "My On Chain App",
    appDetailIcon: "https://example.com/icon.png",
    appDetailDescription: "A decentralized app on Flow",
    appDetailUrl: "https://myonchainapp.com",
  }}
  flowJson={flowJson}
>
  <App />
</FlowProvider>
```

## 🪝 Available Hooks

Here's a look at some of the hooks available. For a full list, see the [official documentation](https://developers.flow.com/tools/react-native-sdk/hooks).

- `useFlowCurrentUser`
- `useFlowAccount`
- `useFlowBlock`
- `useFlowConfig`
- `useFlowEvents`
- `useFlowQuery`
- `useFlowRevertibleRandom`
- `useFlowMutate`
- `useFlowTransaction`
- `useFlowTransactionStatus`
- `useCrossVmTokenBalance`
- `useCrossVmBatchTransaction`

## 🧱 Available Components

- `<Connect />` - Wallet connection button with built-in profile modal
- `<Profile />` - Displays connected wallet information with disconnect option

## 🔗 WalletConnect Deeplinks

This SDK uses `wc-redirect` as the deeplink path for WalletConnect redirects (e.g., `myapp://wc-redirect`). When a wallet approves a connection or transaction, it redirects back to your app using this path.

To prevent navigation flashes, you can intercept this path using Expo Router's `+native-intent.tsx`. See [Expo Router Native Intent documentation](https://docs.expo.dev/router/advanced/native-intent/) for details.

## 📚 Full Documentation

Looking for full API docs, examples, and usage tips?

👉 [Explore the official docs →](https://developers.flow.com/tools/react-sdk)
npm package: @onflow/react-sdk
Description: React library for interacting with the Flow blockchain
Author: Flow Foundation
Latest version: 0.20.0

# @onflow/react-sdk

A React library that provides hooks for interacting with the Flow blockchain. It helps you authenticate users, run Cadence scripts and transactions, listen to events, and manage network configuration directly from your components.

## 🔧 Installation

```bash
npm install @onflow/react-sdk
```

## 🧩 Quick Setup

Before using any hooks, wrap your app in the `FlowProvider`:

```tsx
import { FlowProvider } from "@onflow/react-sdk"
import flowJson from "../flow.json"

<FlowProvider
  config={{
    accessNodeUrl: "https://rest-mainnet.onflow.org",
    flowNetwork: "mainnet",
    appDetailTitle: "My On Chain App",
    appDetailIcon: "https://example.com/icon.png",
    appDetailDescription: "A decentralized app on Flow",
    appDetailUrl: "https://myonchainapp.com",
  }}
  flowJson={flowJson}
>
  <App />
</FlowProvider>
```

## 🪝 Available Hooks

- `useFlowCurrentUser`
- `useFlowAccount`
- `useFlowBlock`
- `useFlowConfig`
- `useFlowEvents`
- `useFlowQuery`
- `useFlowRevertibleRandom`
- `useFlowMutate`
- `useFlowTransaction`
- `useCrossVmTokenBalance`
- `useDarkMode`
- `useFlowTransactionStatus`
- `useCrossVmTokenBalance`

## 📚 Full Documentation

Looking for full API docs, examples, and usage tips?

👉 [Explore the official docs →](https://developers.flow.com/tools/react-sdk)
npm package: @onflow/response
Description: Flow SDK Response
Author: Dapper Labs
Latest version: 0.0.2

# @onflow/response

> This module provides an ADT (Abstract Data Type) that represents the underlying data returned from the send function.

# Install

```bash
npm install --save @onflow/response
```

{"tag": 0, "transaction":null, "transactionId":null, "encodedData":null, "events": null, "account": null}'

## Internal Properties

> The response is a monomorphic data structure. It has fields for each of the possible data that can be returned from the AccessAPI. The response tag corresponds to the tag of the interaction that generated the response.

- **tag** *(all)* `int` -- a marker that represents the type of the response. See @onflow/interaction for information on the possible tag values.
- **transaction** *GetTransactionStatus* -- The response from a GetTransactionStatus requrest.
  - **status** `int` -- The status of the transaction
  - **statusCode** `int` -- The status code of the transaction
  - **errorMessage** `string` -- The error message of the transaction
  - **events** `Array<Event>` -- The events for this result
      - **type** `string` -- The type of this event
      - **transactionId** `int` -- The transactionId of this event
      - **transactionIndex** `int` -- The transactionIndex of this event
      - **eventIndex** `int` -- The index of this event
      - **payload** `Uint8Array` -- The encoded JSON-CDC payload of this event.
- **transactionId** *Transaction* `string` -- The id of the transaction executed during a Transaction request.
- **encodedData** *ExecuteScript* `Uint8Array` -- The encoded JSON-CDC data returned from a ExecuteScript request.
- **events** *GetEvents* -- The events returned from a GetEvents request.
  - **results** `Array<Result>` -- The results returned from a GetEvents request.
    - **blockId** `int` -- The block id of this result
    - **blockHeight** `int` -- The block height of this result
    - **events** `Array<Event>` -- The events for this result
      - **type** `string` -- The type of this event
      - **transactionId** `int` -- The transactionId of this event
      - **transactionIndex** `int` -- The transactionIndex of this event
      - **eventIndex** `int` -- The index of this event
      - **payload** `Uint8Array` -- The encoded JSON-CDC payload of this event.
- **account** *GetAccount* -- The account returned from a GetAccount request.
  - **address** `string` -- The address of the account
  - **code** `string` -- The code of the account 
  - **keys** `Array<Key>` -- The keys of the account
    - **index** `int` -- The index of the key
    - **publicKey** `string` -- The publicKey for this key
    - **signAlgo** `int` -- The signing algorithm for this key
    - **hashAlgo** `int` -- The hash algorithm for this key
    - **weight** `int` -- The weight for this key
    - **sequenceNumber** `int` -- The sequence number for this key

## Exposed Functions

- **Constructor**
  - [interaction/0](#interaction0)

```javascript
import { response } from "@onflow/response"

const res = response()
```
npm package: @onflow/sdk-account
Description: Flow JS SDK -- Fetch Account details from Configured Access Node
Author: Dapper Labs
Latest version: 0.0.9

# sdk-account

Fetch the Account for a given address from the configured Access Node

```javascript
import {config} from "@onflow/config"
import {account} from "@onflow/sdk-account"

config()
  .put("accessNode.api", "https://access-testnet.onflow.org") // point the sdk to the desired access node

var acct = await account("0xba1132bc08f82fe2")

console.log("address", acct.address)      // The address of the account
console.log("Flow balance", acct.balance) // (10 nFLOW, 1e-8)
console.log("code", acct.code)            // The code that is deployed to the account
console.log("keys", acct.keys)            // The keys associated with the account
```
npm package: @onflow/sdk-decode
Description: Flow JS SDK -- Configurable Decoder for Access Node Responses
Author: Dapper Labs
Latest version: 0.0.3

# sdk-decode

The `decode` function takes the return value (`response`) of a `send` function and returns the information you probably want, in the formats you probably want.

It understands how to transform cadence values into javascript and allows you to overload those transformations for your own if you want with custom decoders.

# Examples

For the following examples these are the imports

```javascript
import * as fcl from "@onflow/fcl"
import {config} from "@onflow/config"
import {decode} from "@onflow/sdk-decode"
```

### Decode script return value

```javascript
var v1 = await fcl.send([
  fcl.script`
    pub fun main(): Int {
      return 5 + 6
    }
  `
]).then(decode)

console.assert(v1 === 11)
```

### Cast script return value to application domain type at edge

Somewhere central in your application you can configure the decode function with custom decoders.
It only needs to exist once and needs to happen before your script is called.

```javascript
class Point {
  constructor({x, y}) {
    this.x = x
    this.y = y
  }
}

config()
  .put("decoder.Point", async point => new Point(point))
```

Then your script can be something like this.

```javascript
var v2 = await fcl.send([
  fcl.script`
    pub struct Point {
      pub var x: Int
      pub var y: Int

      init(x: Int, y: Int) {
        self.x = x
        self.y = y
      }
    }

    pub fun main(): Point {
      return Point(x: 5, y: 8)
    }
  `
]).then(decode)

console.assert(v2 instanceof Point)
console.assert(v2.x === 5)
console.assert(v2.y === 8)
```
npm package: @onflow/sdk-latest-block
Description: Flow JS SDK -- Fetch the Latest Block from the Configured Access Node
Author: Dapper Labs
Latest version: 0.0.9

# sdk-latest-block

Fetch the Latest Block from the configured Access Node

```javascript
import {config} from "@onflow/config"
import {latestBlock} from "@onflow/sdk-latest-block"

config()
  .put("accessNode.api", "https://access-testnet.onflow.org") // point the sdk to the desired access node

var block = await latestBlock()

console.log("id", block.id)              // The blocks ID
console.log("height", block.height)      // The blocks Height
console.log("parent id", block.parentId) // ID of the blocks parent
```
npm package: @onflow/send
Description: Flow SDK Send
Author: Dapper Labs
Latest version: 0.0.36

# @onflow/send

Sends [Interactions](../interaction) to [Flow](https://onflow.org) returning a [Response](../response).

Is available as part of [`@onflow/sdk`](../sdk)

# Status

- **Last Updated:** April 21st 2020
- **Stable:** Yes
- **Risk of Breaking Change:** Low (If taking into account the known upcoming changes)

# Install

```bash
npm install --save @onflow/send
```

# Usage

```javascript
import {send} from "@onflow/send"

const interaction = ...

const response = await send(interaction, {
  node: "Access Node Url"
})
```
npm package: @onflow/six-add-new-key
Description: Flow SDK Stored Interaction - Add New Key
Author: Dapper Labs
Latest version: 0.2.2

# @onflow/six-add-new-key

Stored Interaction for adding a new key to an Account on Flow.

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-add-new-key

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as addNewKey } from "@onflow/six-add-new-key"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    addNewKey({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
        publicKey: "abc123",
        signatureAlgorithm: 1,
        hashAlgorithm: 2,
        weight: "1000"
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-create-account
Description: Flow SDK Stored Interaction - Create Account
Author: Dapper Labs
Latest version: 0.2.1

# @onflow/six-create-account

Stored Interaction for creating an Account on Flow.

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-create-account

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as createAccount } from "@onflow/six-create-account"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    createAccount({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
        publicKey: "abc123",
        signatureAlgorithm: 1,
        hashAlgorithm: 2,
        weight: "1000.0"
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-delegate-new-locked-flow
Description: Flow SDK Stored Interaction - Delegate New Locked Flow
Author: Dapper Labs
Latest version: 0.0.13

# @onflow/six-delegate-new-locked-flow

Stored Interaction for delegating new locked Flow

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-delegate-new-locked-flow

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies           | Mainnet            | Testnet            |
| ---------------------- | ------------------ | ------------------ |
| 0xFLOWTOKENADDRESS     | 0x1654653399040a61 | 0x7e60df042a9c0868 |
| 0xFUNGIBLETOKENADDRESS | 0xf233dcee88fe0abe | 0x9a0766d93b6608b7 |
| 0xLOCKEDTOKENADDRESS   | 0x8d0e87b65159ae63 | 0x95e019a17d0e23d7 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xFUNGIBLETOKENADDRESS", "0xf233dcee88fe0abe")
  .put("0xFLOWTOKENADDRESS", "0x1654653399040a61")
  .put("0xLOCKEDTOKENADDRESS", "0x8d0e87b65159ae63")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xFUNGIBLETOKENADDRESS", "0x9a0766d93b6608b7")
  .put("0xFLOWTOKENADDRESS", "0x7e60df042a9c0868")
  .put("0xLOCKEDTOKENADDRESS", "0x95e019a17d0e23d7")
```

Learn more about configuring FCL here: https://github.com/onflow/fcl-six/blob/master/docs/configure-fcl.mdx

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as stakeNewLockedFlow } from "@onflow/six-delegate-new-locked-flow"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    delegateNewLockedFlow({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
        amount: "123.456",                                    // Amount as a String representing a Cadence UFix64
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-deposit-unlocked-flow
Description: Flow SDK Stored Interaction - Deposit Unlocked Flow
Author: Dapper Labs
Latest version: 0.2.1

# @onflow/six-deposit-unlocked-flow

Stored Interaction for depositing unlocked tokens on Flow.

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-deposit-unlocked-flow

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies           | Mainnet            | Testnet            |
| ---------------------- | ------------------ | ------------------ |
| 0xFLOWTOKENADDRESS     | 0x1654653399040a61 | 0x7e60df042a9c0868 |
| 0xFUNGIBLETOKENADDRESS | 0xf233dcee88fe0abe | 0x9a0766d93b6608b7 |
| 0xLOCKEDTOKENADDRESS   | 0x8d0e87b65159ae63 | 0x95e019a17d0e23d7 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xFUNGIBLETOKENADDRESS", "0xf233dcee88fe0abe")
  .put("0xFLOWTOKENADDRESS", "0x1654653399040a61")
  .put("0xLOCKEDTOKENADDRESS", "0x8d0e87b65159ae63")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xFUNGIBLETOKENADDRESS", "0x9a0766d93b6608b7")
  .put("0xFLOWTOKENADDRESS", "0x7e60df042a9c0868")
  .put("0xLOCKEDTOKENADDRESS", "0x95e019a17d0e23d7")
```

Learn more about configuring FCL here: https://github.com/onflow/fcl-six/blob/master/docs/configure-fcl.mdx

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as depositUnlockedFlow } from "@onflow/six-deposit-unlocked-flow"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    depositUnlockedFlow({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
        amount: "123.456",                                    // Amount as a String representing a Cadence UFix64
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-fusd-setup
Description: Flow SDK Stored Interaction - FUSD Setup
Author: Dapper Labs
Latest version: 0.0.4

# @onflow/six-fusd-setup

Stored Interaction for setting up a FUSD Vault and Receiver

# Status

- **Last Updated:** May 31 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-fusd-setup

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies           | Mainnet            | Testnet            |
| ---------------------- | ------------------ | ------------------ |
| 0xFUNGIBLETOKENADDRESS | 0xf233dcee88fe0abe | 0x9a0766d93b6608b7 |
| 0xFUSDADDRESS          | 0x3c5959b568896393 | 0xe223d8a629e49c68 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xFUNGIBLETOKENADDRESS", "0xf233dcee88fe0abe")
  .put("0xFUSDADDRESS", "0x3c5959b568896393")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xFUNGIBLETOKENADDRESS", "0x9a0766d93b6608b7")
  .put("0xFUSDADDRESS", "0xe223d8a629e49c68")
```

Learn more about configuring FCL here: https://github.com/onflow/flow-js-sdk/blob/master/docs/configure-fcl.mdx

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as fusdSetup } from "@onflow/six-fusd-setup"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    fusdSetup({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-fusd-transfer
Description: Flow SDK Stored Interaction - FUSD Transfer
Author: Dapper Labs
Latest version: 0.0.6

# @onflow/six-fusd-transfer

Stored Interaction for transferring FUSD between Flow accounts.

# Status

- **Last Updated:** May 31 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-fusd-setup

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies           | Mainnet            | Testnet            |
| ---------------------- | ------------------ | ------------------ |
| 0xFUNGIBLETOKENADDRESS | 0xf233dcee88fe0abe | 0x9a0766d93b6608b7 |
| 0xFUSDADDRESS          | 0x3c5959b568896393 | 0xe223d8a629e49c68 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xFUNGIBLETOKENADDRESS", "0xf233dcee88fe0abe")
  .put("0xFUSDADDRESS", "0x3c5959b568896393")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xFUNGIBLETOKENADDRESS", "0x9a0766d93b6608b7")
  .put("0xFUSDADDRESS", "0xe223d8a629e49c68")
```

Learn more about configuring FCL here: https://github.com/onflow/flow-js-sdk/blob/master/docs/configure-fcl.mdx

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as fusdTransfer } from "@onflow/six-fusd-transfer"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    fusdTransfer({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,        
        amount: "123.456",                                    // Amount as a String representing a Cadence UFix64
        to: "0xABC123DEF456"                                  // The Address of the Account to transfer FUSD to.     
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-get-delegator-id
Description: Flow SDK Stored Interaction - Get Delegator Id
Author: Dapper Labs
Latest version: 0.0.11

# @onflow/six-get-delegator-id

Stored Interaction for getting a delegators id.

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-get-delegator-id

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies          | Mainnet            | Testnet            |
| --------------------- | ------------------ | ------------------ |
| 0xLOCKEDTOKENADDRESS  | 0x8d0e87b65159ae63 | 0x95e019a17d0e23d7 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xLOCKEDTOKENADDRESS", "0x8d0e87b65159ae63")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xLOCKEDTOKENADDRESS", "0x95e019a17d0e23d7")
```

Learn more about configuring FCL here: https://github.com/onflow/fcl-six/blob/master/docs/configure-fcl.mdx

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as getDelegatorID } from "@onflow/six-get-delegator-id"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    getDelegatorID({       
        account: "0x123ABC456DEF",
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-redelegate-rewarded-flow
Description: Flow SDK Stored Interaction - Redelegate Rewarded Flow
Author: Dapper Labs
Latest version: 0.0.13

# @onflow/six-redelegate-rewarded-flow

Stored Interaction for redelegating rewarded Flow

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-redelegate-rewarded-flow

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies          | Mainnet            | Testnet            |
| --------------------- | ------------------ | ------------------ |
| 0xLOCKEDTOKENADDRESS  | 0x8d0e87b65159ae63 | 0x95e019a17d0e23d7 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xLOCKEDTOKENADDRESS", "0x8d0e87b65159ae63")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xLOCKEDTOKENADDRESS", "0x95e019a17d0e23d7")
```

Learn more about configuring FCL here: https://github.com/onflow/fcl-six/blob/master/docs/configure-fcl.mdx

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as redelegateRewardedFlow } from "@onflow/six-redelegate-rewarded-flow"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    redelegateRewardedFlow({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
        amount: "123.456",                                    // Amount as a String representing a Cadence UFix64
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-redelegate-unstaked-flow
Description: Flow SDK Stored Interaction - Redelegate Unstaked Flow
Author: Dapper Labs
Latest version: 0.0.13

# @onflow/six-redelegate-unstaked-flow

Stored Interaction for restaking unstaked Flow

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-redelegate-unstaked-flow

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies          | Mainnet            | Testnet            |
| --------------------- | ------------------ | ------------------ |
| 0xLOCKEDTOKENADDRESS  | 0x8d0e87b65159ae63 | 0x95e019a17d0e23d7 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xLOCKEDTOKENADDRESS", "0x8d0e87b65159ae63")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xLOCKEDTOKENADDRESS", "0x95e019a17d0e23d7")
```

Learn more about configuring FCL here: https://github.com/onflow/fcl-six/blob/master/docs/configure-fcl.mdx

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as redelegateUnstakedFlow } from "@onflow/six-redelegate-unstaked-flow"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    redelegateUnstakedFlow({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
        amount: "123.456",                                    // Amount as a String representing a Cadence UFix64
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-register-delegator
Description: Flow SDK Stored Interaction - Register Delegator
Author: Dapper Labs
Latest version: 0.0.16

# @onflow/six-register-delegator

Stored Interaction for depositing unlocked tokens on Flow.

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-register-delegator

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies         | Mainnet            | Testnet            |
| -------------------- | ------------------ | ------------------ |
| 0xFLOWTOKENADDRESS   | 0x1654653399040a61 | 0x7e60df042a9c0868 |
| 0xLOCKEDTOKENADDRESS | 0x8d0e87b65159ae63 | 0x95e019a17d0e23d7 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xFLOWTOKENADDRESS", "0x1654653399040a61")
  .put("0xLOCKEDTOKENADDRESS", "0x8d0e87b65159ae63")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xFLOWTOKENADDRESS", "0x7e60df042a9c0868")
  .put("0xLOCKEDTOKENADDRESS", "0x95e019a17d0e23d7")
```

Learn more about configuring FCL here: https://github.com/onflow/fcl-six/blob/master/docs/configure-fcl.mdx

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as registerDelegator } from "@onflow/six-register-delegator"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    registerDelegator({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,     
        id: "delegator-id",        
        amount: "123.456",                                    
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-register-node
Description: Flow SDK Stored Interaction - Register Node
Author: Dapper Labs
Latest version: 0.0.15

# @onflow/six-register-node

Stored Interaction for registering a node on Flow

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-register-node

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies           | Mainnet            | Testnet            |
| ---------------------- | ------------------ | ------------------ |
| 0xFLOWTOKENADDRESS     | 0x1654653399040a61 | 0x7e60df042a9c0868 |
| 0xLOCKEDTOKENADDRESS   | 0x8d0e87b65159ae63 | 0x95e019a17d0e23d7 |
| 0xSTAKINGPROXYADDRESS  | 0x62430cf28c26d095 | 0x7aad92e5a0715d21 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xFLOWTOKENADDRESS", "0x1654653399040a61")
  .put("0xLOCKEDTOKENADDRESS", "0x8d0e87b65159ae63")
  .put("0xSTAKINGPROXYADDRESS", "0x62430cf28c26d095")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xFLOWTOKENADDRESS", "0x7e60df042a9c0868")
  .put("0xLOCKEDTOKENADDRESS", "0x95e019a17d0e23d7")
  .put("0xSTAKINGPROXYADDRESS", "0x7aad92e5a0715d21")
```

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as registerNode } from "@onflow/six-register-node"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    registerNode({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,
        nodeID: "1",
        address: "0x123ABC456DEF"                                           
        amount: "123.456",                                   
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-remove-key
Description: Flow SDK Stored Interaction - Remove Key
Author: Dapper Labs
Latest version: 0.2.3

# @onflow/six-remove-key

Stored Interaction for removing a key on an Account on Flow.

# Status

- **Last Updated:** April 10 2024
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-remove-key

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as addNewKey } from "@onflow/six-remove-key"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    addNewKey({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
        keyIndex: 1 
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-restake-rewarded-flow
Description: Flow SDK Stored Interaction - Restake Rewarded Flow
Author: Dapper Labs
Latest version: 0.0.13

# @onflow/six-restake-rewarded-flow

Stored Interaction for restaking rewarded Flow

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-restake-rewarded-flow

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies          | Mainnet            | Testnet            |
| --------------------- | ------------------ | ------------------ |
| 0xSTAKINGPROXYADDRESS | 0x62430cf28c26d095 | 0x7aad92e5a0715d21 |
| 0xLOCKEDTOKENADDRESS  | 0x8d0e87b65159ae63 | 0x95e019a17d0e23d7 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xSTAKINGPROXYADDRESS", "0x62430cf28c26d095")
  .put("0xLOCKEDTOKENADDRESS", "0x8d0e87b65159ae63")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xSTAKINGPROXYADDRESS", "0x7aad92e5a0715d21")
  .put("0xLOCKEDTOKENADDRESS", "0x95e019a17d0e23d7")
```

Learn more about configuring FCL here: https://github.com/onflow/fcl-six/blob/master/docs/configure-fcl.mdx

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as restakeRewardedFlow } from "@onflow/six-restake-rewarded-flow"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    restakeRewardedFlow({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
        amount: "123.456",                                    // Amount as a String representing a Cadence UFix64
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-restake-unstaked-flow
Description: Flow SDK Stored Interaction - Restake Unstaked Flow
Author: Dapper Labs
Latest version: 0.0.14

# @onflow/six-restake-unstaked-flow

Stored Interaction for restaking unstaked Flow

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-restake-unstaked-flow

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies          | Mainnet            | Testnet            |
| --------------------- | ------------------ | ------------------ |
| 0xSTAKINGPROXYADDRESS | 0x62430cf28c26d095 | 0x7aad92e5a0715d21 |
| 0xLOCKEDTOKENADDRESS  | 0x8d0e87b65159ae63 | 0x95e019a17d0e23d7 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xSTAKINGPROXYADDRESS", "0x62430cf28c26d095")
  .put("0xLOCKEDTOKENADDRESS", "0x8d0e87b65159ae63")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xSTAKINGPROXYADDRESS", "0x7aad92e5a0715d21")
  .put("0xLOCKEDTOKENADDRESS", "0x95e019a17d0e23d7")
```

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as restakeUnstakedFlow } from "@onflow/six-restake-unstaked-flow"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    restakeUnstakedFlow({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
        amount: "123.456",                                    // Amount as a String representing a Cadence UFix64
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-set-code
Description: Flow SDK Stored Interaction - Set Account Code
Author: Dapper Labs
Latest version: 0.0.11

# @onflow/six-set-code

Stored Interaction for setting an Accounts Code on Flow

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

# Install

npm install @onflow/six-set-code

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as setCode } from "@onflow/six-set-code"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    setCode({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
        code: "my-cadence-code",                            // Cadence code as a utf8 encoded string.
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-setup-nft-collection
Description: Flow SDK Stored Interaction - Setup NFT Collection
Author: Dapper Labs
Latest version: 0.2.1

# @onflow/six-setup-nft-collection

Stored Interaction for setting up an account with an NBA TopShot collection.

# Status

- **Last Updated:** Sept 22 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-setup-nft-collection

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies                    | Mainnet            | Testnet            |
| ------------------------------- | ------------------ | ------------------ |
| 0xNONFUNGIBLETOKEN              | 0x1d7e57aa55817448 | 0x877931736ee77cff |
| 0xNONFUNGIBLETOKENMETADATAVIEWS | 0x1d7e57aa55817448 | 0x877931736ee77cff | 

Example (for mainnet):

```javascript
fcl.config()
  .put("0xNONFUNGIBLETOKEN", "0x1d7e57aa55817448")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xNONFUNGIBLETOKEN", "0x631e88ae7f1d7c20")
```

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as nftSetupCollection } from "@onflow/six-setup-nft-collection"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
  nftSetupCollection({
    proposer: fcl.currentUser().authorization,
    authorization: fcl.currentUser().authorization,     
    payer: fcl.currentUser().authorization,            
    contractAddress: "0x123456ab910",
    contractName: "MyNFTCollection"
  })
])

```

# Hashing

Hashing Code:
```javascript
  console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-setup-token-vault
Description: Flow SDK Stored Interaction - Setup Token Vault
Author: Dapper Labs
Latest version: 0.2.1

# @onflow/six-setup-token-vault

Stored Interaction for setting up a USDC Vault and Receiver

# Status

- **Last Updated:** March 21 2022
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-setup-token-vault

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies           | Mainnet            | Testnet            |
| ---------------------- | ------------------ | ------------------ |
| 0xFUNGIBLETOKENADDRESS | 0xf233dcee88fe0abe | 0x9a0766d93b6608b7 |
| 0xUSDCADDRESS          | 0xb19436aae4d94622 | 0x1ab3c177460e1e4a |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xFUNGIBLETOKENADDRESS", "0xf233dcee88fe0abe")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xFUNGIBLETOKENADDRESS", "0x9a0766d93b6608b7")
```

Learn more about configuring FCL here: https://github.com/onflow/fcl-six/blob/master/docs/configure-fcl.mdx

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as tokenSetup } from "@onflow/six-setup-token-vault"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    tokenSetup({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-stake-new-locked-flow
Description: Flow SDK Stored Interaction - Stake New Locked Flow
Author: Dapper Labs
Latest version: 0.0.14

# @onflow/six-stake-new-locked-flow

Stored Interaction for staking new locked Flow

# Status

- **Last Updated:** April 28 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-stake-new-locked-flow

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies           | Mainnet            | Testnet            |
| ---------------------- | ------------------ | ------------------ |
| 0xFLOWTOKENADDRESS     | 0x1654653399040a61 | 0x7e60df042a9c0868 |
| 0xFUNGIBLETOKENADDRESS | 0xf233dcee88fe0abe | 0x9a0766d93b6608b7 |
| 0xSTAKINGPROXYADDRESS  | 0x62430cf28c26d095 | 0x7aad92e5a0715d21 |
| 0xLOCKEDTOKENADDRESS   | 0x8d0e87b65159ae63 | 0x95e019a17d0e23d7 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xFLOWTOKENADDRESS", "0x1654653399040a61")
  .put("0xFUNGIBLETOKENADDRESS", "0xf233dcee88fe0abe")
  .put("0xSTAKINGPROXYADDRESS", "0x62430cf28c26d095")
  .put("0xLOCKEDTOKENADDRESS", "0x8d0e87b65159ae63")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xFLOWTOKENADDRESS", "0x7e60df042a9c0868")
  .put("0xFUNGIBLETOKENADDRESS", "0x9a0766d93b6608b7")
  .put("0xSTAKINGPROXYADDRESS", "0x7aad92e5a0715d21")
  .put("0xLOCKEDTOKENADDRESS", "0x95e019a17d0e23d7")
```

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as stakeNewLockedFlow } from "@onflow/six-stake-new-locked-flow"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    stakeNewLockedFlow({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,             
        amount: "123.456",                                    // Amount as a String representing a Cadence UFix64
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```
npm package: @onflow/six-stakingcollection-close-stake
Description: Flow SDK Stored Interaction - Close Stake held in Staking Collection
Author: Dapper Labs
Latest version: 0.2.2

# @onflow/six-stakingcollection-close-stake

Stored Interaction for closing a stake held in a StakingCollection

# Status

- **Last Updated:** June 21 2021
- **Stable:** No
- **Risk of Breaking Change:** Very High

Known Upcoming Changes:

- Potential changes to all aspects of Stored Interactions

# Install

npm install @onflow/six-stakingcollection-close-stake

# Configuration 

To use this Stored Interaction, you must configure FCL with certain account addresses which contain contracts imported by this Stored Interaction.

| Dependencies                | Mainnet            | Testnet            |
| --------------------------- | ------------------ | ------------------ |
| 0xSTAKINGCOLLECTIONADDRESS  | 0x8d0e87b65159ae63 | 0x95e019a17d0e23d7 |

Example (for mainnet):

```javascript
fcl.config()
  .put("0xSTAKINGCOLLECTIONADDRESS", "0x8d0e87b65159ae63")
```

Example (for testnet):

```javascript
fcl.config()
  .put("0xSTAKINGCOLLECTIONADDRESS", "0x95e019a17d0e23d7")
```

# Usage:

```javascript
import * as fcl from "@onflow/fcl"
import { template as closeStake } from "@onflow/six-stakingcollection-close-stake"

fcl.config().put("accessNode", "http://localhost:8080");

const response = await fcl.send([
    closeStake({
        proposer: fcl.currentUser().authorization,
        authorization: fcl.currentUser().authorization,     
        payer: fcl.currentUser().authorization,
        nodeId: "abc123"             
        delegatorId: null,                                    
    })
])

```

# Hashing

Hashing Code:
```javascript
    console.log(crypto.createHash('sha256').update(CODE, 'utf8').digest('hex'))
```