@dignetwork/dig-sdk 0.0.1-alpha.22 → 0.0.1-alpha.23

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.
@@ -14,6 +14,11 @@ export declare class DigPeer {
14
14
  get IpAddress(): string;
15
15
  validateStore(rootHash: string, keys: string[]): Promise<boolean>;
16
16
  isSynced(): Promise<boolean>;
17
+ static sendEqualBulkPayments(walletName: string, addresses: string[], totalAmount: bigint): Promise<void>;
18
+ static sendBulkPayments(walletName: string, outputs: {
19
+ puzzleHash: Buffer;
20
+ amount: bigint;
21
+ }[]): Promise<void>;
17
22
  sendPayment(walletName: string, amount: bigint): Promise<void>;
18
23
  }
19
24
  //# sourceMappingURL=DigPeer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DigPeer.d.ts","sourceRoot":"","sources":["../../src/DigNetwork/DigPeer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAcpD,qBAAa,OAAO;IAClB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,gBAAgB,CAAkB;gBAE9B,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAS9C,IAAW,aAAa,IAAI,aAAa,CAExC;IAGD,IAAW,iBAAiB,IAAI,iBAAiB,CAEhD;IAGD,IAAW,eAAe,IAAI,eAAe,CAE5C;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAEY,aAAa,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,OAAO,CAAC;IA8GN,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAyB5B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmC5E"}
1
+ {"version":3,"file":"DigPeer.d.ts","sourceRoot":"","sources":["../../src/DigNetwork/DigPeer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAcpD,qBAAa,OAAO;IAClB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,gBAAgB,CAAkB;gBAE9B,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAS9C,IAAW,aAAa,IAAI,aAAa,CAExC;IAGD,IAAW,iBAAiB,IAAI,iBAAiB,CAEhD;IAGD,IAAW,eAAe,IAAI,eAAe,CAE5C;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAEY,aAAa,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,OAAO,CAAC;IAgHN,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;WA2B3B,qBAAqB,CACjC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;WAwBI,gBAAgB,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAChD,OAAO,CAAC,IAAI,CAAC;IAkCH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAO5E"}
@@ -137,21 +137,28 @@ class DigPeer {
137
137
  return false;
138
138
  }
139
139
  }
140
- async sendPayment(walletName, amount) {
141
- const paymentAddress = await this.contentServer.getPaymentAddress();
142
- console.log(`Sending ${amount} Mojos to ${paymentAddress}...`);
140
+ static sendEqualBulkPayments(walletName, addresses, totalAmount) {
141
+ // Use a Set to ensure unique addresses
142
+ const uniqueAddresses = Array.from(new Set(addresses));
143
+ // Convert unique addresses to puzzle hashes
144
+ const puzzleHashes = uniqueAddresses.map((address) => (0, datalayer_driver_1.addressToPuzzleHash)(address));
145
+ // Calculate amount per puzzle hash
146
+ const amountPerPuzzleHash = totalAmount / BigInt(puzzleHashes.length);
147
+ // Create outputs array
148
+ const outputs = puzzleHashes.map((puzzleHash) => ({
149
+ puzzleHash,
150
+ amount: amountPerPuzzleHash,
151
+ }));
152
+ // Call the sendBulkPayments function with the generated outputs
153
+ return DigPeer.sendBulkPayments(walletName, outputs);
154
+ }
155
+ static async sendBulkPayments(walletName, outputs) {
143
156
  const fee = BigInt(1000);
144
157
  const wallet = await blockchain_3.Wallet.load(walletName);
145
158
  const publicSyntheticKey = await wallet.getPublicSyntheticKey();
146
159
  const peer = await blockchain_2.FullNodePeer.connect();
147
- const coins = await (0, coins_1.selectUnspentCoins)(peer, amount, fee, [], walletName);
148
- const paymentAddressPuzzleHash = (0, datalayer_driver_1.addressToPuzzleHash)(paymentAddress);
149
- const outputs = [
150
- {
151
- puzzleHash: paymentAddressPuzzleHash,
152
- amount: amount,
153
- },
154
- ];
160
+ const totalAmount = outputs.reduce((acc, output) => acc + output.amount, BigInt(0));
161
+ const coins = await (0, coins_1.selectUnspentCoins)(peer, totalAmount, fee, [], walletName);
155
162
  const coinSpends = await (0, datalayer_driver_1.sendXch)(publicSyntheticKey, coins, outputs, fee);
156
163
  const sig = (0, datalayer_driver_1.signCoinSpends)(coinSpends, [await wallet.getPrivateSyntheticKey()], false);
157
164
  const err = await peer.broadcastSpend(coinSpends, [sig]);
@@ -160,5 +167,12 @@ class DigPeer {
160
167
  }
161
168
  await blockchain_2.FullNodePeer.waitForConfirmation((0, datalayer_driver_1.getCoinId)(coins[0]));
162
169
  }
170
+ async sendPayment(walletName, amount) {
171
+ const paymentAddress = await this.contentServer.getPaymentAddress();
172
+ const paymentAddressPuzzleHash = (0, datalayer_driver_1.addressToPuzzleHash)(paymentAddress);
173
+ return DigPeer.sendBulkPayments(walletName, [
174
+ { puzzleHash: paymentAddressPuzzleHash, amount },
175
+ ]);
176
+ }
163
177
  }
164
178
  exports.DigPeer = DigPeer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dignetwork/dig-sdk",
3
- "version": "0.0.1-alpha.22",
3
+ "version": "0.0.1-alpha.23",
4
4
  "description": "",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/index.js",