@arkade-os/sdk 0.4.28 → 0.4.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +14 -16
  2. package/dist/adapters/expo.cjs +5 -5
  3. package/dist/adapters/expo.d.cts +4 -4
  4. package/dist/adapters/expo.d.ts +4 -4
  5. package/dist/adapters/expo.js +3 -3
  6. package/dist/adapters/indexedDB.cjs +5 -5
  7. package/dist/adapters/indexedDB.js +4 -4
  8. package/dist/{ark-TZ1gXAXU.d.cts → ark-ChhTwpLf.d.cts} +73 -61
  9. package/dist/{ark-TZ1gXAXU.d.ts → ark-ChhTwpLf.d.ts} +73 -61
  10. package/dist/{asyncStorageTaskQueue-EFqSmYTg.d.cts → asyncStorageTaskQueue-DW1-BpI7.d.cts} +2 -2
  11. package/dist/{asyncStorageTaskQueue-Cb1F_Z9s.d.ts → asyncStorageTaskQueue-DZ0nUuEJ.d.ts} +2 -2
  12. package/dist/{chunk-ADV27S4N.cjs → chunk-6FLL2Q36.cjs} +8 -8
  13. package/dist/chunk-6FLL2Q36.cjs.map +1 -0
  14. package/dist/{chunk-ZBUDLTBO.js → chunk-6NWNOLL3.js} +5 -5
  15. package/dist/chunk-6NWNOLL3.js.map +1 -0
  16. package/dist/{chunk-CFZMTDWI.js → chunk-ABWRLTX5.js} +6 -5
  17. package/dist/chunk-ABWRLTX5.js.map +1 -0
  18. package/dist/{chunk-BQLHADL7.js → chunk-BVP2U66Q.js} +316 -178
  19. package/dist/chunk-BVP2U66Q.js.map +1 -0
  20. package/dist/{chunk-ZLO6NETT.cjs → chunk-GDCTOSMV.cjs} +480 -332
  21. package/dist/chunk-GDCTOSMV.cjs.map +1 -0
  22. package/dist/{chunk-FG5ACJJW.cjs → chunk-GIGILVVP.cjs} +11 -10
  23. package/dist/chunk-GIGILVVP.cjs.map +1 -0
  24. package/dist/{chunk-I3DGUUCT.cjs → chunk-IEO3XDKI.cjs} +28 -28
  25. package/dist/{chunk-I3DGUUCT.cjs.map → chunk-IEO3XDKI.cjs.map} +1 -1
  26. package/dist/{chunk-IPX2R7FR.cjs → chunk-PJUFOJ2L.cjs} +7 -7
  27. package/dist/{chunk-IPX2R7FR.cjs.map → chunk-PJUFOJ2L.cjs.map} +1 -1
  28. package/dist/{chunk-A3EMF7RN.js → chunk-TH6T23XG.js} +3 -3
  29. package/dist/{chunk-A3EMF7RN.js.map → chunk-TH6T23XG.js.map} +1 -1
  30. package/dist/{chunk-HW3JJ323.js → chunk-TU3LVAPX.js} +32 -31
  31. package/dist/chunk-TU3LVAPX.js.map +1 -0
  32. package/dist/{chunk-5PG7DV7A.cjs → chunk-WMIPYZSB.cjs} +34 -36
  33. package/dist/chunk-WMIPYZSB.cjs.map +1 -0
  34. package/dist/{chunk-T64LAI7L.js → chunk-YA4G7RFB.js} +3 -3
  35. package/dist/{chunk-T64LAI7L.js.map → chunk-YA4G7RFB.js.map} +1 -1
  36. package/dist/contracts/handlers/index.cjs +6 -6
  37. package/dist/contracts/handlers/index.d.cts +3 -3
  38. package/dist/contracts/handlers/index.d.ts +3 -3
  39. package/dist/contracts/handlers/index.js +2 -2
  40. package/dist/{delegate-aaVGfWsV.d.ts → delegate-4JBUkUhR.d.cts} +2 -2
  41. package/dist/{delegate-BFZs69hp.d.cts → delegate-DN7RELL1.d.ts} +2 -2
  42. package/dist/{index-NDla_UoJ.d.ts → index-Cn82bBUu.d.ts} +2 -2
  43. package/dist/{index-B22cA64m.d.cts → index-DfT5xzgY.d.cts} +2 -2
  44. package/dist/index.cjs +161 -137
  45. package/dist/index.d.cts +143 -17
  46. package/dist/index.d.ts +143 -17
  47. package/dist/index.js +4 -4
  48. package/dist/repositories/realm/index.cjs +13 -13
  49. package/dist/repositories/realm/index.d.cts +1 -1
  50. package/dist/repositories/realm/index.d.ts +1 -1
  51. package/dist/repositories/realm/index.js +4 -4
  52. package/dist/repositories/sqlite/index.cjs +13 -13
  53. package/dist/repositories/sqlite/index.d.cts +1 -1
  54. package/dist/repositories/sqlite/index.d.ts +1 -1
  55. package/dist/repositories/sqlite/index.js +4 -4
  56. package/dist/{taskRunner-C6Ff4OaU.d.cts → taskRunner-B-aPfHhK.d.cts} +2 -2
  57. package/dist/{taskRunner-yvPN8Z0K.d.ts → taskRunner-B-vG08pX.d.ts} +2 -2
  58. package/dist/wallet/expo/background.cjs +14 -14
  59. package/dist/wallet/expo/background.d.cts +3 -3
  60. package/dist/wallet/expo/background.d.ts +3 -3
  61. package/dist/wallet/expo/background.js +6 -6
  62. package/dist/wallet/expo/index.cjs +19 -15
  63. package/dist/wallet/expo/index.cjs.map +1 -1
  64. package/dist/wallet/expo/index.d.cts +9 -7
  65. package/dist/wallet/expo/index.d.ts +9 -7
  66. package/dist/wallet/expo/index.js +11 -7
  67. package/dist/wallet/expo/index.js.map +1 -1
  68. package/dist/{wallet-D9NBRqvC.d.ts → wallet-CCtqT2Wb.d.ts} +19 -15
  69. package/dist/{wallet-AF-p-OWj.d.cts → wallet-DjgFb_4T.d.cts} +19 -15
  70. package/dist/worker/expo/index.cjs +9 -9
  71. package/dist/worker/expo/index.d.cts +4 -4
  72. package/dist/worker/expo/index.d.ts +4 -4
  73. package/dist/worker/expo/index.js +5 -5
  74. package/package.json +1 -1
  75. package/dist/chunk-5PG7DV7A.cjs.map +0 -1
  76. package/dist/chunk-ADV27S4N.cjs.map +0 -1
  77. package/dist/chunk-BQLHADL7.js.map +0 -1
  78. package/dist/chunk-CFZMTDWI.js.map +0 -1
  79. package/dist/chunk-FG5ACJJW.cjs.map +0 -1
  80. package/dist/chunk-HW3JJ323.js.map +0 -1
  81. package/dist/chunk-ZBUDLTBO.js.map +0 -1
  82. package/dist/chunk-ZLO6NETT.cjs.map +0 -1
package/README.md CHANGED
@@ -31,8 +31,6 @@ const identity = MnemonicIdentity.fromMnemonic(mnemonic)
31
31
  const wallet = await Wallet.create({ identity }) // defaults to mainnet
32
32
  ```
33
33
 
34
- To use a different network, pass `arkServerUrl` option.
35
-
36
34
  ### Read-Only Wallets (Watch-Only)
37
35
 
38
36
  The SDK supports read-only wallets that allow you to query wallet state without exposing private keys. This is useful for:
@@ -541,30 +539,30 @@ const balance = await manager.getRecoverableBalance()
541
539
 
542
540
  Delegation allows users to outsource virtual output renewal to a third-party delegation service.
543
541
 
544
- Instead of the delegating user renewing virtual outputs by themself, their delegate will automatically settle them before they expire, sending the funds back to the delegator's wallet address (minus a service fee).
542
+ Instead of the delegating user renewing virtual outputs by themselves, their delegate will automatically settle them before they expire, sending the funds back to the user's wallet address (minus a service fee).
545
543
 
546
544
  This is useful for wallets that cannot be online 24/7.
547
545
 
548
- When a `delegatorProvider` is configured, the wallet address includes an extra tapscript path that authorizes the delegate to co-sign renewals alongside the Arkade server.
546
+ When a `delegateProvider` is configured, the wallet address includes an extra tapscript path that authorizes the delegate to co-sign renewals alongside the Arkade server.
549
547
 
550
548
  To run a delegation service, you'll need to set up a [Fulmine server](https://github.com/ArkLabsHQ/fulmine) with the [Delegation API](https://github.com/ArkLabsHQ/fulmine?tab=readme-ov-file#-delegate-api) enabled.
551
549
 
552
550
  #### Setting Up a Wallet with Delegation
553
551
 
554
552
  ```typescript
555
- import { Wallet, MnemonicIdentity, RestDelegatorProvider } from '@arkade-os/sdk'
553
+ import { Wallet, MnemonicIdentity, RestDelegateProvider } from '@arkade-os/sdk'
556
554
 
557
555
  const wallet = await Wallet.create({
558
556
  identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
559
- delegatorProvider: new RestDelegatorProvider('http://localhost:7001'),
557
+ delegateProvider: new RestDelegateProvider('http://localhost:7001'),
560
558
  })
561
559
  ```
562
560
 
563
- > **Note:** Adding a `delegatorProvider` changes your wallet address because the offchain tapscript includes an additional delegation path. Funds sent to an address without delegation cannot be delegated, and vice versa.
561
+ > **Note:** Adding a `delegateProvider` changes your wallet address because the offchain tapscript includes an additional delegation path. Funds sent to an address without delegation cannot be delegated, and vice versa.
564
562
 
565
563
  #### Delegating Virtual Outputs
566
564
 
567
- Once the wallet is configured with a delegate, use `wallet.delegatorManager` to delegate your virtual outputs:
565
+ Once the wallet is configured with a delegate, use `wallet.getDelegateManager()` to delegate your virtual outputs:
568
566
 
569
567
  ```typescript
570
568
  // Get spendable virtual outputs (including recoverable)
@@ -572,8 +570,8 @@ const vtxos = await wallet.getVtxos({ withRecoverable: true })
572
570
 
573
571
  // Delegate all virtual outputs — the delegate will renew them before expiry
574
572
  const arkadeAddress = await wallet.getAddress()
575
- const delegatorManager = await wallet.getDelegatorManager();
576
- const delegationResult = await delegatorManager.delegate(vtxos, arkadeAddress)
573
+ const delegateManager = await wallet.getDelegateManager();
574
+ const delegationResult = await delegateManager.delegate(vtxos, arkadeAddress)
577
575
 
578
576
  console.log('Delegated:', delegationResult.delegated.length)
579
577
  console.log('Failed:', delegationResult.failed.length)
@@ -588,12 +586,12 @@ You can override this with an explicit date:
588
586
  ```typescript
589
587
  // Delegate with a specific renewal time
590
588
  const delegateAt = new Date(Date.now() + 12 * 60 * 60 * 1000) // 12 hours from now
591
- await delegatorManager.delegate(vtxos, arkadeAddress, delegateAt)
589
+ await delegateManager.delegate(vtxos, arkadeAddress, delegateAt)
592
590
  ```
593
591
 
594
592
  #### Service Worker Integration
595
593
 
596
- When using a service worker wallet, pass the `delegatorUrl` option. The service worker will automatically delegate virtual outputs after each update:
594
+ When using a service worker wallet, pass the `delegateUrl` option. The service worker will automatically delegate virtual outputs after each update:
597
595
 
598
596
  ```typescript
599
597
  import { ServiceWorkerWallet, MnemonicIdentity } from '@arkade-os/sdk'
@@ -601,7 +599,7 @@ import { ServiceWorkerWallet, MnemonicIdentity } from '@arkade-os/sdk'
601
599
  const wallet = await ServiceWorkerWallet.setup({
602
600
  serviceWorkerPath: '/service-worker.js',
603
601
  identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
604
- delegatorUrl: 'http://localhost:7001',
602
+ delegateUrl: 'http://localhost:7001',
605
603
  })
606
604
  ```
607
605
 
@@ -610,14 +608,14 @@ const wallet = await ServiceWorkerWallet.setup({
610
608
  You can query the delegation service directly to inspect its public key, fee, and payment address:
611
609
 
612
610
  ```typescript
613
- import { RestDelegatorProvider } from '@arkade-os/sdk'
611
+ import { RestDelegateProvider } from '@arkade-os/sdk'
614
612
 
615
- const provider = new RestDelegatorProvider('https://delegator.example.com')
613
+ const provider = new RestDelegateProvider('https://delegate.example.com')
616
614
  const info = await provider.getDelegateInfo()
617
615
 
618
616
  console.log('Delegate public key:', info.pubkey)
619
617
  console.log('Service fee (sats):', info.fee)
620
- console.log('Fee address:', info.delegatorAddress)
618
+ console.log('Fee address:', info.delegateAddress)
621
619
  ```
622
620
 
623
621
  ### BIP-322 Message Signing
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var chunkFG5ACJJW_cjs = require('../chunk-FG5ACJJW.cjs');
4
- require('../chunk-ADV27S4N.cjs');
5
- require('../chunk-5PG7DV7A.cjs');
3
+ var chunkGIGILVVP_cjs = require('../chunk-GIGILVVP.cjs');
4
+ require('../chunk-6FLL2Q36.cjs');
5
+ require('../chunk-WMIPYZSB.cjs');
6
6
  require('../chunk-5BLDMQED.cjs');
7
7
 
8
8
 
9
9
 
10
10
  Object.defineProperty(exports, "ExpoArkProvider", {
11
11
  enumerable: true,
12
- get: function () { return chunkFG5ACJJW_cjs.ExpoArkProvider; }
12
+ get: function () { return chunkGIGILVVP_cjs.ExpoArkProvider; }
13
13
  });
14
14
  Object.defineProperty(exports, "ExpoIndexerProvider", {
15
15
  enumerable: true,
16
- get: function () { return chunkFG5ACJJW_cjs.ExpoIndexerProvider; }
16
+ get: function () { return chunkGIGILVVP_cjs.ExpoIndexerProvider; }
17
17
  });
18
18
  //# sourceMappingURL=expo.cjs.map
19
19
  //# sourceMappingURL=expo.cjs.map
@@ -1,5 +1,5 @@
1
- import { j as RestArkProvider, h as SettlementEvent, T as TxNotification, k as RestIndexerProvider, l as SubscriptionResponse } from '../ark-TZ1gXAXU.cjs';
2
- export { m as ArkProvider, n as IndexerProvider } from '../ark-TZ1gXAXU.cjs';
1
+ import { j as RestArkProvider, h as SettlementEvent, T as TxNotification, k as RestIndexerProvider, l as SubscriptionResponse } from '../ark-ChhTwpLf.cjs';
2
+ export { m as ArkProvider, n as IndexerProvider } from '../ark-ChhTwpLf.cjs';
3
3
  import '@scure/btc-signer/transaction.js';
4
4
  import '@scure/btc-signer/utils.js';
5
5
  import '@scure/btc-signer/psbt.js';
@@ -19,7 +19,7 @@ import '@scure/btc-signer';
19
19
  * ```
20
20
  */
21
21
  declare class ExpoArkProvider extends RestArkProvider {
22
- constructor(serverUrl: string);
22
+ constructor(serverUrl?: string);
23
23
  getEventStream(signal: AbortSignal, topics: string[]): AsyncIterableIterator<SettlementEvent>;
24
24
  getTransactionsStream(signal: AbortSignal): AsyncIterableIterator<{
25
25
  commitmentTx?: TxNotification;
@@ -41,7 +41,7 @@ declare class ExpoArkProvider extends RestArkProvider {
41
41
  * ```
42
42
  */
43
43
  declare class ExpoIndexerProvider extends RestIndexerProvider {
44
- constructor(serverUrl: string);
44
+ constructor(serverUrl?: string);
45
45
  getSubscription(subscriptionId: string, abortSignal: AbortSignal): AsyncIterableIterator<SubscriptionResponse>;
46
46
  }
47
47
 
@@ -1,5 +1,5 @@
1
- import { j as RestArkProvider, h as SettlementEvent, T as TxNotification, k as RestIndexerProvider, l as SubscriptionResponse } from '../ark-TZ1gXAXU.js';
2
- export { m as ArkProvider, n as IndexerProvider } from '../ark-TZ1gXAXU.js';
1
+ import { j as RestArkProvider, h as SettlementEvent, T as TxNotification, k as RestIndexerProvider, l as SubscriptionResponse } from '../ark-ChhTwpLf.js';
2
+ export { m as ArkProvider, n as IndexerProvider } from '../ark-ChhTwpLf.js';
3
3
  import '@scure/btc-signer/transaction.js';
4
4
  import '@scure/btc-signer/utils.js';
5
5
  import '@scure/btc-signer/psbt.js';
@@ -19,7 +19,7 @@ import '@scure/btc-signer';
19
19
  * ```
20
20
  */
21
21
  declare class ExpoArkProvider extends RestArkProvider {
22
- constructor(serverUrl: string);
22
+ constructor(serverUrl?: string);
23
23
  getEventStream(signal: AbortSignal, topics: string[]): AsyncIterableIterator<SettlementEvent>;
24
24
  getTransactionsStream(signal: AbortSignal): AsyncIterableIterator<{
25
25
  commitmentTx?: TxNotification;
@@ -41,7 +41,7 @@ declare class ExpoArkProvider extends RestArkProvider {
41
41
  * ```
42
42
  */
43
43
  declare class ExpoIndexerProvider extends RestIndexerProvider {
44
- constructor(serverUrl: string);
44
+ constructor(serverUrl?: string);
45
45
  getSubscription(subscriptionId: string, abortSignal: AbortSignal): AsyncIterableIterator<SubscriptionResponse>;
46
46
  }
47
47
 
@@ -1,6 +1,6 @@
1
- export { ExpoArkProvider, ExpoIndexerProvider } from '../chunk-CFZMTDWI.js';
2
- import '../chunk-ZBUDLTBO.js';
3
- import '../chunk-HW3JJ323.js';
1
+ export { ExpoArkProvider, ExpoIndexerProvider } from '../chunk-ABWRLTX5.js';
2
+ import '../chunk-6NWNOLL3.js';
3
+ import '../chunk-TU3LVAPX.js';
4
4
  import '../chunk-NSBPE2FW.js';
5
5
  //# sourceMappingURL=expo.js.map
6
6
  //# sourceMappingURL=expo.js.map
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkZLO6NETT_cjs = require('../chunk-ZLO6NETT.cjs');
4
- require('../chunk-ADV27S4N.cjs');
5
- require('../chunk-I3DGUUCT.cjs');
6
- require('../chunk-5PG7DV7A.cjs');
3
+ var chunkGDCTOSMV_cjs = require('../chunk-GDCTOSMV.cjs');
4
+ require('../chunk-6FLL2Q36.cjs');
5
+ require('../chunk-IEO3XDKI.cjs');
6
+ require('../chunk-WMIPYZSB.cjs');
7
7
  require('../chunk-5BLDMQED.cjs');
8
8
 
9
9
  // src/storage/indexedDB.ts
@@ -11,7 +11,7 @@ var IndexedDBStorageAdapter = class {
11
11
  dbName;
12
12
  version;
13
13
  db = null;
14
- constructor(dbName, version = chunkZLO6NETT_cjs.DB_VERSION) {
14
+ constructor(dbName, version = chunkGDCTOSMV_cjs.DB_VERSION) {
15
15
  this.dbName = dbName;
16
16
  this.version = version;
17
17
  }
@@ -1,7 +1,7 @@
1
- import { DB_VERSION } from '../chunk-BQLHADL7.js';
2
- import '../chunk-ZBUDLTBO.js';
3
- import '../chunk-T64LAI7L.js';
4
- import '../chunk-HW3JJ323.js';
1
+ import { DB_VERSION } from '../chunk-BVP2U66Q.js';
2
+ import '../chunk-6NWNOLL3.js';
3
+ import '../chunk-YA4G7RFB.js';
4
+ import '../chunk-TU3LVAPX.js';
5
5
  import '../chunk-NSBPE2FW.js';
6
6
 
7
7
  // src/storage/indexedDB.ts
@@ -460,7 +460,7 @@ declare class VtxoScript {
460
460
  * @returns Arkade address for this script
461
461
  * @see ArkAddress
462
462
  */
463
- address(prefix: string, serverPubKey: Bytes): ArkAddress;
463
+ address(prefix: string | undefined, serverPubKey: Bytes): ArkAddress;
464
464
  get pkScript(): Bytes;
465
465
  /**
466
466
  * Build the Taproot onchain address corresponding to this virtual output script.
@@ -469,7 +469,7 @@ declare class VtxoScript {
469
469
  * @returns Taproot onchain address
470
470
  * @see address
471
471
  */
472
- onchainAddress(network: typeof NETWORK): string;
472
+ onchainAddress(network?: typeof NETWORK): string;
473
473
  /**
474
474
  * Look up a tapleaf script by its hex-encoded tapscript body.
475
475
  *
@@ -551,13 +551,13 @@ interface RenewalConfig {
551
551
  * // Default behavior: virtual output renewal at 3 days, boarding sweep enabled, polling every minute
552
552
  * const wallet = await Wallet.create({
553
553
  * identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
554
- * arkServerUrl: 'https://arkade.computer',
554
+ * arkProvider: new RestArkProvider(),
555
555
  * });
556
556
  *
557
557
  * // Custom expiry threshold of 24 hours
558
558
  * const wallet = await Wallet.create({
559
559
  * identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
560
- * arkServerUrl: 'https://arkade.computer',
560
+ * arkProvider: new RestArkProvider(),
561
561
  * settlementConfig: {
562
562
  * vtxoThreshold: 60 * 60 * 24, // 24 hours in seconds
563
563
  * },
@@ -566,7 +566,7 @@ interface RenewalConfig {
566
566
  * // Explicitly disable
567
567
  * const wallet = await Wallet.create({
568
568
  * identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
569
- * arkServerUrl: 'https://arkade.computer',
569
+ * arkProvider: new RestArkProvider(),
570
570
  * settlementConfig: false,
571
571
  * });
572
572
  * ```
@@ -626,7 +626,7 @@ declare function isVtxoExpiringSoon(vtxo: ExtendedVirtualCoin, thresholdMs: numb
626
626
  * ```typescript
627
627
  * const wallet = await Wallet.create({
628
628
  * identity,
629
- * arkServerUrl: 'https://arkade.computer',
629
+ * arkProvider: new RestArkProvider(),
630
630
  * settlementConfig: {
631
631
  * // Seconds before virtual output expiry to trigger renewal
632
632
  * vtxoThreshold: 259_200, // 3 days
@@ -763,7 +763,7 @@ declare class VtxoManager implements AsyncDisposable, IVtxoManager {
763
763
  * ```typescript
764
764
  * const wallet = await Wallet.create({
765
765
  * identity,
766
- * arkServerUrl: 'https://arkade.computer',
766
+ * arkProvider: new RestArkProvider(),
767
767
  * settlementConfig: {
768
768
  * vtxoThreshold: 86_400 // 24 hours
769
769
  * },
@@ -841,7 +841,7 @@ declare class VtxoManager implements AsyncDisposable, IVtxoManager {
841
841
  * ```typescript
842
842
  * const wallet = await Wallet.create({
843
843
  * identity,
844
- * arkServerUrl: 'https://arkade.computer',
844
+ * arkProvider: new RestArkProvider(),
845
845
  * settlementConfig: {
846
846
  * boardingUtxoSweep: true,
847
847
  * },
@@ -1074,7 +1074,7 @@ declare class EsploraProvider implements OnchainProvider {
1074
1074
  private baseUrl;
1075
1075
  readonly pollingInterval: number;
1076
1076
  readonly forcePolling: boolean;
1077
- constructor(baseUrl: string, opts?: {
1077
+ constructor(baseUrl?: string, opts?: {
1078
1078
  /** Polling interval in milliseconds. */
1079
1079
  pollingInterval?: number;
1080
1080
  /** Force polling even when websocket transport is available. */
@@ -2288,13 +2288,12 @@ declare namespace Intent {
2288
2288
  interface DelegateInfo {
2289
2289
  /** Delegate public key. */
2290
2290
  pubkey: string;
2291
- /** Delegate fee amount or expression returned by the delegation service. */
2291
+ /** Delegate fee amount or expression returned by the delegate. */
2292
2292
  fee: string;
2293
- /**
2294
- * Address controlled by the delegation service.
2295
- * Naming is confusing: should be thought of as a "delegate address".
2296
- */
2297
- delegatorAddress: string;
2293
+ /** Address for delegate fee collection. Sourced from `delegatorAddress` in Fulmine response, for now. */
2294
+ delegateAddress: string;
2295
+ /** @deprecated alias for @see DelegateInfo.delegateAddress */
2296
+ delegatorAddress?: string;
2298
2297
  }
2299
2298
  /**
2300
2299
  * Optional delegate behavior flags.
@@ -2310,9 +2309,9 @@ interface DelegateOptions {
2310
2309
  rejectReplace?: boolean;
2311
2310
  }
2312
2311
  /**
2313
- * Provider interface for remote delegation services.
2312
+ * Provider interface for remote delegation service.
2314
2313
  */
2315
- interface DelegatorProvider {
2314
+ interface DelegateProvider {
2316
2315
  /**
2317
2316
  * Request delegation for a signed register intent and its forfeit transactions.
2318
2317
  *
@@ -2328,21 +2327,23 @@ interface DelegatorProvider {
2328
2327
  */
2329
2328
  getDelegateInfo(): Promise<DelegateInfo>;
2330
2329
  }
2330
+ /** @deprecated alias for @see DelegateProvider */
2331
+ type DelegatorProvider = DelegateProvider;
2331
2332
  /**
2332
- * REST-based delegation provider implementation.
2333
+ * REST-based delegate provider implementation.
2333
2334
  * @example
2334
2335
  * ```typescript
2335
- * const provider = new RestDelegatorProvider('https://delegator.example.com');
2336
+ * const provider = new RestDelegateProvider('https://delegate.example.com');
2336
2337
  * const info = await provider.getDelegateInfo();
2337
2338
  * await provider.delegate(intent, forfeitTxs);
2338
2339
  * ```
2339
2340
  */
2340
- declare class RestDelegatorProvider implements DelegatorProvider {
2341
+ declare class RestDelegateProvider implements DelegateProvider {
2341
2342
  url: string;
2342
2343
  /**
2343
- * Create a REST delegation provider targeting the given base URL.
2344
+ * Create a REST delegate provider targeting the given base URL.
2344
2345
  *
2345
- * @param url - Base URL of the delegation service
2346
+ * @param url - Base URL of the remote delegation service.
2346
2347
  */
2347
2348
  constructor(url: string);
2348
2349
  /**
@@ -2362,14 +2363,17 @@ declare class RestDelegatorProvider implements DelegatorProvider {
2362
2363
  */
2363
2364
  getDelegateInfo(): Promise<DelegateInfo>;
2364
2365
  }
2366
+ /** @deprecated alias for @see RestDelegateProvider */
2367
+ declare const RestDelegatorProvider: typeof RestDelegateProvider;
2368
+ type RestDelegatorProvider = RestDelegateProvider;
2365
2369
 
2366
- interface IDelegatorManager {
2370
+ interface IDelegateManager {
2367
2371
  /**
2368
2372
  * Delegate virtual outputs to the remote delegation service.
2369
2373
  *
2370
2374
  * Vtxos that are not locked to a delegate-type contract (no tap leaf
2371
- * matches the delegator's pubkey) are filtered out silently, since they
2372
- * cannot be co-signed by the delegator.
2375
+ * matches the delegate's pubkey) are filtered out silently, since they
2376
+ * cannot be co-signed by the delegate.
2373
2377
  *
2374
2378
  * @param vtxos - Virtual outputs to delegate
2375
2379
  * @param destination - Arkade address that should receive renewed funds
@@ -2386,12 +2390,14 @@ interface IDelegatorManager {
2386
2390
  /** Fetch delegate metadata such as pubkey, fee, and delegate address. */
2387
2391
  getDelegateInfo(): Promise<DelegateInfo>;
2388
2392
  }
2389
- declare class DelegatorManagerImpl implements IDelegatorManager {
2390
- readonly delegatorProvider: DelegatorProvider;
2393
+ /** @deprecated alias for @see IDelegateManager */
2394
+ type IDelegatorManager = IDelegateManager;
2395
+ declare class DelegateManagerImpl implements IDelegateManager {
2396
+ readonly delegateProvider: DelegateProvider;
2391
2397
  readonly arkInfoProvider: Pick<ArkProvider, "getInfo">;
2392
2398
  readonly identity: Identity;
2393
- /** Create a delegator manager from the configured provider, Arkade info source, and wallet identity. */
2394
- constructor(delegatorProvider: DelegatorProvider, arkInfoProvider: Pick<ArkProvider, "getInfo">, identity: Identity);
2399
+ /** Create a delegate manager from the configured provider, Arkade info source, and wallet identity. */
2400
+ constructor(delegateProvider: DelegateProvider, arkInfoProvider: Pick<ArkProvider, "getInfo">, identity: Identity);
2395
2401
  getDelegateInfo(): Promise<DelegateInfo>;
2396
2402
  delegate(vtxos: ContractVtxo[], destination: string, delegateAt?: Date): Promise<{
2397
2403
  delegated: Outpoint[];
@@ -2401,6 +2407,9 @@ declare class DelegatorManagerImpl implements IDelegatorManager {
2401
2407
  }[];
2402
2408
  }>;
2403
2409
  }
2410
+ /** @deprecated alias for @see DelegateManagerImpl */
2411
+ declare const DelegatorManagerImpl: typeof DelegateManagerImpl;
2412
+ type DelegatorManagerImpl = DelegateManagerImpl;
2404
2413
 
2405
2414
  /**
2406
2415
  * Wallet receive-address strategy.
@@ -2431,11 +2440,11 @@ type WalletMode = "auto" | "static" | "hd" | DescriptorProvider;
2431
2440
  *
2432
2441
  * Supports URL-based and provider-based configuration.
2433
2442
  *
2434
- * URL-based configuration starts from `arkServerUrl` and can optionally override
2443
+ * @deprecated URL-based configuration starts from `arkServerUrl` and can optionally override
2435
2444
  * derived service URLs such as `indexerUrl` and `esploraUrl`.
2436
2445
  *
2437
2446
  * Provider-based configuration supplies concrete provider instances directly,
2438
- * including the ArkProvider, IndexerProvider, OnchainProvider, and DelegatorProvider.
2447
+ * including the ArkProvider, IndexerProvider, OnchainProvider, and DelegateProvider.
2439
2448
  *
2440
2449
  * The wallet will use provided URLs to create default providers if custom provider
2441
2450
  * instances are not supplied. If optional parameters are not provided, the wallet
@@ -2450,11 +2459,24 @@ type WalletMode = "auto" | "static" | "hd" | DescriptorProvider;
2450
2459
  * @see StorageConfig
2451
2460
  */
2452
2461
  interface BaseWalletConfig {
2453
- /** Base URL of the Arkade server. */
2462
+ /**
2463
+ * Base URL of the Arkade server.
2464
+ *
2465
+ * @deprecated Pass an explicit `arkProvider` instance instead. URL-based
2466
+ * configuration will be removed in a future major version.
2467
+ */
2454
2468
  arkServerUrl?: string;
2455
- /** Optional override for the indexer URL. */
2469
+ /**
2470
+ * Optional override for the indexer URL.
2471
+ *
2472
+ * @deprecated Pass an explicit `indexerProvider` instance instead.
2473
+ */
2456
2474
  indexerUrl?: string;
2457
- /** Optional override for the Esplora API URL. */
2475
+ /**
2476
+ * Optional override for the Esplora API URL.
2477
+ *
2478
+ * @deprecated Pass an explicit `onchainProvider` instance instead.
2479
+ */
2458
2480
  esploraUrl?: string;
2459
2481
  /** Optional Arkade server public key used to construct and validate Arkade addresses. */
2460
2482
  arkServerPublicKey?: string;
@@ -2474,7 +2496,9 @@ interface BaseWalletConfig {
2474
2496
  /** Optional onchain provider instance. */
2475
2497
  onchainProvider?: OnchainProvider;
2476
2498
  /** Optional delegation service instance. */
2477
- delegatorProvider?: DelegatorProvider;
2499
+ delegateProvider?: DelegateProvider;
2500
+ /** @deprecated alias for @see BaseWalletConfig.delegateProvider */
2501
+ delegatorProvider?: DelegateProvider;
2478
2502
  }
2479
2503
  /**
2480
2504
  * Configuration options for readonly wallet initialization.
@@ -2490,19 +2514,12 @@ interface BaseWalletConfig {
2490
2514
  *
2491
2515
  * @example
2492
2516
  * ```typescript
2493
- * // URL-based configuration
2494
- * const wallet = await ReadonlyWallet.create({
2495
- * identity: ReadonlySingleKey.fromPublicKey(pubkey),
2496
- * arkServerUrl: 'https://arkade.computer',
2497
- * esploraUrl: 'https://mempool.space/api'
2498
- * });
2499
- *
2500
2517
  * // Provider-based configuration (e.g., for Expo/React Native)
2501
2518
  * const wallet = await ReadonlyWallet.create({
2502
2519
  * identity: ReadonlySingleKey.fromPublicKey(pubkey),
2503
- * arkProvider: new ExpoArkProvider('https://arkade.computer'),
2504
- * indexerProvider: new ExpoIndexerProvider('https://arkade.computer'),
2505
- * onchainProvider: new EsploraProvider('https://mempool.space/api')
2520
+ * arkProvider: new ExpoArkProvider(),
2521
+ * indexerProvider: new ExpoIndexerProvider(),
2522
+ * onchainProvider: new EsploraProvider()
2506
2523
  * });
2507
2524
  * ```
2508
2525
  */
@@ -2528,25 +2545,18 @@ interface ReadonlyWalletConfig extends BaseWalletConfig {
2528
2545
  *
2529
2546
  * @example
2530
2547
  * ```typescript
2531
- * // URL-based configuration
2532
- * const wallet = await Wallet.create({
2533
- * identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
2534
- * arkServerUrl: 'https://arkade.computer',
2535
- * esploraUrl: 'https://mempool.space/api'
2536
- * });
2537
- *
2538
- * // Provider-based configuration (e.g., for Expo/React Native)
2548
+ * // Provider-based configuration
2539
2549
  * const wallet = await Wallet.create({
2540
2550
  * identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
2541
- * arkProvider: new ExpoArkProvider('https://arkade.computer'),
2542
- * indexerProvider: new ExpoIndexerProvider('https://arkade.computer'),
2543
- * onchainProvider: new EsploraProvider('https://mempool.space/api')
2551
+ * arkProvider: new ExpoArkProvider(),
2552
+ * indexerProvider: new ExpoIndexerProvider(),
2553
+ * onchainProvider: new EsploraProvider()
2544
2554
  * });
2545
2555
  *
2546
2556
  * // With settlement configuration
2547
2557
  * const wallet = await Wallet.create({
2548
2558
  * identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
2549
- * arkServerUrl: 'https://arkade.computer',
2559
+ * arkProvider: new RestArkProvider(),
2550
2560
  * settlementConfig: {
2551
2561
  * vtxoThreshold: 60 * 60 * 24, // 24 hours in seconds
2552
2562
  * boardingUtxoSweep: true,
@@ -3131,7 +3141,9 @@ interface IWallet extends IReadonlyWallet {
3131
3141
  /** Asset manager bound to this wallet instance. */
3132
3142
  assetManager: IAssetManager;
3133
3143
  /** @returns Delegation manager, when configured. */
3134
- getDelegatorManager(): Promise<IDelegatorManager | undefined>;
3144
+ getDelegateManager(): Promise<IDelegateManager | undefined>;
3145
+ /** @deprecated alias for @see IWallet.getDelegateManager */
3146
+ getDelegatorManager(): Promise<IDelegateManager | undefined>;
3135
3147
  }
3136
3148
  /**
3137
3149
  * Readonly wallet interface for Bitcoin transactions with Arkade protocol support.
@@ -3439,7 +3451,7 @@ interface IndexerProvider {
3439
3451
  */
3440
3452
  declare class RestIndexerProvider implements IndexerProvider {
3441
3453
  serverUrl: string;
3442
- constructor(serverUrl: string);
3454
+ constructor(serverUrl?: string);
3443
3455
  getVtxoTree(batchOutpoint: Outpoint, opts?: PaginationOptions): Promise<{
3444
3456
  vtxoTree: Tx[];
3445
3457
  page?: PageResponse;
@@ -3709,7 +3721,7 @@ interface ArkProvider {
3709
3721
  */
3710
3722
  declare class RestArkProvider implements ArkProvider {
3711
3723
  serverUrl: string;
3712
- constructor(serverUrl: string);
3724
+ constructor(serverUrl?: string);
3713
3725
  getInfo(): Promise<ArkInfo>;
3714
3726
  submitTx(signedArkTx: string, checkpointTxs: string[]): Promise<{
3715
3727
  arkTxid: string;
@@ -3877,4 +3889,4 @@ declare namespace ProtoTypes {
3877
3889
  export { };
3878
3890
  }
3879
3891
 
3880
- export { CSVMultisigTapscript as $, type ArkTransaction as A, type BatchStartedEvent as B, type ContractRepository as C, type BatchFailedEvent as D, type ExtendedVirtualCoin as E, type TreeTxEvent as F, type GetVtxosFilter as G, type TreeSignatureEvent as H, type IWallet as I, type DescriptorProvider as J, type Coin as K, type IReadonlyWallet as L, type ReadonlyIdentity as M, type Network as N, type OnchainProvider as O, type DelegatorProvider as P, type ReadonlyWalletConfig as Q, type Recipient as R, type SendBitcoinParams as S, type TxNotification as T, type IReadonlyAssetManager as U, VtxoScript as V, type WalletRepository as W, type NetworkName as X, type ArkInfo as Y, ArkAddress as Z, ContractManager as _, type Identity as a, MultisigTapscript as a$, type SettlementConfig as a0, VtxoManager as a1, type SignerSession as a2, type SignedIntent as a3, Intent as a4, type DescriptorSigningRequest as a5, Transaction as a6, type IntentFeeConfig as a7, type OffchainInput as a8, FeeAmount as a9, type AssetMetadata as aA, type BaseWalletConfig as aB, type BatchInfo as aC, type BatchSignableIdentity as aD, CLTVMultisigTapscript as aE, ChainTxType as aF, type CommitmentTx as aG, ConditionCSVMultisigTapscript as aH, ConditionMultisigTapscript as aI, type ContractBalance as aJ, type ContractEventCallback as aK, type ContractHandler as aL, type ContractManagerConfig as aM, type ContractState as aN, type ContractVtxo as aO, ContractWatcher as aP, type DelegateOptions as aQ, DelegatorManagerImpl as aR, type Discoverable as aS, type DiscoveredContract as aT, type DiscoveryDeps as aU, ESPLORA_URL as aV, EsploraProvider as aW, type ExtendedContractVtxo as aX, type HandlerError as aY, IndexerTxType as aZ, type KnownMetadata as a_, type OnchainInput as aa, type FeeOutput as ab, type ContractWatcherConfig as ac, type FeeInfo as ad, type CreateContractParams as ae, type GetContractsFilter as af, type GetSpendablePathsOptions as ag, type GetAllSpendingPathsOptions as ah, type IssuanceParams as ai, type ReissuanceParams as aj, type BurnParams as ak, type ContractWithVtxos as al, type PathSelection as am, type ContractEvent as an, type AssetDetails as ao, type IssuanceResult as ap, type DelegateInfo as aq, type StorageConfig as ar, type IVtxoManager as as, type ExplorerTransaction as at, type EncodedVtxoScript as au, type Status as av, type Outpoint as aw, type ChainTx as ax, type ArkTapscript as ay, type Asset as az, type WalletConfig as b, type Nonces as b0, type Output as b1, type PageResponse as b2, type PaginationOptions as b3, PartialSig as b4, type PathContext as b5, type ProviderClass as b6, RestDelegatorProvider as b7, type ScanContractsOptions as b8, type ScanResult as b9, isSpendable as bA, isSubdust as bB, isVtxoExpiringSoon as bC, networks as bD, type ScheduledSession as ba, SettlementEventType as bb, type SignRequest as bc, type SubscriptionEvent as bd, type SubscriptionHeartbeat as be, type TapLeaves as bf, TapTreeCoder as bg, TapscriptType as bh, type TreeNonces as bi, type TreePartialSigs as bj, type Tx as bk, type TxHistoryRecord as bl, type TxKey as bm, type TxTreeNode as bn, TxType as bo, type VirtualStatus as bp, type Vtxo as bq, type VtxoChain as br, type VtxoType as bs, type WalletMode as bt, decodeTapscript as bu, getSequence as bv, isBatchSignable as bw, isDiscoverable as bx, isExpired as by, isRecoverable as bz, type WalletBalance as c, type ExtendedCoin as d, type IContractManager as e, type IDelegatorManager as f, type SettleParams as g, type SettlementEvent as h, type IAssetManager as i, RestArkProvider as j, RestIndexerProvider as k, type SubscriptionResponse as l, type ArkProvider as m, type IndexerProvider as n, type RelativeTimelock as o, type TapLeafScript as p, type VirtualCoin as q, type Contract as r, type VtxoRepositoryKey as s, type WalletState as t, type ContractFilter as u, type TreeSigningStartedEvent as v, TxTree as w, type TreeNoncesEvent as x, type BatchFinalizationEvent as y, type BatchFinalizedEvent as z };
3892
+ export { CSVMultisigTapscript as $, type ArkTransaction as A, type BatchStartedEvent as B, type ContractRepository as C, type BatchFailedEvent as D, type ExtendedVirtualCoin as E, type TreeTxEvent as F, type GetVtxosFilter as G, type TreeSignatureEvent as H, type IWallet as I, type DescriptorProvider as J, type IReadonlyWallet as K, type ReadonlyIdentity as L, type DelegateProvider as M, type Network as N, type OnchainProvider as O, type ReadonlyWalletConfig as P, type IReadonlyAssetManager as Q, type Recipient as R, type SendBitcoinParams as S, type TxNotification as T, type NetworkName as U, VtxoScript as V, type WalletRepository as W, type ArkInfo as X, ArkAddress as Y, type Coin as Z, ContractManager as _, type Identity as a, type IDelegatorManager as a$, type SettlementConfig as a0, VtxoManager as a1, type SignerSession as a2, type SignedIntent as a3, Intent as a4, type DescriptorSigningRequest as a5, Transaction as a6, type IntentFeeConfig as a7, type OffchainInput as a8, FeeAmount as a9, type AssetMetadata as aA, type BaseWalletConfig as aB, type BatchInfo as aC, type BatchSignableIdentity as aD, CLTVMultisigTapscript as aE, ChainTxType as aF, type CommitmentTx as aG, ConditionCSVMultisigTapscript as aH, ConditionMultisigTapscript as aI, type ContractBalance as aJ, type ContractEventCallback as aK, type ContractHandler as aL, type ContractManagerConfig as aM, type ContractState as aN, type ContractVtxo as aO, ContractWatcher as aP, DelegateManagerImpl as aQ, type DelegateOptions as aR, DelegatorManagerImpl as aS, type DelegatorProvider as aT, type Discoverable as aU, type DiscoveredContract as aV, type DiscoveryDeps as aW, ESPLORA_URL as aX, EsploraProvider as aY, type ExtendedContractVtxo as aZ, type HandlerError as a_, type OnchainInput as aa, type FeeOutput as ab, type ContractWatcherConfig as ac, type FeeInfo as ad, type CreateContractParams as ae, type GetContractsFilter as af, type GetSpendablePathsOptions as ag, type GetAllSpendingPathsOptions as ah, type IssuanceParams as ai, type ReissuanceParams as aj, type BurnParams as ak, type ContractWithVtxos as al, type PathSelection as am, type ContractEvent as an, type AssetDetails as ao, type IssuanceResult as ap, type DelegateInfo as aq, type StorageConfig as ar, type IVtxoManager as as, type ExplorerTransaction as at, type EncodedVtxoScript as au, type Status as av, type Outpoint as aw, type ChainTx as ax, type ArkTapscript as ay, type Asset as az, type WalletConfig as b, IndexerTxType as b0, type KnownMetadata as b1, MultisigTapscript as b2, type Nonces as b3, type Output as b4, type PageResponse as b5, type PaginationOptions as b6, PartialSig as b7, type PathContext as b8, type ProviderClass as b9, isBatchSignable as bA, isDiscoverable as bB, isExpired as bC, isRecoverable as bD, isSpendable as bE, isSubdust as bF, isVtxoExpiringSoon as bG, networks as bH, RestDelegateProvider as ba, RestDelegatorProvider as bb, type ScanContractsOptions as bc, type ScanResult as bd, type ScheduledSession as be, SettlementEventType as bf, type SignRequest as bg, type SubscriptionEvent as bh, type SubscriptionHeartbeat as bi, type TapLeaves as bj, TapTreeCoder as bk, TapscriptType as bl, type TreeNonces as bm, type TreePartialSigs as bn, type Tx as bo, type TxHistoryRecord as bp, type TxKey as bq, type TxTreeNode as br, TxType as bs, type VirtualStatus as bt, type Vtxo as bu, type VtxoChain as bv, type VtxoType as bw, type WalletMode as bx, decodeTapscript as by, getSequence as bz, type WalletBalance as c, type ExtendedCoin as d, type IContractManager as e, type IDelegateManager as f, type SettleParams as g, type SettlementEvent as h, type IAssetManager as i, RestArkProvider as j, RestIndexerProvider as k, type SubscriptionResponse as l, type ArkProvider as m, type IndexerProvider as n, type RelativeTimelock as o, type TapLeafScript as p, type VirtualCoin as q, type Contract as r, type VtxoRepositoryKey as s, type WalletState as t, type ContractFilter as u, type TreeSigningStartedEvent as v, TxTree as w, type TreeNoncesEvent as x, type BatchFinalizationEvent as y, type BatchFinalizedEvent as z };