mainnet-js 0.4.31 → 0.4.32

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.
@@ -113,15 +113,41 @@ export declare class Wallet extends BaseWallet {
113
113
  }): Promise<BalanceResponse>;
114
114
  /**
115
115
  * send Send some amount to an address
116
+ * this function processes the send requests, encodes the transaction, sends it to the network
117
+ * @returns (depending on the options parameter) the transaction id, new address balance and a link to the transaction on the blockchain explorer
116
118
  *
117
119
  * This is a first class function with REST analog, maintainers should strive to keep backward-compatibility
118
120
  *
119
121
  */
120
122
  send(requests: SendRequest | OpReturnData | Array<SendRequest | OpReturnData> | SendRequestArray[], options?: SendRequestOptionsI): Promise<SendResponse>;
123
+ /**
124
+ * sendMax Send all available funds to a destination cash address
125
+ *
126
+ * @param {string} cashaddr destination cash address
127
+ * @param {SendRequestOptionsI} options Options of the send requests
128
+ *
129
+ * @returns (depending on the options parameter) the transaction id, new address balance and a link to the transaction on the blockchain explorer
130
+ */
121
131
  sendMax(cashaddr: string, options?: SendRequestOptionsI): Promise<SendResponse>;
132
+ /**
133
+ * sendMaxRaw (internal) Send all available funds to a destination cash address
134
+ *
135
+ * @param {string} cashaddr destination cash address
136
+ * @param {SendRequestOptionsI} options Options of the send requests
137
+ *
138
+ * @returns the transaction id sent to the network
139
+ */
122
140
  private sendMaxRaw;
141
+ /**
142
+ * encodeTransaction given a list of sendRequests, options and estimate fees.
143
+ * @param {SendRequest[]} sendRequests SendRequests
144
+ * @param {boolean} discardChange=false
145
+ * @param {SendRequestOptionsI} options Options of the send requests
146
+ */
147
+ encodeTransaction(requests: SendRequest | OpReturnData | Array<SendRequest | OpReturnData> | SendRequestArray[], discardChange?: boolean, options?: SendRequestOptionsI): Promise<Uint8Array>;
148
+ submitTransaction(transaction: Uint8Array, awaitPropagation?: boolean): Promise<string>;
123
149
  getHistory(): Promise<TxI[]>;
124
- getLastTransaction(confirmedOnly?: boolean): Promise<ElectrumRawTransaction>;
150
+ getLastTransaction(confirmedOnly?: boolean): Promise<ElectrumRawTransaction | null>;
125
151
  waitForTransaction(options?: WaitForTransactionOptions): Promise<WaitForTransactionResponse>;
126
152
  /**
127
153
  * watchBlocks Watch network blocks
@@ -139,15 +165,6 @@ export declare class Wallet extends BaseWallet {
139
165
  */
140
166
  waitForBlock(height?: number): Promise<HeaderI>;
141
167
  private deriveInfo;
142
- /**
143
- * _processSendRequests given a list of sendRequests, estimate fees, build the transaction and submit it.
144
- * This function is an internal wrapper and may change.
145
- * @param {SendRequest[]} sendRequests SendRequests
146
- * @param {} discardChange=false
147
- * @param {SendRequestOptionsI} options Options of the send requests
148
- */
149
- private _processSendRequests;
150
- private _submitTransaction;
151
168
  sign(message: string): Promise<import("../message").SignedMessageResponseI>;
152
169
  verify(message: string, sig: string, publicKey?: Uint8Array): Promise<import("../message").VerifyMessageResponseI>;
153
170
  }
@@ -570,15 +570,20 @@ export class Wallet extends BaseWallet {
570
570
  }
571
571
  /**
572
572
  * send Send some amount to an address
573
+ * this function processes the send requests, encodes the transaction, sends it to the network
574
+ * @returns (depending on the options parameter) the transaction id, new address balance and a link to the transaction on the blockchain explorer
573
575
  *
574
576
  * This is a first class function with REST analog, maintainers should strive to keep backward-compatibility
575
577
  *
576
578
  */
577
579
  async send(requests, options) {
578
- let sendRequests = asSendRequestObject(requests);
579
- let result = await this._processSendRequests(sendRequests, undefined, options);
580
+ let encodedTransaction = await this.encodeTransaction(requests, undefined, options);
581
+ const awaitTransactionPropagation = !options ||
582
+ options.awaitTransactionPropagation === undefined ||
583
+ options.awaitTransactionPropagation;
584
+ const txId = await this.submitTransaction(encodedTransaction, awaitTransactionPropagation);
580
585
  let resp = new SendResponse({});
581
- resp.txId = result;
586
+ resp.txId = txId;
582
587
  const queryBalance = !options || options.queryBalance === undefined || options.queryBalance;
583
588
  if (queryBalance) {
584
589
  resp.balance = (await this.getBalance());
@@ -586,6 +591,14 @@ export class Wallet extends BaseWallet {
586
591
  resp.explorerUrl = this.explorerUrl(resp.txId);
587
592
  return resp;
588
593
  }
594
+ /**
595
+ * sendMax Send all available funds to a destination cash address
596
+ *
597
+ * @param {string} cashaddr destination cash address
598
+ * @param {SendRequestOptionsI} options Options of the send requests
599
+ *
600
+ * @returns (depending on the options parameter) the transaction id, new address balance and a link to the transaction on the blockchain explorer
601
+ */
589
602
  async sendMax(cashaddr, options) {
590
603
  const txId = await this.sendMaxRaw(cashaddr, options);
591
604
  const queryBalance = !options || options.queryBalance === undefined || options.queryBalance;
@@ -597,6 +610,14 @@ export class Wallet extends BaseWallet {
597
610
  explorerUrl: this.explorerUrl(txId),
598
611
  };
599
612
  }
613
+ /**
614
+ * sendMaxRaw (internal) Send all available funds to a destination cash address
615
+ *
616
+ * @param {string} cashaddr destination cash address
617
+ * @param {SendRequestOptionsI} options Options of the send requests
618
+ *
619
+ * @returns the transaction id sent to the network
620
+ */
600
621
  async sendMaxRaw(cashaddr, options) {
601
622
  let maxSpendableAmount = await this.getMaxAmountToSend({
602
623
  outputCount: 1,
@@ -610,7 +631,78 @@ export class Wallet extends BaseWallet {
610
631
  value: maxSpendableAmount.sat,
611
632
  unit: "sat",
612
633
  });
613
- return await this._processSendRequests([sendRequest], true, options);
634
+ const encodedTransaction = await this.encodeTransaction([sendRequest], true, options);
635
+ const awaitTransactionPropagation = !options ||
636
+ options.awaitTransactionPropagation === undefined ||
637
+ options.awaitTransactionPropagation;
638
+ const txId = await this.submitTransaction(encodedTransaction, awaitTransactionPropagation);
639
+ return txId;
640
+ }
641
+ /**
642
+ * encodeTransaction given a list of sendRequests, options and estimate fees.
643
+ * @param {SendRequest[]} sendRequests SendRequests
644
+ * @param {boolean} discardChange=false
645
+ * @param {SendRequestOptionsI} options Options of the send requests
646
+ */
647
+ async encodeTransaction(requests, discardChange = false, options) {
648
+ let sendRequests = asSendRequestObject(requests);
649
+ if (!this.privateKey) {
650
+ throw new Error(`Wallet ${this.name} is missing either a network or private key`);
651
+ }
652
+ if (!this.cashaddr) {
653
+ throw Error("attempted to send without a cashaddr");
654
+ }
655
+ if (options && options.slpAware) {
656
+ this._slpAware = true;
657
+ }
658
+ if (options && options.slpSemiAware) {
659
+ this._slpSemiAware = true;
660
+ }
661
+ // get inputs from options or query all inputs
662
+ let utxos;
663
+ if (options && options.utxoIds) {
664
+ utxos = options.utxoIds.map((utxoId) => UtxoItem.fromId(utxoId).asElectrum());
665
+ }
666
+ else {
667
+ utxos = await this.getAddressUtxos(this.cashaddr);
668
+ }
669
+ const bestHeight = await this.provider.getBlockHeight();
670
+ const spendAmount = await sumSendRequestAmounts(sendRequests);
671
+ if (utxos.length === 0) {
672
+ throw Error("There were no Unspent Outputs");
673
+ }
674
+ if (typeof spendAmount !== "bigint") {
675
+ throw Error("Couldn't get spend amount when building transaction");
676
+ }
677
+ const relayFeePerByteInSatoshi = await getRelayFeeCache(this.provider);
678
+ const feeEstimate = await getFeeAmount({
679
+ utxos: utxos,
680
+ sendRequests: sendRequests,
681
+ privateKey: this.privateKey,
682
+ relayFeePerByteInSatoshi: relayFeePerByteInSatoshi,
683
+ slpOutputs: [],
684
+ });
685
+ const fundingUtxos = await getSuitableUtxos(utxos, BigInt(spendAmount) + BigInt(feeEstimate), bestHeight);
686
+ if (fundingUtxos.length === 0) {
687
+ throw Error("The available inputs couldn't satisfy the request with fees");
688
+ }
689
+ const fee = await getFeeAmount({
690
+ utxos: fundingUtxos,
691
+ sendRequests: sendRequests,
692
+ privateKey: this.privateKey,
693
+ relayFeePerByteInSatoshi: relayFeePerByteInSatoshi,
694
+ slpOutputs: [],
695
+ });
696
+ const encodedTransaction = await buildEncodedTransaction(fundingUtxos, sendRequests, this.privateKey, fee, discardChange);
697
+ return encodedTransaction;
698
+ }
699
+ // Submit a raw transaction
700
+ async submitTransaction(transaction, awaitPropagation = true) {
701
+ if (!this.provider) {
702
+ throw Error("Wallet network provider was not initialized");
703
+ }
704
+ let rawTransaction = binToHex(transaction);
705
+ return await this.provider.sendRawTransaction(rawTransaction, awaitPropagation);
614
706
  }
615
707
  // gets transaction history of this wallet
616
708
  async getHistory() {
@@ -622,6 +714,9 @@ export class Wallet extends BaseWallet {
622
714
  if (confirmedOnly) {
623
715
  history = history.filter((val) => val.height > 0);
624
716
  }
717
+ if (!history.length) {
718
+ return null;
719
+ }
625
720
  const [lastTx] = history.slice(-1);
626
721
  return this.provider.getRawTransactionObject(lastTx.tx_hash);
627
722
  }
@@ -708,75 +803,6 @@ export class Wallet extends BaseWallet {
708
803
  this.publicKeyHash = derivePublicKeyHash(this.cashaddr);
709
804
  return this;
710
805
  }
711
- /**
712
- * _processSendRequests given a list of sendRequests, estimate fees, build the transaction and submit it.
713
- * This function is an internal wrapper and may change.
714
- * @param {SendRequest[]} sendRequests SendRequests
715
- * @param {} discardChange=false
716
- * @param {SendRequestOptionsI} options Options of the send requests
717
- */
718
- async _processSendRequests(sendRequests, discardChange = false, options) {
719
- if (!this.privateKey) {
720
- throw new Error(`Wallet ${this.name} is missing either a network or private key`);
721
- }
722
- if (!this.cashaddr) {
723
- throw Error("attempted to send without a cashaddr");
724
- }
725
- if (options && options.slpAware) {
726
- this._slpAware = true;
727
- }
728
- if (options && options.slpSemiAware) {
729
- this._slpSemiAware = true;
730
- }
731
- // get inputs from options or query all inputs
732
- let utxos;
733
- if (options && options.utxoIds) {
734
- utxos = options.utxoIds.map((utxoId) => UtxoItem.fromId(utxoId).asElectrum());
735
- }
736
- else {
737
- utxos = await this.getAddressUtxos(this.cashaddr);
738
- }
739
- const bestHeight = await this.provider.getBlockHeight();
740
- const spendAmount = await sumSendRequestAmounts(sendRequests);
741
- if (utxos.length === 0) {
742
- throw Error("There were no Unspent Outputs");
743
- }
744
- if (typeof spendAmount !== "bigint") {
745
- throw Error("Couldn't get spend amount when building transaction");
746
- }
747
- const relayFeePerByteInSatoshi = await getRelayFeeCache(this.provider);
748
- const feeEstimate = await getFeeAmount({
749
- utxos: utxos,
750
- sendRequests: sendRequests,
751
- privateKey: this.privateKey,
752
- relayFeePerByteInSatoshi: relayFeePerByteInSatoshi,
753
- slpOutputs: [],
754
- });
755
- const fundingUtxos = await getSuitableUtxos(utxos, BigInt(spendAmount) + BigInt(feeEstimate), bestHeight);
756
- if (fundingUtxos.length === 0) {
757
- throw Error("The available inputs couldn't satisfy the request with fees");
758
- }
759
- const fee = await getFeeAmount({
760
- utxos: fundingUtxos,
761
- sendRequests: sendRequests,
762
- privateKey: this.privateKey,
763
- relayFeePerByteInSatoshi: relayFeePerByteInSatoshi,
764
- slpOutputs: [],
765
- });
766
- const encodedTransaction = await buildEncodedTransaction(fundingUtxos, sendRequests, this.privateKey, fee, discardChange);
767
- const awaitTransactionPropagation = !options ||
768
- options.awaitTransactionPropagation === undefined ||
769
- options.awaitTransactionPropagation;
770
- return await this._submitTransaction(encodedTransaction, awaitTransactionPropagation);
771
- }
772
- // Submit a raw transaction
773
- async _submitTransaction(transaction, awaitPropagation = true) {
774
- if (!this.provider) {
775
- throw Error("Wallet network provider was not initialized");
776
- }
777
- let rawTransaction = binToHex(transaction);
778
- return await this.provider.sendRawTransaction(rawTransaction, awaitPropagation);
779
- }
780
806
  //#endregion Private implementation details
781
807
  //#region Signing
782
808
  // Convenience wrapper to sign interface
@@ -1 +1 @@
1
- {"version":3,"file":"Wif.js","sourceRoot":"","sources":["../../../src/wallet/Wif.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Wif.js","sourceRoot":"","sources":["../../../src/wallet/Wif.ts"],"names":[],"mappings":"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"}