diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..190bd33 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,92 @@ +# Mintlayer Connect SDK — Development Guide + +## Monorepo structure + +``` +packages/ + sdk/ ← main SDK package (@mintlayer/sdk) — primary work target + react/ ← React wrapper (@mintlayer/react) + wasm-lib/ ← pre-built WASM bindings (@mintlayer/wasm-lib, not edited here) +examples/ +``` + +Package manager: **pnpm** (workspace). Lock file: `pnpm-lock.yaml`. + +--- + +## Running tests (SDK) + +```bash +cd packages/sdk + +pnpm test # run all tests once +pnpm test:watch # watch mode +pnpm test -- --testPathPattern=transfer # run a single suite +``` + +All 15 test suites must pass before merging. Tests run with Jest + ts-jest in a jsdom environment. + +### How tests work + +- `jest.config.js` maps `@mintlayer/wasm-lib` → `tests/__mocks__/@mintlayer/wasm-lib.ts`. + That shim re-exports from `tests/__mocks__/pkg-node/` which is a real compiled Node.js WASM build, + so tests exercise actual encoding logic — they're integration-style, not pure unit tests. +- `jest.setup.ts` replaces `fetch` with `jest-fetch-mock` so HTTP calls can be intercepted per-test. +- Snapshots live in `tests/__snapshots__/`. Regenerate with `pnpm test -- -u`. + +When a new wasm-lib export is needed in tests, add it to the shim's re-export in +`tests/__mocks__/@mintlayer/wasm-lib.ts` (and update `pkg-node` if needed). + +--- + +## Building + +```bash +# from repo root +pnpm build:sdk # builds packages/sdk only (tsc → dist/) +pnpm build # builds all packages + +# or from inside packages/sdk +pnpm build +``` + +Output lands in `packages/sdk/dist/`. + +--- + +## SDK source layout (`packages/sdk/src/`) + +| File | Purpose | +|------|---------| +| `mintlayer-connect-sdk.ts` | Main `Client` class — all public API, network calls, transaction orchestration | +| `transaction.ts` | `TransactionBuilder` — constructs raw transactions using wasm-lib primitives | +| `utils.ts` | Shared helpers (`mergeUint8Arrays`, `atomsToDecimal`, `stringToUint8Array`, …) | +| `types/transaction.ts` | All TypeScript types for UTXOs, inputs, outputs, amounts, etc. | +| `types/global.d.ts` | Global ambient declarations | + +--- + +## Key architectural notes + +- **WASM dependency**: All low-level encoding (inputs, outputs, signing, hashing) goes through `@mintlayer/wasm-lib`. Import from there; never re-implement encoding logic in TypeScript. +- **Atoms vs decimal**: The chain uses integer atoms internally. `atomsToDecimal()` converts for display; amounts passed to wasm functions must be atoms strings. +- **Networks**: `mainnet` / `testnet` — set at `Client.init()`. Network affects address encoding and fee logic. +- **Transaction flow**: `Client.buildTransaction()` → `TransactionBuilder` → wasm encode → signed tx bytes. + +--- + +## Versioning & publishing + +Version is in `packages/sdk/package.json`. Publishing is manual: + +```bash +pnpm publish:sdk # from repo root +``` + +--- + +## TypeScript config + +- Target: `es2020`, module: `esnext`, strict mode on. +- `skipLibCheck: true` (wasm-lib types ship pre-built). +- Source in `src/`, output in `dist/`. diff --git a/packages/sdk/docs/classes/Client.md b/packages/sdk/docs/classes/Client.md index bd49d37..6abcafd 100644 --- a/packages/sdk/docs/classes/Client.md +++ b/packages/sdk/docs/classes/Client.md @@ -2,7 +2,7 @@ *** -Defined in: [mintlayer-connect-sdk.ts:1201](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1201) +Defined in: [mintlayer-connect-sdk.ts:1206](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1206) ## Constructors @@ -10,7 +10,7 @@ Defined in: [mintlayer-connect-sdk.ts:1201](https://github.com/mintlayer/mintlay > **new Client**(`options`): `Client` -Defined in: [mintlayer-connect-sdk.ts:1219](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1219) +Defined in: [mintlayer-connect-sdk.ts:1224](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1224) Creates a new Client instance. @@ -30,7 +30,7 @@ Creates a new Client instance. > `readonly` **isMintlayer**: `boolean` = `true` -Defined in: [mintlayer-connect-sdk.ts:1475](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1475) +Defined in: [mintlayer-connect-sdk.ts:1490](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1490) Returns the transaction ID. @@ -40,7 +40,7 @@ Returns the transaction ID. > **bridgeRequest**(`__namedParameters`): `Promise`\<`SignedIntentTransaction`\> -Defined in: [mintlayer-connect-sdk.ts:3402](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3402) +Defined in: [mintlayer-connect-sdk.ts:3417](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3417) Creates a bridge request transaction and signs it. @@ -62,7 +62,7 @@ Promise that resolves to a signed transaction > **broadcastTx**(`tx`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:4011](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L4011) +Defined in: [mintlayer-connect-sdk.ts:4026](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L4026) Broadcasts a signed transaction to the network. @@ -86,7 +86,7 @@ Promise that resolves to the broadcast response > **buildBridgeRequest**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3378](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3378) +Defined in: [mintlayer-connect-sdk.ts:3393](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3393) Builds a bridge request transaction without signing it. @@ -106,7 +106,7 @@ Builds a bridge request transaction without signing it. > **buildBurn**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3410](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3410) +Defined in: [mintlayer-connect-sdk.ts:3425](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3425) Builds a burn transaction without signing it. @@ -126,7 +126,7 @@ Builds a burn transaction without signing it. > **buildChangeMetadataUri**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3169](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3169) +Defined in: [mintlayer-connect-sdk.ts:3184](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3184) Builds a token metadata URI change transaction without signing it. @@ -146,7 +146,7 @@ Builds a token metadata URI change transaction without signing it. > **buildChangeTokenAuthority**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3144](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3144) +Defined in: [mintlayer-connect-sdk.ts:3159](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3159) Builds a token authority change transaction without signing it. @@ -166,7 +166,7 @@ Builds a token authority change transaction without signing it. > **buildConcludeOrder**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3358](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3358) +Defined in: [mintlayer-connect-sdk.ts:3373](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3373) Builds an order conclusion transaction without signing it. @@ -186,7 +186,7 @@ Builds an order conclusion transaction without signing it. > **buildCreateHtlc**(`params`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3593](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3593) +Defined in: [mintlayer-connect-sdk.ts:3608](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3608) Builds an HTLC creation transaction without signing it. @@ -206,7 +206,7 @@ Builds an HTLC creation transaction without signing it. > **buildCreateOrder**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3240](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3240) +Defined in: [mintlayer-connect-sdk.ts:3255](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3255) Builds an order creation transaction without signing it. @@ -226,7 +226,7 @@ Builds an order creation transaction without signing it. > **buildDataDeposit**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3435](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3435) +Defined in: [mintlayer-connect-sdk.ts:3450](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3450) Builds a data deposit transaction without signing it. @@ -246,7 +246,7 @@ Builds a data deposit transaction without signing it. > **buildDelegate**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:2974](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L2974) +Defined in: [mintlayer-connect-sdk.ts:2989](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L2989) Builds a delegation creation transaction without signing it. @@ -272,7 +272,7 @@ Builds a delegation creation transaction without signing it. > **buildDelegationCreate**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3453](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3453) +Defined in: [mintlayer-connect-sdk.ts:3468](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3468) Builds a delegation creation transaction without signing it. @@ -292,7 +292,7 @@ Builds a delegation creation transaction without signing it. > **buildDelegationStake**(`params`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3472](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3472) +Defined in: [mintlayer-connect-sdk.ts:3487](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3487) Builds a delegation staking transaction without signing it. @@ -312,7 +312,7 @@ Builds a delegation staking transaction without signing it. > **buildDelegationWithdraw**(`params`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3532](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3532) +Defined in: [mintlayer-connect-sdk.ts:3547](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3547) Builds a delegation withdrawal transaction without signing it. @@ -332,7 +332,7 @@ Builds a delegation withdrawal transaction without signing it. > **buildFillOrder**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3303](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3303) +Defined in: [mintlayer-connect-sdk.ts:3318](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3318) Builds an order fill transaction without signing it. @@ -352,7 +352,7 @@ Builds an order fill transaction without signing it. > **buildFreezeToken**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3194](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3194) +Defined in: [mintlayer-connect-sdk.ts:3209](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3209) Builds a token freezing transaction without signing it. @@ -372,7 +372,7 @@ Builds a token freezing transaction without signing it. > **buildIssueNft**(`tokenData`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:2993](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L2993) +Defined in: [mintlayer-connect-sdk.ts:3008](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3008) Builds an NFT issuance transaction without signing it. @@ -392,7 +392,7 @@ Builds an NFT issuance transaction without signing it. > **buildIssueToken**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3024](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3024) +Defined in: [mintlayer-connect-sdk.ts:3039](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3039) Builds a fungible token issuance transaction without signing it. @@ -412,7 +412,7 @@ Builds a fungible token issuance transaction without signing it. > **buildLockTokenSupply**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3123](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3123) +Defined in: [mintlayer-connect-sdk.ts:3138](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3138) Builds a token supply locking transaction without signing it. @@ -432,7 +432,7 @@ Builds a token supply locking transaction without signing it. > **buildMintToken**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3075](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3075) +Defined in: [mintlayer-connect-sdk.ts:3090](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3090) Builds a token minting transaction without signing it. @@ -452,7 +452,7 @@ Builds a token minting transaction without signing it. > **buildRefundHtlc**(`params`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3633](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3633) +Defined in: [mintlayer-connect-sdk.ts:3648](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3648) Builds an HTLC refund transaction without signing it. @@ -472,7 +472,7 @@ Builds an HTLC refund transaction without signing it. > **buildSpendHtlc**(`params`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3685](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3685) +Defined in: [mintlayer-connect-sdk.ts:3700](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3700) Builds an HTLC spend transaction without signing it. @@ -492,7 +492,7 @@ Builds an HTLC spend transaction without signing it. > **buildTransaction**(`arg`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:2410](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L2410) +Defined in: [mintlayer-connect-sdk.ts:2425](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L2425) Builds a transaction based on the provided parameters. @param{BuildTransactionParams} arg @@ -513,7 +513,7 @@ Builds a transaction based on the provided parameters. > **buildTransfer**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:2914](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L2914) +Defined in: [mintlayer-connect-sdk.ts:2929](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L2929) Builds a transfer transaction without signing it. If a token_id is provided, token will be transferred instead of base coin. @@ -536,7 +536,7 @@ A transaction ready to be signed > **buildTransferNft**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:2945](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L2945) +Defined in: [mintlayer-connect-sdk.ts:2960](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L2960) Builds an NFT transfer transaction without signing it. @@ -558,7 +558,7 @@ A transaction ready to be signed > **buildUnfreezeToken**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3219](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3219) +Defined in: [mintlayer-connect-sdk.ts:3234](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3234) Builds a token unfreezing transaction without signing it. @@ -578,7 +578,7 @@ Builds a token unfreezing transaction without signing it. > **buildUnmintToken**(`__namedParameters`): `Promise`\<`Transaction`\> -Defined in: [mintlayer-connect-sdk.ts:3101](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3101) +Defined in: [mintlayer-connect-sdk.ts:3116](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3116) Builds a token unminting transaction without signing it. @@ -598,7 +598,7 @@ Builds a token unminting transaction without signing it. > **burn**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3427](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3427) +Defined in: [mintlayer-connect-sdk.ts:3442](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3442) Burns tokens or coins and signs the transaction. @@ -620,7 +620,7 @@ Promise that resolves to a signed transaction > **changeMetadataUri**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3186](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3186) +Defined in: [mintlayer-connect-sdk.ts:3201](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3201) Changes the metadata URI of a token and signs the transaction. @@ -642,7 +642,7 @@ Promise that resolves to a signed transaction > **changeTokenAuthority**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3161](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3161) +Defined in: [mintlayer-connect-sdk.ts:3176](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3176) Changes the authority of a token and signs the transaction. @@ -664,7 +664,7 @@ Promise that resolves to a signed transaction > **concludeOrder**(`order_id`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3370](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3370) +Defined in: [mintlayer-connect-sdk.ts:3385](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3385) Concludes a trading order and signs the transaction. @@ -688,7 +688,7 @@ Promise that resolves to a signed transaction > **connect**(): `Promise`\<`Address`\> -Defined in: [mintlayer-connect-sdk.ts:1509](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1509) +Defined in: [mintlayer-connect-sdk.ts:1524](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1524) Connects to the wallet and retrieves the connected addresses. @@ -702,7 +702,7 @@ Connects to the wallet and retrieves the connected addresses. > **createHtlc**(`params`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3625](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3625) +Defined in: [mintlayer-connect-sdk.ts:3640](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3640) Creates a Hash Time Locked Contract (HTLC) and signs the transaction. @@ -726,7 +726,7 @@ Promise that resolves to a signed transaction > **createOrder**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3283](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3283) +Defined in: [mintlayer-connect-sdk.ts:3298](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3298) Creates a trading order and signs the transaction. @@ -748,7 +748,7 @@ Promise that resolves to a signed transaction > **dataDeposit**(`data`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3445](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3445) +Defined in: [mintlayer-connect-sdk.ts:3460](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3460) Creates a data deposit transaction and signs it. @@ -772,7 +772,7 @@ Promise that resolves to a signed transaction > **decorateWithUtxoFetch**\<`T`\>(`func`): `Promise`\<\{ `result`: `T`; `utxo`: \{ `created`: `any`; `spent`: `any`; \}; \}\> -Defined in: [mintlayer-connect-sdk.ts:3957](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3957) +Defined in: [mintlayer-connect-sdk.ts:3972](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3972) Decorates a function with UTXO fetching logic. ⚠️ Not thread-safe. @@ -805,7 +805,7 @@ A promise that resolves to an object containing the result of the function **and > **delegate**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:2985](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L2985) +Defined in: [mintlayer-connect-sdk.ts:3000](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3000) Creates a delegation and signs the transaction. @@ -833,7 +833,7 @@ Promise that resolves to a signed transaction > **delegationCreate**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3464](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3464) +Defined in: [mintlayer-connect-sdk.ts:3479](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3479) Creates a delegation ID and signs the transaction. @@ -855,7 +855,7 @@ Promise that resolves to a signed transaction > **delegationStake**(`params`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3524](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3524) +Defined in: [mintlayer-connect-sdk.ts:3539](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3539) Stakes tokens to a delegation and signs the transaction. @@ -879,7 +879,7 @@ Promise that resolves to a signed transaction > **delegationWithdraw**(`params`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3585](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3585) +Defined in: [mintlayer-connect-sdk.ts:3600](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3600) Withdraws tokens from a delegation and signs the transaction. @@ -903,7 +903,7 @@ Promise that resolves to a signed transaction > **disconnect**(): `Promise`\<`void`\> -Defined in: [mintlayer-connect-sdk.ts:1520](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1520) +Defined in: [mintlayer-connect-sdk.ts:1535](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1535) Disconnects from the wallet and clears the connected addresses. @@ -917,7 +917,7 @@ Disconnects from the wallet and clears the connected addresses. > **extractHtlcSecret**(`arg`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:3742](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3742) +Defined in: [mintlayer-connect-sdk.ts:3757](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3757) Extracts the secret from an HTLC spend transaction. @@ -941,7 +941,7 @@ Promise that resolves to the extracted secret > **fillOrder**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3334](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3334) +Defined in: [mintlayer-connect-sdk.ts:3349](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3349) Fills an existing trading order and signs the transaction. @@ -963,7 +963,7 @@ Promise that resolves to a signed transaction > **freezeToken**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3211](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3211) +Defined in: [mintlayer-connect-sdk.ts:3226](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3226) Freezes a token to prevent transfers and signs the transaction. @@ -985,7 +985,7 @@ Promise that resolves to a signed transaction > **getAccountOrders**(): `Promise`\<`OrderData`[]\> -Defined in: [mintlayer-connect-sdk.ts:3343](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3343) +Defined in: [mintlayer-connect-sdk.ts:3358](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3358) Gets all orders created by the connected account. @@ -1001,7 +1001,7 @@ Promise that resolves to an array of order data > **getAddresses**(): `object` -Defined in: [mintlayer-connect-sdk.ts:1567](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1567) +Defined in: [mintlayer-connect-sdk.ts:1582](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1582) Returns the connected addresses. @@ -1023,7 +1023,7 @@ Returns the connected addresses. > **getAvailableOrders**(): `Promise`\<`OrderData`[]\> -Defined in: [mintlayer-connect-sdk.ts:4034](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L4034) +Defined in: [mintlayer-connect-sdk.ts:4049](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L4049) Gets all available trading orders from the network. @@ -1039,7 +1039,7 @@ Promise that resolves to an array of order data > **getBalance**(): `Promise`\<`number`\> -Defined in: [mintlayer-connect-sdk.ts:1579](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1579) +Defined in: [mintlayer-connect-sdk.ts:1594](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1594) Returns the connected address for the current network. @@ -1055,7 +1055,7 @@ Balance. > **getBalances**(): `Promise`\<\{ `coin`: `number`; `token`: `Record`\<`string`, `number`\>; \}\> -Defined in: [mintlayer-connect-sdk.ts:1616](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1616) +Defined in: [mintlayer-connect-sdk.ts:1631](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1631) Returns the balances for coin and all tokens of the connected addresses. @@ -1069,7 +1069,7 @@ Returns the balances for coin and all tokens of the connected addresses. > **getDelegations**(): `Promise`\<`DelegationDetails`[]\> -Defined in: [mintlayer-connect-sdk.ts:1679](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1679) +Defined in: [mintlayer-connect-sdk.ts:1694](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1694) Returns the delegations for the connected addresses. @@ -1083,7 +1083,7 @@ Returns the delegations for the connected addresses. > **getDelegationsTotal**(): `Promise`\<`number`\> -Defined in: [mintlayer-connect-sdk.ts:1749](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1749) +Defined in: [mintlayer-connect-sdk.ts:1764](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1764) Returns the total amount of delegations for the connected addresses. @@ -1097,7 +1097,7 @@ Returns the total amount of delegations for the connected addresses. > **getFeeForType**(`type`): `bigint` -Defined in: [mintlayer-connect-sdk.ts:1763](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1763) +Defined in: [mintlayer-connect-sdk.ts:1778](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1778) Returns the fee for a specific transaction type. @@ -1119,7 +1119,7 @@ Fee in atoms. > **getNetwork**(): `"mainnet"` \| `"testnet"` -Defined in: [mintlayer-connect-sdk.ts:1493](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1493) +Defined in: [mintlayer-connect-sdk.ts:1508](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1508) Returns the current network. @@ -1135,7 +1135,7 @@ The current network. > **getTokensOwned**(): `Promise`\<`string`[]\> -Defined in: [mintlayer-connect-sdk.ts:1714](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1714) +Defined in: [mintlayer-connect-sdk.ts:1729](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1729) Returns the tokens owned by the connected addresses. @@ -1149,7 +1149,7 @@ Returns the tokens owned by the connected addresses. > **getTransactionBINrepresentation**(`transactionJSONrepresentation`, `_network`): `object` -Defined in: [mintlayer-connect-sdk.ts:2601](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L2601) +Defined in: [mintlayer-connect-sdk.ts:2616](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L2616) Returns the transaction binary representation. @@ -1185,7 +1185,7 @@ Returns the transaction binary representation. > **getXPub**(): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:4000](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L4000) +Defined in: [mintlayer-connect-sdk.ts:4015](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L4015) Gets the extended public key (xpub) from the connected wallet. @@ -1205,7 +1205,7 @@ Sharing xPub exposes all derived addresses. Use with caution. > **isConnected**(): `boolean` -Defined in: [mintlayer-connect-sdk.ts:1501](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1501) +Defined in: [mintlayer-connect-sdk.ts:1516](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1516) Checks if the client is connected to the wallet. @@ -1221,7 +1221,7 @@ True if connected, false otherwise. > **issueNft**(`tokenData`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3016](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3016) +Defined in: [mintlayer-connect-sdk.ts:3031](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3031) Issues an NFT and signs the transaction. @@ -1245,7 +1245,7 @@ Promise that resolves to a signed transaction > **issueToken**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3051](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3051) +Defined in: [mintlayer-connect-sdk.ts:3066](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3066) Issues a fungible token and signs the transaction. @@ -1267,7 +1267,7 @@ Promise that resolves to a signed transaction > **lockTokenSupply**(`token_id`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3136](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3136) +Defined in: [mintlayer-connect-sdk.ts:3151](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3151) Locks the token supply to prevent further minting and signs the transaction. @@ -1291,7 +1291,7 @@ Promise that resolves to a signed transaction > **mintToken**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3093](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3093) +Defined in: [mintlayer-connect-sdk.ts:3108](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3108) Mints tokens to a specified destination and signs the transaction. @@ -1313,7 +1313,7 @@ Promise that resolves to a signed transaction > **on**(`eventName`, `callback`): `void` -Defined in: [mintlayer-connect-sdk.ts:4021](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L4021) +Defined in: [mintlayer-connect-sdk.ts:4036](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L4036) Registers an event listener for wallet events. @@ -1341,7 +1341,7 @@ The callback function to execute when the event occurs > **previewUtxoChange**(`tx`): `object` -Defined in: [mintlayer-connect-sdk.ts:3862](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3862) +Defined in: [mintlayer-connect-sdk.ts:3877](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3877) Returns a preview of UTXO changes (spent/created) for a built transaction. @@ -1378,7 +1378,7 @@ An object containing arrays of spent and created UTXOs. > **refundHtlc**(`params`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:3677](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3677) +Defined in: [mintlayer-connect-sdk.ts:3692](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3692) Refunds an HTLC after the timelock expires and signs the transaction. @@ -1402,7 +1402,7 @@ Promise that resolves to a signed transaction > **request**(`__namedParameters`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:1554](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1554) +Defined in: [mintlayer-connect-sdk.ts:1569](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1569) Requests a method from the wallet. @@ -1428,7 +1428,7 @@ Requests a method from the wallet. > **requestSecretHash**(`args`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:3843](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3843) +Defined in: [mintlayer-connect-sdk.ts:3858](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3858) Requests a secret hash from the wallet for HTLC operations. @@ -1452,7 +1452,7 @@ Promise that resolves to the secret hash > **restore**(): `Promise`\<`boolean`\> -Defined in: [mintlayer-connect-sdk.ts:1528](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1528) +Defined in: [mintlayer-connect-sdk.ts:1543](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1543) Restores the session from the wallet. @@ -1466,7 +1466,7 @@ Restores the session from the wallet. > **setNetwork**(`net`): `void` -Defined in: [mintlayer-connect-sdk.ts:1481](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1481) +Defined in: [mintlayer-connect-sdk.ts:1496](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1496) Sets the network for the client. @@ -1486,7 +1486,7 @@ Sets the network for the client. > **signChallenge**(`args`): `Promise`\<[`SignChallengeResponse`](../type-aliases/SignChallengeResponse.md)\> -Defined in: [mintlayer-connect-sdk.ts:3808](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3808) +Defined in: [mintlayer-connect-sdk.ts:3823](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3823) Signs a challenge message with the given address. Used to prove ownership of the address. @@ -1507,7 +1507,7 @@ Used to prove ownership of the address. > **signIntentTransaction**(`tx`): `Promise`\<`SignedIntentTransaction`\> -Defined in: [mintlayer-connect-sdk.ts:3795](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3795) +Defined in: [mintlayer-connect-sdk.ts:3810](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3810) #### Parameters @@ -1525,7 +1525,7 @@ Defined in: [mintlayer-connect-sdk.ts:3795](https://github.com/mintlayer/mintlay > **signTransaction**(`tx`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3787](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3787) +Defined in: [mintlayer-connect-sdk.ts:3802](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3802) Signs a transaction using the connected wallet. @@ -1549,7 +1549,7 @@ Promise that resolves to the signed transaction hex > **spendHtlc**(`params`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:3729](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3729) +Defined in: [mintlayer-connect-sdk.ts:3744](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3744) Spends an HTLC by providing the secret and signs the transaction. @@ -1573,7 +1573,7 @@ Promise that resolves to a signed transaction > **transfer**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:2934](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L2934) +Defined in: [mintlayer-connect-sdk.ts:2949](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L2949) Transfers coins or tokens to a specified address. If a token_id is provided, token will be transferred instead of base coin. @@ -1596,7 +1596,7 @@ A signed transaction > **transferNft**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:2965](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L2965) +Defined in: [mintlayer-connect-sdk.ts:2980](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L2980) Transfers NFT to a given address. @@ -1618,7 +1618,7 @@ A signed transaction > **unfreezeToken**(`token_id`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3232](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3232) +Defined in: [mintlayer-connect-sdk.ts:3247](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3247) Unfreezes a previously frozen token and signs the transaction. @@ -1642,7 +1642,7 @@ Promise that resolves to a signed transaction > **unmintToken**(`__namedParameters`): `Promise`\<`string`\> -Defined in: [mintlayer-connect-sdk.ts:3115](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3115) +Defined in: [mintlayer-connect-sdk.ts:3130](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3130) Unmints (burns) tokens from circulation and signs the transaction. @@ -1664,7 +1664,7 @@ Promise that resolves to a signed transaction > **verifyChallenge**(`args`): `Promise`\<`boolean`\> -Defined in: [mintlayer-connect-sdk.ts:3828](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L3828) +Defined in: [mintlayer-connect-sdk.ts:3843](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L3843) Verifies a signed challenge message. Used to verify that a signature was produced by the private key corresponding to the given address. @@ -1691,7 +1691,7 @@ Promise that resolves to true if the signature is valid, throws an error otherwi > `static` **create**(`options`): `Promise`\<`Client`\> -Defined in: [mintlayer-connect-sdk.ts:1276](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1276) +Defined in: [mintlayer-connect-sdk.ts:1281](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1281) Creates a new Client instance and initializes it. diff --git a/packages/sdk/docs/classes/MintlayerApiProvider.md b/packages/sdk/docs/classes/MintlayerApiProvider.md index 16da95d..e3bacc9 100644 --- a/packages/sdk/docs/classes/MintlayerApiProvider.md +++ b/packages/sdk/docs/classes/MintlayerApiProvider.md @@ -2,7 +2,7 @@ *** -Defined in: [mintlayer-connect-sdk.ts:162](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L162) +Defined in: [mintlayer-connect-sdk.ts:162](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L162) ## Implements @@ -12,9 +12,9 @@ Defined in: [mintlayer-connect-sdk.ts:162](https://github.com/mintlayer/mintlaye ### Constructor -> **new MintlayerApiProvider**(`baseUrl`, `utxoUrl`): `MintlayerApiProvider` +> **new MintlayerApiProvider**(`baseUrl`, `batchUrl`): `MintlayerApiProvider` -Defined in: [mintlayer-connect-sdk.ts:166](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L166) +Defined in: [mintlayer-connect-sdk.ts:166](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L166) #### Parameters @@ -22,9 +22,9 @@ Defined in: [mintlayer-connect-sdk.ts:166](https://github.com/mintlayer/mintlaye `string` -##### utxoUrl +##### batchUrl -`string` = `'https://api.mintini.app'` +`string` #### Returns @@ -36,7 +36,7 @@ Defined in: [mintlayer-connect-sdk.ts:166](https://github.com/mintlayer/mintlaye > **broadcastTransaction**(`tx`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:226](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L226) +Defined in: [mintlayer-connect-sdk.ts:226](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L226) #### Parameters @@ -58,7 +58,7 @@ Defined in: [mintlayer-connect-sdk.ts:226](https://github.com/mintlayer/mintlaye > **getAccountUtxos**(`addresses`, `network`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:241](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L241) +Defined in: [mintlayer-connect-sdk.ts:241](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L241) #### Parameters @@ -84,7 +84,7 @@ Defined in: [mintlayer-connect-sdk.ts:241](https://github.com/mintlayer/mintlaye > **getAddress**(`addr`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:186](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L186) +Defined in: [mintlayer-connect-sdk.ts:186](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L186) #### Parameters @@ -106,7 +106,7 @@ Defined in: [mintlayer-connect-sdk.ts:186](https://github.com/mintlayer/mintlaye > **getAddressDelegations**(`addr`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:190](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L190) +Defined in: [mintlayer-connect-sdk.ts:190](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L190) #### Parameters @@ -128,7 +128,7 @@ Defined in: [mintlayer-connect-sdk.ts:190](https://github.com/mintlayer/mintlaye > **getAddressTokenAuthority**(`addr`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:194](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L194) +Defined in: [mintlayer-connect-sdk.ts:194](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L194) #### Parameters @@ -150,7 +150,7 @@ Defined in: [mintlayer-connect-sdk.ts:194](https://github.com/mintlayer/mintlaye > **getChainTip**(): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:182](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L182) +Defined in: [mintlayer-connect-sdk.ts:182](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L182) #### Returns @@ -166,7 +166,7 @@ Defined in: [mintlayer-connect-sdk.ts:182](https://github.com/mintlayer/mintlaye > **getDelegation**(`delegation_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:218](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L218) +Defined in: [mintlayer-connect-sdk.ts:218](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L218) #### Parameters @@ -188,7 +188,7 @@ Defined in: [mintlayer-connect-sdk.ts:218](https://github.com/mintlayer/mintlaye > **getNft**(`token_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:202](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L202) +Defined in: [mintlayer-connect-sdk.ts:202](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L202) #### Parameters @@ -210,7 +210,7 @@ Defined in: [mintlayer-connect-sdk.ts:202](https://github.com/mintlayer/mintlaye > **getOrder**(`order_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:206](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L206) +Defined in: [mintlayer-connect-sdk.ts:206](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L206) #### Parameters @@ -232,7 +232,7 @@ Defined in: [mintlayer-connect-sdk.ts:206](https://github.com/mintlayer/mintlaye > **getOrders**(): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:210](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L210) +Defined in: [mintlayer-connect-sdk.ts:210](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L210) #### Returns @@ -248,7 +248,7 @@ Defined in: [mintlayer-connect-sdk.ts:210](https://github.com/mintlayer/mintlaye > **getPoolDelegations**(`pool_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:214](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L214) +Defined in: [mintlayer-connect-sdk.ts:214](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L214) #### Parameters @@ -270,7 +270,7 @@ Defined in: [mintlayer-connect-sdk.ts:214](https://github.com/mintlayer/mintlaye > **getToken**(`token_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:198](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L198) +Defined in: [mintlayer-connect-sdk.ts:198](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L198) #### Parameters @@ -292,7 +292,7 @@ Defined in: [mintlayer-connect-sdk.ts:198](https://github.com/mintlayer/mintlaye > **getTransaction**(`transaction_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:222](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L222) +Defined in: [mintlayer-connect-sdk.ts:222](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L222) #### Parameters diff --git a/packages/sdk/docs/classes/MnemonicAccountProvider.md b/packages/sdk/docs/classes/MnemonicAccountProvider.md index 8c89df5..31d4dad 100644 --- a/packages/sdk/docs/classes/MnemonicAccountProvider.md +++ b/packages/sdk/docs/classes/MnemonicAccountProvider.md @@ -2,7 +2,7 @@ *** -Defined in: [mintlayer-connect-sdk.ts:419](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L419) +Defined in: [mintlayer-connect-sdk.ts:424](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L424) A standalone account provider that derives addresses and private keys from a BIP39 mnemonic seed phrase. @@ -35,7 +35,7 @@ const client = await Client.create({ network: 'testnet', accountProvider: provid > **new MnemonicAccountProvider**(`mnemonic`, `network`, `options`): `MnemonicAccountProvider` -Defined in: [mintlayer-connect-sdk.ts:424](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L424) +Defined in: [mintlayer-connect-sdk.ts:429](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L429) #### Parameters @@ -61,7 +61,7 @@ Defined in: [mintlayer-connect-sdk.ts:424](https://github.com/mintlayer/mintlaye > **connect**(): `Promise`\<`Address`\> -Defined in: [mintlayer-connect-sdk.ts:461](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L461) +Defined in: [mintlayer-connect-sdk.ts:466](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L466) #### Returns @@ -77,7 +77,7 @@ Defined in: [mintlayer-connect-sdk.ts:461](https://github.com/mintlayer/mintlaye > **disconnect**(): `Promise`\<`void`\> -Defined in: [mintlayer-connect-sdk.ts:469](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L469) +Defined in: [mintlayer-connect-sdk.ts:474](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L474) #### Returns @@ -93,7 +93,7 @@ Defined in: [mintlayer-connect-sdk.ts:469](https://github.com/mintlayer/mintlaye > **request**(`method`, `params`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:471](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L471) +Defined in: [mintlayer-connect-sdk.ts:476](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L476) #### Parameters @@ -119,7 +119,7 @@ Defined in: [mintlayer-connect-sdk.ts:471](https://github.com/mintlayer/mintlaye > **restore**(): `Promise`\<`Address`\> -Defined in: [mintlayer-connect-sdk.ts:465](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L465) +Defined in: [mintlayer-connect-sdk.ts:470](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L470) #### Returns diff --git a/packages/sdk/docs/classes/MojitoAccountProvider.md b/packages/sdk/docs/classes/MojitoAccountProvider.md index 7492664..f1ef799 100644 --- a/packages/sdk/docs/classes/MojitoAccountProvider.md +++ b/packages/sdk/docs/classes/MojitoAccountProvider.md @@ -2,7 +2,7 @@ *** -Defined in: [mintlayer-connect-sdk.ts:261](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L261) +Defined in: [mintlayer-connect-sdk.ts:266](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L266) ## Implements @@ -24,7 +24,7 @@ Defined in: [mintlayer-connect-sdk.ts:261](https://github.com/mintlayer/mintlaye > **connect**(): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:266](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L266) +Defined in: [mintlayer-connect-sdk.ts:271](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L271) Connects to the Mojito wallet extension. @@ -44,7 +44,7 @@ Promise that resolves to the connected addresses > **disconnect**(): `Promise`\<`void`\> -Defined in: [mintlayer-connect-sdk.ts:290](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L290) +Defined in: [mintlayer-connect-sdk.ts:295](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L295) Disconnects from the Mojito wallet extension. @@ -64,7 +64,7 @@ Promise that resolves when disconnection is complete > **request**(`method`, `params`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:304](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L304) +Defined in: [mintlayer-connect-sdk.ts:309](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L309) Makes a request to the Mojito wallet extension. @@ -98,7 +98,7 @@ Promise that resolves to the response from the wallet > **restore**(): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:278](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L278) +Defined in: [mintlayer-connect-sdk.ts:283](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L283) Restores the session from the Mojito wallet extension. diff --git a/packages/sdk/docs/classes/PrivateKeyAccountProvider.md b/packages/sdk/docs/classes/PrivateKeyAccountProvider.md index c0bbe23..0701b9e 100644 --- a/packages/sdk/docs/classes/PrivateKeyAccountProvider.md +++ b/packages/sdk/docs/classes/PrivateKeyAccountProvider.md @@ -2,7 +2,7 @@ *** -Defined in: [mintlayer-connect-sdk.ts:335](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L335) +Defined in: [mintlayer-connect-sdk.ts:340](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L340) A standalone account provider backed by explicit addresses and private keys. @@ -36,7 +36,7 @@ const client = await Client.create({ network: 'testnet', accountProvider: provid > **new PrivateKeyAccountProvider**(`addresses`, `privateKeys`, `network`): `PrivateKeyAccountProvider` -Defined in: [mintlayer-connect-sdk.ts:340](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L340) +Defined in: [mintlayer-connect-sdk.ts:345](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L345) #### Parameters @@ -68,7 +68,7 @@ Defined in: [mintlayer-connect-sdk.ts:340](https://github.com/mintlayer/mintlaye > **connect**(): `Promise`\<`Address`\> -Defined in: [mintlayer-connect-sdk.ts:354](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L354) +Defined in: [mintlayer-connect-sdk.ts:359](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L359) #### Returns @@ -84,7 +84,7 @@ Defined in: [mintlayer-connect-sdk.ts:354](https://github.com/mintlayer/mintlaye > **disconnect**(): `Promise`\<`void`\> -Defined in: [mintlayer-connect-sdk.ts:362](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L362) +Defined in: [mintlayer-connect-sdk.ts:367](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L367) #### Returns @@ -100,7 +100,7 @@ Defined in: [mintlayer-connect-sdk.ts:362](https://github.com/mintlayer/mintlaye > **request**(`method`, `params`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:364](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L364) +Defined in: [mintlayer-connect-sdk.ts:369](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L369) #### Parameters @@ -126,7 +126,7 @@ Defined in: [mintlayer-connect-sdk.ts:364](https://github.com/mintlayer/mintlaye > **restore**(): `Promise`\<`Address`\> -Defined in: [mintlayer-connect-sdk.ts:358](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L358) +Defined in: [mintlayer-connect-sdk.ts:363](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L363) #### Returns diff --git a/packages/sdk/docs/classes/Signer.md b/packages/sdk/docs/classes/Signer.md index 2cfd389..56e05c1 100644 --- a/packages/sdk/docs/classes/Signer.md +++ b/packages/sdk/docs/classes/Signer.md @@ -2,7 +2,7 @@ *** -Defined in: [mintlayer-connect-sdk.ts:4040](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L4040) +Defined in: [mintlayer-connect-sdk.ts:4055](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L4055) ## Constructors @@ -10,7 +10,7 @@ Defined in: [mintlayer-connect-sdk.ts:4040](https://github.com/mintlayer/mintlay > **new Signer**(`privateKeys`, `network`): `Signer` -Defined in: [mintlayer-connect-sdk.ts:4044](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L4044) +Defined in: [mintlayer-connect-sdk.ts:4059](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L4059) #### Parameters @@ -32,7 +32,7 @@ Defined in: [mintlayer-connect-sdk.ts:4044](https://github.com/mintlayer/mintlay > **sign**(`tx`): `string` -Defined in: [mintlayer-connect-sdk.ts:4172](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L4172) +Defined in: [mintlayer-connect-sdk.ts:4187](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L4187) #### Parameters diff --git a/packages/sdk/docs/classes/Transaction.md b/packages/sdk/docs/classes/Transaction.md new file mode 100644 index 0000000..ec956e3 --- /dev/null +++ b/packages/sdk/docs/classes/Transaction.md @@ -0,0 +1,435 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +Defined in: [transaction.ts:61](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L61) + +## Constructors + +### Constructor + +> **new Transaction**(`__namedParameters`): `Transaction` + +Defined in: [transaction.ts:75](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L75) + +#### Parameters + +##### \_\_namedParameters + +###### client? + +`any` + +###### currentBlockHeight? + +`string` \| `number` \| `bigint` + +###### network? + +`"mainnet"` \| `"testnet"` + +#### Returns + +`Transaction` + +## Accessors + +### BINRepresentation + +#### Get Signature + +> **get** **BINRepresentation**(): `null` \| \{ `inputs`: `Uint8Array`\<`ArrayBufferLike`\>[]; `outputs`: `Uint8Array`\<`ArrayBufferLike`\>[]; `transactionsize`: `number`; \} + +Defined in: [transaction.ts:147](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L147) + +##### Returns + +`null` \| \{ `inputs`: `Uint8Array`\<`ArrayBufferLike`\>[]; `outputs`: `Uint8Array`\<`ArrayBufferLike`\>[]; `transactionsize`: `number`; \} + +*** + +### HEXRepresentation\_unsigned + +#### Get Signature + +> **get** **HEXRepresentation\_unsigned**(): `string` + +Defined in: [transaction.ts:150](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L150) + +##### Returns + +`string` + +*** + +### JSONRepresentation + +#### Get Signature + +> **get** **JSONRepresentation**(): `any` + +Defined in: [transaction.ts:144](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L144) + +##### Returns + +`any` + +*** + +### transaction\_id + +#### Get Signature + +> **get** **transaction\_id**(): `string` + +Defined in: [transaction.ts:153](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L153) + +##### Returns + +`string` + +## Methods + +### addAction() + +> **addAction**(`action`): `Transaction` + +Defined in: [transaction.ts:126](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L126) + +#### Parameters + +##### action + +`any` + +#### Returns + +`Transaction` + +*** + +### addInput() + +> **addInput**(`input`): `Transaction` + +Defined in: [transaction.ts:116](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L116) + +#### Parameters + +##### input + +`Input` + +#### Returns + +`Transaction` + +*** + +### addOutput() + +> **addOutput**(`output`): `Transaction` + +Defined in: [transaction.ts:121](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L121) + +#### Parameters + +##### output + +`any` + +#### Returns + +`Transaction` + +*** + +### build() + +> **build**(): `Transaction` + +Defined in: [transaction.ts:157](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L157) + +#### Returns + +`Transaction` + +*** + +### fromHEX() + +> **fromHEX**(`hex`): `Transaction` + +Defined in: [transaction.ts:135](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L135) + +#### Parameters + +##### hex + +`string` + +#### Returns + +`Transaction` + +*** + +### getFee() + +> **getFee**(): `object` + +Defined in: [transaction.ts:301](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L301) + +#### Returns + +`object` + +##### atoms + +> **atoms**: `string` + +##### decimal + +> **decimal**: `string` + +*** + +### getTransactionBINrepresentation() + +> **getTransactionBINrepresentation**(`transactionJSONrepresentation`, `_network`): `object` + +Defined in: [transaction.ts:393](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L393) + +Returns the transaction binary representation. + +#### Parameters + +##### transactionJSONrepresentation + +`any` + +##### \_network + +`Network` + +#### Returns + +`object` + +##### inputs + +> **inputs**: `Uint8Array`\<`ArrayBufferLike`\>[] + +##### outputs + +> **outputs**: `Uint8Array`\<`ArrayBufferLike`\>[] + +##### transactionsize + +> **transactionsize**: `number` + +*** + +### getTransactionId() + +> **getTransactionId**(): `string` + +Defined in: [transaction.ts:139](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L139) + +#### Returns + +`string` + +*** + +### hex() + +> **hex**(): `string` + +Defined in: [transaction.ts:293](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L293) + +#### Returns + +`string` + +*** + +### json() + +> **json**(): `any` + +Defined in: [transaction.ts:297](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L297) + +#### Returns + +`any` + +*** + +### setChangeAddress() + +> **setChangeAddress**(`address`): `Transaction` + +Defined in: [transaction.ts:101](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L101) + +#### Parameters + +##### address + +`string` + +#### Returns + +`Transaction` + +*** + +### setCurrentBlockHeight() + +> **setCurrentBlockHeight**(`height`): `Transaction` + +Defined in: [transaction.ts:111](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L111) + +#### Parameters + +##### height + +`string` | `number` | `bigint` + +#### Returns + +`Transaction` + +*** + +### setNetwork() + +> **setNetwork**(`network`): `Transaction` + +Defined in: [transaction.ts:106](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L106) + +#### Parameters + +##### network + +`"mainnet"` | `"testnet"` + +#### Returns + +`Transaction` + +*** + +### stakingWithdraw() + +> **stakingWithdraw**(): `object` + +Defined in: [transaction.ts:738](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L738) + +#### Returns + +`object` + +##### params + +> **params**: `object` + +###### params.amount + +> **amount**: `number` = `0` + +###### params.delegation\_id + +> **delegation\_id**: `string` = `''` + +##### type + +> **type**: `string` = `'StakingWithdraw'` + +*** + +### transfer() + +> **transfer**(`destination`, `amount`): `any` + +Defined in: [transaction.ts:704](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L704) + +#### Parameters + +##### destination + +`string` + +##### amount + +`string` + +#### Returns + +`any` + +*** + +### transferNft() + +> **transferNft**(`destination`, `token_id`): `any` + +Defined in: [transaction.ts:733](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L733) + +#### Parameters + +##### destination + +`string` + +##### token\_id + +`string` + +#### Returns + +`any` + +*** + +### transferToken() + +> **transferToken**(`destination`, `amount`, `token_id`): `any` + +Defined in: [transaction.ts:718](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L718) + +#### Parameters + +##### destination + +`string` + +##### amount + +`string` + +##### token\_id + +`string` + +#### Returns + +`any` + +*** + +### withUTXO() + +> **withUTXO**(`utxos`): `Transaction` + +Defined in: [transaction.ts:130](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/transaction.ts#L130) + +#### Parameters + +##### utxos + +`any` + +#### Returns + +`Transaction` diff --git a/packages/sdk/docs/classes/WalletState.md b/packages/sdk/docs/classes/WalletState.md new file mode 100644 index 0000000..37d8215 --- /dev/null +++ b/packages/sdk/docs/classes/WalletState.md @@ -0,0 +1,256 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +Defined in: [wallet-state.ts:382](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L382) + +Headless wallet/account state derived from a wallet-relevant transaction log. + +`WalletState` is storage-agnostic and network-agnostic. It keeps a cached +derived view of wallet-owned outputs, spent outputs, balances, and spendable +UTXOs. The caller owns syncing, persistence implementation, address ownership +rules, signing, and broadcasting. + +## Methods + +### applyLocalTx() + +> **applyLocalTx**(`tx`): `Promise`\<[`WalletTx`](../type-aliases/WalletTx.md)\> + +Defined in: [wallet-state.ts:513](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L513) + +Apply a transaction created locally by the wallet/bot. + +Local transactions reserve their inputs immediately as `spent_pending`, even +before broadcast succeeds, so the caller does not accidentally double-spend +them while broadcasting is in progress. + +#### Parameters + +##### tx + +[`WalletTxInput`](../type-aliases/WalletTxInput.md) + +#### Returns + +`Promise`\<[`WalletTx`](../type-aliases/WalletTx.md)\> + +*** + +### applyMempoolTx() + +> **applyMempoolTx**(`tx`): `Promise`\<[`WalletTx`](../type-aliases/WalletTx.md)\> + +Defined in: [wallet-state.ts:534](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L534) + +Apply a transaction observed or accepted in mempool. + +Use this after successful broadcast, or when a scanner reports an +unconfirmed wallet-relevant transaction. + +#### Parameters + +##### tx + +[`WalletTxInput`](../type-aliases/WalletTxInput.md) | [`WalletTx`](../type-aliases/WalletTx.md) + +#### Returns + +`Promise`\<[`WalletTx`](../type-aliases/WalletTx.md)\> + +*** + +### applySyncDiff() + +> **applySyncDiff**(`diff`): `Promise`\<`void`\> + +Defined in: [wallet-state.ts:586](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L586) + +Apply scanner/network updates and advance the sync cursor. + +This is the main integration point for a future wallet updater. It can add +wallet-relevant transactions, confirm local/mempool transactions, mark +conflicts, and mark outputs spent. + +#### Parameters + +##### diff + +[`WalletSyncDiff`](../type-aliases/WalletSyncDiff.md) + +#### Returns + +`Promise`\<`void`\> + +*** + +### ensureFresh() + +> **ensureFresh**(): `Promise`\<`void`\> + +Defined in: [wallet-state.ts:649](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L649) + +Refresh derived state from the store. + +This placeholder keeps the public API ready for later freshness checks +against a network tip. + +#### Returns + +`Promise`\<`void`\> + +*** + +### getBalance() + +> **getBalance**(`options`): [`WalletBalance`](../type-aliases/WalletBalance.md) + +Defined in: [wallet-state.ts:479](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L479) + +Return atom balances derived from visible wallet UTXOs. + +#### Parameters + +##### options + +[`WalletUtxoFilter`](../type-aliases/WalletUtxoFilter.md) = `{}` + +#### Returns + +[`WalletBalance`](../type-aliases/WalletBalance.md) + +*** + +### getSpendableUtxos() + +> **getSpendableUtxos**(`policy`): [`WalletUtxo`](../type-aliases/WalletUtxo.md)[] + +Defined in: [wallet-state.ts:452](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L452) + +Return UTXOs that are safe to use under the provided spend policy. + +The default policy only returns confirmed UTXOs. + +#### Parameters + +##### policy + +[`SpendPolicy`](../type-aliases/SpendPolicy.md) = `{}` + +#### Returns + +[`WalletUtxo`](../type-aliases/WalletUtxo.md)[] + +*** + +### getUtxos() + +> **getUtxos**(`options`): [`WalletUtxo`](../type-aliases/WalletUtxo.md)[] + +Defined in: [wallet-state.ts:421](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L421) + +Return wallet-owned UTXOs from the current derived cache. + +By default spent, conflicted, orphaned, and rejected outputs are hidden. + +#### Parameters + +##### options + +[`WalletUtxoFilter`](../type-aliases/WalletUtxoFilter.md) = `{}` + +#### Returns + +[`WalletUtxo`](../type-aliases/WalletUtxo.md)[] + +*** + +### markBroadcastRejected() + +> **markBroadcastRejected**(`txId`, `options`): `Promise`\<`void`\> + +Defined in: [wallet-state.ts:557](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L557) + +Mark a local/mempool transaction as rejected by broadcast or policy. + +Rejected transactions no longer reserve their inputs. Any local transaction +that depends on a rejected output is also rejected in derived state, allowing +callers to rebuild from valid base UTXOs. + +#### Parameters + +##### txId + +`string` + +##### options + +###### reason? + +`string` + +###### rebuildRequired? + +`boolean` + +#### Returns + +`Promise`\<`void`\> + +*** + +### reload() + +> **reload**(): `Promise`\<`void`\> + +Defined in: [wallet-state.ts:411](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L411) + +Reload all wallet transactions from the store and rebuild derived state. + +Call this when another process or component may have updated the store. + +#### Returns + +`Promise`\<`void`\> + +*** + +### rollbackTo() + +> **rollbackTo**(`cursorOrHeight`): `Promise`\<`void`\> + +Defined in: [wallet-state.ts:627](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L627) + +Mark confirmed transactions above the provided height as orphaned. + +Use this when the sync layer detects a chain rollback. + +#### Parameters + +##### cursorOrHeight + +`number` | [`SyncCursor`](../type-aliases/SyncCursor.md) + +#### Returns + +`Promise`\<`void`\> + +*** + +### create() + +> `static` **create**(`options`): `Promise`\<`WalletState`\> + +Defined in: [wallet-state.ts:400](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L400) + +Load transactions from the store and build the initial derived cache. + +#### Parameters + +##### options + +[`WalletStateOptions`](../type-aliases/WalletStateOptions.md) + +#### Returns + +`Promise`\<`WalletState`\> diff --git a/packages/sdk/docs/functions/atomsToDecimal.md b/packages/sdk/docs/functions/atomsToDecimal.md index bb17cc4..26523c0 100644 --- a/packages/sdk/docs/functions/atomsToDecimal.md +++ b/packages/sdk/docs/functions/atomsToDecimal.md @@ -4,7 +4,7 @@ > **atomsToDecimal**(`atoms`, `decimals`): `string` -Defined in: [mintlayer-connect-sdk.ts:97](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L97) +Defined in: [mintlayer-connect-sdk.ts:97](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L97) ## Parameters diff --git a/packages/sdk/docs/functions/createMemoryWalletTxStore.md b/packages/sdk/docs/functions/createMemoryWalletTxStore.md new file mode 100644 index 0000000..35f2625 --- /dev/null +++ b/packages/sdk/docs/functions/createMemoryWalletTxStore.md @@ -0,0 +1,28 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **createMemoryWalletTxStore**(`initial?`): [`WalletTxStore`](../interfaces/WalletTxStore.md) + +Defined in: [wallet-state.ts:334](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L334) + +Create an in-memory `WalletTxStore`. + +Useful for tests, examples, and simple bots that do not need persistence +across process restarts. + +## Parameters + +### initial? + +#### cursors? + +`Record`\<`string`, [`SyncCursor`](../type-aliases/SyncCursor.md)\> + +#### transactions? + +`Record`\<`string`, [`WalletTx`](../type-aliases/WalletTx.md)[]\> + +## Returns + +[`WalletTxStore`](../interfaces/WalletTxStore.md) diff --git a/packages/sdk/docs/functions/decimals.md b/packages/sdk/docs/functions/decimals.md index 0f919dd..00ed071 100644 --- a/packages/sdk/docs/functions/decimals.md +++ b/packages/sdk/docs/functions/decimals.md @@ -4,7 +4,7 @@ > **decimals**(`value`, `decimals`): `string` -Defined in: [mintlayer-connect-sdk.ts:126](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L126) +Defined in: [mintlayer-connect-sdk.ts:126](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L126) ## Parameters diff --git a/packages/sdk/docs/functions/decimalsToAtoms.md b/packages/sdk/docs/functions/decimalsToAtoms.md index 498e440..7df1fc7 100644 --- a/packages/sdk/docs/functions/decimalsToAtoms.md +++ b/packages/sdk/docs/functions/decimalsToAtoms.md @@ -4,7 +4,7 @@ > **decimalsToAtoms**(`value`, `decimals`): `bigint` -Defined in: [mintlayer-connect-sdk.ts:118](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L118) +Defined in: [mintlayer-connect-sdk.ts:118](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L118) ## Parameters diff --git a/packages/sdk/docs/globals.md b/packages/sdk/docs/globals.md index 095f4fb..46d52ca 100644 --- a/packages/sdk/docs/globals.md +++ b/packages/sdk/docs/globals.md @@ -10,6 +10,8 @@ - [MojitoAccountProvider](classes/MojitoAccountProvider.md) - [PrivateKeyAccountProvider](classes/PrivateKeyAccountProvider.md) - [Signer](classes/Signer.md) +- [Transaction](classes/Transaction.md) +- [WalletState](classes/WalletState.md) ## Interfaces @@ -17,6 +19,7 @@ - [ApiProvider](interfaces/ApiProvider.md) - [MnemonicAccountProviderOptions](interfaces/MnemonicAccountProviderOptions.md) - [TransactionJSONRepresentation](interfaces/TransactionJSONRepresentation.md) +- [WalletTxStore](interfaces/WalletTxStore.md) ## Type Aliases @@ -32,20 +35,35 @@ - [DelegationWithdrawArgs](type-aliases/DelegationWithdrawArgs.md) - [FillOrderArgs](type-aliases/FillOrderArgs.md) - [FreezeTokenArgs](type-aliases/FreezeTokenArgs.md) +- [IsMineOutput](type-aliases/IsMineOutput.md) - [IssueNftArgs](type-aliases/IssueNftArgs.md) - [IssueTokenArgs](type-aliases/IssueTokenArgs.md) - [LockTokenSupplyArgs](type-aliases/LockTokenSupplyArgs.md) - [MintTokenArgs](type-aliases/MintTokenArgs.md) +- [OutPoint](type-aliases/OutPoint.md) - [SignChallengeArgs](type-aliases/SignChallengeArgs.md) - [SignChallengeResponse](type-aliases/SignChallengeResponse.md) +- [SpendPolicy](type-aliases/SpendPolicy.md) +- [SyncCursor](type-aliases/SyncCursor.md) - [TransferArgs](type-aliases/TransferArgs.md) - [TransferNftArgs](type-aliases/TransferNftArgs.md) +- [TxState](type-aliases/TxState.md) - [UnfreezeTokenArgs](type-aliases/UnfreezeTokenArgs.md) - [UnmintTokenArgs](type-aliases/UnmintTokenArgs.md) - [VerifyChallengeArgs](type-aliases/VerifyChallengeArgs.md) +- [WalletBalance](type-aliases/WalletBalance.md) +- [WalletStateOptions](type-aliases/WalletStateOptions.md) +- [WalletSyncDiff](type-aliases/WalletSyncDiff.md) +- [WalletTransactionJson](type-aliases/WalletTransactionJson.md) +- [WalletTx](type-aliases/WalletTx.md) +- [WalletTxInput](type-aliases/WalletTxInput.md) +- [WalletUtxo](type-aliases/WalletUtxo.md) +- [WalletUtxoFilter](type-aliases/WalletUtxoFilter.md) +- [WalletUtxoStatus](type-aliases/WalletUtxoStatus.md) ## Functions - [atomsToDecimal](functions/atomsToDecimal.md) +- [createMemoryWalletTxStore](functions/createMemoryWalletTxStore.md) - [decimals](functions/decimals.md) - [decimalsToAtoms](functions/decimalsToAtoms.md) diff --git a/packages/sdk/docs/interfaces/AccountProvider.md b/packages/sdk/docs/interfaces/AccountProvider.md index 017055f..61823cb 100644 --- a/packages/sdk/docs/interfaces/AccountProvider.md +++ b/packages/sdk/docs/interfaces/AccountProvider.md @@ -2,7 +2,7 @@ *** -Defined in: [mintlayer-connect-sdk.ts:254](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L254) +Defined in: [mintlayer-connect-sdk.ts:259](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L259) ## Methods @@ -10,7 +10,7 @@ Defined in: [mintlayer-connect-sdk.ts:254](https://github.com/mintlayer/mintlaye > **connect**(): `Promise`\<`Address`\> -Defined in: [mintlayer-connect-sdk.ts:255](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L255) +Defined in: [mintlayer-connect-sdk.ts:260](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L260) #### Returns @@ -22,7 +22,7 @@ Defined in: [mintlayer-connect-sdk.ts:255](https://github.com/mintlayer/mintlaye > **disconnect**(): `Promise`\<`void`\> -Defined in: [mintlayer-connect-sdk.ts:257](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L257) +Defined in: [mintlayer-connect-sdk.ts:262](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L262) #### Returns @@ -34,7 +34,7 @@ Defined in: [mintlayer-connect-sdk.ts:257](https://github.com/mintlayer/mintlaye > **request**(`method`, `params`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:258](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L258) +Defined in: [mintlayer-connect-sdk.ts:263](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L263) #### Parameters @@ -56,7 +56,7 @@ Defined in: [mintlayer-connect-sdk.ts:258](https://github.com/mintlayer/mintlaye > **restore**(): `Promise`\<`Address`\> -Defined in: [mintlayer-connect-sdk.ts:256](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L256) +Defined in: [mintlayer-connect-sdk.ts:261](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L261) #### Returns diff --git a/packages/sdk/docs/interfaces/ApiProvider.md b/packages/sdk/docs/interfaces/ApiProvider.md index 8eb2f44..87e6ca9 100644 --- a/packages/sdk/docs/interfaces/ApiProvider.md +++ b/packages/sdk/docs/interfaces/ApiProvider.md @@ -2,7 +2,7 @@ *** -Defined in: [mintlayer-connect-sdk.ts:146](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L146) +Defined in: [mintlayer-connect-sdk.ts:146](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L146) ## Methods @@ -10,7 +10,7 @@ Defined in: [mintlayer-connect-sdk.ts:146](https://github.com/mintlayer/mintlaye > **broadcastTransaction**(`tx`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:158](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L158) +Defined in: [mintlayer-connect-sdk.ts:158](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L158) #### Parameters @@ -28,7 +28,7 @@ Defined in: [mintlayer-connect-sdk.ts:158](https://github.com/mintlayer/mintlaye > **getAccountUtxos**(`addresses`, `network`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:159](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L159) +Defined in: [mintlayer-connect-sdk.ts:159](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L159) #### Parameters @@ -50,7 +50,7 @@ Defined in: [mintlayer-connect-sdk.ts:159](https://github.com/mintlayer/mintlaye > **getAddress**(`addr`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:148](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L148) +Defined in: [mintlayer-connect-sdk.ts:148](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L148) #### Parameters @@ -68,7 +68,7 @@ Defined in: [mintlayer-connect-sdk.ts:148](https://github.com/mintlayer/mintlaye > **getAddressDelegations**(`addr`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:149](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L149) +Defined in: [mintlayer-connect-sdk.ts:149](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L149) #### Parameters @@ -86,7 +86,7 @@ Defined in: [mintlayer-connect-sdk.ts:149](https://github.com/mintlayer/mintlaye > **getAddressTokenAuthority**(`addr`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:150](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L150) +Defined in: [mintlayer-connect-sdk.ts:150](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L150) #### Parameters @@ -104,7 +104,7 @@ Defined in: [mintlayer-connect-sdk.ts:150](https://github.com/mintlayer/mintlaye > **getChainTip**(): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:147](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L147) +Defined in: [mintlayer-connect-sdk.ts:147](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L147) #### Returns @@ -116,7 +116,7 @@ Defined in: [mintlayer-connect-sdk.ts:147](https://github.com/mintlayer/mintlaye > **getDelegation**(`delegation_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:156](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L156) +Defined in: [mintlayer-connect-sdk.ts:156](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L156) #### Parameters @@ -134,7 +134,7 @@ Defined in: [mintlayer-connect-sdk.ts:156](https://github.com/mintlayer/mintlaye > **getNft**(`token_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:152](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L152) +Defined in: [mintlayer-connect-sdk.ts:152](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L152) #### Parameters @@ -152,7 +152,7 @@ Defined in: [mintlayer-connect-sdk.ts:152](https://github.com/mintlayer/mintlaye > **getOrder**(`order_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:153](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L153) +Defined in: [mintlayer-connect-sdk.ts:153](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L153) #### Parameters @@ -170,7 +170,7 @@ Defined in: [mintlayer-connect-sdk.ts:153](https://github.com/mintlayer/mintlaye > **getOrders**(): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:154](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L154) +Defined in: [mintlayer-connect-sdk.ts:154](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L154) #### Returns @@ -182,7 +182,7 @@ Defined in: [mintlayer-connect-sdk.ts:154](https://github.com/mintlayer/mintlaye > **getPoolDelegations**(`pool_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:155](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L155) +Defined in: [mintlayer-connect-sdk.ts:155](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L155) #### Parameters @@ -200,7 +200,7 @@ Defined in: [mintlayer-connect-sdk.ts:155](https://github.com/mintlayer/mintlaye > **getToken**(`token_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:151](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L151) +Defined in: [mintlayer-connect-sdk.ts:151](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L151) #### Parameters @@ -218,7 +218,7 @@ Defined in: [mintlayer-connect-sdk.ts:151](https://github.com/mintlayer/mintlaye > **getTransaction**(`transaction_id`): `Promise`\<`any`\> -Defined in: [mintlayer-connect-sdk.ts:157](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L157) +Defined in: [mintlayer-connect-sdk.ts:157](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L157) #### Parameters diff --git a/packages/sdk/docs/interfaces/MnemonicAccountProviderOptions.md b/packages/sdk/docs/interfaces/MnemonicAccountProviderOptions.md index 368b9d4..f6393d4 100644 --- a/packages/sdk/docs/interfaces/MnemonicAccountProviderOptions.md +++ b/packages/sdk/docs/interfaces/MnemonicAccountProviderOptions.md @@ -2,7 +2,7 @@ *** -Defined in: [mintlayer-connect-sdk.ts:391](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L391) +Defined in: [mintlayer-connect-sdk.ts:396](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L396) Options for [MnemonicAccountProvider](../classes/MnemonicAccountProvider.md). @@ -12,7 +12,7 @@ Options for [MnemonicAccountProvider](../classes/MnemonicAccountProvider.md). > `optional` **changeAddressCount**: `number` -Defined in: [mintlayer-connect-sdk.ts:395](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L395) +Defined in: [mintlayer-connect-sdk.ts:400](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L400) Number of change addresses to derive (default: 1). @@ -22,6 +22,6 @@ Number of change addresses to derive (default: 1). > `optional` **receivingAddressCount**: `number` -Defined in: [mintlayer-connect-sdk.ts:393](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L393) +Defined in: [mintlayer-connect-sdk.ts:398](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L398) Number of receiving addresses to derive (default: 1). diff --git a/packages/sdk/docs/interfaces/TransactionJSONRepresentation.md b/packages/sdk/docs/interfaces/TransactionJSONRepresentation.md index d593d7e..709f2f3 100644 --- a/packages/sdk/docs/interfaces/TransactionJSONRepresentation.md +++ b/packages/sdk/docs/interfaces/TransactionJSONRepresentation.md @@ -2,7 +2,7 @@ *** -Defined in: [mintlayer-connect-sdk.ts:835](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L835) +Defined in: [mintlayer-connect-sdk.ts:840](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L840) ## Properties @@ -10,7 +10,7 @@ Defined in: [mintlayer-connect-sdk.ts:835](https://github.com/mintlayer/mintlaye > `optional` **fee**: `AmountFields` -Defined in: [mintlayer-connect-sdk.ts:838](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L838) +Defined in: [mintlayer-connect-sdk.ts:843](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L843) *** @@ -18,7 +18,7 @@ Defined in: [mintlayer-connect-sdk.ts:838](https://github.com/mintlayer/mintlaye > **id**: `string` -Defined in: [mintlayer-connect-sdk.ts:839](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L839) +Defined in: [mintlayer-connect-sdk.ts:844](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L844) *** @@ -26,7 +26,7 @@ Defined in: [mintlayer-connect-sdk.ts:839](https://github.com/mintlayer/mintlaye > **inputs**: `Input`[] -Defined in: [mintlayer-connect-sdk.ts:836](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L836) +Defined in: [mintlayer-connect-sdk.ts:841](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L841) *** @@ -34,4 +34,4 @@ Defined in: [mintlayer-connect-sdk.ts:836](https://github.com/mintlayer/mintlaye > **outputs**: `Output`[] -Defined in: [mintlayer-connect-sdk.ts:837](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L837) +Defined in: [mintlayer-connect-sdk.ts:842](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L842) diff --git a/packages/sdk/docs/interfaces/WalletTxStore.md b/packages/sdk/docs/interfaces/WalletTxStore.md new file mode 100644 index 0000000..7da1800 --- /dev/null +++ b/packages/sdk/docs/interfaces/WalletTxStore.md @@ -0,0 +1,113 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +Defined in: [wallet-state.ts:89](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L89) + +Storage adapter used by `WalletState`. + +Implement this interface with IndexedDB, SQLite, Postgres, files, or any other +storage engine. `WalletState` intentionally does not perform network or disk +access except through this adapter. + +## Methods + +### getCursor() + +> **getCursor**(`accountId`): `Promise`\<`null` \| [`SyncCursor`](../type-aliases/SyncCursor.md)\> + +Defined in: [wallet-state.ts:93](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L93) + +#### Parameters + +##### accountId + +`string` + +#### Returns + +`Promise`\<`null` \| [`SyncCursor`](../type-aliases/SyncCursor.md)\> + +*** + +### getTransactions() + +> **getTransactions**(`accountId`): `Promise`\<[`WalletTx`](../type-aliases/WalletTx.md)[]\> + +Defined in: [wallet-state.ts:90](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L90) + +#### Parameters + +##### accountId + +`string` + +#### Returns + +`Promise`\<[`WalletTx`](../type-aliases/WalletTx.md)[]\> + +*** + +### putTransaction() + +> **putTransaction**(`accountId`, `tx`): `Promise`\<`void`\> + +Defined in: [wallet-state.ts:91](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L91) + +#### Parameters + +##### accountId + +`string` + +##### tx + +[`WalletTx`](../type-aliases/WalletTx.md) + +#### Returns + +`Promise`\<`void`\> + +*** + +### removeTransaction()? + +> `optional` **removeTransaction**(`accountId`, `txId`): `Promise`\<`void`\> + +Defined in: [wallet-state.ts:92](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L92) + +#### Parameters + +##### accountId + +`string` + +##### txId + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + +### setCursor() + +> **setCursor**(`accountId`, `cursor`): `Promise`\<`void`\> + +Defined in: [wallet-state.ts:94](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L94) + +#### Parameters + +##### accountId + +`string` + +##### cursor + +[`SyncCursor`](../type-aliases/SyncCursor.md) + +#### Returns + +`Promise`\<`void`\> diff --git a/packages/sdk/docs/type-aliases/BridgeRequestArgs.md b/packages/sdk/docs/type-aliases/BridgeRequestArgs.md index c4fe0be..6a6f5c7 100644 --- a/packages/sdk/docs/type-aliases/BridgeRequestArgs.md +++ b/packages/sdk/docs/type-aliases/BridgeRequestArgs.md @@ -4,7 +4,7 @@ > **BridgeRequestArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1177](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1177) +Defined in: [mintlayer-connect-sdk.ts:1182](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1182) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1177](https://github.com/mintlayer/mintlay > **amount**: `number` -Defined in: [mintlayer-connect-sdk.ts:1179](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1179) +Defined in: [mintlayer-connect-sdk.ts:1184](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1184) *** @@ -20,7 +20,7 @@ Defined in: [mintlayer-connect-sdk.ts:1179](https://github.com/mintlayer/mintlay > **destination**: `string` -Defined in: [mintlayer-connect-sdk.ts:1178](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1178) +Defined in: [mintlayer-connect-sdk.ts:1183](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1183) *** @@ -28,7 +28,7 @@ Defined in: [mintlayer-connect-sdk.ts:1178](https://github.com/mintlayer/mintlay > **intent**: `string` -Defined in: [mintlayer-connect-sdk.ts:1181](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1181) +Defined in: [mintlayer-connect-sdk.ts:1186](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1186) *** @@ -36,4 +36,4 @@ Defined in: [mintlayer-connect-sdk.ts:1181](https://github.com/mintlayer/mintlay > **token\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1180](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1180) +Defined in: [mintlayer-connect-sdk.ts:1185](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1185) diff --git a/packages/sdk/docs/type-aliases/BurnArgs.md b/packages/sdk/docs/type-aliases/BurnArgs.md index 6d45487..1bc8215 100644 --- a/packages/sdk/docs/type-aliases/BurnArgs.md +++ b/packages/sdk/docs/type-aliases/BurnArgs.md @@ -4,7 +4,7 @@ > **BurnArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1081](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1081) +Defined in: [mintlayer-connect-sdk.ts:1086](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1086) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1081](https://github.com/mintlayer/mintlay > **amount**: `number` -Defined in: [mintlayer-connect-sdk.ts:1083](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1083) +Defined in: [mintlayer-connect-sdk.ts:1088](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1088) *** @@ -20,4 +20,4 @@ Defined in: [mintlayer-connect-sdk.ts:1083](https://github.com/mintlayer/mintlay > **token\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1082](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1082) +Defined in: [mintlayer-connect-sdk.ts:1087](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1087) diff --git a/packages/sdk/docs/type-aliases/ChangeMetadataUriArgs.md b/packages/sdk/docs/type-aliases/ChangeMetadataUriArgs.md index 1fd359d..043aefe 100644 --- a/packages/sdk/docs/type-aliases/ChangeMetadataUriArgs.md +++ b/packages/sdk/docs/type-aliases/ChangeMetadataUriArgs.md @@ -4,7 +4,7 @@ > **ChangeMetadataUriArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1128](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1128) +Defined in: [mintlayer-connect-sdk.ts:1133](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1133) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1128](https://github.com/mintlayer/mintlay > **new\_metadata\_uri**: `string` -Defined in: [mintlayer-connect-sdk.ts:1130](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1130) +Defined in: [mintlayer-connect-sdk.ts:1135](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1135) *** @@ -20,4 +20,4 @@ Defined in: [mintlayer-connect-sdk.ts:1130](https://github.com/mintlayer/mintlay > **token\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1129](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1129) +Defined in: [mintlayer-connect-sdk.ts:1134](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1134) diff --git a/packages/sdk/docs/type-aliases/ChangeTokenAuthorityArgs.md b/packages/sdk/docs/type-aliases/ChangeTokenAuthorityArgs.md index e78d1ee..41c8cc5 100644 --- a/packages/sdk/docs/type-aliases/ChangeTokenAuthorityArgs.md +++ b/packages/sdk/docs/type-aliases/ChangeTokenAuthorityArgs.md @@ -4,7 +4,7 @@ > **ChangeTokenAuthorityArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1123](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1123) +Defined in: [mintlayer-connect-sdk.ts:1128](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1128) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1123](https://github.com/mintlayer/mintlay > **new\_authority**: `string` -Defined in: [mintlayer-connect-sdk.ts:1125](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1125) +Defined in: [mintlayer-connect-sdk.ts:1130](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1130) *** @@ -20,4 +20,4 @@ Defined in: [mintlayer-connect-sdk.ts:1125](https://github.com/mintlayer/mintlay > **token\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1124](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1124) +Defined in: [mintlayer-connect-sdk.ts:1129](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1129) diff --git a/packages/sdk/docs/type-aliases/ConcludeOrderArgs.md b/packages/sdk/docs/type-aliases/ConcludeOrderArgs.md index 2a79562..edc5f54 100644 --- a/packages/sdk/docs/type-aliases/ConcludeOrderArgs.md +++ b/packages/sdk/docs/type-aliases/ConcludeOrderArgs.md @@ -4,7 +4,7 @@ > **ConcludeOrderArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1173](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1173) +Defined in: [mintlayer-connect-sdk.ts:1178](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1178) ## Properties @@ -12,4 +12,4 @@ Defined in: [mintlayer-connect-sdk.ts:1173](https://github.com/mintlayer/mintlay > **order\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1174](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1174) +Defined in: [mintlayer-connect-sdk.ts:1179](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1179) diff --git a/packages/sdk/docs/type-aliases/CreateOrderArgs.md b/packages/sdk/docs/type-aliases/CreateOrderArgs.md index 81854e4..7b0d7de 100644 --- a/packages/sdk/docs/type-aliases/CreateOrderArgs.md +++ b/packages/sdk/docs/type-aliases/CreateOrderArgs.md @@ -4,7 +4,7 @@ > **CreateOrderArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1159](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1159) +Defined in: [mintlayer-connect-sdk.ts:1164](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1164) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1159](https://github.com/mintlayer/mintlay > **ask\_amount**: `number` -Defined in: [mintlayer-connect-sdk.ts:1162](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1162) +Defined in: [mintlayer-connect-sdk.ts:1167](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1167) *** @@ -20,7 +20,7 @@ Defined in: [mintlayer-connect-sdk.ts:1162](https://github.com/mintlayer/mintlay > **ask\_token**: `string` -Defined in: [mintlayer-connect-sdk.ts:1161](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1161) +Defined in: [mintlayer-connect-sdk.ts:1166](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1166) *** @@ -28,7 +28,7 @@ Defined in: [mintlayer-connect-sdk.ts:1161](https://github.com/mintlayer/mintlay > **conclude\_destination**: `string` -Defined in: [mintlayer-connect-sdk.ts:1160](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1160) +Defined in: [mintlayer-connect-sdk.ts:1165](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1165) *** @@ -36,7 +36,7 @@ Defined in: [mintlayer-connect-sdk.ts:1160](https://github.com/mintlayer/mintlay > **give\_amount**: `number` -Defined in: [mintlayer-connect-sdk.ts:1164](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1164) +Defined in: [mintlayer-connect-sdk.ts:1169](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1169) *** @@ -44,4 +44,4 @@ Defined in: [mintlayer-connect-sdk.ts:1164](https://github.com/mintlayer/mintlay > **give\_token**: `string` -Defined in: [mintlayer-connect-sdk.ts:1163](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1163) +Defined in: [mintlayer-connect-sdk.ts:1168](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1168) diff --git a/packages/sdk/docs/type-aliases/DataDepositArgs.md b/packages/sdk/docs/type-aliases/DataDepositArgs.md index b2cb7cd..684eb77 100644 --- a/packages/sdk/docs/type-aliases/DataDepositArgs.md +++ b/packages/sdk/docs/type-aliases/DataDepositArgs.md @@ -4,7 +4,7 @@ > **DataDepositArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1142](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1142) +Defined in: [mintlayer-connect-sdk.ts:1147](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1147) ## Properties @@ -12,4 +12,4 @@ Defined in: [mintlayer-connect-sdk.ts:1142](https://github.com/mintlayer/mintlay > **data**: `string` -Defined in: [mintlayer-connect-sdk.ts:1143](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1143) +Defined in: [mintlayer-connect-sdk.ts:1148](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1148) diff --git a/packages/sdk/docs/type-aliases/DelegationCreateArgs.md b/packages/sdk/docs/type-aliases/DelegationCreateArgs.md index 8a69f90..4213891 100644 --- a/packages/sdk/docs/type-aliases/DelegationCreateArgs.md +++ b/packages/sdk/docs/type-aliases/DelegationCreateArgs.md @@ -4,7 +4,7 @@ > **DelegationCreateArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1146](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1146) +Defined in: [mintlayer-connect-sdk.ts:1151](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1151) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1146](https://github.com/mintlayer/mintlay > **destination**: `string` -Defined in: [mintlayer-connect-sdk.ts:1148](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1148) +Defined in: [mintlayer-connect-sdk.ts:1153](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1153) *** @@ -20,4 +20,4 @@ Defined in: [mintlayer-connect-sdk.ts:1148](https://github.com/mintlayer/mintlay > **pool\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1147](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1147) +Defined in: [mintlayer-connect-sdk.ts:1152](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1152) diff --git a/packages/sdk/docs/type-aliases/DelegationStakeArgs.md b/packages/sdk/docs/type-aliases/DelegationStakeArgs.md index cfd9501..f735327 100644 --- a/packages/sdk/docs/type-aliases/DelegationStakeArgs.md +++ b/packages/sdk/docs/type-aliases/DelegationStakeArgs.md @@ -4,4 +4,4 @@ > **DelegationStakeArgs** = \{ `amount`: `number`; `delegation_id?`: `undefined`; `pool_id`: `string`; \} \| \{ `amount`: `number`; `delegation_id`: `string`; `pool_id?`: `undefined`; \} -Defined in: [mintlayer-connect-sdk.ts:1155](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1155) +Defined in: [mintlayer-connect-sdk.ts:1160](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1160) diff --git a/packages/sdk/docs/type-aliases/DelegationWithdrawArgs.md b/packages/sdk/docs/type-aliases/DelegationWithdrawArgs.md index 7776e7d..04432e3 100644 --- a/packages/sdk/docs/type-aliases/DelegationWithdrawArgs.md +++ b/packages/sdk/docs/type-aliases/DelegationWithdrawArgs.md @@ -4,4 +4,4 @@ > **DelegationWithdrawArgs** = \{ `amount`: `number`; `delegation_id?`: `undefined`; `pool_id`: `string`; \} \| \{ `amount`: `number`; `delegation_id`: `string`; `pool_id?`: `undefined`; \} -Defined in: [mintlayer-connect-sdk.ts:1151](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1151) +Defined in: [mintlayer-connect-sdk.ts:1156](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1156) diff --git a/packages/sdk/docs/type-aliases/FillOrderArgs.md b/packages/sdk/docs/type-aliases/FillOrderArgs.md index ca1ee21..19a5c7d 100644 --- a/packages/sdk/docs/type-aliases/FillOrderArgs.md +++ b/packages/sdk/docs/type-aliases/FillOrderArgs.md @@ -4,7 +4,7 @@ > **FillOrderArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1167](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1167) +Defined in: [mintlayer-connect-sdk.ts:1172](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1172) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1167](https://github.com/mintlayer/mintlay > **amount**: `number` -Defined in: [mintlayer-connect-sdk.ts:1169](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1169) +Defined in: [mintlayer-connect-sdk.ts:1174](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1174) *** @@ -20,7 +20,7 @@ Defined in: [mintlayer-connect-sdk.ts:1169](https://github.com/mintlayer/mintlay > **destination**: `string` -Defined in: [mintlayer-connect-sdk.ts:1170](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1170) +Defined in: [mintlayer-connect-sdk.ts:1175](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1175) *** @@ -28,4 +28,4 @@ Defined in: [mintlayer-connect-sdk.ts:1170](https://github.com/mintlayer/mintlay > **order\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1168](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1168) +Defined in: [mintlayer-connect-sdk.ts:1173](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1173) diff --git a/packages/sdk/docs/type-aliases/FreezeTokenArgs.md b/packages/sdk/docs/type-aliases/FreezeTokenArgs.md index 6b7493b..5d62e9e 100644 --- a/packages/sdk/docs/type-aliases/FreezeTokenArgs.md +++ b/packages/sdk/docs/type-aliases/FreezeTokenArgs.md @@ -4,7 +4,7 @@ > **FreezeTokenArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1133](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1133) +Defined in: [mintlayer-connect-sdk.ts:1138](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1138) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1133](https://github.com/mintlayer/mintlay > **is\_unfreezable**: `boolean` -Defined in: [mintlayer-connect-sdk.ts:1135](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1135) +Defined in: [mintlayer-connect-sdk.ts:1140](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1140) *** @@ -20,4 +20,4 @@ Defined in: [mintlayer-connect-sdk.ts:1135](https://github.com/mintlayer/mintlay > **token\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1134](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1134) +Defined in: [mintlayer-connect-sdk.ts:1139](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1139) diff --git a/packages/sdk/docs/type-aliases/IsMineOutput.md b/packages/sdk/docs/type-aliases/IsMineOutput.md new file mode 100644 index 0000000..c84f0c6 --- /dev/null +++ b/packages/sdk/docs/type-aliases/IsMineOutput.md @@ -0,0 +1,41 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **IsMineOutput** = (`output`, `context`) => `boolean` + +Defined in: [wallet-state.ts:180](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L180) + +Callback used to decide whether a transaction output belongs to this wallet. + +This keeps `WalletState` account-model agnostic. A simple bot can check a set +of known receiving/change addresses; a full wallet can use derived addresses, +xpub metadata, HTLC keys, or other ownership rules. + +## Parameters + +### output + +`unknown` + +### context + +#### outputIndex + +`number` + +#### tx + +[`WalletTx`](WalletTx.md) + +#### txJson + +[`WalletTransactionJson`](WalletTransactionJson.md) + +#### utxo + +`UtxoEntry` + +## Returns + +`boolean` diff --git a/packages/sdk/docs/type-aliases/IssueNftArgs.md b/packages/sdk/docs/type-aliases/IssueNftArgs.md index 5d5dbfa..f25f184 100644 --- a/packages/sdk/docs/type-aliases/IssueNftArgs.md +++ b/packages/sdk/docs/type-aliases/IssueNftArgs.md @@ -4,7 +4,7 @@ > **IssueNftArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1086](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1086) +Defined in: [mintlayer-connect-sdk.ts:1091](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1091) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1086](https://github.com/mintlayer/mintlay > **additional\_metadata\_uri**: `string` -Defined in: [mintlayer-connect-sdk.ts:1089](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1089) +Defined in: [mintlayer-connect-sdk.ts:1094](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1094) *** @@ -20,7 +20,7 @@ Defined in: [mintlayer-connect-sdk.ts:1089](https://github.com/mintlayer/mintlay > `optional` **creator**: `string` -Defined in: [mintlayer-connect-sdk.ts:1088](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1088) +Defined in: [mintlayer-connect-sdk.ts:1093](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1093) *** @@ -28,7 +28,7 @@ Defined in: [mintlayer-connect-sdk.ts:1088](https://github.com/mintlayer/mintlay > **description**: `string` -Defined in: [mintlayer-connect-sdk.ts:1090](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1090) +Defined in: [mintlayer-connect-sdk.ts:1095](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1095) *** @@ -36,7 +36,7 @@ Defined in: [mintlayer-connect-sdk.ts:1090](https://github.com/mintlayer/mintlay > **destination**: `string` -Defined in: [mintlayer-connect-sdk.ts:1087](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1087) +Defined in: [mintlayer-connect-sdk.ts:1092](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1092) *** @@ -44,7 +44,7 @@ Defined in: [mintlayer-connect-sdk.ts:1087](https://github.com/mintlayer/mintlay > **icon\_uri**: `string` -Defined in: [mintlayer-connect-sdk.ts:1091](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1091) +Defined in: [mintlayer-connect-sdk.ts:1096](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1096) *** @@ -52,7 +52,7 @@ Defined in: [mintlayer-connect-sdk.ts:1091](https://github.com/mintlayer/mintlay > **media\_hash**: `string` -Defined in: [mintlayer-connect-sdk.ts:1092](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1092) +Defined in: [mintlayer-connect-sdk.ts:1097](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1097) *** @@ -60,7 +60,7 @@ Defined in: [mintlayer-connect-sdk.ts:1092](https://github.com/mintlayer/mintlay > **media\_uri**: `string` -Defined in: [mintlayer-connect-sdk.ts:1093](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1093) +Defined in: [mintlayer-connect-sdk.ts:1098](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1098) *** @@ -68,7 +68,7 @@ Defined in: [mintlayer-connect-sdk.ts:1093](https://github.com/mintlayer/mintlay > **name**: `string` -Defined in: [mintlayer-connect-sdk.ts:1094](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1094) +Defined in: [mintlayer-connect-sdk.ts:1099](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1099) *** @@ -76,4 +76,4 @@ Defined in: [mintlayer-connect-sdk.ts:1094](https://github.com/mintlayer/mintlay > **ticker**: `string` -Defined in: [mintlayer-connect-sdk.ts:1095](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1095) +Defined in: [mintlayer-connect-sdk.ts:1100](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1100) diff --git a/packages/sdk/docs/type-aliases/IssueTokenArgs.md b/packages/sdk/docs/type-aliases/IssueTokenArgs.md index 2ac34ad..35b1377 100644 --- a/packages/sdk/docs/type-aliases/IssueTokenArgs.md +++ b/packages/sdk/docs/type-aliases/IssueTokenArgs.md @@ -4,7 +4,7 @@ > **IssueTokenArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1098](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1098) +Defined in: [mintlayer-connect-sdk.ts:1103](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1103) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1098](https://github.com/mintlayer/mintlay > **authority**: `string` -Defined in: [mintlayer-connect-sdk.ts:1099](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1099) +Defined in: [mintlayer-connect-sdk.ts:1104](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1104) *** @@ -20,7 +20,7 @@ Defined in: [mintlayer-connect-sdk.ts:1099](https://github.com/mintlayer/mintlay > **is\_freezable**: `boolean` -Defined in: [mintlayer-connect-sdk.ts:1100](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1100) +Defined in: [mintlayer-connect-sdk.ts:1105](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1105) *** @@ -28,7 +28,7 @@ Defined in: [mintlayer-connect-sdk.ts:1100](https://github.com/mintlayer/mintlay > **metadata\_uri**: `string` -Defined in: [mintlayer-connect-sdk.ts:1101](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1101) +Defined in: [mintlayer-connect-sdk.ts:1106](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1106) *** @@ -36,7 +36,7 @@ Defined in: [mintlayer-connect-sdk.ts:1101](https://github.com/mintlayer/mintlay > **number\_of\_decimals**: `number` -Defined in: [mintlayer-connect-sdk.ts:1102](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1102) +Defined in: [mintlayer-connect-sdk.ts:1107](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1107) *** @@ -44,7 +44,7 @@ Defined in: [mintlayer-connect-sdk.ts:1102](https://github.com/mintlayer/mintlay > `optional` **supply\_amount**: `number` -Defined in: [mintlayer-connect-sdk.ts:1105](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1105) +Defined in: [mintlayer-connect-sdk.ts:1110](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1110) *** @@ -52,7 +52,7 @@ Defined in: [mintlayer-connect-sdk.ts:1105](https://github.com/mintlayer/mintlay > **supply\_type**: `"Unlimited"` \| `"Lockable"` \| `"Fixed"` -Defined in: [mintlayer-connect-sdk.ts:1104](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1104) +Defined in: [mintlayer-connect-sdk.ts:1109](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1109) *** @@ -60,4 +60,4 @@ Defined in: [mintlayer-connect-sdk.ts:1104](https://github.com/mintlayer/mintlay > **token\_ticker**: `string` -Defined in: [mintlayer-connect-sdk.ts:1103](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1103) +Defined in: [mintlayer-connect-sdk.ts:1108](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1108) diff --git a/packages/sdk/docs/type-aliases/LockTokenSupplyArgs.md b/packages/sdk/docs/type-aliases/LockTokenSupplyArgs.md index 7bb12f2..e2310ab 100644 --- a/packages/sdk/docs/type-aliases/LockTokenSupplyArgs.md +++ b/packages/sdk/docs/type-aliases/LockTokenSupplyArgs.md @@ -4,7 +4,7 @@ > **LockTokenSupplyArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1119](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1119) +Defined in: [mintlayer-connect-sdk.ts:1124](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1124) ## Properties @@ -12,4 +12,4 @@ Defined in: [mintlayer-connect-sdk.ts:1119](https://github.com/mintlayer/mintlay > **token\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1120](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1120) +Defined in: [mintlayer-connect-sdk.ts:1125](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1125) diff --git a/packages/sdk/docs/type-aliases/MintTokenArgs.md b/packages/sdk/docs/type-aliases/MintTokenArgs.md index b5ea051..5a1594c 100644 --- a/packages/sdk/docs/type-aliases/MintTokenArgs.md +++ b/packages/sdk/docs/type-aliases/MintTokenArgs.md @@ -4,7 +4,7 @@ > **MintTokenArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1108](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1108) +Defined in: [mintlayer-connect-sdk.ts:1113](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1113) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1108](https://github.com/mintlayer/mintlay > **amount**: `number` -Defined in: [mintlayer-connect-sdk.ts:1110](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1110) +Defined in: [mintlayer-connect-sdk.ts:1115](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1115) *** @@ -20,7 +20,7 @@ Defined in: [mintlayer-connect-sdk.ts:1110](https://github.com/mintlayer/mintlay > **destination**: `string` -Defined in: [mintlayer-connect-sdk.ts:1109](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1109) +Defined in: [mintlayer-connect-sdk.ts:1114](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1114) *** @@ -28,4 +28,4 @@ Defined in: [mintlayer-connect-sdk.ts:1109](https://github.com/mintlayer/mintlay > **token\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1111](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1111) +Defined in: [mintlayer-connect-sdk.ts:1116](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1116) diff --git a/packages/sdk/docs/type-aliases/OutPoint.md b/packages/sdk/docs/type-aliases/OutPoint.md new file mode 100644 index 0000000..cdf428c --- /dev/null +++ b/packages/sdk/docs/type-aliases/OutPoint.md @@ -0,0 +1,25 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **OutPoint** = `object` + +Defined in: [wallet-state.ts:29](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L29) + +Stable reference to one transaction output. + +## Properties + +### outputIndex + +> **outputIndex**: `number` + +Defined in: [wallet-state.ts:31](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L31) + +*** + +### txId + +> **txId**: `string` + +Defined in: [wallet-state.ts:30](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L30) diff --git a/packages/sdk/docs/type-aliases/SignChallengeArgs.md b/packages/sdk/docs/type-aliases/SignChallengeArgs.md index 9c08406..0c8cac0 100644 --- a/packages/sdk/docs/type-aliases/SignChallengeArgs.md +++ b/packages/sdk/docs/type-aliases/SignChallengeArgs.md @@ -4,7 +4,7 @@ > **SignChallengeArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1184](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1184) +Defined in: [mintlayer-connect-sdk.ts:1189](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1189) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1184](https://github.com/mintlayer/mintlay > `optional` **address**: `string` -Defined in: [mintlayer-connect-sdk.ts:1186](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1186) +Defined in: [mintlayer-connect-sdk.ts:1191](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1191) *** @@ -20,4 +20,4 @@ Defined in: [mintlayer-connect-sdk.ts:1186](https://github.com/mintlayer/mintlay > **message**: `string` -Defined in: [mintlayer-connect-sdk.ts:1185](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1185) +Defined in: [mintlayer-connect-sdk.ts:1190](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1190) diff --git a/packages/sdk/docs/type-aliases/SignChallengeResponse.md b/packages/sdk/docs/type-aliases/SignChallengeResponse.md index 6ac19bb..30f86f8 100644 --- a/packages/sdk/docs/type-aliases/SignChallengeResponse.md +++ b/packages/sdk/docs/type-aliases/SignChallengeResponse.md @@ -4,7 +4,7 @@ > **SignChallengeResponse** = `object` -Defined in: [mintlayer-connect-sdk.ts:1189](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1189) +Defined in: [mintlayer-connect-sdk.ts:1194](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1194) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1189](https://github.com/mintlayer/mintlay > **address**: `string` -Defined in: [mintlayer-connect-sdk.ts:1191](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1191) +Defined in: [mintlayer-connect-sdk.ts:1196](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1196) *** @@ -20,7 +20,7 @@ Defined in: [mintlayer-connect-sdk.ts:1191](https://github.com/mintlayer/mintlay > **message**: `string` -Defined in: [mintlayer-connect-sdk.ts:1190](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1190) +Defined in: [mintlayer-connect-sdk.ts:1195](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1195) *** @@ -28,4 +28,4 @@ Defined in: [mintlayer-connect-sdk.ts:1190](https://github.com/mintlayer/mintlay > **signature**: `string` -Defined in: [mintlayer-connect-sdk.ts:1192](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1192) +Defined in: [mintlayer-connect-sdk.ts:1197](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1197) diff --git a/packages/sdk/docs/type-aliases/SpendPolicy.md b/packages/sdk/docs/type-aliases/SpendPolicy.md new file mode 100644 index 0000000..54cf8b0 --- /dev/null +++ b/packages/sdk/docs/type-aliases/SpendPolicy.md @@ -0,0 +1,39 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **SpendPolicy** = `object` + +Defined in: [wallet-state.ts:100](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L100) + +Policy used when selecting spendable UTXOs from derived wallet state. + +## Properties + +### allowOwnChangeOnly? + +> `optional` **allowOwnChangeOnly**: `boolean` + +Defined in: [wallet-state.ts:104](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L104) + +If unconfirmed spending is enabled, only allow wallet-created change. Defaults to `true`. + +*** + +### allowUnconfirmed? + +> `optional` **allowUnconfirmed**: `boolean` + +Defined in: [wallet-state.ts:102](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L102) + +Allow spending unconfirmed outputs. Defaults to `false`. + +*** + +### maxUnconfirmedChainDepth? + +> `optional` **maxUnconfirmedChainDepth**: `number` + +Defined in: [wallet-state.ts:106](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L106) + +Maximum unconfirmed parent chain depth allowed for spendable outputs. diff --git a/packages/sdk/docs/type-aliases/SyncCursor.md b/packages/sdk/docs/type-aliases/SyncCursor.md new file mode 100644 index 0000000..505cb02 --- /dev/null +++ b/packages/sdk/docs/type-aliases/SyncCursor.md @@ -0,0 +1,36 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **SyncCursor** = `object` + +Defined in: [wallet-state.ts:9](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L9) + +Last wallet sync position known by the caller's scanner or network layer. + +`WalletState` stores and forwards this value, but does not interpret block +hashes or fetch blocks by itself. + +## Properties + +### blockHash + +> **blockHash**: `string` + +Defined in: [wallet-state.ts:11](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L11) + +*** + +### height + +> **height**: `number` + +Defined in: [wallet-state.ts:10](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L10) + +*** + +### updatedAt? + +> `optional` **updatedAt**: `number` + +Defined in: [wallet-state.ts:12](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L12) diff --git a/packages/sdk/docs/type-aliases/TransferArgs.md b/packages/sdk/docs/type-aliases/TransferArgs.md index 264b189..6fde006 100644 --- a/packages/sdk/docs/type-aliases/TransferArgs.md +++ b/packages/sdk/docs/type-aliases/TransferArgs.md @@ -4,7 +4,7 @@ > **TransferArgs** = \{ `amount`: `number`; `to`: `string`; `token_id`: `string`; \} \| \{ `amount`: `number`; `to`: `string`; `token_id?`: `undefined`; \} -Defined in: [mintlayer-connect-sdk.ts:1072](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1072) +Defined in: [mintlayer-connect-sdk.ts:1077](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1077) Arguments for the `transfer()` method. diff --git a/packages/sdk/docs/type-aliases/TransferNftArgs.md b/packages/sdk/docs/type-aliases/TransferNftArgs.md index b76128a..da41f9e 100644 --- a/packages/sdk/docs/type-aliases/TransferNftArgs.md +++ b/packages/sdk/docs/type-aliases/TransferNftArgs.md @@ -4,7 +4,7 @@ > **TransferNftArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1076](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1076) +Defined in: [mintlayer-connect-sdk.ts:1081](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1081) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1076](https://github.com/mintlayer/mintlay > **to**: `string` -Defined in: [mintlayer-connect-sdk.ts:1077](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1077) +Defined in: [mintlayer-connect-sdk.ts:1082](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1082) *** @@ -20,4 +20,4 @@ Defined in: [mintlayer-connect-sdk.ts:1077](https://github.com/mintlayer/mintlay > **token\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1078](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1078) +Defined in: [mintlayer-connect-sdk.ts:1083](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1083) diff --git a/packages/sdk/docs/type-aliases/TxState.md b/packages/sdk/docs/type-aliases/TxState.md new file mode 100644 index 0000000..85c327b --- /dev/null +++ b/packages/sdk/docs/type-aliases/TxState.md @@ -0,0 +1,15 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **TxState** = `"local"` \| `"mempool"` \| `"confirmed"` \| `"conflicted"` \| `"orphaned"` \| `"rejected"` + +Defined in: [wallet-state.ts:24](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L24) + +Wallet-relevant transaction lifecycle state. + +`local` means the wallet created the transaction but it is not yet known to +be accepted by the network. `mempool` means it was broadcast or observed as +unconfirmed. `rejected` means the transaction should no longer reserve its +inputs, usually because broadcasting failed and a replacement/rebuild is +needed. diff --git a/packages/sdk/docs/type-aliases/UnfreezeTokenArgs.md b/packages/sdk/docs/type-aliases/UnfreezeTokenArgs.md index 7b4a7c3..98f3288 100644 --- a/packages/sdk/docs/type-aliases/UnfreezeTokenArgs.md +++ b/packages/sdk/docs/type-aliases/UnfreezeTokenArgs.md @@ -4,7 +4,7 @@ > **UnfreezeTokenArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1138](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1138) +Defined in: [mintlayer-connect-sdk.ts:1143](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1143) ## Properties @@ -12,4 +12,4 @@ Defined in: [mintlayer-connect-sdk.ts:1138](https://github.com/mintlayer/mintlay > **token\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1139](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1139) +Defined in: [mintlayer-connect-sdk.ts:1144](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1144) diff --git a/packages/sdk/docs/type-aliases/UnmintTokenArgs.md b/packages/sdk/docs/type-aliases/UnmintTokenArgs.md index 0fe48c1..66bb54a 100644 --- a/packages/sdk/docs/type-aliases/UnmintTokenArgs.md +++ b/packages/sdk/docs/type-aliases/UnmintTokenArgs.md @@ -4,7 +4,7 @@ > **UnmintTokenArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1114](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1114) +Defined in: [mintlayer-connect-sdk.ts:1119](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1119) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1114](https://github.com/mintlayer/mintlay > **amount**: `number` -Defined in: [mintlayer-connect-sdk.ts:1115](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1115) +Defined in: [mintlayer-connect-sdk.ts:1120](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1120) *** @@ -20,4 +20,4 @@ Defined in: [mintlayer-connect-sdk.ts:1115](https://github.com/mintlayer/mintlay > **token\_id**: `string` -Defined in: [mintlayer-connect-sdk.ts:1116](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1116) +Defined in: [mintlayer-connect-sdk.ts:1121](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1121) diff --git a/packages/sdk/docs/type-aliases/VerifyChallengeArgs.md b/packages/sdk/docs/type-aliases/VerifyChallengeArgs.md index bc4e719..298a9a9 100644 --- a/packages/sdk/docs/type-aliases/VerifyChallengeArgs.md +++ b/packages/sdk/docs/type-aliases/VerifyChallengeArgs.md @@ -4,7 +4,7 @@ > **VerifyChallengeArgs** = `object` -Defined in: [mintlayer-connect-sdk.ts:1195](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1195) +Defined in: [mintlayer-connect-sdk.ts:1200](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1200) ## Properties @@ -12,7 +12,7 @@ Defined in: [mintlayer-connect-sdk.ts:1195](https://github.com/mintlayer/mintlay > **address**: `string` -Defined in: [mintlayer-connect-sdk.ts:1197](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1197) +Defined in: [mintlayer-connect-sdk.ts:1202](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1202) *** @@ -20,7 +20,7 @@ Defined in: [mintlayer-connect-sdk.ts:1197](https://github.com/mintlayer/mintlay > **message**: `string` -Defined in: [mintlayer-connect-sdk.ts:1196](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1196) +Defined in: [mintlayer-connect-sdk.ts:1201](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1201) *** @@ -28,4 +28,4 @@ Defined in: [mintlayer-connect-sdk.ts:1196](https://github.com/mintlayer/mintlay > **signature**: `string` -Defined in: [mintlayer-connect-sdk.ts:1198](https://github.com/mintlayer/mintlayer-connect-sdk/blob/c2e3af8c362a53736f94c0d91571f12868b57f86/packages/sdk/src/mintlayer-connect-sdk.ts#L1198) +Defined in: [mintlayer-connect-sdk.ts:1203](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/mintlayer-connect-sdk.ts#L1203) diff --git a/packages/sdk/docs/type-aliases/WalletBalance.md b/packages/sdk/docs/type-aliases/WalletBalance.md new file mode 100644 index 0000000..e7cdbfd --- /dev/null +++ b/packages/sdk/docs/type-aliases/WalletBalance.md @@ -0,0 +1,31 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **WalletBalance** = `object` + +Defined in: [wallet-state.ts:140](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L140) + +Balance derived from currently visible wallet UTXOs. + +Values are represented in atoms to avoid decimal precision loss. + +## Properties + +### coin + +> **coin**: `object` + +Defined in: [wallet-state.ts:141](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L141) + +#### atoms + +> **atoms**: `string` + +*** + +### tokens + +> **tokens**: `Record`\<`string`, \{ `atoms`: `string`; \}\> + +Defined in: [wallet-state.ts:144](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L144) diff --git a/packages/sdk/docs/type-aliases/WalletStateOptions.md b/packages/sdk/docs/type-aliases/WalletStateOptions.md new file mode 100644 index 0000000..ed1dcb1 --- /dev/null +++ b/packages/sdk/docs/type-aliases/WalletStateOptions.md @@ -0,0 +1,33 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **WalletStateOptions** = `object` + +Defined in: [wallet-state.ts:193](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L193) + +Options for constructing a `WalletState` instance. + +## Properties + +### accountId + +> **accountId**: `string` + +Defined in: [wallet-state.ts:194](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L194) + +*** + +### isMineOutput + +> **isMineOutput**: [`IsMineOutput`](IsMineOutput.md) + +Defined in: [wallet-state.ts:196](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L196) + +*** + +### store + +> **store**: [`WalletTxStore`](../interfaces/WalletTxStore.md) + +Defined in: [wallet-state.ts:195](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L195) diff --git a/packages/sdk/docs/type-aliases/WalletSyncDiff.md b/packages/sdk/docs/type-aliases/WalletSyncDiff.md new file mode 100644 index 0000000..20d3635 --- /dev/null +++ b/packages/sdk/docs/type-aliases/WalletSyncDiff.md @@ -0,0 +1,60 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **WalletSyncDiff** = `object` + +Defined in: [wallet-state.ts:164](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L164) + +Wallet-oriented sync update produced by a scanner/network layer. + +This diff intentionally does not require raw blocks. A scanner can feed only +wallet-relevant transactions, spent outpoints, and state transitions. + +## Properties + +### confirmedTxIds? + +> `optional` **confirmedTxIds**: `string`[] + +Defined in: [wallet-state.ts:169](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L169) + +*** + +### conflictedTxIds? + +> `optional` **conflictedTxIds**: `string`[] + +Defined in: [wallet-state.ts:170](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L170) + +*** + +### fromCursor? + +> `optional` **fromCursor**: [`SyncCursor`](SyncCursor.md) + +Defined in: [wallet-state.ts:165](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L165) + +*** + +### spent? + +> `optional` **spent**: [`OutPoint`](OutPoint.md)[] + +Defined in: [wallet-state.ts:168](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L168) + +*** + +### toCursor + +> **toCursor**: [`SyncCursor`](SyncCursor.md) + +Defined in: [wallet-state.ts:166](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L166) + +*** + +### transactions + +> **transactions**: [`WalletTx`](WalletTx.md)[] + +Defined in: [wallet-state.ts:167](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L167) diff --git a/packages/sdk/docs/type-aliases/WalletTransactionJson.md b/packages/sdk/docs/type-aliases/WalletTransactionJson.md new file mode 100644 index 0000000..1ad69a6 --- /dev/null +++ b/packages/sdk/docs/type-aliases/WalletTransactionJson.md @@ -0,0 +1,12 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **WalletTransactionJson** = `TransactionJSONRepresentation` \| \{ `fee?`: `unknown`; `id`: `string`; `inputs`: `unknown`[]; `outputs`: `unknown`[]; \} + +Defined in: [wallet-state.ts:40](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L40) + +Transaction JSON accepted by `WalletState`. + +This accepts the SDK transaction JSON representation, plus a looser structural +shape for scanner/bot integrations that only need inputs, outputs, and id. diff --git a/packages/sdk/docs/type-aliases/WalletTx.md b/packages/sdk/docs/type-aliases/WalletTx.md new file mode 100644 index 0000000..8ea952e --- /dev/null +++ b/packages/sdk/docs/type-aliases/WalletTx.md @@ -0,0 +1,100 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **WalletTx** = `object` + +Defined in: [wallet-state.ts:68](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L68) + +Wallet-relevant transaction stored in the wallet transaction log. + +The transaction log is the source of truth. UTXOs, balances, and spendability +are derived from these entries. + +## Properties + +### blockHash? + +> `optional` **blockHash**: `string` + +Defined in: [wallet-state.ts:75](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L75) + +*** + +### blockHeight? + +> `optional` **blockHeight**: `number` + +Defined in: [wallet-state.ts:74](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L74) + +*** + +### confirmation? + +> `optional` **confirmation**: `number` \| `string` + +Defined in: [wallet-state.ts:72](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L72) + +*** + +### confirmations? + +> `optional` **confirmations**: `number` \| `string` + +Defined in: [wallet-state.ts:73](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L73) + +*** + +### createdByWallet? + +> `optional` **createdByWallet**: `boolean` + +Defined in: [wallet-state.ts:77](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L77) + +*** + +### rebuildRequired? + +> `optional` **rebuildRequired**: `boolean` + +Defined in: [wallet-state.ts:79](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L79) + +*** + +### rejectionReason? + +> `optional` **rejectionReason**: `string` + +Defined in: [wallet-state.ts:78](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L78) + +*** + +### state + +> **state**: [`TxState`](TxState.md) + +Defined in: [wallet-state.ts:71](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L71) + +*** + +### timestamp? + +> `optional` **timestamp**: `number` + +Defined in: [wallet-state.ts:76](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L76) + +*** + +### tx + +> **tx**: [`WalletTxInput`](WalletTxInput.md) + +Defined in: [wallet-state.ts:70](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L70) + +*** + +### txId + +> **txId**: `string` + +Defined in: [wallet-state.ts:69](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L69) diff --git a/packages/sdk/docs/type-aliases/WalletTxInput.md b/packages/sdk/docs/type-aliases/WalletTxInput.md new file mode 100644 index 0000000..ec09922 --- /dev/null +++ b/packages/sdk/docs/type-aliases/WalletTxInput.md @@ -0,0 +1,12 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **WalletTxInput** = [`WalletTransactionJson`](WalletTransactionJson.md) \| \{ `JSONRepresentation`: [`WalletTransactionJson`](WalletTransactionJson.md); `transaction_id?`: `string`; \} + +Defined in: [wallet-state.ts:55](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L55) + +Transaction object accepted by `WalletState`. + +You can pass either raw transaction JSON or an SDK `Transaction`-like object +containing `JSONRepresentation`. diff --git a/packages/sdk/docs/type-aliases/WalletUtxo.md b/packages/sdk/docs/type-aliases/WalletUtxo.md new file mode 100644 index 0000000..ef32579 --- /dev/null +++ b/packages/sdk/docs/type-aliases/WalletUtxo.md @@ -0,0 +1,43 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **WalletUtxo** = `UtxoEntry` & `object` + +Defined in: [wallet-state.ts:124](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L124) + +Wallet-owned UTXO with derived state metadata. + +## Type declaration + +### blockHash? + +> `optional` **blockHash**: `string` + +### blockHeight? + +> `optional` **blockHeight**: `number` + +### createdByWallet? + +> `optional` **createdByWallet**: `boolean` + +### outputIndex + +> **outputIndex**: `number` + +### status + +> **status**: [`WalletUtxoStatus`](WalletUtxoStatus.md) + +### txId + +> **txId**: `string` + +### txState + +> **txState**: [`TxState`](TxState.md) + +### unconfirmedChainDepth + +> **unconfirmedChainDepth**: `number` diff --git a/packages/sdk/docs/type-aliases/WalletUtxoFilter.md b/packages/sdk/docs/type-aliases/WalletUtxoFilter.md new file mode 100644 index 0000000..1663b80 --- /dev/null +++ b/packages/sdk/docs/type-aliases/WalletUtxoFilter.md @@ -0,0 +1,49 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **WalletUtxoFilter** = `object` + +Defined in: [wallet-state.ts:150](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L150) + +Filters for derived wallet UTXO and balance views. + +## Properties + +### includeConflicted? + +> `optional` **includeConflicted**: `boolean` + +Defined in: [wallet-state.ts:152](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L152) + +*** + +### includeOrphaned? + +> `optional` **includeOrphaned**: `boolean` + +Defined in: [wallet-state.ts:153](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L153) + +*** + +### includeRejected? + +> `optional` **includeRejected**: `boolean` + +Defined in: [wallet-state.ts:154](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L154) + +*** + +### includeSpent? + +> `optional` **includeSpent**: `boolean` + +Defined in: [wallet-state.ts:151](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L151) + +*** + +### includeUnconfirmed? + +> `optional` **includeUnconfirmed**: `boolean` + +Defined in: [wallet-state.ts:155](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L155) diff --git a/packages/sdk/docs/type-aliases/WalletUtxoStatus.md b/packages/sdk/docs/type-aliases/WalletUtxoStatus.md new file mode 100644 index 0000000..5d1a7b4 --- /dev/null +++ b/packages/sdk/docs/type-aliases/WalletUtxoStatus.md @@ -0,0 +1,9 @@ +[**@mintlayer/sdk**](../README.md) + +*** + +> **WalletUtxoStatus** = `"confirmed"` \| `"unconfirmed"` \| `"spent"` \| `"spent_pending"` \| `"conflicted"` \| `"orphaned"` \| `"rejected"` + +Defined in: [wallet-state.ts:112](https://github.com/mintlayer/mintlayer-connect-sdk/blob/e5da6dd553558de82047535da674569c83acf075/packages/sdk/src/wallet-state.ts#L112) + +Derived status of a wallet-owned output. diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 34214d0..2fed76d 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@mintlayer/sdk", - "version": "1.0.32", + "version": "1.0.34", "description": "", "main": "dist/mintlayer-connect-sdk.js", "types": "dist/mintlayer-connect-sdk.d.ts", diff --git a/packages/sdk/src/mintlayer-connect-sdk.ts b/packages/sdk/src/mintlayer-connect-sdk.ts index 6134c84..9ba9536 100644 --- a/packages/sdk/src/mintlayer-connect-sdk.ts +++ b/packages/sdk/src/mintlayer-connect-sdk.ts @@ -4191,6 +4191,7 @@ class Signer { } export { Transaction } from './transaction'; +export * from './wallet-state'; export { Client, diff --git a/packages/sdk/src/wallet-state.ts b/packages/sdk/src/wallet-state.ts new file mode 100644 index 0000000..5a65df8 --- /dev/null +++ b/packages/sdk/src/wallet-state.ts @@ -0,0 +1,796 @@ +import type { TransactionJSONRepresentation, UtxoEntry, UtxoInput } from './types/transaction'; + +/** + * Last wallet sync position known by the caller's scanner or network layer. + * + * `WalletState` stores and forwards this value, but does not interpret block + * hashes or fetch blocks by itself. + */ +export type SyncCursor = { + height: number; + blockHash: string; + updatedAt?: number; +}; + +/** + * Wallet-relevant transaction lifecycle state. + * + * `local` means the wallet created the transaction but it is not yet known to + * be accepted by the network. `mempool` means it was broadcast or observed as + * unconfirmed. `rejected` means the transaction should no longer reserve its + * inputs, usually because broadcasting failed and a replacement/rebuild is + * needed. + */ +export type TxState = 'local' | 'mempool' | 'confirmed' | 'conflicted' | 'orphaned' | 'rejected'; + +/** + * Stable reference to one transaction output. + */ +export type OutPoint = { + txId: string; + outputIndex: number; +}; + +/** + * Transaction JSON accepted by `WalletState`. + * + * This accepts the SDK transaction JSON representation, plus a looser structural + * shape for scanner/bot integrations that only need inputs, outputs, and id. + */ +export type WalletTransactionJson = + | TransactionJSONRepresentation + | { + inputs: unknown[]; + outputs: unknown[]; + fee?: unknown; + id: string; + }; + +/** + * Transaction object accepted by `WalletState`. + * + * You can pass either raw transaction JSON or an SDK `Transaction`-like object + * containing `JSONRepresentation`. + */ +export type WalletTxInput = + | WalletTransactionJson + | { + JSONRepresentation: WalletTransactionJson; + transaction_id?: string; + }; + +/** + * Wallet-relevant transaction stored in the wallet transaction log. + * + * The transaction log is the source of truth. UTXOs, balances, and spendability + * are derived from these entries. + */ +export type WalletTx = { + txId: string; + tx: WalletTxInput; + state: TxState; + confirmation?: number | string; + confirmations?: number | string; + blockHeight?: number; + blockHash?: string; + timestamp?: number; + createdByWallet?: boolean; + rejectionReason?: string; + rebuildRequired?: boolean; +}; + +/** + * Storage adapter used by `WalletState`. + * + * Implement this interface with IndexedDB, SQLite, Postgres, files, or any other + * storage engine. `WalletState` intentionally does not perform network or disk + * access except through this adapter. + */ +export interface WalletTxStore { + getTransactions(accountId: string): Promise; + putTransaction(accountId: string, tx: WalletTx): Promise; + removeTransaction?(accountId: string, txId: string): Promise; + getCursor(accountId: string): Promise; + setCursor(accountId: string, cursor: SyncCursor): Promise; +} + +/** + * Policy used when selecting spendable UTXOs from derived wallet state. + */ +export type SpendPolicy = { + /** Allow spending unconfirmed outputs. Defaults to `false`. */ + allowUnconfirmed?: boolean; + /** If unconfirmed spending is enabled, only allow wallet-created change. Defaults to `true`. */ + allowOwnChangeOnly?: boolean; + /** Maximum unconfirmed parent chain depth allowed for spendable outputs. */ + maxUnconfirmedChainDepth?: number; +}; + +/** + * Derived status of a wallet-owned output. + */ +export type WalletUtxoStatus = + | 'confirmed' + | 'unconfirmed' + | 'spent' + | 'spent_pending' + | 'conflicted' + | 'orphaned' + | 'rejected'; + +/** + * Wallet-owned UTXO with derived state metadata. + */ +export type WalletUtxo = UtxoEntry & { + txId: string; + outputIndex: number; + status: WalletUtxoStatus; + txState: TxState; + blockHeight?: number; + blockHash?: string; + createdByWallet?: boolean; + unconfirmedChainDepth: number; +}; + +/** + * Balance derived from currently visible wallet UTXOs. + * + * Values are represented in atoms to avoid decimal precision loss. + */ +export type WalletBalance = { + coin: { + atoms: string; + }; + tokens: Record; +}; + +/** + * Filters for derived wallet UTXO and balance views. + */ +export type WalletUtxoFilter = { + includeSpent?: boolean; + includeConflicted?: boolean; + includeOrphaned?: boolean; + includeRejected?: boolean; + includeUnconfirmed?: boolean; +}; + +/** + * Wallet-oriented sync update produced by a scanner/network layer. + * + * This diff intentionally does not require raw blocks. A scanner can feed only + * wallet-relevant transactions, spent outpoints, and state transitions. + */ +export type WalletSyncDiff = { + fromCursor?: SyncCursor; + toCursor: SyncCursor; + transactions: WalletTx[]; + spent?: OutPoint[]; + confirmedTxIds?: string[]; + conflictedTxIds?: string[]; +}; + +/** + * Callback used to decide whether a transaction output belongs to this wallet. + * + * This keeps `WalletState` account-model agnostic. A simple bot can check a set + * of known receiving/change addresses; a full wallet can use derived addresses, + * xpub metadata, HTLC keys, or other ownership rules. + */ +export type IsMineOutput = ( + output: unknown, + context: { + tx: WalletTx; + txJson: WalletTransactionJson; + outputIndex: number; + utxo: UtxoEntry; + }, +) => boolean; + +/** + * Options for constructing a `WalletState` instance. + */ +export type WalletStateOptions = { + accountId: string; + store: WalletTxStore; + isMineOutput: IsMineOutput; +}; + +const DEFAULT_SPEND_POLICY: Required = { + allowUnconfirmed: false, + allowOwnChangeOnly: true, + maxUnconfirmedChainDepth: Number.MAX_SAFE_INTEGER, +}; + +function outPointKey(outpoint: OutPoint): string { + return `${outpoint.txId}:${outpoint.outputIndex}`; +} + +function getTxJson(tx: WalletTxInput): WalletTransactionJson { + if ('JSONRepresentation' in tx) { + return tx.JSONRepresentation; + } + + return tx; +} + +function getTxId(tx: WalletTxInput): string { + const txJson = getTxJson(tx); + return txJson.id; +} + +function getWalletTxState(tx: WalletTx): TxState { + const confirmation = tx.confirmation ?? tx.confirmations; + + if (confirmation === undefined) { + return tx.state; + } + + const confirmationValue = Number(confirmation); + + if (!Number.isFinite(confirmationValue)) { + return tx.state; + } + + // Historical API note: the API server reports -1 for mempool transactions and 0 for + // transactions that are already in a block, so 0 confirmations still means confirmed here. + return confirmationValue < 0 ? 'mempool' : 'confirmed'; +} + +function getInputOutPoint(input: unknown): OutPoint | null { + const maybeInput = input as Partial; + + if (maybeInput.input?.input_type !== 'UTXO') { + return null; + } + + return { + txId: maybeInput.input.source_id, + outputIndex: maybeInput.input.index, + }; +} + +function outputToUtxoEntry(txId: string, outputIndex: number, output: any): UtxoEntry | null { + if (output.type === 'Transfer') { + return { + outpoint: { + index: outputIndex, + source_type: 'Transaction' as any, + source_id: txId, + }, + utxo: { + type: output.type, + value: output.value, + destination: output.destination, + }, + }; + } + + if (output.type === 'LockThenTransfer') { + return { + outpoint: { + index: outputIndex, + source_type: 'Transaction' as any, + source_id: txId, + }, + utxo: { + type: output.type, + value: output.value, + destination: output.destination, + lock: output.lock, + }, + }; + } + + if (output.type === 'IssueNft') { + return { + outpoint: { + index: outputIndex, + source_type: 'Transaction' as any, + source_id: txId, + }, + utxo: { + type: output.type, + value: output.value, + destination: output.destination, + token_id: output.token_id, + data: output.data, + } as any, + }; + } + + if (output.type === 'Htlc') { + return { + outpoint: { + index: outputIndex, + source_type: 'Transaction' as any, + source_id: txId, + }, + utxo: { + type: output.type, + value: output.value, + htlc: output.htlc, + } as any, + }; + } + + return null; +} + +function addAtoms(current: string, next: string | number | undefined): string { + if (next === undefined) { + return current; + } + + return (BigInt(current) + BigInt(next.toString())).toString(); +} + +/** + * Create an in-memory `WalletTxStore`. + * + * Useful for tests, examples, and simple bots that do not need persistence + * across process restarts. + */ +export function createMemoryWalletTxStore(initial?: { + transactions?: Record; + cursors?: Record; +}): WalletTxStore { + const transactions = new Map>(); + const cursors = new Map(); + + Object.entries(initial?.transactions ?? {}).forEach(([accountId, txs]) => { + transactions.set(accountId, new Map(txs.map((tx) => [tx.txId, tx]))); + }); + + Object.entries(initial?.cursors ?? {}).forEach(([accountId, cursor]) => { + cursors.set(accountId, cursor); + }); + + return { + async getTransactions(accountId: string): Promise { + return Array.from(transactions.get(accountId)?.values() ?? []); + }, + + async putTransaction(accountId: string, tx: WalletTx): Promise { + const accountTransactions = transactions.get(accountId) ?? new Map(); + accountTransactions.set(tx.txId, tx); + transactions.set(accountId, accountTransactions); + }, + + async removeTransaction(accountId: string, txId: string): Promise { + transactions.get(accountId)?.delete(txId); + }, + + async getCursor(accountId: string): Promise { + return cursors.get(accountId) ?? null; + }, + + async setCursor(accountId: string, cursor: SyncCursor): Promise { + cursors.set(accountId, cursor); + }, + }; +} + +/** + * Headless wallet/account state derived from a wallet-relevant transaction log. + * + * `WalletState` is storage-agnostic and network-agnostic. It keeps a cached + * derived view of wallet-owned outputs, spent outputs, balances, and spendable + * UTXOs. The caller owns syncing, persistence implementation, address ownership + * rules, signing, and broadcasting. + */ +export class WalletState { + private readonly accountId: string; + private readonly store: WalletTxStore; + private readonly isMineOutput: IsMineOutput; + private transactions: WalletTx[] = []; + private outputs = new Map(); + private spentBy = new Map(); + private spentOutpoints = new Set(); + + private constructor(options: WalletStateOptions) { + this.accountId = options.accountId; + this.store = options.store; + this.isMineOutput = options.isMineOutput; + } + + /** + * Load transactions from the store and build the initial derived cache. + */ + static async create(options: WalletStateOptions): Promise { + const walletState = new WalletState(options); + await walletState.reload(); + return walletState; + } + + /** + * Reload all wallet transactions from the store and rebuild derived state. + * + * Call this when another process or component may have updated the store. + */ + async reload(): Promise { + this.transactions = await this.store.getTransactions(this.accountId); + this.rebuild(); + } + + /** + * Return wallet-owned UTXOs from the current derived cache. + * + * By default spent, conflicted, orphaned, and rejected outputs are hidden. + */ + getUtxos(options: WalletUtxoFilter = {}): WalletUtxo[] { + return Array.from(this.outputs.values()).filter((utxo) => { + if (!options.includeSpent && (utxo.status === 'spent' || utxo.status === 'spent_pending')) { + return false; + } + + if (!options.includeConflicted && utxo.status === 'conflicted') { + return false; + } + + if (!options.includeOrphaned && utxo.status === 'orphaned') { + return false; + } + + if (!options.includeRejected && utxo.status === 'rejected') { + return false; + } + + if (options.includeUnconfirmed === false && utxo.status === 'unconfirmed') { + return false; + } + + return true; + }); + } + + /** + * Return UTXOs that are safe to use under the provided spend policy. + * + * The default policy only returns confirmed UTXOs. + */ + getSpendableUtxos(policy: SpendPolicy = {}): WalletUtxo[] { + const resolvedPolicy = { ...DEFAULT_SPEND_POLICY, ...policy }; + + return this.getUtxos().filter((utxo) => { + if (utxo.status === 'confirmed') { + return true; + } + + if (utxo.status !== 'unconfirmed') { + return false; + } + + if (!resolvedPolicy.allowUnconfirmed) { + return false; + } + + if (resolvedPolicy.allowOwnChangeOnly && !utxo.createdByWallet) { + return false; + } + + return utxo.unconfirmedChainDepth <= resolvedPolicy.maxUnconfirmedChainDepth; + }); + } + + /** + * Return atom balances derived from visible wallet UTXOs. + */ + getBalance(options: WalletUtxoFilter = {}): WalletBalance { + return this.getUtxos(options).reduce( + (balance, walletUtxo) => { + const value = (walletUtxo.utxo as any).value; + + if (!value?.amount?.atoms) { + return balance; + } + + if (value.type === 'Coin') { + balance.coin.atoms = addAtoms(balance.coin.atoms, value.amount.atoms); + return balance; + } + + if (value.type === 'TokenV1') { + const tokenId = value.token_id; + balance.tokens[tokenId] = { + atoms: addAtoms(balance.tokens[tokenId]?.atoms ?? '0', value.amount.atoms), + }; + } + + return balance; + }, + { coin: { atoms: '0' }, tokens: {} }, + ); + } + + /** + * Apply a transaction created locally by the wallet/bot. + * + * Local transactions reserve their inputs immediately as `spent_pending`, even + * before broadcast succeeds, so the caller does not accidentally double-spend + * them while broadcasting is in progress. + */ + async applyLocalTx(tx: WalletTxInput): Promise { + const walletTx: WalletTx = { + txId: getTxId(tx), + tx, + state: 'local', + timestamp: Date.now(), + createdByWallet: true, + }; + + this.assertNoDoubleSpend(walletTx); + await this.store.putTransaction(this.accountId, walletTx); + await this.reload(); + return walletTx; + } + + /** + * Apply a transaction observed or accepted in mempool. + * + * Use this after successful broadcast, or when a scanner reports an + * unconfirmed wallet-relevant transaction. + */ + async applyMempoolTx(tx: WalletTxInput | WalletTx): Promise { + const walletTx: WalletTx = + 'state' in tx + ? { ...tx, state: 'mempool' } + : { + txId: getTxId(tx), + tx, + state: 'mempool', + timestamp: Date.now(), + }; + + await this.store.putTransaction(this.accountId, walletTx); + await this.reload(); + return walletTx; + } + + /** + * Mark a local/mempool transaction as rejected by broadcast or policy. + * + * Rejected transactions no longer reserve their inputs. Any local transaction + * that depends on a rejected output is also rejected in derived state, allowing + * callers to rebuild from valid base UTXOs. + */ + async markBroadcastRejected( + txId: string, + options: { + reason?: string; + rebuildRequired?: boolean; + } = {}, + ): Promise { + const tx = this.transactions.find((item) => item.txId === txId); + + if (!tx) { + throw new Error(`Transaction ${txId} not found in wallet state`); + } + + await this.store.putTransaction(this.accountId, { + ...tx, + state: 'rejected', + rejectionReason: options.reason, + rebuildRequired: options.rebuildRequired ?? true, + }); + await this.reload(); + } + + /** + * Apply scanner/network updates and advance the sync cursor. + * + * This is the main integration point for a future wallet updater. It can add + * wallet-relevant transactions, confirm local/mempool transactions, mark + * conflicts, and mark outputs spent. + */ + async applySyncDiff(diff: WalletSyncDiff): Promise { + const existingTransactions = new Map(this.transactions.map((tx) => [tx.txId, tx])); + + for (const tx of diff.transactions) { + const normalizedTx = { ...tx, state: getWalletTxState(tx) }; + await this.store.putTransaction(this.accountId, normalizedTx); + existingTransactions.set(normalizedTx.txId, normalizedTx); + } + + for (const txId of diff.confirmedTxIds ?? []) { + const tx = existingTransactions.get(txId); + if (tx) { + await this.store.putTransaction(this.accountId, { + ...tx, + state: 'confirmed', + blockHeight: diff.toCursor.height, + blockHash: diff.toCursor.blockHash, + }); + } + } + + for (const txId of diff.conflictedTxIds ?? []) { + const tx = existingTransactions.get(txId); + if (tx) { + await this.store.putTransaction(this.accountId, { ...tx, state: 'conflicted' }); + } + } + + for (const spent of diff.spent ?? []) { + this.spentOutpoints.add(outPointKey(spent)); + } + + await this.store.setCursor(this.accountId, diff.toCursor); + await this.reload(); + } + + /** + * Mark confirmed transactions above the provided height as orphaned. + * + * Use this when the sync layer detects a chain rollback. + */ + async rollbackTo(cursorOrHeight: SyncCursor | number): Promise { + const height = typeof cursorOrHeight === 'number' ? cursorOrHeight : cursorOrHeight.height; + + for (const tx of this.transactions) { + if (tx.blockHeight !== undefined && tx.blockHeight > height) { + await this.store.putTransaction(this.accountId, { ...tx, state: 'orphaned' }); + } + } + + if (typeof cursorOrHeight !== 'number') { + await this.store.setCursor(this.accountId, cursorOrHeight); + } + + await this.reload(); + } + + /** + * Refresh derived state from the store. + * + * This placeholder keeps the public API ready for later freshness checks + * against a network tip. + */ + async ensureFresh(): Promise { + await this.reload(); + } + + private rebuild(): void { + this.outputs = new Map(); + this.spentBy = new Map(); + const rejectedTxIds = this.getRejectedTxIds(); + + for (const tx of this.transactions) { + const txJson = getTxJson(tx.tx); + const storedTxState = getWalletTxState(tx); + const txState = + rejectedTxIds.has(tx.txId) && storedTxState !== 'conflicted' && storedTxState !== 'orphaned' + ? 'rejected' + : storedTxState; + + for (const input of txJson.inputs) { + const outpoint = getInputOutPoint(input); + if (outpoint && txState !== 'conflicted' && txState !== 'orphaned' && txState !== 'rejected') { + this.spentBy.set(outPointKey(outpoint), tx); + } + } + + txJson.outputs.forEach((output, outputIndex) => { + const utxo = outputToUtxoEntry(tx.txId, outputIndex, output); + if (!utxo || !this.isMineOutput(output, { tx, txJson, outputIndex, utxo })) { + return; + } + + this.outputs.set(outPointKey({ txId: tx.txId, outputIndex }), { + ...utxo, + txId: tx.txId, + outputIndex, + status: this.getInitialUtxoStatus(txState), + txState, + blockHeight: tx.blockHeight, + blockHash: tx.blockHash, + createdByWallet: tx.createdByWallet, + unconfirmedChainDepth: this.getUnconfirmedChainDepth(tx), + }); + }); + } + + for (const [key, spender] of this.spentBy.entries()) { + const output = this.outputs.get(key); + + if (!output) { + continue; + } + + output.status = getWalletTxState(spender) === 'confirmed' ? 'spent' : 'spent_pending'; + } + + for (const key of this.spentOutpoints) { + const output = this.outputs.get(key); + if (output) { + output.status = 'spent'; + } + } + } + + private getInitialUtxoStatus(txState: TxState): WalletUtxoStatus { + if (txState === 'confirmed') { + return 'confirmed'; + } + + if (txState === 'conflicted') { + return 'conflicted'; + } + + if (txState === 'orphaned') { + return 'orphaned'; + } + + if (txState === 'rejected') { + return 'rejected'; + } + + return 'unconfirmed'; + } + + private getUnconfirmedChainDepth(tx: WalletTx): number { + if (getWalletTxState(tx) === 'confirmed') { + return 0; + } + + const txJson = getTxJson(tx.tx); + const parentDepths = txJson.inputs + .map(getInputOutPoint) + .filter((outpoint): outpoint is OutPoint => outpoint !== null) + .map((outpoint) => this.outputs.get(outPointKey(outpoint))?.unconfirmedChainDepth ?? 0); + + return Math.max(1, ...parentDepths.map((depth) => depth + 1)); + } + + private assertNoDoubleSpend(tx: WalletTx): void { + const txJson = getTxJson(tx.tx); + + for (const input of txJson.inputs) { + const outpoint = getInputOutPoint(input); + if (!outpoint) { + continue; + } + + const existingSpender = this.spentBy.get(outPointKey(outpoint)); + if (existingSpender && existingSpender.txId !== tx.txId) { + throw new Error( + `Output ${outpoint.txId}:${outpoint.outputIndex} is already spent by transaction ${existingSpender.txId}`, + ); + } + } + } + + private getRejectedTxIds(): Set { + const rejectedTxIds = new Set( + this.transactions + .filter((tx) => { + const txState = getWalletTxState(tx); + return txState === 'rejected' || txState === 'conflicted' || txState === 'orphaned'; + }) + .map((tx) => tx.txId), + ); + + let changed = true; + while (changed) { + changed = false; + + for (const tx of this.transactions) { + if (rejectedTxIds.has(tx.txId)) { + continue; + } + + const txJson = getTxJson(tx.tx); + const dependsOnRejectedTx = txJson.inputs + .map(getInputOutPoint) + .some((outpoint) => outpoint && rejectedTxIds.has(outpoint.txId)); + + if (dependsOnRejectedTx) { + rejectedTxIds.add(tx.txId); + changed = true; + } + } + } + + return rejectedTxIds; + } +} diff --git a/packages/sdk/tests/wallet-state.test.ts b/packages/sdk/tests/wallet-state.test.ts new file mode 100644 index 0000000..f949a2b --- /dev/null +++ b/packages/sdk/tests/wallet-state.test.ts @@ -0,0 +1,271 @@ +import { + createMemoryWalletTxStore, + WalletState, + WalletTx, +} from '../src/wallet-state'; + +const ADDRESS = 'tmt1qwallet'; +const OTHER_ADDRESS = 'tmt1qother'; + +function coinTransfer(destination: string, atoms: string, decimal = atoms) { + return { + type: 'Transfer', + destination, + value: { + type: 'Coin', + amount: { + atoms, + decimal, + }, + }, + }; +} + +function tokenTransfer(destination: string, token_id: string, atoms: string, decimal = atoms) { + return { + type: 'Transfer', + destination, + value: { + type: 'TokenV1', + token_id, + amount: { + atoms, + decimal, + }, + }, + }; +} + +function utxoInput(txId: string, outputIndex: number, utxo: any) { + return { + input: { + input_type: 'UTXO', + source_id: txId, + source_type: 'Transaction', + index: outputIndex, + }, + utxo, + }; +} + +function walletTx(txId: string, outputs: any[], state: WalletTx['state'] = 'confirmed', inputs: any[] = []): WalletTx { + return { + txId, + state, + blockHeight: state === 'confirmed' ? 1 : undefined, + blockHash: state === 'confirmed' ? 'block-1' : undefined, + tx: { + id: txId, + inputs, + outputs, + }, + }; +} + +const isMineOutput = (output: any) => output.destination === ADDRESS; + +test('derives wallet utxos and balances from wallet transactions', async () => { + const tokenId = 'token-1'; + const store = createMemoryWalletTxStore({ + transactions: { + bot: [ + walletTx('funding', [ + coinTransfer(ADDRESS, '100'), + coinTransfer(OTHER_ADDRESS, '50'), + tokenTransfer(ADDRESS, tokenId, '25'), + ]), + ], + }, + }); + + const walletState = await WalletState.create({ + accountId: 'bot', + store, + isMineOutput, + }); + + expect(walletState.getUtxos()).toHaveLength(2); + expect(walletState.getBalance()).toEqual({ + coin: { atoms: '100' }, + tokens: { + [tokenId]: { atoms: '25' }, + }, + }); +}); + +test('applies a local transaction as pending spend and hides unconfirmed change by default', async () => { + const fundingOutput = coinTransfer(ADDRESS, '100'); + const store = createMemoryWalletTxStore({ + transactions: { + bot: [walletTx('funding', [fundingOutput])], + }, + }); + + const walletState = await WalletState.create({ + accountId: 'bot', + store, + isMineOutput, + }); + + await walletState.applyLocalTx({ + id: 'local-spend', + inputs: [utxoInput('funding', 0, fundingOutput)], + outputs: [ + coinTransfer(OTHER_ADDRESS, '40'), + coinTransfer(ADDRESS, '59'), + ], + }); + + const allUtxos = walletState.getUtxos({ includeSpent: true }); + expect(allUtxos.find((utxo) => utxo.txId === 'funding')?.status).toBe('spent_pending'); + expect(allUtxos.find((utxo) => utxo.txId === 'local-spend')?.status).toBe('unconfirmed'); + + expect(walletState.getSpendableUtxos()).toHaveLength(0); + expect(walletState.getSpendableUtxos({ allowUnconfirmed: true })).toHaveLength(1); +}); + +test('prevents local double-spends by default', async () => { + const fundingOutput = coinTransfer(ADDRESS, '100'); + const store = createMemoryWalletTxStore({ + transactions: { + bot: [walletTx('funding', [fundingOutput])], + }, + }); + + const walletState = await WalletState.create({ + accountId: 'bot', + store, + isMineOutput, + }); + + await walletState.applyLocalTx({ + id: 'local-spend-1', + inputs: [utxoInput('funding', 0, fundingOutput)], + outputs: [coinTransfer(ADDRESS, '99')], + }); + + await expect( + walletState.applyLocalTx({ + id: 'local-spend-2', + inputs: [utxoInput('funding', 0, fundingOutput)], + outputs: [coinTransfer(ADDRESS, '98')], + }), + ).rejects.toThrow('already spent'); +}); + +test('releases inputs and rejects dependent local chain when broadcast requires rebuild', async () => { + const fundingOutput = coinTransfer(ADDRESS, '100'); + const localChange = coinTransfer(ADDRESS, '59'); + const store = createMemoryWalletTxStore({ + transactions: { + bot: [walletTx('funding', [fundingOutput])], + }, + }); + + const walletState = await WalletState.create({ + accountId: 'bot', + store, + isMineOutput, + }); + + await walletState.applyLocalTx({ + id: 'local-spend', + inputs: [utxoInput('funding', 0, fundingOutput)], + outputs: [ + coinTransfer(OTHER_ADDRESS, '40'), + localChange, + ], + }); + + await walletState.applyLocalTx({ + id: 'child-local-spend', + inputs: [utxoInput('local-spend', 1, localChange)], + outputs: [coinTransfer(ADDRESS, '58')], + }); + + await walletState.markBroadcastRejected('local-spend', { + reason: 'fee too low', + rebuildRequired: true, + }); + + expect(walletState.getSpendableUtxos().map((utxo) => utxo.txId)).toEqual(['funding']); + expect(walletState.getUtxos()).toHaveLength(1); + + const rejectedUtxos = walletState.getUtxos({ includeRejected: true }); + expect(rejectedUtxos.find((utxo) => utxo.txId === 'local-spend')?.status).toBe('rejected'); + expect(rejectedUtxos.find((utxo) => utxo.txId === 'child-local-spend')?.status).toBe('rejected'); +}); + +test('sync diff can confirm local transactions and mark external spends', async () => { + const fundingOutput = coinTransfer(ADDRESS, '100'); + const store = createMemoryWalletTxStore({ + transactions: { + bot: [walletTx('funding', [fundingOutput])], + }, + }); + + const walletState = await WalletState.create({ + accountId: 'bot', + store, + isMineOutput, + }); + + const localTx = await walletState.applyLocalTx({ + id: 'local-spend', + inputs: [utxoInput('funding', 0, fundingOutput)], + outputs: [coinTransfer(ADDRESS, '99')], + }); + + await walletState.applySyncDiff({ + toCursor: { + height: 2, + blockHash: 'block-2', + }, + transactions: [], + confirmedTxIds: [localTx.txId], + }); + + expect(walletState.getSpendableUtxos()).toHaveLength(1); + expect(walletState.getSpendableUtxos()[0].txId).toBe('local-spend'); + + await walletState.applySyncDiff({ + toCursor: { + height: 3, + blockHash: 'block-3', + }, + transactions: [], + spent: [{ txId: 'local-spend', outputIndex: 0 }], + }); + + expect(walletState.getUtxos()).toHaveLength(0); + expect(walletState.getUtxos({ includeSpent: true })[0].status).toBe('spent'); +}); + +test('treats api confirmation 0 as confirmed and -1 as mempool', async () => { + const store = createMemoryWalletTxStore({ + transactions: { + bot: [ + { + ...walletTx('confirmed-zero', [coinTransfer(ADDRESS, '100')], 'mempool'), + confirmation: 0, + }, + { + ...walletTx('api-mempool', [coinTransfer(ADDRESS, '50')], 'confirmed'), + confirmation: -1, + }, + ], + }, + }); + + const walletState = await WalletState.create({ + accountId: 'bot', + store, + isMineOutput, + }); + + const utxos = walletState.getUtxos(); + + expect(utxos.find((utxo) => utxo.txId === 'confirmed-zero')?.status).toBe('confirmed'); + expect(utxos.find((utxo) => utxo.txId === 'api-mempool')?.status).toBe('unconfirmed'); + expect(walletState.getSpendableUtxos().map((utxo) => utxo.txId)).toEqual(['confirmed-zero']); +});