@bsv/overlay-discovery-services 1.1.6 → 1.2.0

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsv/overlay-discovery-services",
3
- "version": "1.1.5",
3
+ "version": "1.2.0",
4
4
  "type": "commonjs",
5
5
  "description": "BSV Blockchain Overlay Services Engine",
6
6
  "files": [
@@ -16,12 +16,14 @@ class WalletAdvertiser {
16
16
  * @param privateKey - The private key used for signing transactions.
17
17
  * @param storageURL - The URL of the UTXO storage server for the Wallet.
18
18
  * @param advertisableURI - The advertisable URI where services are made available.
19
+ * @param lookupResolverConfig — If provided, overrides the resolver config used for lookups. Otherwise defaults to the network preset associated with the wallet's network.
19
20
  */
20
- constructor(chain, privateKey, storageURL, advertisableURI) {
21
+ constructor(chain, privateKey, storageURL, advertisableURI, lookupResolverConfig) {
21
22
  this.chain = chain;
22
23
  this.privateKey = privateKey;
23
24
  this.storageURL = storageURL;
24
25
  this.advertisableURI = advertisableURI;
26
+ this.lookupResolverConfig = lookupResolverConfig;
25
27
  if (!(0, isAdvertisableURI_js_1.isAdvertisableURI)(advertisableURI)) {
26
28
  throw new Error(`Refusing to initialize with non-advertisable URI: ${advertisableURI}`);
27
29
  }
@@ -36,21 +38,12 @@ class WalletAdvertiser {
36
38
  this.identityKey = keyDeriver.identityKey;
37
39
  }
38
40
  /**
39
- * Initializes the wallet asynchronously and binds the advertiser with its Engine.
40
- *
41
- * Sets the Engine instance to be used by this WalletAdvertiser. This method allows for late
42
- * binding of the Engine, thus avoiding circular dependencies during instantiation. The Engine
43
- * provides necessary context with the relevant topic managers and lookup services,
44
- * as well as the lookup function used for querying advertisements.
45
- *
46
- * @param engine The Engine instance to be associated with this NinjaAdvertiser. The Engine should
47
- * be fully initialized before being passed to this method to ensure all functionalities are available.
41
+ * Initializes the wallet asynchronously.
48
42
  */
49
- async initWithEngine(engine) {
43
+ async init() {
50
44
  const client = new wallet_toolbox_client_1.StorageClient(this.wallet, this.storageURL);
51
45
  await client.makeAvailable();
52
46
  await this.storageManager.addWalletStorageProvider(client);
53
- this.engine = engine;
54
47
  this.initialized = true;
55
48
  }
56
49
  /**
@@ -61,7 +54,7 @@ class WalletAdvertiser {
61
54
  */
62
55
  async createAdvertisements(adsData) {
63
56
  if (!this.initialized) {
64
- throw new Error('Initialize the Advertiser using initWithEngine() before use.');
57
+ throw new Error('Initialize the Advertiser using init() before use.');
65
58
  }
66
59
  const pushdrop = new sdk_1.PushDrop(this.wallet);
67
60
  const outputs = await Promise.all(adsData.map(async (ad) => {
@@ -97,11 +90,19 @@ class WalletAdvertiser {
97
90
  * @returns A promise that resolves to an array of advertisements.
98
91
  */
99
92
  async findAllAdvertisements(protocol) {
100
- if (!this.initialized || this.engine === undefined) {
101
- throw new Error('Initialize the Advertiser using initWithEngine() before use.');
93
+ if (!this.initialized) {
94
+ throw new Error('Initialize the Advertiser using init() before use.');
95
+ }
96
+ let resolver;
97
+ if (typeof this.lookupResolverConfig === 'object') {
98
+ resolver = new sdk_1.LookupResolver(this.lookupResolverConfig);
99
+ }
100
+ else {
101
+ const { network } = await this.wallet.getNetwork({});
102
+ resolver = new sdk_1.LookupResolver({ networkPreset: network });
102
103
  }
103
104
  const advertisements = [];
104
- const lookupAnswer = await this.engine.lookup({
105
+ const lookupAnswer = await resolver.query({
105
106
  service: protocol === 'SHIP' ? 'ls_ship' : 'ls_slap',
106
107
  query: {
107
108
  identityKey: this.identityKey
@@ -140,7 +141,7 @@ class WalletAdvertiser {
140
141
  throw new Error('Must provide advertisements to revoke!');
141
142
  }
142
143
  if (!this.initialized) {
143
- throw new Error('Initialize the Advertiser using initWithEngine() before use.');
144
+ throw new Error('Initialize the Advertiser using init() before use.');
144
145
  }
145
146
  const inputBeef = new sdk_1.Beef();
146
147
  const txInputs = [];
@@ -1 +1 @@
1
- {"version":3,"file":"WalletAdvertiser.js","sourceRoot":"","sources":["../../../src/WalletAdvertiser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletAdvertiser.js","sourceRoot":"","sources":["../../../src/WalletAdvertiser.ts"],"names":[],"mappings":"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"}