Repository: onflow/flow-js-sdk Branch: master Commit: 5e44c67ea09d Files: 1103 Total size: 5.1 MB Directory structure: gitextract_j_zi96gh/ ├── .changeset/ │ ├── README.md │ └── config.json ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ └── feature_request.yml │ ├── scripts/ │ │ └── prevent-major-bumps.js │ └── workflows/ │ ├── add-pitches-to-project.yml │ ├── changeset-check.yml │ ├── code-analysis.yml │ ├── dependancy-review.yml │ ├── integrate.yml │ ├── promote-playground.yml │ └── release.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── AGENTS.md ├── CHANGELOG.md ├── CITATION.cff ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── NOTICE ├── README.md ├── SECURITY.md ├── docs/ │ ├── flow-docs.json │ ├── index.md │ ├── index.mdx │ ├── reference/ │ │ ├── api.md │ │ ├── authentication.mdx │ │ ├── configure-fcl.mdx │ │ ├── discovery.mdx │ │ ├── installation.mdx │ │ ├── interaction-templates.mdx │ │ ├── proving-authentication.mdx │ │ ├── scripts.mdx │ │ ├── sdk-guidelines.mdx │ │ ├── transactions.mdx │ │ ├── user-signatures.mdx │ │ └── wallet-connect.mdx │ └── tutorials/ │ └── flow-app-quickstart.mdx ├── docs-generator/ │ ├── README.md │ ├── generate-all-docs.js │ ├── generate-docs.js │ ├── generators/ │ │ ├── generate-function-page.js │ │ ├── generate-namespace-page.js │ │ ├── generate-package-page.js │ │ ├── generate-root-page.js │ │ ├── generate-types-page.js │ │ ├── index.js │ │ └── utils/ │ │ ├── extract-utils.js │ │ ├── generate-page.js │ │ ├── index.js │ │ └── parse-config-custom-data.js │ ├── templates/ │ │ ├── function.hbs │ │ ├── namespace.hbs │ │ ├── package.hbs │ │ ├── root.hbs │ │ └── types.hbs │ └── utils/ │ ├── export-extractor.js │ ├── file-utils.js │ ├── function-extractor.js │ ├── index.js │ ├── jsdoc-parser.js │ ├── namespace-utils.js │ ├── type-utils.js │ └── typescript-formatter.js ├── jest.config.js ├── lerna.json ├── package.json ├── packages/ │ ├── config/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── config.test.ts │ │ │ ├── config.ts │ │ │ └── utils/ │ │ │ ├── utils.test.ts │ │ │ └── utils.ts │ │ └── tsconfig.json │ ├── demo/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── DEPLOY.md │ │ ├── README.md │ │ ├── emulator.key │ │ ├── eslint.config.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── postcss.config.js │ │ ├── public/ │ │ │ ├── robots.txt │ │ │ └── sitemap.xml │ │ ├── src/ │ │ │ ├── app.css │ │ │ ├── app.tsx │ │ │ ├── components/ │ │ │ │ ├── advanced-cards/ │ │ │ │ │ ├── dark-mode-card.tsx │ │ │ │ │ └── theming-card.tsx │ │ │ │ ├── component-cards/ │ │ │ │ │ ├── connect-card.tsx │ │ │ │ │ ├── demo-nft-card.tsx │ │ │ │ │ ├── profile-card.tsx │ │ │ │ │ ├── scheduled-transaction-list-demo.tsx │ │ │ │ │ ├── transaction-button-card.tsx │ │ │ │ │ ├── transaction-dialog-card.tsx │ │ │ │ │ └── transaction-link-card.tsx │ │ │ │ ├── content-section.tsx │ │ │ │ ├── content-sidebar.tsx │ │ │ │ ├── flow-provider-wrapper.tsx │ │ │ │ ├── footer.tsx │ │ │ │ ├── header.tsx │ │ │ │ ├── hook-cards/ │ │ │ │ │ ├── use-cross-vm-bridge-nft-from-evm-card.tsx │ │ │ │ │ ├── use-cross-vm-bridge-nft-to-evm-card.tsx │ │ │ │ │ ├── use-cross-vm-bridge-token-from-evm-card.tsx │ │ │ │ │ ├── use-cross-vm-bridge-token-to-evm-card.tsx │ │ │ │ │ ├── use-flow-account-card.tsx │ │ │ │ │ ├── use-flow-block-card.tsx │ │ │ │ │ ├── use-flow-chain-id-card.tsx │ │ │ │ │ ├── use-flow-config-card.tsx │ │ │ │ │ ├── use-flow-current-user-card.tsx │ │ │ │ │ ├── use-flow-events-card.tsx │ │ │ │ │ ├── use-flow-mutate-card.tsx │ │ │ │ │ ├── use-flow-nft-metadata-card.tsx │ │ │ │ │ ├── use-flow-query-card.tsx │ │ │ │ │ ├── use-flow-query-raw-card.tsx │ │ │ │ │ ├── use-flow-revertible-random-card.tsx │ │ │ │ │ ├── use-flow-scheduled-transaction-card.tsx │ │ │ │ │ └── use-flow-transaction-status-card.tsx │ │ │ │ ├── setup-cards/ │ │ │ │ │ └── installation-card.tsx │ │ │ │ ├── starter-banner.tsx │ │ │ │ └── ui/ │ │ │ │ ├── code-editor.tsx │ │ │ │ ├── code-viewer.tsx │ │ │ │ ├── demo-card.tsx │ │ │ │ ├── error-boundary.tsx │ │ │ │ ├── inline-code.tsx │ │ │ │ ├── json-viewer.tsx │ │ │ │ ├── loading-spinner.tsx │ │ │ │ ├── plus-grid.tsx │ │ │ │ ├── props-viewer.tsx │ │ │ │ └── results-section.tsx │ │ │ ├── constants.ts │ │ │ ├── main.tsx │ │ │ ├── utils/ │ │ │ │ └── chain-helpers.ts │ │ │ ├── utils.ts │ │ │ └── vite-env.d.ts │ │ ├── tailwind.config.js │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── fcl/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── TRANSITIONS.md │ │ ├── docs/ │ │ │ └── extra.md │ │ ├── docs-generator.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── VERSION.ts │ │ │ ├── client.ts │ │ │ ├── discovery/ │ │ │ │ ├── exec-discovery.ts │ │ │ │ ├── exec-hook.ts │ │ │ │ └── rpc/ │ │ │ │ ├── client.ts │ │ │ │ ├── handlers/ │ │ │ │ │ ├── exec-service.ts │ │ │ │ │ └── request-wc-qr.ts │ │ │ │ └── requests.ts │ │ │ ├── fcl.ts │ │ │ └── utils/ │ │ │ ├── async.ts │ │ │ ├── walletconnect/ │ │ │ │ └── loader.ts │ │ │ └── web/ │ │ │ ├── __tests__/ │ │ │ │ └── default-config.test.js │ │ │ ├── coreStrategies.js │ │ │ ├── default-config.js │ │ │ ├── exec-local.js │ │ │ ├── index.js │ │ │ ├── render-frame.js │ │ │ ├── render-pop.js │ │ │ ├── render-tab.js │ │ │ ├── storage.ts │ │ │ └── strategies/ │ │ │ ├── ext-rpc.js │ │ │ ├── iframe-rpc.js │ │ │ ├── pop-rpc.js │ │ │ ├── tab-rpc.js │ │ │ └── utils/ │ │ │ ├── extension.js │ │ │ ├── frame.js │ │ │ ├── pop.js │ │ │ └── tab.js │ │ └── tsconfig.json │ ├── fcl-bundle/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ ├── build/ │ │ │ ├── build-watch.js │ │ │ ├── build.js │ │ │ ├── get-input-options.js │ │ │ ├── get-output-options.js │ │ │ └── watcher-pool.js │ │ ├── cli.js │ │ ├── get-package-json.js │ │ ├── package-config.js │ │ ├── plugins/ │ │ │ ├── banner.js │ │ │ └── preserve-dynamic-imports.js │ │ ├── program.js │ │ └── util.js │ ├── fcl-core/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── TRANSITIONS.md │ │ ├── WARNINGS.md │ │ ├── assets/ │ │ │ └── service-method-diagrams/ │ │ │ ├── http-post.excalidraw │ │ │ ├── iframe-rpc.excalidraw │ │ │ ├── pop-rpc.excalidraw │ │ │ └── tab-rpc.excalidraw │ │ ├── docs/ │ │ │ └── extra.md │ │ ├── docs-generator.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── VERSION.ts │ │ │ ├── app-utils/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── verify-user-sig.test.ts │ │ │ │ ├── index.ts │ │ │ │ └── verify-signatures.ts │ │ │ ├── client.ts │ │ │ ├── context/ │ │ │ │ ├── global.ts │ │ │ │ └── index.ts │ │ │ ├── current-user/ │ │ │ │ ├── build-user.ts │ │ │ │ ├── exec-service/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── plugins.ts │ │ │ │ │ ├── strategies/ │ │ │ │ │ │ ├── http-post.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── buildMessageHandler.ts │ │ │ │ │ │ ├── fetch-service.ts │ │ │ │ │ │ ├── poll.ts │ │ │ │ │ │ └── service-endpoint.ts │ │ │ │ │ └── wc-check.ts │ │ │ │ ├── fetch-services.ts │ │ │ │ ├── index.ts │ │ │ │ ├── merge-services.ts │ │ │ │ ├── service-of-type.test.ts │ │ │ │ ├── service-of-type.ts │ │ │ │ └── url-from-service.ts │ │ │ ├── default-config.ts │ │ │ ├── discovery/ │ │ │ │ ├── index.ts │ │ │ │ ├── services/ │ │ │ │ │ └── authn.ts │ │ │ │ ├── services.test.ts │ │ │ │ ├── services.ts │ │ │ │ └── utils.ts │ │ │ ├── document/ │ │ │ │ ├── document.test.ts │ │ │ │ └── document.ts │ │ │ ├── events/ │ │ │ │ ├── index.test.ts │ │ │ │ ├── index.ts │ │ │ │ └── legacy-events.ts │ │ │ ├── exec/ │ │ │ │ ├── args.ts │ │ │ │ ├── mutate.md │ │ │ │ ├── mutate.ts │ │ │ │ ├── query-raw.ts │ │ │ │ ├── query.md │ │ │ │ ├── query.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── normalize-args.ts │ │ │ │ │ ├── pre.ts │ │ │ │ │ ├── prep-template-opts.test.ts │ │ │ │ │ └── prep-template-opts.ts │ │ │ │ └── verify.ts │ │ │ ├── fcl-core.ts │ │ │ ├── fcl.test.ts │ │ │ ├── interaction-template-utils/ │ │ │ │ ├── derive-cadence-by-network/ │ │ │ │ │ ├── derive-cadence-by-network-1.0.0.ts │ │ │ │ │ ├── derive-cadence-by-network-1.1.0.ts │ │ │ │ │ ├── derive-cadence-by-network.test.ts │ │ │ │ │ └── derive-cadence-by-network.ts │ │ │ │ ├── generate-dependency-pin/ │ │ │ │ │ ├── generate-dependency-pin-1.0.0.ts │ │ │ │ │ ├── generate-dependency-pin-1.1.0.ts │ │ │ │ │ ├── generate-dependency-pin.test.ts │ │ │ │ │ └── generate-dependency-pin.ts │ │ │ │ ├── generate-template-id/ │ │ │ │ │ ├── generate-template-id-1.0.0.ts │ │ │ │ │ ├── generate-template-id-1.1.0.test.ts │ │ │ │ │ ├── generate-template-id-1.1.0.ts │ │ │ │ │ └── generate-template-id.ts │ │ │ │ ├── get-interaction-template-audits.ts │ │ │ │ ├── get-template-argument-message.test.ts │ │ │ │ ├── get-template-argument-message.ts │ │ │ │ ├── get-template-message.test.ts │ │ │ │ ├── get-template-message.ts │ │ │ │ ├── index.ts │ │ │ │ ├── interaction-template.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── find-imports.test.ts │ │ │ │ │ ├── find-imports.ts │ │ │ │ │ ├── generate-import.ts │ │ │ │ │ ├── hash.ts │ │ │ │ │ ├── replace-string-imports.test.ts │ │ │ │ │ └── replace-string-imports.ts │ │ │ │ ├── verify-dependency-pin-same-at-block.test.ts │ │ │ │ └── verify-dependency-pin-same-at-block.ts │ │ │ ├── normalizers/ │ │ │ │ └── service/ │ │ │ │ ├── __vsn.ts │ │ │ │ ├── account-proof.ts │ │ │ │ ├── authn-refresh.ts │ │ │ │ ├── authn.ts │ │ │ │ ├── authz.ts │ │ │ │ ├── back-channel-rpc.ts │ │ │ │ ├── composite-signature.ts │ │ │ │ ├── frame.ts │ │ │ │ ├── local-view.ts │ │ │ │ ├── open-id.ts │ │ │ │ ├── polling-response.ts │ │ │ │ ├── pre-authz.ts │ │ │ │ ├── service.ts │ │ │ │ └── user-signature.ts │ │ │ ├── serialize/ │ │ │ │ └── index.ts │ │ │ ├── test-utils/ │ │ │ │ ├── index.ts │ │ │ │ └── mock-context.ts │ │ │ ├── transaction/ │ │ │ │ ├── constants.ts │ │ │ │ ├── index.ts │ │ │ │ ├── legacy-polling.js │ │ │ │ ├── legacy-polling.test.js │ │ │ │ ├── transaction-error.test.ts │ │ │ │ ├── transaction-error.ts │ │ │ │ ├── transaction.test.ts │ │ │ │ ├── transaction.ts │ │ │ │ ├── types.ts │ │ │ │ └── utils.ts │ │ │ ├── utils/ │ │ │ │ ├── chain-id/ │ │ │ │ │ ├── chain-id-watcher.test.ts │ │ │ │ │ ├── chain-id-watcher.ts │ │ │ │ │ ├── fetch-chain-id.ts │ │ │ │ │ ├── get-chain-id.test.ts │ │ │ │ │ └── get-chain-id.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── index.ts │ │ │ │ ├── is-react-native.ts │ │ │ │ ├── is.ts │ │ │ │ ├── storage.ts │ │ │ │ └── url.ts │ │ │ ├── wallet-provider-spec/ │ │ │ │ ├── README.md │ │ │ │ ├── assets/ │ │ │ │ │ ├── fcl-ars-auth-v1.excalidraw │ │ │ │ │ ├── fcl-ars-auth-v2.excalidraw │ │ │ │ │ ├── fcl-ars-auth-v3.1.excalidraw │ │ │ │ │ ├── fcl-ars-auth-v3.2.excalidraw │ │ │ │ │ └── fcl-ars-auth-v3.excalidraw │ │ │ │ ├── authorization-function.md │ │ │ │ ├── custodial.md │ │ │ │ ├── draft-v2.md │ │ │ │ ├── draft-v3.md │ │ │ │ ├── draft-v4.md │ │ │ │ ├── draft.md │ │ │ │ ├── non-custodial.md │ │ │ │ ├── provable-authn.md │ │ │ │ ├── user-signature.md │ │ │ │ └── wallet-discover.md │ │ │ └── wallet-utils/ │ │ │ ├── CompositeSignature.ts │ │ │ ├── encode-account-proof.test.ts │ │ │ ├── encode-account-proof.ts │ │ │ ├── index.ts │ │ │ ├── inject-ext-service.ts │ │ │ ├── on-message-from-fcl.ts │ │ │ ├── send-msg-to-fcl.ts │ │ │ └── wallet-utils.test.ts │ │ └── tsconfig.json │ ├── fcl-ethereum-provider/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __mocks__/ │ │ │ │ └── fcl.ts │ │ │ ├── accounts/ │ │ │ │ ├── account-manager.test.ts │ │ │ │ ├── account-manager.ts │ │ │ │ └── sign-message.test.ts │ │ │ ├── cadence.ts │ │ │ ├── constants.ts │ │ │ ├── create-provider.ts │ │ │ ├── events/ │ │ │ │ ├── event-dispatcher.test.ts │ │ │ │ └── event-dispatcher.ts │ │ │ ├── gateway/ │ │ │ │ ├── gateway.test.ts │ │ │ │ └── gateway.ts │ │ │ ├── hash-utils.test.ts │ │ │ ├── hash-utils.ts │ │ │ ├── index.ts │ │ │ ├── network/ │ │ │ │ ├── network-manager.test.ts │ │ │ │ └── network-manager.ts │ │ │ ├── notifications.ts │ │ │ ├── provider.test.ts │ │ │ ├── provider.ts │ │ │ ├── rpc/ │ │ │ │ ├── handlers/ │ │ │ │ │ ├── eth-accounts.test.ts │ │ │ │ │ ├── eth-accounts.ts │ │ │ │ │ ├── eth-chain-id.test.ts │ │ │ │ │ ├── eth-chain-id.ts │ │ │ │ │ ├── eth-send-transaction.test.ts │ │ │ │ │ ├── eth-send-transaction.ts │ │ │ │ │ ├── eth-signtypeddata.ts │ │ │ │ │ └── personal-sign.ts │ │ │ │ ├── rpc-processor.test.ts │ │ │ │ ├── rpc-processor.ts │ │ │ │ └── types.ts │ │ │ ├── types/ │ │ │ │ ├── account.ts │ │ │ │ ├── eth.ts │ │ │ │ ├── events.ts │ │ │ │ └── provider.ts │ │ │ ├── util/ │ │ │ │ ├── chain.ts │ │ │ │ ├── errors.ts │ │ │ │ ├── eth.ts │ │ │ │ ├── observable.ts │ │ │ │ └── transaction.ts │ │ │ └── wc-provider.ts │ │ └── tsconfig.json │ ├── fcl-rainbowkit-adapter/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── create-connector.ts │ │ │ ├── fcl-rainbowkit-adapter.test.ts │ │ │ ├── get-wc-connector.ts │ │ │ ├── index.ts │ │ │ ├── use-is-cadence-wallet-connected.ts │ │ │ └── wallets/ │ │ │ ├── flow-wallet.ts │ │ │ └── wc-wallet.ts │ │ └── tsconfig.json │ ├── fcl-react-native/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── docs/ │ │ │ └── extra.md │ │ ├── docs-generator.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── VERSION.ts │ │ │ ├── client.ts │ │ │ ├── fcl-react-native.ts │ │ │ ├── utils/ │ │ │ │ └── react-native/ │ │ │ │ ├── ConnectModal.js │ │ │ │ ├── ConnectModalProvider.js │ │ │ │ ├── ServiceDiscovery.js │ │ │ │ ├── __tests__/ │ │ │ │ │ └── default-config.test.js │ │ │ │ ├── constants.js │ │ │ │ ├── coreStrategies.js │ │ │ │ ├── default-config.js │ │ │ │ ├── exec-local.js │ │ │ │ ├── index.js │ │ │ │ ├── render-browser.js │ │ │ │ ├── render-deeplink.js │ │ │ │ ├── storage.ts │ │ │ │ └── strategies/ │ │ │ │ ├── deeplink-rpc.js │ │ │ │ ├── discovery-rn.js │ │ │ │ └── utils/ │ │ │ │ ├── browser.js │ │ │ │ └── service-endpoint.js │ │ │ └── walletconnect/ │ │ │ ├── client.ts │ │ │ ├── constants.ts │ │ │ ├── index.ts │ │ │ ├── loader.ts │ │ │ ├── service.ts │ │ │ └── session.ts │ │ └── tsconfig.json │ ├── fcl-wagmi-adapter/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── fcl-connector.ts │ │ │ ├── fcl-wagmi-adapter.test.ts │ │ │ ├── index.ts │ │ │ └── wc-connector.ts │ │ └── tsconfig.json │ ├── fcl-wc/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── jest.config.js │ │ ├── jest.setup.ts │ │ ├── package.json │ │ ├── postcss.config.js │ │ ├── src/ │ │ │ ├── constants.ts │ │ │ ├── fcl-wc.test.ts │ │ │ ├── fcl-wc.ts │ │ │ ├── index.ts │ │ │ ├── mocks/ │ │ │ │ └── file-mock.ts │ │ │ ├── service.ts │ │ │ ├── session.ts │ │ │ ├── store.ts │ │ │ ├── types/ │ │ │ │ ├── declarations.d.ts │ │ │ │ └── types.ts │ │ │ ├── ui/ │ │ │ │ ├── components/ │ │ │ │ │ └── Notification.tsx │ │ │ │ ├── notifications.tsx │ │ │ │ └── styles.css │ │ │ └── utils.ts │ │ ├── tailwind.config.js │ │ └── tsconfig.json │ ├── protobuf/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── generated/ │ │ │ │ └── flow/ │ │ │ │ ├── access/ │ │ │ │ │ ├── access_pb.d.ts │ │ │ │ │ ├── access_pb.js │ │ │ │ │ ├── access_pb_service.d.ts │ │ │ │ │ └── access_pb_service.js │ │ │ │ ├── entities/ │ │ │ │ │ ├── account_pb.d.ts │ │ │ │ │ ├── account_pb.js │ │ │ │ │ ├── account_pb_service.d.ts │ │ │ │ │ ├── account_pb_service.js │ │ │ │ │ ├── block_execution_data_pb.d.ts │ │ │ │ │ ├── block_execution_data_pb.js │ │ │ │ │ ├── block_execution_data_pb_service.d.ts │ │ │ │ │ ├── block_execution_data_pb_service.js │ │ │ │ │ ├── block_header_pb.d.ts │ │ │ │ │ ├── block_header_pb.js │ │ │ │ │ ├── block_header_pb_service.d.ts │ │ │ │ │ ├── block_header_pb_service.js │ │ │ │ │ ├── block_pb.d.ts │ │ │ │ │ ├── block_pb.js │ │ │ │ │ ├── block_pb_service.d.ts │ │ │ │ │ ├── block_pb_service.js │ │ │ │ │ ├── block_seal_pb.d.ts │ │ │ │ │ ├── block_seal_pb.js │ │ │ │ │ ├── block_seal_pb_service.d.ts │ │ │ │ │ ├── block_seal_pb_service.js │ │ │ │ │ ├── collection_pb.d.ts │ │ │ │ │ ├── collection_pb.js │ │ │ │ │ ├── collection_pb_service.d.ts │ │ │ │ │ ├── collection_pb_service.js │ │ │ │ │ ├── event_pb.d.ts │ │ │ │ │ ├── event_pb.js │ │ │ │ │ ├── event_pb_service.d.ts │ │ │ │ │ ├── event_pb_service.js │ │ │ │ │ ├── execution_result_pb.d.ts │ │ │ │ │ ├── execution_result_pb.js │ │ │ │ │ ├── execution_result_pb_service.d.ts │ │ │ │ │ ├── execution_result_pb_service.js │ │ │ │ │ ├── metadata_pb.d.ts │ │ │ │ │ ├── metadata_pb.js │ │ │ │ │ ├── metadata_pb_service.d.ts │ │ │ │ │ ├── metadata_pb_service.js │ │ │ │ │ ├── node_version_info_pb.d.ts │ │ │ │ │ ├── node_version_info_pb.js │ │ │ │ │ ├── node_version_info_pb_service.d.ts │ │ │ │ │ ├── node_version_info_pb_service.js │ │ │ │ │ ├── register_pb.d.ts │ │ │ │ │ ├── register_pb.js │ │ │ │ │ ├── register_pb_service.d.ts │ │ │ │ │ ├── register_pb_service.js │ │ │ │ │ ├── transaction_pb.d.ts │ │ │ │ │ ├── transaction_pb.js │ │ │ │ │ ├── transaction_pb_service.d.ts │ │ │ │ │ └── transaction_pb_service.js │ │ │ │ ├── execution/ │ │ │ │ │ ├── execution_pb.d.ts │ │ │ │ │ ├── execution_pb.js │ │ │ │ │ ├── execution_pb_service.d.ts │ │ │ │ │ └── execution_pb_service.js │ │ │ │ └── executiondata/ │ │ │ │ ├── executiondata_pb.d.ts │ │ │ │ ├── executiondata_pb.js │ │ │ │ ├── executiondata_pb_service.d.ts │ │ │ │ └── executiondata_pb_service.js │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ └── proto/ │ │ │ └── flow/ │ │ │ ├── access/ │ │ │ │ └── access.proto │ │ │ ├── entities/ │ │ │ │ ├── account.proto │ │ │ │ ├── block.proto │ │ │ │ ├── block_execution_data.proto │ │ │ │ ├── block_header.proto │ │ │ │ ├── block_seal.proto │ │ │ │ ├── collection.proto │ │ │ │ ├── event.proto │ │ │ │ ├── execution_result.proto │ │ │ │ ├── metadata.proto │ │ │ │ ├── node_version_info.proto │ │ │ │ ├── register.proto │ │ │ │ └── transaction.proto │ │ │ ├── execution/ │ │ │ │ └── execution.proto │ │ │ ├── executiondata/ │ │ │ │ └── executiondata.proto │ │ │ └── legacy/ │ │ │ ├── access/ │ │ │ │ └── access.proto │ │ │ ├── entities/ │ │ │ │ ├── account.proto │ │ │ │ ├── block.proto │ │ │ │ ├── block_header.proto │ │ │ │ ├── block_seal.proto │ │ │ │ ├── collection.proto │ │ │ │ ├── event.proto │ │ │ │ └── transaction.proto │ │ │ └── execution/ │ │ │ └── execution.proto │ │ └── webpack.config.js │ ├── react-core/ │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── babel.config.js │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __mocks__/ │ │ │ │ ├── TestProvider.tsx │ │ │ │ ├── flow-client.ts │ │ │ │ ├── tx.ts │ │ │ │ └── user.ts │ │ │ ├── constants.ts │ │ │ ├── core/ │ │ │ │ ├── context.ts │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── hooks/ │ │ │ │ ├── index.ts │ │ │ │ ├── useCrossVmBatchTransaction.test.ts │ │ │ │ ├── useCrossVmBatchTransaction.ts │ │ │ │ ├── useCrossVmBridgeNftFromEvm.test.ts │ │ │ │ ├── useCrossVmBridgeNftFromEvm.ts │ │ │ │ ├── useCrossVmBridgeNftToEvm.test.ts │ │ │ │ ├── useCrossVmBridgeNftToEvm.ts │ │ │ │ ├── useCrossVmBridgeTokenFromEvm.test.ts │ │ │ │ ├── useCrossVmBridgeTokenFromEvm.ts │ │ │ │ ├── useCrossVmBridgeTokenToEvm.test.ts │ │ │ │ ├── useCrossVmBridgeTokenToEvm.ts │ │ │ │ ├── useCrossVmSpendNft.test.ts │ │ │ │ ├── useCrossVmSpendNft.ts │ │ │ │ ├── useCrossVmSpendToken.test.ts │ │ │ │ ├── useCrossVmSpendToken.ts │ │ │ │ ├── useCrossVmTokenBalance.test.ts │ │ │ │ ├── useCrossVmTokenBalance.ts │ │ │ │ ├── useCrossVmTransactionStatus.test.ts │ │ │ │ ├── useCrossVmTransactionStatus.ts │ │ │ │ ├── useFlowAccount.test.ts │ │ │ │ ├── useFlowAccount.ts │ │ │ │ ├── useFlowAuthz.test.ts │ │ │ │ ├── useFlowAuthz.ts │ │ │ │ ├── useFlowBlock.test.ts │ │ │ │ ├── useFlowBlock.ts │ │ │ │ ├── useFlowChainId.test.ts │ │ │ │ ├── useFlowChainId.ts │ │ │ │ ├── useFlowClient.ts │ │ │ │ ├── useFlowConfig.ts │ │ │ │ ├── useFlowCurrentUser.test.ts │ │ │ │ ├── useFlowCurrentUser.ts │ │ │ │ ├── useFlowEvents.test.ts │ │ │ │ ├── useFlowEvents.ts │ │ │ │ ├── useFlowMutate.test.ts │ │ │ │ ├── useFlowMutate.ts │ │ │ │ ├── useFlowNftMetadata.test.ts │ │ │ │ ├── useFlowNftMetadata.ts │ │ │ │ ├── useFlowQuery.test.ts │ │ │ │ ├── useFlowQuery.ts │ │ │ │ ├── useFlowQueryRaw.test.ts │ │ │ │ ├── useFlowQueryRaw.ts │ │ │ │ ├── useFlowRevertibleRandom.test.tsx │ │ │ │ ├── useFlowRevertibleRandom.ts │ │ │ │ ├── useFlowScheduledTransaction.test.ts │ │ │ │ ├── useFlowScheduledTransaction.ts │ │ │ │ ├── useFlowScheduledTransactionCancel.test.ts │ │ │ │ ├── useFlowScheduledTransactionCancel.ts │ │ │ │ ├── useFlowScheduledTransactionList.test.ts │ │ │ │ ├── useFlowScheduledTransactionList.ts │ │ │ │ ├── useFlowScheduledTransactionSetup.test.ts │ │ │ │ ├── useFlowScheduledTransactionSetup.ts │ │ │ │ ├── useFlowTransaction.test.ts │ │ │ │ ├── useFlowTransaction.ts │ │ │ │ ├── useFlowTransactionStatus.test.ts │ │ │ │ └── useFlowTransactionStatus.ts │ │ │ ├── index.ts │ │ │ ├── jest-setup.ts │ │ │ ├── provider/ │ │ │ │ ├── FlowQueryClient.tsx │ │ │ │ ├── GlobalTransactionProvider.tsx │ │ │ │ └── index.ts │ │ │ └── utils/ │ │ │ ├── address.ts │ │ │ ├── deepEqual.ts │ │ │ ├── flowscan.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── react-native-sdk/ │ │ ├── .babelrc │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __mocks__/ │ │ │ │ └── noop.ts │ │ │ ├── components/ │ │ │ │ ├── Connect.tsx │ │ │ │ ├── Profile.tsx │ │ │ │ └── index.ts │ │ │ ├── icons/ │ │ │ │ ├── CheckIcon.tsx │ │ │ │ ├── CopyIcon.tsx │ │ │ │ ├── ExternalLinkIcon.tsx │ │ │ │ ├── LogOutIcon.tsx │ │ │ │ ├── UserIcon.tsx │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── provider/ │ │ │ │ ├── FlowProvider.tsx │ │ │ │ └── index.ts │ │ │ └── styles/ │ │ │ ├── colors.ts │ │ │ ├── dimensions.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── react-sdk/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── postcss.config.js │ │ ├── src/ │ │ │ ├── __mocks__/ │ │ │ │ ├── fcl.ts │ │ │ │ ├── flow-client.ts │ │ │ │ ├── noop.ts │ │ │ │ ├── tx.ts │ │ │ │ └── user.ts │ │ │ ├── components/ │ │ │ │ ├── Connect.tsx │ │ │ │ ├── NftCard.tsx │ │ │ │ ├── Profile.tsx │ │ │ │ ├── ScheduledTransactionList.tsx │ │ │ │ ├── TransactionButton.tsx │ │ │ │ ├── TransactionDialog.tsx │ │ │ │ ├── TransactionLink.tsx │ │ │ │ ├── index.ts │ │ │ │ └── internal/ │ │ │ │ ├── Button.tsx │ │ │ │ ├── Dialog.tsx │ │ │ │ └── StyleWrapper.tsx │ │ │ ├── core/ │ │ │ │ └── theme.tsx │ │ │ ├── css.d.ts │ │ │ ├── icons/ │ │ │ │ ├── AlertCircleIcon.tsx │ │ │ │ ├── CircleCheckIcon.tsx │ │ │ │ ├── CircleUserRoundIcon.tsx │ │ │ │ ├── CopyIcon.tsx │ │ │ │ ├── DownIcon.tsx │ │ │ │ ├── ExternalLink.tsx │ │ │ │ ├── FlowIcon.tsx │ │ │ │ ├── ImageIcon.tsx │ │ │ │ ├── LoaderCircleIcon.tsx │ │ │ │ ├── LogOutIcon.tsx │ │ │ │ ├── MoreVerticalIcon.tsx │ │ │ │ ├── TrashIcon.tsx │ │ │ │ ├── UserIcon.tsx │ │ │ │ └── XIcon.tsx │ │ │ ├── index.ts │ │ │ ├── jest-setup.ts │ │ │ ├── mocks/ │ │ │ │ └── file-mock.ts │ │ │ ├── provider/ │ │ │ │ ├── DarkModeProvider.tsx │ │ │ │ ├── FlowProvider.tsx │ │ │ │ └── index.ts │ │ │ └── styles/ │ │ │ └── tailwind.css │ │ ├── tailwind.config.js │ │ └── tsconfig.json │ ├── rlp/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── sdk/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── TRANSITIONS.md │ │ ├── docs/ │ │ │ └── extra.md │ │ ├── docs-generator.config.js │ │ ├── package.json │ │ ├── readme.md │ │ ├── src/ │ │ │ ├── VERSION.ts │ │ │ ├── account/ │ │ │ │ ├── account.test.ts │ │ │ │ └── account.ts │ │ │ ├── block/ │ │ │ │ ├── block.test.ts │ │ │ │ └── block.ts │ │ │ ├── build/ │ │ │ │ ├── build-arguments.test.ts │ │ │ │ ├── build-arguments.ts │ │ │ │ ├── build-at-block-height.test.ts │ │ │ │ ├── build-at-block-height.ts │ │ │ │ ├── build-at-block-id.test.ts │ │ │ │ ├── build-at-block-id.ts │ │ │ │ ├── build-at-latest-block.test.ts │ │ │ │ ├── build-at-latest-block.ts │ │ │ │ ├── build-authorizations.test.ts │ │ │ │ ├── build-authorizations.ts │ │ │ │ ├── build-get-account.test.ts │ │ │ │ ├── build-get-account.ts │ │ │ │ ├── build-get-block-header.test.ts │ │ │ │ ├── build-get-block-header.ts │ │ │ │ ├── build-get-block.test.ts │ │ │ │ ├── build-get-block.ts │ │ │ │ ├── build-get-collection.test.ts │ │ │ │ ├── build-get-collection.ts │ │ │ │ ├── build-get-events-at-block-height-range.test.ts │ │ │ │ ├── build-get-events-at-block-height-range.ts │ │ │ │ ├── build-get-events-at-block-ids.test.ts │ │ │ │ ├── build-get-events-at-block-ids.ts │ │ │ │ ├── build-get-events.test.ts │ │ │ │ ├── build-get-events.ts │ │ │ │ ├── build-get-latest-block.test.ts │ │ │ │ ├── build-get-latest-block.ts │ │ │ │ ├── build-get-network-parameters.test.ts │ │ │ │ ├── build-get-network-parameters.ts │ │ │ │ ├── build-get-node-version-info.test.ts │ │ │ │ ├── build-get-node-version-info.ts │ │ │ │ ├── build-get-transaction-status.test.ts │ │ │ │ ├── build-get-transaction-status.ts │ │ │ │ ├── build-get-transaction.test.ts │ │ │ │ ├── build-get-transaction.ts │ │ │ │ ├── build-invariant.js │ │ │ │ ├── build-invariant.test.js │ │ │ │ ├── build-limit.test.ts │ │ │ │ ├── build-limit.ts │ │ │ │ ├── build-payer.test.ts │ │ │ │ ├── build-payer.ts │ │ │ │ ├── build-ping.test.ts │ │ │ │ ├── build-ping.ts │ │ │ │ ├── build-proposer.test.ts │ │ │ │ ├── build-proposer.ts │ │ │ │ ├── build-ref.test.ts │ │ │ │ ├── build-ref.ts │ │ │ │ ├── build-script.test.ts │ │ │ │ ├── build-script.ts │ │ │ │ ├── build-subscribe-events.test.ts │ │ │ │ ├── build-subscribe-events.ts │ │ │ │ ├── build-transaction.test.ts │ │ │ │ ├── build-transaction.ts │ │ │ │ ├── build-validator.test.ts │ │ │ │ ├── build-validator.ts │ │ │ │ ├── build-voucher-intercept.test.ts │ │ │ │ ├── build-voucher-intercept.ts │ │ │ │ ├── build.test.ts │ │ │ │ └── build.ts │ │ │ ├── constants.ts │ │ │ ├── context/ │ │ │ │ ├── context.ts │ │ │ │ ├── get-global-transport.test.ts │ │ │ │ ├── get-global-transport.ts │ │ │ │ └── global.ts │ │ │ ├── contract.test.ts │ │ │ ├── decode/ │ │ │ │ ├── README.md │ │ │ │ ├── decode-stream.test.ts │ │ │ │ ├── decode-stream.ts │ │ │ │ ├── decode.test.js │ │ │ │ ├── decode.ts │ │ │ │ └── sdk-decode.ts │ │ │ ├── encode/ │ │ │ │ ├── README.md │ │ │ │ ├── encode.test.ts │ │ │ │ └── encode.ts │ │ │ ├── interaction/ │ │ │ │ ├── interaction.test.ts │ │ │ │ └── interaction.ts │ │ │ ├── node-version-info/ │ │ │ │ └── node-version-info.ts │ │ │ ├── resolve/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── resolve-signatures.test.ts.snap │ │ │ │ ├── __tests__/ │ │ │ │ │ └── resolve-accounts.test.js │ │ │ │ ├── resolve-accounts.test.js │ │ │ │ ├── resolve-accounts.ts │ │ │ │ ├── resolve-arguments.test.ts │ │ │ │ ├── resolve-arguments.ts │ │ │ │ ├── resolve-cadence.test.ts │ │ │ │ ├── resolve-cadence.ts │ │ │ │ ├── resolve-compute-limit.test.ts │ │ │ │ ├── resolve-compute-limit.ts │ │ │ │ ├── resolve-final-normalization.test.ts │ │ │ │ ├── resolve-final-normalization.ts │ │ │ │ ├── resolve-proposer-sequence-number.test.ts │ │ │ │ ├── resolve-proposer-sequence-number.ts │ │ │ │ ├── resolve-ref-block-id.test.ts │ │ │ │ ├── resolve-ref-block-id.ts │ │ │ │ ├── resolve-signatures.test.ts │ │ │ │ ├── resolve-signatures.ts │ │ │ │ ├── resolve-validators.test.ts │ │ │ │ ├── resolve-validators.ts │ │ │ │ ├── resolve-voucher-intercept.test.ts │ │ │ │ ├── resolve-voucher-intercept.ts │ │ │ │ ├── resolve.ts │ │ │ │ └── voucher.ts │ │ │ ├── response/ │ │ │ │ ├── README.md │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── response.test.ts.snap │ │ │ │ ├── response.test.ts │ │ │ │ └── response.ts │ │ │ ├── sdk-client.ts │ │ │ ├── sdk.test.js │ │ │ ├── sdk.ts │ │ │ ├── test-utils/ │ │ │ │ ├── authz-fn.ts │ │ │ │ ├── index.ts │ │ │ │ ├── mock-send.js │ │ │ │ └── run.ts │ │ │ ├── transport/ │ │ │ │ ├── index.ts │ │ │ │ ├── send/ │ │ │ │ │ ├── send.test.ts │ │ │ │ │ └── send.ts │ │ │ │ └── subscribe/ │ │ │ │ ├── errors.ts │ │ │ │ ├── subscribe-raw.test.ts │ │ │ │ ├── subscribe-raw.ts │ │ │ │ ├── subscribe.test.ts │ │ │ │ ├── subscribe.ts │ │ │ │ └── types.ts │ │ │ └── wallet-utils/ │ │ │ ├── encode-signable.test.ts │ │ │ ├── encode-signable.ts │ │ │ ├── index.ts │ │ │ ├── validate-tx.test.ts │ │ │ └── validate-tx.ts │ │ └── tsconfig.json │ ├── transport-grpc/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── sdk-send-grpc.js │ │ │ ├── send-execute-script.js │ │ │ ├── send-execute-script.test.js │ │ │ ├── send-get-account.js │ │ │ ├── send-get-account.test.js │ │ │ ├── send-get-block-header.js │ │ │ ├── send-get-block-header.test.js │ │ │ ├── send-get-block.js │ │ │ ├── send-get-block.test.js │ │ │ ├── send-get-collection.js │ │ │ ├── send-get-collection.test.js │ │ │ ├── send-get-events.js │ │ │ ├── send-get-events.test.js │ │ │ ├── send-get-network-parameters.js │ │ │ ├── send-get-network-parameters.test.js │ │ │ ├── send-get-node-version-info.js │ │ │ ├── send-get-node-version-info.test.js │ │ │ ├── send-get-transaction-status.js │ │ │ ├── send-get-transaction-status.test.js │ │ │ ├── send-get-transaction.js │ │ │ ├── send-get-transaction.test.js │ │ │ ├── send-grpc.js │ │ │ ├── send-ping.js │ │ │ ├── send-ping.test.js │ │ │ ├── send-transaction.js │ │ │ ├── send-transaction.test.js │ │ │ └── unary.js │ │ └── tsconfig.json │ ├── transport-http/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── send/ │ │ │ │ ├── connect-subscribe-events.test.ts │ │ │ │ ├── connect-subscribe-events.ts │ │ │ │ ├── connect-ws.test.ts │ │ │ │ ├── connect-ws.ts │ │ │ │ ├── http-request.js │ │ │ │ ├── http-request.test.js │ │ │ │ ├── send-execute-script.js │ │ │ │ ├── send-execute-script.test.js │ │ │ │ ├── send-get-account.js │ │ │ │ ├── send-get-account.test.js │ │ │ │ ├── send-get-block-header.js │ │ │ │ ├── send-get-block-header.test.js │ │ │ │ ├── send-get-block.js │ │ │ │ ├── send-get-block.test.js │ │ │ │ ├── send-get-collection.js │ │ │ │ ├── send-get-collection.test.js │ │ │ │ ├── send-get-events.js │ │ │ │ ├── send-get-events.test.js │ │ │ │ ├── send-get-network-parameters.js │ │ │ │ ├── send-get-network-parameters.test.js │ │ │ │ ├── send-get-node-version-info.test.ts │ │ │ │ ├── send-get-node-version-info.ts │ │ │ │ ├── send-get-transaction-status.js │ │ │ │ ├── send-get-transaction-status.test.js │ │ │ │ ├── send-get-transaction.js │ │ │ │ ├── send-get-transaction.test.js │ │ │ │ ├── send-http.ts │ │ │ │ ├── send-ping.test.ts │ │ │ │ ├── send-ping.ts │ │ │ │ ├── send-transaction.js │ │ │ │ ├── send-transaction.test.js │ │ │ │ └── utils.js │ │ │ ├── subscribe/ │ │ │ │ ├── handlers/ │ │ │ │ │ ├── account-statuses.test.ts │ │ │ │ │ ├── account-statuses.ts │ │ │ │ │ ├── block-digests.ts │ │ │ │ │ ├── block-headers.ts │ │ │ │ │ ├── blocks.ts │ │ │ │ │ ├── events.test.ts │ │ │ │ │ ├── events.ts │ │ │ │ │ ├── transaction-statuses.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── models.ts │ │ │ │ ├── subscribe.test.ts │ │ │ │ ├── subscribe.ts │ │ │ │ ├── subscription-manager.test.ts │ │ │ │ ├── subscription-manager.ts │ │ │ │ └── websocket.ts │ │ │ ├── transport.ts │ │ │ └── utils/ │ │ │ ├── combine-urls.test.ts │ │ │ └── combine-urls.ts │ │ └── tsconfig.json │ ├── typedefs/ │ │ ├── .babelrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── fvm-errors.ts │ │ │ ├── index.test.js │ │ │ ├── index.ts │ │ │ ├── interaction.ts │ │ │ ├── subscriptions.ts │ │ │ └── transport.ts │ │ └── tsconfig.json │ ├── types/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── WARNINGS.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── types.test.ts │ │ │ └── types.ts │ │ └── tsconfig.json │ ├── util-actor/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.test.ts │ │ │ ├── index.ts │ │ │ └── mailbox/ │ │ │ ├── README.md │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── util-address/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── util-encode-key/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __snapshots__/ │ │ │ │ └── index.test.ts.snap │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── util-invariant/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── util-logger/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── util-logger.test.ts │ │ │ └── util-logger.ts │ │ └── tsconfig.json │ ├── util-rpc/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── messages.ts │ │ │ ├── rpc-client.test.ts │ │ │ ├── rpc-client.ts │ │ │ └── rpc-error.ts │ │ └── tsconfig.json │ ├── util-semver/ │ │ ├── .babelrc │ │ ├── CHANGELOG.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── compare-identifiers.js │ │ │ ├── compare.js │ │ │ ├── compare.test.js │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── util-template/ │ │ ├── .babelrc │ │ ├── .browserslistrc │ │ ├── .eslintrc.json │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __snapshots__/ │ │ │ │ └── template.test.ts.snap │ │ │ ├── template.test.ts │ │ │ └── template.ts │ │ └── tsconfig.json │ └── util-uid/ │ ├── .babelrc │ ├── .browserslistrc │ ├── .eslintrc.json │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── util-uid.test.ts │ │ └── util-uid.ts │ └── tsconfig.json └── tsconfig.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .changeset/README.md ================================================ # Changesets Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works with multi-package repos, or single-package repos to help you version and publish your code. You can find the full documentation for it [in our repository](https://github.com/changesets/changesets) We have a quick list of common questions to get you started engaging with this project in [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) ================================================ FILE: .changeset/config.json ================================================ { "$schema": "https://unpkg.com/@changesets/config@1.7.0/schema.json", "changelog": ["@changesets/changelog-github", {"repo": "onflow/fcl-js"}], "commit": false, "fixed": [], "linked": [], "access": "public", "baseBranch": "master", "updateInternalDependencies": "patch", "ignore": ["@onflow/transport-grpc"] } ================================================ FILE: .github/ISSUE_TEMPLATE/bug_report.yml ================================================ name: Reporting a Problem/Bug description: Reporting a Problem/Bug title: "[BUG]
Connect your dapp to users, their wallets and Flow.
Quickstart
·
Report Bug
·
Contribute
Current Mode: {darkMode ? "Dark" : "Light"}
Click the toggle to switch themes
Live Flow Components Preview:
Theming Features
Built-in wallet flow
Multi-token support with cross-VM bridge integration. Provide only a vaultIdentifier or an erc20Address and the bridge derives the other automatically.
Emulator Network Detected
Connect component requires testnet or mainnet
Fetches NFT data automatically
Shows traits and attributes
Extensible 3-dot menu
Emulator Network Detected
NFT Card component requires testnet or mainnet
Demo Available on Testnet and Mainnet
Switch to testnet or mainnet to see the NFT card demo
Reusable anywhere
Shows connected/not connected
Cross-VM balance with token selector
Emulator Network Detected
Profile component requires testnet or mainnet
Automatic data fetching
Configurable max height
Refreshes after cancellation
{chainId === "testnet" ? `Using demo account: ${DEMO_ADDRESS_TESTNET}` : user?.addr ? `Using connected wallet address: ${user.addr}` : "Connect wallet or enter address to view scheduled transactions"}
)}{filterInput ? `Filtering by ${filterHandlerTypes?.length || 0} handler type(s)` : "Enter comma-separated handler type identifiers to filter transactions"}
Loading chain information...
Emulator Network Detected
Scheduled transactions require testnet or mainnet
Connect Wallet or Enter Address
Connect your wallet or enter a Flow address above to view scheduled transactions
Built-in wallet integration
Loading and error states
Transaction Submitted Successfully
Transaction ID:
{transactionResult.txId}
{new Date(transactionResult.timestamp).toLocaleString()}
Transaction Failed
{transactionResult.error}
{new Date(transactionResult.timestamp).toLocaleString()}
Live transaction status
Overlay with progress
Transaction submitted! Dialog was displayed.
Direct links to flowscan
Auto network detection
Transaction Submitted!
Submit a transaction to see the block explorer link
Transaction Submitted & Link Generated
Transaction ID:
{transactionResult.txId}
{new Date(transactionResult.timestamp).toLocaleString()}
Transaction Failed
{transactionResult.error}
{new Date(transactionResult.timestamp).toLocaleString()}
Install and configure the Flow React SDK to start building apps on Flow.
Pre-built UI components for common Flow blockchain interactions. Drop them into your app to ship faster.
Powerful React hooks for interacting with the Flow blockchain. Each hook provides a simple interface for complex blockchain operations.
Customize and extend the Flow React SDK with advanced theming, dark mode controls, and configuration options.
Note: Example prefilled with ExampleNFT type identifier for testnet
Note: Example prefilled with ExampleNFT type identifier for testnet
Note: Example prefilled with ClickToken (ERC20) vault identifier for testnet
ERC20 decimals (typically 18). Amount will be converted to Wei automatically.
Note: Example prefilled with ClickToken (ERC20) vault identifier for testnet
Enter amount as a number (e.g., "1" or "1.5"). Will be converted to UFix64 format.
Balance
{(Number(account.balance) / 1e8).toFixed(8)}
FLOW
Account Keys
{account.keys.length}
{account.keys.length === 1 ? "key" : "keys"}
{useLatest ? "Click to fetch latest block" : "Configure and fetch block data"}
{error.message}
Height
{block.height}
Timestamp
{new Date(block.timestamp).toLocaleDateString()}
{new Date(block.timestamp).toLocaleTimeString()}
Block ID
{block.id}
Parent Block ID
{block.parentId}
Loading chain ID...
Error: {error.message}
Click "Fetch Chain ID" to load current chain information
)}
{JSON.stringify(config, null, 2)}
Loading configuration...
{config.flowNetwork || "Not specified"}
{config["accessNode.api"] || "Not configured"}
Wallet Address
{user.addr}
No wallet connected
Error: {error.message}
No events received yet. Click "Start Listening" to begin.
{JSON.stringify(event, null, 2)}
NFT Image
Name
{nft.name}
Description
{nft.description}
Token ID
{nft.tokenID}
Collection
{nft.collectionName}
Traits
{key}
{String(value)}
No NFT found. This could mean:
Raw Query Hook
Returns the complete FCL response without automatic parsing, giving you access to status, events, and raw data.
Generated Random Value
Generation Failed
{error.message}
Setup Scheduler Manager
Before scheduling transactions, you need to initialize a Manager resource in your account. This is a one-time setup that creates the necessary storage and capabilities for managing scheduled transactions. The manager tracks your scheduled transactions and handles their execution.
Please connect your wallet to setup the scheduler
)}List Scheduled Transactions
View all scheduled transactions for an account. Each transaction shows its ID, priority level (High/Medium/Low), execution status, computational effort, fees, and scheduled execution time. Optionally include handler data to see the transaction's metadata and resolved views.
Note: Only returns transactions in pending state (not yet executed). Once executed, transactions are removed from the list.
Leave empty to use connected wallet address
Get Scheduled Transaction
Fetch detailed information about a specific scheduled transaction by its ID. This returns the transaction's current status, priority, fees, execution timestamp, and handler information. Useful for monitoring individual transactions and checking their execution state.
Note: Only returns data for transactions in pending state. Returns null if the transaction has been executed or doesn't exist.
Cancel Scheduled Transaction
Cancel a pending scheduled transaction before it executes. This prevents the transaction from running and refunds any prepaid fees back to your account. Only transactions in "Pending" status can be cancelled - once a transaction starts processing or completes, it cannot be cancelled.
Please connect your wallet to cancel transactions
)}Invalid Format
Flow transaction ID must be exactly 64 hex characters (0x prefix optional)
{debugInfo && ({debugInfo}
)}Valid transaction ID format - monitoring status...
{debugInfo}
)}Enter a transaction ID above to automatically monitor its status updates
)}UNKNOWN
Transaction not found or not yet submitted
PENDING
Awaiting execution by network
FINALIZED
Included in a block by consensus nodes
EXECUTED
Execution completed, results computed
SEALED
Permanently committed to blockchain
EXPIRED
Transaction reference block expired
Enter a transaction ID to check its status
Please enter a valid transaction ID format to check status
Status Check Failed
{hookError || error?.message}
Transaction Error
{transactionStatus.errorMessage}
yarn add @onflow/react-sdk
pnpm add @onflow/react-sdk
Wrap your application with FlowProvider to enable all React SDK features.
Import and use components and hooks from the React SDK
Welcome, {user.addr}!
}Important Notes
Try our Next.js starter template with Flow React SDK pre-configured and ready to be used.
Try our Expo starter template with Flow React Native SDK pre-configured and ready to be used.
{this.state.error?.message || "An unexpected error occurred. Please refresh the page to try again."}
{JSON.stringify(data, null, 2)}
{message}
{prop.name}
{prop.required && (
required
)}
{prop.type}
{prop.description}
)} {prop.defaultValue && (
{prop.defaultValue}
Connect your dapp to users, their wallets and Flow.
Quickstart
·
Report Bug
·
Contribute