├── .changeset
├── README.md
└── config.json
├── .eslintrc.js
├── .github
└── workflows
│ ├── pull_request.yml
│ ├── release.yml
│ ├── stale.yml
│ └── sync_doc_devportal.yml
├── .gitignore
├── .husky
└── pre-commit
├── .nvmrc
├── .prettierrc
├── .vscode
└── notebooks
│ ├── my-work.github-issues
│ └── team-inbox.github-issues
├── CONTRIBUTING.md
├── README.md
├── SECURITY.md
├── SUPPORT.md
├── apps
├── docs
│ ├── .eslintrc.js
│ ├── CHANGELOG.md
│ ├── next-env.d.ts
│ ├── next.config.js
│ ├── package.json
│ ├── pages
│ │ ├── _app.mdx
│ │ ├── _meta.json
│ │ ├── docs
│ │ │ ├── _meta.json
│ │ │ ├── discover.mdx
│ │ │ └── discover
│ │ │ │ ├── _meta.json
│ │ │ │ ├── dapp-browser.mdx
│ │ │ │ ├── dapp-browser
│ │ │ │ ├── _meta.json
│ │ │ │ ├── dapp-customisation.mdx
│ │ │ │ ├── manifest.mdx
│ │ │ │ ├── migration.mdx
│ │ │ │ └── plugin.mdx
│ │ │ │ ├── developer-mode.mdx
│ │ │ │ ├── faq.mdx
│ │ │ │ ├── guidelines.mdx
│ │ │ │ ├── required-skills.mdx
│ │ │ │ ├── wallet-api.mdx
│ │ │ │ └── wallet-api
│ │ │ │ ├── _meta.json
│ │ │ │ ├── appendix
│ │ │ │ ├── _meta.json
│ │ │ │ ├── families.mdx
│ │ │ │ ├── manifest.mdx
│ │ │ │ ├── migration-guide.mdx
│ │ │ │ ├── transaction.mdx
│ │ │ │ └── working-with-ledger-live.mdx
│ │ │ │ ├── core
│ │ │ │ ├── _meta.json
│ │ │ │ ├── configuration.mdx
│ │ │ │ ├── getting-started.mdx
│ │ │ │ └── modules
│ │ │ │ │ ├── _meta.json
│ │ │ │ │ ├── account.mdx
│ │ │ │ │ ├── bitcoin.mdx
│ │ │ │ │ ├── currency.mdx
│ │ │ │ │ ├── custom.mdx
│ │ │ │ │ ├── device.mdx
│ │ │ │ │ ├── exchange.mdx
│ │ │ │ │ ├── message.mdx
│ │ │ │ │ ├── storage.mdx
│ │ │ │ │ ├── transaction.mdx
│ │ │ │ │ └── wallet.mdx
│ │ │ │ ├── examples
│ │ │ │ ├── _meta.json
│ │ │ │ ├── live-app-creation
│ │ │ │ │ ├── _meta.json
│ │ │ │ │ ├── configuration.mdx
│ │ │ │ │ ├── hooking-up.mdx
│ │ │ │ │ ├── manifest.mdx
│ │ │ │ │ └── start.mdx
│ │ │ │ ├── test-live-app
│ │ │ │ │ ├── _meta.json
│ │ │ │ │ ├── assets
│ │ │ │ │ │ ├── 3-1-developer-mode.png
│ │ │ │ │ │ ├── 3-2-dev-tools.png
│ │ │ │ │ │ ├── 3-3-browse.png
│ │ │ │ │ │ ├── 3-4-local-app.png
│ │ │ │ │ │ └── 4-1-open-local-app.png
│ │ │ │ │ ├── prerequisites.mdx
│ │ │ │ │ └── testing.mdx
│ │ │ │ └── use-live-app
│ │ │ │ │ ├── _meta.json
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── 3-1-developer-mode.png
│ │ │ │ │ ├── 3-2-dev-tools.png
│ │ │ │ │ ├── 3-3-browse.png
│ │ │ │ │ ├── 3-4-local-app.png
│ │ │ │ │ └── 4-1-open-local-app.png
│ │ │ │ │ ├── import.mdx
│ │ │ │ │ ├── interact.mdx
│ │ │ │ │ ├── manifest.mdx
│ │ │ │ │ └── prerequisites.mdx
│ │ │ │ ├── introduction.mdx
│ │ │ │ ├── react
│ │ │ │ ├── _meta.json
│ │ │ │ ├── configuration.mdx
│ │ │ │ ├── getting-started.mdx
│ │ │ │ └── hooks
│ │ │ │ │ ├── _meta.json
│ │ │ │ │ ├── useAccounts.mdx
│ │ │ │ │ ├── useCapabilities.mdx
│ │ │ │ │ ├── useCurrencies.mdx
│ │ │ │ │ ├── useRequestAccount.mdx
│ │ │ │ │ ├── useSignAndBroadcastTransaction.mdx
│ │ │ │ │ ├── useSignMessage.mdx
│ │ │ │ │ ├── useSignTransaction.mdx
│ │ │ │ │ ├── useUserId.mdx
│ │ │ │ │ └── useWalletInfo.mdx
│ │ │ │ ├── server
│ │ │ │ ├── _meta.json
│ │ │ │ ├── assets
│ │ │ │ │ ├── diagram-permissions-1-light.png
│ │ │ │ │ ├── diagram-request-handlers-1-dark.png
│ │ │ │ │ ├── diagram-request-handlers-1-light.png
│ │ │ │ │ ├── diagram-request-handlers-2-light.png
│ │ │ │ │ ├── diagram-transport-1-light.png
│ │ │ │ │ ├── diagram-wallet-handlers-1-light.png
│ │ │ │ │ └── server-rpc-node-classdiagram.png
│ │ │ │ ├── extras
│ │ │ │ │ ├── rpc-node.mdx
│ │ │ │ │ └── rxjs.mdx
│ │ │ │ ├── handlers
│ │ │ │ │ ├── _meta.json
│ │ │ │ │ ├── account.mdx
│ │ │ │ │ ├── bitcoin.mdx
│ │ │ │ │ ├── currency.mdx
│ │ │ │ │ ├── device.mdx
│ │ │ │ │ ├── exchange.mdx
│ │ │ │ │ ├── message.mdx
│ │ │ │ │ ├── storage.mdx
│ │ │ │ │ ├── transaction.mdx
│ │ │ │ │ └── wallet.mdx
│ │ │ │ ├── index.mdx
│ │ │ │ ├── usage-examples
│ │ │ │ │ ├── with-constructor.mdx
│ │ │ │ │ └── within-ledger-live.mdx
│ │ │ │ └── wallet-api-server
│ │ │ │ │ ├── _meta.json
│ │ │ │ │ ├── diagrams.mdx
│ │ │ │ │ ├── index.mdx
│ │ │ │ │ └── react-hook.mdx
│ │ │ │ └── simulator
│ │ │ │ ├── _meta.json
│ │ │ │ ├── configuration.mdx
│ │ │ │ ├── getting-started.mdx
│ │ │ │ ├── introduction.mdx
│ │ │ │ └── profiles.mdx
│ │ └── index.mdx
│ ├── postcss.config.js
│ ├── style.css
│ ├── tailwind.config.js
│ ├── theme.config.tsx
│ └── tsconfig.json
└── wallet-api-tools
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .prettierrc
│ ├── .vscode
│ └── settings.json
│ ├── CHANGELOG.md
│ ├── app
│ ├── TopBar.tsx
│ ├── head.tsx
│ ├── layout.tsx
│ └── page.tsx
│ ├── manifest.json
│ ├── next.config.js
│ ├── package.json
│ ├── postcss.config.js
│ ├── public
│ ├── favicon.ico
│ ├── next.svg
│ ├── thirteen.svg
│ └── vercel.svg
│ ├── src
│ ├── CommandSelector
│ │ ├── index.tsx
│ │ └── style.css
│ ├── Editor.tsx
│ ├── Input.tsx
│ ├── components
│ │ ├── GroupedMessage.tsx
│ │ ├── InfoMessage.tsx
│ │ └── Message.tsx
│ ├── helpers.ts
│ └── types.ts
│ ├── styles
│ └── globals.css
│ ├── tailwind.config.js
│ └── tsconfig.json
├── examples
└── client-nextjs
│ ├── .eslintrc.json
│ ├── .gitignore
│ ├── .prettierrc
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── app
│ ├── favicon.ico
│ ├── globals.css
│ ├── layout.tsx
│ └── page.tsx
│ ├── components
│ ├── AccountsList.test.tsx
│ └── AccountsList.tsx
│ ├── jest.config.ts
│ ├── jest.setup.ts
│ ├── next.config.js
│ ├── package.json
│ ├── postcss.config.js
│ ├── public
│ ├── next.svg
│ └── vercel.svg
│ ├── tailwind.config.ts
│ ├── tsconfig.json
│ └── types.d.ts
├── package.json
├── packages
├── client-react
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── prod-esm.tsconfig.json
│ ├── prod.tsconfig.json
│ ├── src
│ │ ├── components
│ │ │ ├── WalletAPIProvider
│ │ │ │ ├── context.ts
│ │ │ │ ├── helpers.ts
│ │ │ │ ├── index.tsx
│ │ │ │ └── types.ts
│ │ │ └── index.ts
│ │ ├── hooks
│ │ │ ├── index.ts
│ │ │ ├── useAccounts.ts
│ │ │ ├── useCapabilities.ts
│ │ │ ├── useCurrencies.ts
│ │ │ ├── useRequestAccount.ts
│ │ │ ├── useSignAndBroadcastTransaction.ts
│ │ │ ├── useSignMessage.ts
│ │ │ ├── useSignTransaction.ts
│ │ │ ├── useUserId.ts
│ │ │ ├── useWalletAPIClient.ts
│ │ │ └── useWalletInfo.ts
│ │ └── index.ts
│ ├── tests
│ │ └── client-react.spec.ts
│ └── tsconfig.json
├── client
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .nycrc
│ ├── CHANGELOG.md
│ ├── CONTRIBUTING.md
│ ├── LICENSE
│ ├── README.md
│ ├── jest.config.ts
│ ├── package.json
│ ├── prod-esm.tsconfig.json
│ ├── prod.tsconfig.json
│ ├── src
│ │ ├── TransportWalletAPI.ts
│ │ ├── WalletAPIClient.ts
│ │ ├── index.ts
│ │ └── modules
│ │ │ ├── Account.ts
│ │ │ ├── Bitcoin.ts
│ │ │ ├── Currency.ts
│ │ │ ├── Custom.ts
│ │ │ ├── Device.ts
│ │ │ ├── Exchange.ts
│ │ │ ├── Message.ts
│ │ │ ├── Storage.ts
│ │ │ ├── Transaction.ts
│ │ │ └── Wallet.ts
│ ├── tests
│ │ └── client.spec.ts
│ └── tsconfig.json
├── core
│ ├── .eslintrc.js
│ ├── CHANGELOG.md
│ ├── jest.config.ts
│ ├── package.json
│ ├── prod-esm.tsconfig.json
│ ├── prod.tsconfig.json
│ ├── src
│ │ ├── JSONRPC
│ │ │ ├── RPCError.ts
│ │ │ ├── RpcNode.ts
│ │ │ ├── helpers.ts
│ │ │ ├── index.ts
│ │ │ ├── types.ts
│ │ │ └── validation.ts
│ │ ├── accounts
│ │ │ ├── index.ts
│ │ │ ├── serializers.ts
│ │ │ ├── types.ts
│ │ │ └── validation.ts
│ │ ├── currencies
│ │ │ ├── index.ts
│ │ │ ├── types.ts
│ │ │ └── validation.ts
│ │ ├── errors
│ │ │ ├── ServerError.ts
│ │ │ ├── creators.ts
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ ├── families
│ │ │ ├── algorand
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── aptos
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── bitcoin
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── cardano
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── casper
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── celo
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── common.ts
│ │ │ ├── cosmos
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── crypto_org
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── elrond
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── ethereum
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── filecoin
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── hedera
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── index.ts
│ │ │ ├── internet_computer
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── near
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── neo
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── polkadot
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── ripple
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── serializer.ts
│ │ │ ├── solana
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── stacks
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── stellar
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── sui
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── tezos
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── ton
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── tron
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ │ ├── types.ts
│ │ │ ├── validation.ts
│ │ │ └── vechain
│ │ │ │ ├── serializer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── validation.ts
│ │ ├── index.ts
│ │ ├── logger
│ │ │ └── index.ts
│ │ ├── spec
│ │ │ ├── index.ts
│ │ │ ├── methods.ts
│ │ │ ├── rpcHandlers
│ │ │ │ ├── AppHandlers.ts
│ │ │ │ └── WalletHandlers.ts
│ │ │ └── types
│ │ │ │ ├── AccountList.ts
│ │ │ │ ├── AccountReceive.ts
│ │ │ │ ├── AccountRequest.ts
│ │ │ │ ├── BitcoinGetAddress.ts
│ │ │ │ ├── BitcoinGetPublicKey.ts
│ │ │ │ ├── BitcoinGetXPub.ts
│ │ │ │ ├── CurrencyList.ts
│ │ │ │ ├── CustomRequest.ts
│ │ │ │ ├── Device.ts
│ │ │ │ ├── DeviceClose.ts
│ │ │ │ ├── DeviceExchange.ts
│ │ │ │ ├── DeviceOpen.ts
│ │ │ │ ├── DeviceSelect.ts
│ │ │ │ ├── DeviceTransport.ts
│ │ │ │ ├── ExchangeComplete.ts
│ │ │ │ ├── ExchangeStart.ts
│ │ │ │ ├── MessageSign.ts
│ │ │ │ ├── StorageGet.ts
│ │ │ │ ├── StorageSet.ts
│ │ │ │ ├── TransactionSign.ts
│ │ │ │ ├── TransactionSignAndBroadcast.ts
│ │ │ │ ├── WalletCapabilities.ts
│ │ │ │ ├── WalletInfo.ts
│ │ │ │ ├── WalletUserId.ts
│ │ │ │ └── index.ts
│ │ ├── transports
│ │ │ ├── WindowMessageTransport.ts
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ └── types
│ │ │ └── index.ts
│ ├── tests
│ │ ├── serializers.spec.ts
│ │ ├── ton-serializers.spec.ts
│ │ └── transports
│ │ │ └── windowMessageTransport.spec.ts
│ └── tsconfig.json
├── eslint-config-custom
│ ├── index.js
│ ├── next.js
│ └── package.json
├── jest-shared-config
│ ├── jest-preset.js
│ └── package.json
├── manifest-validator-cli
│ ├── .eslintrc.js
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── prod.tsconfig.json
│ ├── src
│ │ └── cli.ts
│ └── tsconfig.json
├── manifest-validator
│ ├── .eslintrc.js
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── jest.config.ts
│ ├── package.json
│ ├── prod-esm.tsconfig.json
│ ├── prod.tsconfig.json
│ ├── src
│ │ ├── index.ts
│ │ ├── schema
│ │ │ └── schema.ts
│ │ └── validator.ts
│ ├── tests
│ │ ├── .eslintrc.js
│ │ ├── manifests
│ │ │ ├── dapp
│ │ │ │ ├── dapp-manifest.test.json
│ │ │ │ └── invalid-dapp-manifest.test.json
│ │ │ ├── nativeDapp
│ │ │ │ ├── invalid-nativeDapp-manifest.test.json
│ │ │ │ └── nativeDapp-manifest.test.json
│ │ │ └── walletApp
│ │ │ │ ├── invalid-walletApp-manifest.test.json
│ │ │ │ └── walletApp-manifest.test.json
│ │ └── validator.test.ts
│ └── tsconfig.json
├── server
│ ├── .eslintrc.js
│ ├── CHANGELOG.md
│ ├── jest.config.ts
│ ├── package.json
│ ├── prod-esm.tsconfig.json
│ ├── prod.tsconfig.json
│ ├── src
│ │ ├── WalletAPIServer.ts
│ │ ├── helpers.ts
│ │ ├── index.ts
│ │ ├── internalHandlers
│ │ │ ├── account.ts
│ │ │ ├── bitcoin.ts
│ │ │ ├── currency.ts
│ │ │ ├── custom.ts
│ │ │ ├── device.ts
│ │ │ ├── exchange.ts
│ │ │ ├── index.ts
│ │ │ ├── message.ts
│ │ │ ├── storage.ts
│ │ │ ├── transaction.ts
│ │ │ └── wallet.ts
│ │ ├── react.ts
│ │ └── types.ts
│ ├── tests
│ │ └── server.spec.ts
│ └── tsconfig.json
└── simulator
│ ├── .eslintrc.js
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── jest.config.ts
│ ├── package.json
│ ├── prod-esm.tsconfig.json
│ ├── prod.tsconfig.json
│ ├── src
│ ├── helpers.ts
│ ├── index.ts
│ ├── profiles
│ │ ├── device
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ └── standard
│ │ │ ├── accounts.json
│ │ │ ├── currencies.json
│ │ │ └── index.ts
│ ├── test-run.ts
│ ├── transport.ts
│ ├── types.ts
│ └── ws.ts
│ ├── tests
│ ├── server.spec.ts
│ └── simulator.spec.ts
│ └── tsconfig.json
├── patches
└── @ton__core.patch
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── renovate.json
├── rfc
├── README.md
└── rfc-template.md
├── spec
├── README.md
├── client
│ └── README.md
├── core
│ ├── README.md
│ ├── errors.md
│ ├── families.md
│ ├── manifest.md
│ └── types.md
├── rpc
│ └── README.md
└── server
│ └── README.md
├── tsconfig.base.json
└── turbo.json
/.changeset/README.md:
--------------------------------------------------------------------------------
1 | # Changesets
2 |
3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4 | with multi-package repos, or single-package repos to help you version and publish your code. You can
5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6 |
7 | We have a quick list of common questions to get you started engaging with this project in
8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
9 |
--------------------------------------------------------------------------------
/.changeset/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://unpkg.com/@changesets/config@2.1.1/schema.json",
3 | "changelog": [
4 | "@changesets/changelog-github",
5 | {
6 | "repo": "LedgerHQ/wallet-api"
7 | }
8 | ],
9 | "commit": false,
10 | "fixed": [],
11 | "linked": [],
12 | "access": "public",
13 | "baseBranch": "main",
14 | "updateInternalDependencies": "patch",
15 | "ignore": []
16 | }
17 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | // This tells ESLint to load the config from the package `@ledgerhq/eslint-config-custom`
4 | extends: ["@ledgerhq/eslint-config-custom"],
5 | };
6 |
--------------------------------------------------------------------------------
/.github/workflows/pull_request.yml:
--------------------------------------------------------------------------------
1 | name: Pull Request Checks
2 | on: pull_request
3 |
4 | jobs:
5 | checks:
6 | runs-on: ubuntu-latest
7 | steps:
8 | - uses: actions/checkout@v4
9 | - uses: pnpm/action-setup@v4
10 | with:
11 | run_install: false
12 | - uses: actions/setup-node@v4
13 | with:
14 | node-version: 20
15 | cache: pnpm
16 | - name: Install Dependencies
17 | run: pnpm install --frozen-lockfile
18 | - name: Format check
19 | run: pnpm format:check
20 | - name: Build
21 | run: pnpm build
22 | - name: Check for diff in docs
23 | run: git diff --exit-code || exit 1
24 | - name: Lint
25 | run: pnpm lint
26 | - name: Test
27 | run: pnpm test
28 | # - name: Uploading to codecov.io
29 | # run: npx codecov
30 | # env:
31 | # CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
32 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Release
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | concurrency: ${{ github.workflow }}-${{ github.ref }}
9 |
10 | jobs:
11 | release:
12 | name: Release
13 | runs-on: ubuntu-latest
14 | steps:
15 | - uses: actions/checkout@v4
16 | - uses: pnpm/action-setup@v2
17 | with:
18 | run_install: false
19 | - uses: actions/setup-node@v4
20 | with:
21 | node-version: 20
22 | cache: pnpm
23 | - name: Install Dependencies
24 | run: pnpm install --frozen-lockfile
25 | - name: Create Release Pull Request or Publish to npm
26 | id: changesets
27 | uses: changesets/action@v1
28 | with:
29 | # This expects you to have a script called release which does a build for your packages and calls changeset publish
30 | publish: pnpm publish-packages
31 | env:
32 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33 | NPM_TOKEN: ${{ secrets.NPMJS_TOKEN }}
34 |
--------------------------------------------------------------------------------
/.github/workflows/stale.yml:
--------------------------------------------------------------------------------
1 | name: Tag Stale PRs and Issues
2 | on:
3 | schedule:
4 | - cron: "20 4 * * *"
5 |
6 | jobs:
7 | stale:
8 | runs-on: ubuntu-latest
9 | steps:
10 | - uses: actions/stale@v9
11 | with:
12 | stale-issue-message: "This issue is stale because it has been open 30 days with no activity. Remove stale label, comment, or consider closing it."
13 | days-before-issue-stale: 30
14 | stale-pr-message: "There as been no activity on this PR for the last 14 days. Please consider closing this PR."
15 | days-before-pr-stale: 15
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | node_modules
5 | .pnp
6 | .pnp.js
7 |
8 | # testing
9 | coverage
10 |
11 | # next.js
12 | .next/
13 | out/
14 | build
15 |
16 | # misc
17 | .DS_Store
18 | *.pem
19 |
20 | # debug
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 | .pnpm-debug.log*
25 |
26 | # local env files
27 | .env.local
28 | .env.development.local
29 | .env.test.local
30 | .env.production.local
31 |
32 | # turbo
33 | .turbo
34 |
35 | # build folder
36 | dist/
37 | bin/
38 | lib/
39 | lib-es/
40 |
41 | # eslint cache
42 | .eslintcache
43 |
44 | # ide
45 | .idea
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | pnpm lint-staged
2 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | 20.11.1
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contribution Guidelines
2 |
3 | 👍🎉 First off, thanks for taking the time to contribute! 🎉👍
4 |
5 | The following is a set of guidelines for contributing to this project. These are mostly guidelines, not rules. Use your best judgment, and feel free to suggest changes to this doc [here](https://github.com/LedgerHQ/wallet-api/discussions/categories/ideas).
6 |
7 | We are leveraging [GitHub Discussions](https://github.com/LedgerHQ/wallet-api/discussions) to talk about all contributions
8 |
9 | - if you think you found a bug, please take it to the [**Q&A**](https://github.com/LedgerHQ/wallet-api/discussions/categories/q-a) category with the ``bug`` label
10 | - if you want to propose an improvements, please take it to [**Ideas**](https://github.com/LedgerHQ/wallet-api/discussions/categories/ideas) category with the ``enhancement`` label
11 | - if you simply have a question, please take it to [**Q&A**](https://github.com/LedgerHQ/wallet-api/discussions/categories/q-a) category with the ``question`` label
12 |
13 | Once discussion is taken and settled, an issue and/or a PR might be created to address it.
14 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | | Version | Supported |
6 | | ------- | ------------------ |
7 | | 1.0.x | :white_check_mark: |
8 | | < 1.0 | :x: |
9 |
10 | ## Reporting a Vulnerability
11 |
12 | Security vulnerabilies are to be reported to Ledger Donjon security team: https://donjon.ledger.com/bounty/
13 |
--------------------------------------------------------------------------------
/apps/docs/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | extends: ["@ledgerhq/eslint-config-custom/next"],
3 | parserOptions: {
4 | project: ["./tsconfig.json"],
5 | tsconfigRootDir: __dirname,
6 | babelOptions: {
7 | presets: [require.resolve("next/babel")], // https://github.com/vercel/next.js/issues/40687#issuecomment-1264177674
8 | },
9 | },
10 | rules: {},
11 | };
12 |
--------------------------------------------------------------------------------
/apps/docs/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # @ledgerhq/wallet-api-docs
2 |
3 | ## 0.3.0
4 |
5 | ### Minor Changes
6 |
7 | - [`de70134`](https://github.com/LedgerHQ/wallet-api/commit/de70134eac5d0b68ee38debcf597da954e233aa1) Thanks [@ComradeAERGO](https://github.com/ComradeAERGO)! - Add missing link
8 |
9 | - [#237](https://github.com/LedgerHQ/wallet-api/pull/237) [`f897a3d`](https://github.com/LedgerHQ/wallet-api/commit/f897a3dd0553a02e3fd8358098de2ac9c6b7d73c) Thanks [@Justkant](https://github.com/Justkant)! - feat: add custom handlers support
10 |
11 | ## 0.2.0
12 |
13 | ### Minor Changes
14 |
15 | - [`f1b8f8c`](https://github.com/LedgerHQ/wallet-api/commit/f1b8f8c51689885cc0f9b8ff29f38c25392e095e) Thanks [@Justkant](https://github.com/Justkant)! - feat: add params to save swap history (#228)
16 |
--------------------------------------------------------------------------------
/apps/docs/next-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
Seamlessly integrate your applications into Ledger Live with our Wallet API.
21 |{message.value}
17 |{getDate(message)}
18 |{date}
19 | = (params: P) => Promisable (
5 | handler: CustomRequestHandler ,
6 | ) => RPCHandler