opnet 1.8.2 → 1.8.4

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 (55) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/browser/_version.d.ts +1 -1
  3. package/browser/contracts/CallResult.d.ts +1 -0
  4. package/browser/contracts/interfaces/IProviderForCallResult.d.ts +2 -0
  5. package/browser/index.js +9930 -10100
  6. package/browser/noble-curves.js +3049 -2135
  7. package/browser/noble-hashes.js +1812 -2504
  8. package/browser/opnet.d.ts +1 -0
  9. package/browser/protobuf.js +2695 -2103
  10. package/browser/providers/AbstractRpcProvider.d.ts +2 -0
  11. package/browser/providers/interfaces/JSONRpcMethods.d.ts +1 -0
  12. package/browser/providers/websocket/types/WebSocketOpcodes.d.ts +2 -0
  13. package/browser/rolldown-runtime.js +35 -0
  14. package/browser/transactions/interfaces/BroadcastedTransactionPackage.d.ts +48 -0
  15. package/browser/utxos/UTXOsManager.d.ts +1 -0
  16. package/browser/vendors.js +36998 -45617
  17. package/browser/worker_threads-browser.js +7 -9
  18. package/build/_version.d.ts +1 -1
  19. package/build/_version.js +1 -1
  20. package/build/contracts/CallResult.d.ts +1 -0
  21. package/build/contracts/CallResult.js +59 -30
  22. package/build/contracts/interfaces/IProviderForCallResult.d.ts +2 -0
  23. package/build/opnet.d.ts +1 -0
  24. package/build/opnet.js +1 -0
  25. package/build/providers/AbstractRpcProvider.d.ts +2 -0
  26. package/build/providers/AbstractRpcProvider.js +15 -2
  27. package/build/providers/WebsocketRpcProvider.js +5 -0
  28. package/build/providers/interfaces/JSONRpcMethods.d.ts +1 -0
  29. package/build/providers/interfaces/JSONRpcMethods.js +1 -0
  30. package/build/providers/websocket/MethodMapping.js +6 -0
  31. package/build/providers/websocket/types/WebSocketOpcodes.d.ts +2 -0
  32. package/build/providers/websocket/types/WebSocketOpcodes.js +2 -0
  33. package/build/transactions/interfaces/BroadcastedTransactionPackage.d.ts +48 -0
  34. package/build/transactions/interfaces/BroadcastedTransactionPackage.js +1 -0
  35. package/build/tsconfig.build.tsbuildinfo +1 -1
  36. package/build/utxos/UTXOsManager.d.ts +1 -0
  37. package/build/utxos/UTXOsManager.js +37 -28
  38. package/docs/api-reference/provider-api.md +16 -0
  39. package/docs/api-reference/types-interfaces.md +91 -0
  40. package/docs/api-reference/utxo-manager-api.md +4 -2
  41. package/docs/svg/tx-broadcast-flow.svg +201 -0
  42. package/docs/transactions/broadcasting.md +124 -9
  43. package/package.json +18 -13
  44. package/src/_version.ts +1 -1
  45. package/src/contracts/CallResult.ts +92 -35
  46. package/src/contracts/Contract.ts +11 -4
  47. package/src/contracts/interfaces/IProviderForCallResult.ts +5 -0
  48. package/src/opnet.ts +1 -0
  49. package/src/providers/AbstractRpcProvider.ts +52 -5
  50. package/src/providers/WebsocketRpcProvider.ts +7 -0
  51. package/src/providers/interfaces/JSONRpcMethods.ts +1 -0
  52. package/src/providers/websocket/MethodMapping.ts +6 -0
  53. package/src/providers/websocket/types/WebSocketOpcodes.ts +2 -0
  54. package/src/transactions/interfaces/BroadcastedTransactionPackage.ts +72 -0
  55. package/src/utxos/UTXOsManager.ts +82 -46
@@ -18,6 +18,7 @@ import { OPNetTransactionTypes } from '../interfaces/opnet/OPNetTransactionTypes
18
18
  import { MempoolTransactionData } from '../mempool/MempoolTransactionData.js';
19
19
  import { StoredValue } from '../storage/StoredValue.js';
20
20
  import { BroadcastedTransaction } from '../transactions/interfaces/BroadcastedTransaction.js';
21
+ import { BroadcastedTransactionPackage } from '../transactions/interfaces/BroadcastedTransactionPackage.js';
21
22
  import { TransactionReceipt } from '../transactions/metadata/TransactionReceipt.js';
22
23
  import { TransactionBase } from '../transactions/Transaction.js';
23
24
  import { UTXOsManager } from '../utxos/UTXOsManager.js';
@@ -59,6 +60,7 @@ export declare abstract class AbstractRpcProvider {
59
60
  gasParameters(): Promise<BlockGasParameters>;
60
61
  sendRawTransaction(tx: string, psbt: boolean): Promise<BroadcastedTransaction>;
61
62
  sendRawTransactions(txs: string[]): Promise<BroadcastedTransaction[]>;
63
+ sendRawTransactionPackage(txs: string[], isPackage?: boolean): Promise<BroadcastedTransactionPackage>;
62
64
  getBlockWitness(height?: BigNumberish, trusted?: boolean, limit?: number, page?: number): Promise<BlockWitnesses>;
63
65
  getReorg(fromBlock?: BigNumberish, toBlock?: BigNumberish): Promise<ReorgInformation[]>;
64
66
  abstract _send(payload: JsonRpcPayload | JsonRpcPayload[]): Promise<JsonRpcCallResult>;
@@ -8,6 +8,7 @@ export declare enum JSONRpcMethods {
8
8
  GAS = "btc_gas",
9
9
  GET_TRANSACTION_BY_HASH = "btc_getTransactionByHash",
10
10
  BROADCAST_TRANSACTION = "btc_sendRawTransaction",
11
+ BROADCAST_TRANSACTION_PACKAGE = "btc_sendRawTransactionPackage",
11
12
  TRANSACTION_PREIMAGE = "btc_preimage",
12
13
  PUBLIC_KEY_INFO = "btc_publicKeyInfo",
13
14
  GET_UTXOS = "btc_getUTXOs",
@@ -10,6 +10,7 @@ export declare enum WebSocketRequestOpcode {
10
10
  GET_TRANSACTION_BY_HASH = 32,
11
11
  GET_TRANSACTION_RECEIPT = 33,
12
12
  BROADCAST_TRANSACTION = 34,
13
+ BROADCAST_TRANSACTION_PACKAGE = 39,
13
14
  GET_PREIMAGE = 35,
14
15
  GET_MEMPOOL_INFO = 36,
15
16
  GET_PENDING_TRANSACTION = 37,
@@ -43,6 +44,7 @@ export declare enum WebSocketResponseOpcode {
43
44
  TRANSACTION = 160,
44
45
  TRANSACTION_RECEIPT = 161,
45
46
  BROADCAST_RESULT = 162,
47
+ BROADCAST_PACKAGE_RESULT = 167,
46
48
  PREIMAGE = 163,
47
49
  MEMPOOL_INFO = 164,
48
50
  PENDING_TRANSACTION = 165,
@@ -0,0 +1,35 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
9
+ var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
10
+ var __exportAll = (all, no_symbols) => {
11
+ let target = {};
12
+ for (var name in all) __defProp(target, name, {
13
+ get: all[name],
14
+ enumerable: true
15
+ });
16
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
17
+ return target;
18
+ };
19
+ var __copyProps = (to, from, except, desc) => {
20
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
21
+ key = keys[i];
22
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
23
+ get: ((k) => from[k]).bind(null, key),
24
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
25
+ });
26
+ }
27
+ return to;
28
+ };
29
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
34
+ //#endregion
35
+ export { __toESM as a, __toCommonJS as i, __esmMin as n, __exportAll as r, __commonJSMin as t };
@@ -0,0 +1,48 @@
1
+ export interface SequentialBroadcastTxResult {
2
+ readonly txid: string;
3
+ readonly success: boolean;
4
+ readonly error?: string;
5
+ readonly peers?: number;
6
+ }
7
+ export interface BroadcastedTransactionPackage {
8
+ readonly success: boolean;
9
+ readonly error?: string;
10
+ readonly testResults?: readonly TestMempoolAcceptResult[];
11
+ readonly packageResult?: PackageResult;
12
+ readonly sequentialResults?: readonly SequentialBroadcastTxResult[];
13
+ readonly fellBackToSequential?: boolean;
14
+ }
15
+ export interface TestMempoolAcceptResult {
16
+ readonly txid: string;
17
+ readonly wtxid: string;
18
+ readonly allowed?: boolean;
19
+ readonly vsize?: number;
20
+ readonly packageError?: string;
21
+ readonly rejectReason?: string;
22
+ readonly rejectDetails?: string;
23
+ readonly fees?: TestMempoolAcceptFees;
24
+ }
25
+ export interface TestMempoolAcceptFees {
26
+ readonly base: number;
27
+ readonly effectiveFeerate: number;
28
+ readonly effectiveIncludes: readonly string[];
29
+ }
30
+ export interface PackageTxResult {
31
+ readonly txid: string;
32
+ readonly otherWtxid?: string;
33
+ readonly vsize?: number;
34
+ readonly fees?: PackageTxFees;
35
+ readonly error?: string;
36
+ }
37
+ export interface PackageTxFees {
38
+ readonly base: number;
39
+ readonly effectiveFeerate?: number;
40
+ readonly effectiveIncludes?: readonly string[];
41
+ }
42
+ export interface PackageResult {
43
+ readonly packageMsg: string;
44
+ readonly txResults: {
45
+ readonly [wtxid: string]: PackageTxResult;
46
+ };
47
+ readonly replacedTransactions?: readonly string[];
48
+ }
@@ -11,6 +11,7 @@ export declare class UTXOsManager {
11
11
  getUTXOs({ address, isCSV, optimize, mergePendingUTXOs, filterSpentUTXOs, olderThan, }: RequestUTXOsParams): Promise<UTXOs>;
12
12
  getUTXOsForAmount({ address, amount, csvAddress, optimize, mergePendingUTXOs, filterSpentUTXOs, throwErrors, olderThan, maxUTXOs, throwIfUTXOsLimitReached, }: RequestUTXOsParamsWithAmount): Promise<UTXOs>;
13
13
  getMultipleUTXOs({ requests, mergePendingUTXOs, filterSpentUTXOs, }: RequestMultipleUTXOsParams): Promise<Record<string, UTXOs>>;
14
+ private selectUTXOsGreedily;
14
15
  private fetchMultipleUTXOs;
15
16
  private getAddressData;
16
17
  private maybeFetchUTXOs;