@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;
|
|
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
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
|
148
|
-
const
|
|
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;
|