mainnet-js 4.0.0-next.11 → 4.0.0-next.13

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 (46) hide show
  1. package/dist/module/db/EncryptedStorageProvider.d.ts +137 -0
  2. package/dist/module/db/EncryptedStorageProvider.d.ts.map +1 -0
  3. package/dist/module/db/EncryptedStorageProvider.js +403 -0
  4. package/dist/module/db/EncryptedStorageProvider.js.map +1 -0
  5. package/dist/module/db/StorageProvider.d.ts +6 -0
  6. package/dist/module/db/StorageProvider.d.ts.map +1 -1
  7. package/dist/module/db/StorageProvider.js.map +1 -1
  8. package/dist/module/history/getHistory.js +1 -1
  9. package/dist/module/history/getHistory.js.map +1 -1
  10. package/dist/module/index.d.ts.map +1 -1
  11. package/dist/module/index.js +2 -0
  12. package/dist/module/index.js.map +1 -1
  13. package/dist/module/transaction/Wif.d.ts +11 -4
  14. package/dist/module/transaction/Wif.d.ts.map +1 -1
  15. package/dist/module/transaction/Wif.js +82 -35
  16. package/dist/module/transaction/Wif.js.map +1 -1
  17. package/dist/module/transaction/coin-control/fee.d.ts +32 -0
  18. package/dist/module/transaction/coin-control/fee.d.ts.map +1 -0
  19. package/dist/module/transaction/coin-control/fee.js +37 -0
  20. package/dist/module/transaction/coin-control/fee.js.map +1 -0
  21. package/dist/module/transaction/coin-control/index.d.ts +6 -0
  22. package/dist/module/transaction/coin-control/index.d.ts.map +1 -0
  23. package/dist/module/transaction/coin-control/index.js +5 -0
  24. package/dist/module/transaction/coin-control/index.js.map +1 -0
  25. package/dist/module/transaction/coin-control/input-order.d.ts +22 -0
  26. package/dist/module/transaction/coin-control/input-order.d.ts.map +1 -0
  27. package/dist/module/transaction/coin-control/input-order.js +54 -0
  28. package/dist/module/transaction/coin-control/input-order.js.map +1 -0
  29. package/dist/module/transaction/coin-control/output-order.d.ts +22 -0
  30. package/dist/module/transaction/coin-control/output-order.d.ts.map +1 -0
  31. package/dist/module/transaction/coin-control/output-order.js +77 -0
  32. package/dist/module/transaction/coin-control/output-order.js.map +1 -0
  33. package/dist/module/transaction/coin-control/selection.d.ts +54 -0
  34. package/dist/module/transaction/coin-control/selection.d.ts.map +1 -0
  35. package/dist/module/transaction/coin-control/selection.js +135 -0
  36. package/dist/module/transaction/coin-control/selection.js.map +1 -0
  37. package/dist/module/transaction/coin-control/types.d.ts +62 -0
  38. package/dist/module/transaction/coin-control/types.d.ts.map +1 -0
  39. package/dist/module/transaction/coin-control/types.js +2 -0
  40. package/dist/module/transaction/coin-control/types.js.map +1 -0
  41. package/dist/module/wallet/Base.d.ts.map +1 -1
  42. package/dist/module/wallet/Base.js +10 -2
  43. package/dist/module/wallet/Base.js.map +1 -1
  44. package/dist/module/wallet/interface.d.ts +9 -0
  45. package/dist/module/wallet/interface.d.ts.map +1 -1
  46. package/package.json +13 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,cAAc,wBAAwB,CAAC;AAEvC,cAAc,gBAAgB,CAAC;AAE/B,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,YAAY,EACV,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,aAAa,GACd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,YAAY,EACV,sBAAsB,EACtB,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1D,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,QAAQ,EACR,eAAe,EACf,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,SAAS,GACV,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAIrE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,cAAc,wBAAwB,CAAC;AAEvC,cAAc,gBAAgB,CAAC;AAE/B,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,YAAY,EACV,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,aAAa,GACd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,YAAY,EACV,sBAAsB,EACtB,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1D,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,QAAQ,EACR,eAAe,EACf,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,SAAS,GACV,MAAM,iBAAiB,CAAC"}
@@ -2,6 +2,8 @@
2
2
  export { Config } from "./config.js";
3
3
  // db
4
4
  export { default as StorageProvider } from "./db/StorageProvider.js";
5
+ // EncryptedStorageProvider is available via the sub-entry "mainnet-js/encrypted-storage"
6
+ // so it stays out of the main bundle for consumers that don't use it.
5
7
  // Enum
6
8
  export { NetworkType, UnitEnum } from "./enum.js";
7
9
  // history
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,KAAK;AACL,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO;AACP,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAClD,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,aAAa;AACb,cAAc,gBAAgB,CAAC;AAC/B,6CAA6C;AAC7C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAKxC,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,UAAU;AACV,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAO1F,iBAAiB;AACjB,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,QAAQ;AACR,cAAc,iBAAiB,CAAC;AAChC,8CAA8C;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,gFAAgF;AAChF,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,QAAQ,EACR,eAAe,EACf,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,wBAAwB;AACxB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,SAAS,GACV,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,KAAK;AACL,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrE,yFAAyF;AACzF,sEAAsE;AACtE,OAAO;AACP,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAClD,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,aAAa;AACb,cAAc,gBAAgB,CAAC;AAC/B,6CAA6C;AAC7C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAKxC,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,UAAU;AACV,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAO1F,iBAAiB;AACjB,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,QAAQ;AACR,cAAc,iBAAiB,CAAC;AAChC,8CAA8C;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,gFAAgF;AAChF,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,QAAQ,EACR,eAAe,EACf,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,wBAAwB;AACxB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,SAAS,GACV,MAAM,iBAAiB,CAAC"}
@@ -3,9 +3,10 @@ import { WalletCache } from "../cache/walletCache.js";
3
3
  import { Utxo } from "../interface.js";
4
4
  import { FeePaidByEnum } from "../wallet/enum.js";
5
5
  import { OpReturnData, SendRequest, SendRequestType, SourceOutput, TokenSendRequest } from "../wallet/model.js";
6
+ import type { CoinSelectionFn, FeeFn, OutputOrderingFn } from "./coin-control/types.js";
6
7
  export declare const placeholderPrivateKey = "0000000000000000000000000000000000000000000000000000000000000001";
7
8
  export declare const placeholderPrivateKeyBin: Uint8Array;
8
- export declare function buildP2pkhNonHdTransaction({ inputs, outputs, signingKey, fee, discardChange, feePaidBy, changeAddress, walletCache, }: {
9
+ export declare function buildP2pkhNonHdTransaction({ inputs, outputs, signingKey, fee, discardChange, feePaidBy, changeAddress, walletCache, outputOrdering, }: {
9
10
  inputs: Utxo[];
10
11
  outputs: Array<SendRequest | TokenSendRequest | OpReturnData>;
11
12
  signingKey?: Uint8Array;
@@ -14,6 +15,7 @@ export declare function buildP2pkhNonHdTransaction({ inputs, outputs, signingKey
14
15
  feePaidBy?: FeePaidByEnum;
15
16
  changeAddress?: string;
16
17
  walletCache: WalletCache;
18
+ outputOrdering?: OutputOrderingFn;
17
19
  }): Promise<{
18
20
  transaction: import("@bitauth/libauth").TransactionCommon<import("@bitauth/libauth").Input<Uint8Array, Uint8Array>, Output<Uint8Array, Uint8Array, bigint>>;
19
21
  sourceOutputs: any[];
@@ -56,7 +58,10 @@ export declare function prepareTokenOutputs(request: TokenSendRequest): Output;
56
58
  *
57
59
  * @returns A promise to a list of unspent outputs
58
60
  */
59
- export declare function getSuitableUtxos(inputs: Utxo[], amountRequired: bigint | undefined, bestHeight: number, feePaidBy: FeePaidByEnum, requests: SendRequestType[], ensureUtxos?: Utxo[], tokenOperation?: "send" | "genesis" | "mint" | "burn"): Promise<Utxo[]>;
61
+ export declare function getSuitableUtxos(inputs: Utxo[], amountRequired: bigint | undefined, bestHeight: number, feePaidBy: FeePaidByEnum, requests: SendRequestType[], ensureUtxos?: Utxo[], tokenOperation?: "send" | "genesis" | "mint" | "burn", coinControl?: {
62
+ coinSelection?: CoinSelectionFn;
63
+ feePerByte?: number;
64
+ }): Promise<Utxo[]>;
60
65
  export declare function getFeeAmountSimple({ utxos, sendRequests, relayFeePerByteInSatoshi, discardChange, }: {
61
66
  utxos: Utxo[];
62
67
  sendRequests: Array<SendRequest | TokenSendRequest | OpReturnData>;
@@ -65,7 +70,7 @@ export declare function getFeeAmountSimple({ utxos, sendRequests, relayFeePerByt
65
70
  feePaidBy: FeePaidByEnum;
66
71
  discardChange?: boolean;
67
72
  }): Promise<bigint>;
68
- export declare function getFeeAmount({ utxos, sendRequests, sourceAddress, relayFeePerByteInSatoshi, feePaidBy, discardChange, walletCache, }: {
73
+ export declare function getFeeAmount({ utxos, sendRequests, sourceAddress, relayFeePerByteInSatoshi, feePaidBy, discardChange, walletCache, fee: feeStrategy, }: {
69
74
  utxos: Utxo[];
70
75
  sendRequests: Array<SendRequest | TokenSendRequest | OpReturnData>;
71
76
  sourceAddress: string;
@@ -73,8 +78,9 @@ export declare function getFeeAmount({ utxos, sendRequests, sourceAddress, relay
73
78
  feePaidBy: FeePaidByEnum;
74
79
  discardChange?: boolean;
75
80
  walletCache: WalletCache;
81
+ fee?: FeeFn;
76
82
  }): Promise<bigint>;
77
- export declare function buildEncodedTransaction({ inputs, outputs, signingKey, fee, discardChange, feePaidBy, changeAddress, buildUnsigned, walletCache, }: {
83
+ export declare function buildEncodedTransaction({ inputs, outputs, signingKey, fee, discardChange, feePaidBy, changeAddress, buildUnsigned, walletCache, outputOrdering, }: {
78
84
  inputs: Utxo[];
79
85
  outputs: Array<SendRequest | TokenSendRequest | OpReturnData>;
80
86
  signingKey: Uint8Array;
@@ -84,6 +90,7 @@ export declare function buildEncodedTransaction({ inputs, outputs, signingKey, f
84
90
  changeAddress?: string;
85
91
  buildUnsigned?: boolean;
86
92
  walletCache: WalletCache;
93
+ outputOrdering?: OutputOrderingFn;
87
94
  }): Promise<{
88
95
  encodedTransaction: Uint8Array;
89
96
  sourceOutputs: any[];
@@ -1 +1 @@
1
- {"version":3,"file":"Wif.d.ts","sourceRoot":"","sources":["../../../src/transaction/Wif.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Wif.d.ts","sourceRoot":"","sources":["../../../src/transaction/Wif.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,12 @@ import { NFTCapability } from "../interface.js";
4
4
  import { sumSendRequestAmounts } from "../util/sumSendRequestAmounts.js";
5
5
  import { sumUtxoValue } from "../util/sumUtxoValue.js";
6
6
  import { FeePaidByEnum } from "../wallet/enum.js";
7
- import { OpReturnData, TokenSendRequest, } from "../wallet/model.js";
7
+ import { OpReturnData, SendRequest, TokenSendRequest, } from "../wallet/model.js";
8
8
  import { allocateFee } from "./allocateFee.js";
9
9
  export const placeholderPrivateKey = "0000000000000000000000000000000000000000000000000000000000000001";
10
10
  export const placeholderPrivateKeyBin = hexToBin(placeholderPrivateKey);
11
11
  // Build a transaction for a p2pkh transaction for a non HD wallet
12
- export async function buildP2pkhNonHdTransaction({ inputs, outputs, signingKey, fee = 0n, discardChange = false, feePaidBy = FeePaidByEnum.change, changeAddress = "", walletCache, }) {
12
+ export async function buildP2pkhNonHdTransaction({ inputs, outputs, signingKey, fee = 0n, discardChange = false, feePaidBy = FeePaidByEnum.change, changeAddress = "", walletCache, outputOrdering, }) {
13
13
  if (!signingKey) {
14
14
  throw new Error("Missing signing key when building transaction");
15
15
  }
@@ -22,22 +22,24 @@ export async function buildP2pkhNonHdTransaction({ inputs, outputs, signingKey,
22
22
  const sendAmount = await sumSendRequestAmounts(outputs);
23
23
  const changeAmount = BigInt(inputAmount) - BigInt(sendAmount) - BigInt(fee);
24
24
  outputs = allocateFee(outputs, fee, feePaidBy, changeAmount);
25
- const lockedOutputs = await prepareOutputs(outputs);
26
- if (!changeAddress) {
27
- changeAddress = inputs[0].address;
28
- }
29
- if (discardChange !== true) {
30
- if (changeAmount > DUST_UTXO_THRESHOLD) {
31
- const changeLockingBytecode = cashAddressToLockingBytecode(changeAddress);
32
- if (typeof changeLockingBytecode === "string") {
33
- throw Error(changeLockingBytecode);
34
- }
35
- lockedOutputs.push({
36
- lockingBytecode: changeLockingBytecode.bytecode,
37
- valueSatoshis: BigInt(changeAmount),
38
- });
25
+ // Append change as a SendRequest so user-supplied output ordering can act on
26
+ // the complete output list. Skipped when discardChange is set or the change
27
+ // would be below the dust threshold.
28
+ let changeOutputIndex;
29
+ if (discardChange !== true && changeAmount > DUST_UTXO_THRESHOLD) {
30
+ if (!changeAddress) {
31
+ changeAddress = inputs[0].address;
39
32
  }
33
+ outputs = [
34
+ ...outputs,
35
+ new SendRequest({ cashaddr: changeAddress, value: BigInt(changeAmount) }),
36
+ ];
37
+ changeOutputIndex = outputs.length - 1;
40
38
  }
39
+ if (outputOrdering) {
40
+ outputs = outputOrdering({ outputs, changeOutputIndex });
41
+ }
42
+ const lockedOutputs = await prepareOutputs(outputs);
41
43
  const { preparedInputs, sourceOutputs } = prepareInputs({
42
44
  inputs,
43
45
  compiler,
@@ -198,7 +200,7 @@ export function prepareTokenOutputs(request) {
198
200
  *
199
201
  * @returns A promise to a list of unspent outputs
200
202
  */
201
- export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePaidBy, requests, ensureUtxos = [], tokenOperation = "send") {
203
+ export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePaidBy, requests, ensureUtxos = [], tokenOperation = "send", coinControl = {}) {
202
204
  const utxoKey = (u) => `${u.txid}:${u.vout}`;
203
205
  const selectedSet = new Set();
204
206
  const suitableUtxos = [];
@@ -311,23 +313,61 @@ export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePa
311
313
  throw Error(`No suitable token utxos available to send token with id "${request.category}", capability "${request.nft?.capability}", commitment "${request.nft?.commitment}"`);
312
314
  }
313
315
  }
314
- // find plain bch outputs
315
- for (let i = 0; i < inputs.length; i++) {
316
- // check early if we already have enough
317
- if (amountRequired && amountAvailable > amountRequired) {
318
- break;
316
+ // Find plain BCH outputs to top up the transaction. When the caller
317
+ // supplied a coin-selection strategy we delegate to it; otherwise we run
318
+ // the historical natural-order accumulation inline so the coin-control
319
+ // module isn't pulled into the bundle of consumers that never opt in.
320
+ const alreadyEnough = amountRequired !== undefined && amountAvailable >= amountRequired;
321
+ if (!alreadyEnough) {
322
+ if (coinControl.coinSelection) {
323
+ const available = [];
324
+ for (let i = 0; i < inputs.length; i++) {
325
+ if (usedIndices.has(i))
326
+ continue;
327
+ const u = inputs[i];
328
+ if (u.token)
329
+ continue;
330
+ const key = utxoKey(u);
331
+ if (selectedSet.has(key))
332
+ continue;
333
+ available.push(u);
334
+ }
335
+ const stillNeeded = amountRequired === undefined
336
+ ? BigInt(Number.MAX_SAFE_INTEGER)
337
+ : amountRequired - amountAvailable;
338
+ const picked = coinControl.coinSelection({
339
+ available,
340
+ pinned: [...suitableUtxos],
341
+ amountRequired: stillNeeded,
342
+ feePerByte: coinControl.feePerByte ?? 1,
343
+ bestHeight,
344
+ });
345
+ for (const u of picked) {
346
+ const key = utxoKey(u);
347
+ if (selectedSet.has(key))
348
+ continue;
349
+ selectedSet.add(key);
350
+ suitableUtxos.push(u);
351
+ amountAvailable += BigInt(u.satoshis);
352
+ }
353
+ }
354
+ else {
355
+ for (let i = 0; i < inputs.length; i++) {
356
+ if (amountRequired && amountAvailable > amountRequired)
357
+ break;
358
+ if (usedIndices.has(i))
359
+ continue;
360
+ const u = inputs[i];
361
+ if (u.token)
362
+ continue;
363
+ const key = utxoKey(u);
364
+ if (selectedSet.has(key))
365
+ continue;
366
+ selectedSet.add(key);
367
+ suitableUtxos.push(u);
368
+ amountAvailable += BigInt(u.satoshis);
369
+ }
319
370
  }
320
- if (usedIndices.has(i))
321
- continue;
322
- const u = inputs[i];
323
- if (u.token)
324
- continue;
325
- const key = utxoKey(u);
326
- if (selectedSet.has(key))
327
- continue;
328
- selectedSet.add(key);
329
- suitableUtxos.push(u);
330
- amountAvailable += BigInt(u.satoshis);
331
371
  }
332
372
  // if the fee is split with a feePaidBy option, skip checking change.
333
373
  if (feePaidBy && feePaidBy != FeePaidByEnum.change) {
@@ -382,7 +422,7 @@ export async function getFeeAmountSimple({ utxos, sendRequests, relayFeePerByteI
382
422
  return BigInt(Math.ceil((inputTotalSize + outputTotalSize + 16) * relayFeePerByteInSatoshi));
383
423
  }
384
424
  // precise fee estimation
385
- export async function getFeeAmount({ utxos, sendRequests, sourceAddress, relayFeePerByteInSatoshi, feePaidBy, discardChange, walletCache, }) {
425
+ export async function getFeeAmount({ utxos, sendRequests, sourceAddress, relayFeePerByteInSatoshi, feePaidBy, discardChange, walletCache, fee: feeStrategy, }) {
386
426
  // build transaction
387
427
  if (utxos) {
388
428
  // Build the transaction to get the approximate size
@@ -396,6 +436,12 @@ export async function getFeeAmount({ utxos, sendRequests, sourceAddress, relayFe
396
436
  changeAddress: "",
397
437
  walletCache,
398
438
  });
439
+ if (feeStrategy) {
440
+ return feeStrategy({
441
+ txSizeBytes: draftTransaction.length,
442
+ relayFeePerByte: relayFeePerByteInSatoshi,
443
+ });
444
+ }
399
445
  return BigInt(Math.ceil(draftTransaction.length * relayFeePerByteInSatoshi + 1));
400
446
  }
401
447
  else {
@@ -403,7 +449,7 @@ export async function getFeeAmount({ utxos, sendRequests, sourceAddress, relayFe
403
449
  }
404
450
  }
405
451
  // Build encoded transaction
406
- export async function buildEncodedTransaction({ inputs, outputs, signingKey, fee = 0n, discardChange = false, feePaidBy = FeePaidByEnum.change, changeAddress = "", buildUnsigned = false, walletCache, }) {
452
+ export async function buildEncodedTransaction({ inputs, outputs, signingKey, fee = 0n, discardChange = false, feePaidBy = FeePaidByEnum.change, changeAddress = "", buildUnsigned = false, walletCache, outputOrdering, }) {
407
453
  const { transaction, sourceOutputs } = await buildP2pkhNonHdTransaction({
408
454
  inputs,
409
455
  outputs,
@@ -413,6 +459,7 @@ export async function buildEncodedTransaction({ inputs, outputs, signingKey, fee
413
459
  feePaidBy,
414
460
  changeAddress,
415
461
  walletCache,
462
+ outputOrdering,
416
463
  });
417
464
  if (buildUnsigned === true) {
418
465
  transaction.inputs.forEach((input) => (input.unlockingBytecode = Uint8Array.from([])));
@@ -1 +1 @@
1
- {"version":3,"file":"Wif.js","sourceRoot":"","sources":["../../../src/transaction/Wif.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Wif.js","sourceRoot":"","sources":["../../../src/transaction/Wif.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { FeeFn } from "./types.js";
2
+ /**
3
+ * Default fee strategy: relayFeePerByte * txSizeBytes, rounded up. Matches
4
+ * the historical behaviour of mainnet-js when no `fee` option is supplied.
5
+ */
6
+ export declare const feeFromRelay: FeeFn;
7
+ /**
8
+ * Factory: charge a fixed rate (sats per byte) regardless of the network's
9
+ * advertised relay fee. Useful when the caller wants to prioritise a tx
10
+ * (higher rate) or save fees (lower, at the risk of slower propagation).
11
+ *
12
+ * @example
13
+ * send(requests, { fee: feeFixedPerByte(2) });
14
+ */
15
+ export declare function feeFixedPerByte(satsPerByte: number): FeeFn;
16
+ /**
17
+ * Factory: charge a fixed rate expressed in sats per kilobyte.
18
+ *
19
+ * @example
20
+ * send(requests, { fee: feeFixedPerKb(1000) }); // ~1 sat/byte
21
+ */
22
+ export declare function feeFixedPerKb(satsPerKb: number): FeeFn;
23
+ /**
24
+ * Factory: pay a fixed absolute fee, ignoring transaction size. Caller takes
25
+ * responsibility for the fee being large enough to relay; under-paying can
26
+ * lead to the transaction being rejected by the network.
27
+ *
28
+ * @example
29
+ * send(requests, { fee: feeAbsolute(500n) });
30
+ */
31
+ export declare function feeAbsolute(sats: bigint): FeeFn;
32
+ //# sourceMappingURL=fee.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../../../../src/transaction/coin-control/fee.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAC+B,CAAC;AAE3D;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAE/C"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Default fee strategy: relayFeePerByte * txSizeBytes, rounded up. Matches
3
+ * the historical behaviour of mainnet-js when no `fee` option is supplied.
4
+ */
5
+ export const feeFromRelay = (ctx) => BigInt(Math.ceil(ctx.txSizeBytes * ctx.relayFeePerByte));
6
+ /**
7
+ * Factory: charge a fixed rate (sats per byte) regardless of the network's
8
+ * advertised relay fee. Useful when the caller wants to prioritise a tx
9
+ * (higher rate) or save fees (lower, at the risk of slower propagation).
10
+ *
11
+ * @example
12
+ * send(requests, { fee: feeFixedPerByte(2) });
13
+ */
14
+ export function feeFixedPerByte(satsPerByte) {
15
+ return (ctx) => BigInt(Math.ceil(ctx.txSizeBytes * satsPerByte));
16
+ }
17
+ /**
18
+ * Factory: charge a fixed rate expressed in sats per kilobyte.
19
+ *
20
+ * @example
21
+ * send(requests, { fee: feeFixedPerKb(1000) }); // ~1 sat/byte
22
+ */
23
+ export function feeFixedPerKb(satsPerKb) {
24
+ return (ctx) => BigInt(Math.ceil((ctx.txSizeBytes * satsPerKb) / 1000));
25
+ }
26
+ /**
27
+ * Factory: pay a fixed absolute fee, ignoring transaction size. Caller takes
28
+ * responsibility for the fee being large enough to relay; under-paying can
29
+ * lead to the transaction being rejected by the network.
30
+ *
31
+ * @example
32
+ * send(requests, { fee: feeAbsolute(500n) });
33
+ */
34
+ export function feeAbsolute(sats) {
35
+ return () => sats;
36
+ }
37
+ //# sourceMappingURL=fee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../../src/transaction/coin-control/fee.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAU,CAAC,GAAG,EAAE,EAAE,CACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;AACpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { feeAbsolute, feeFixedPerByte, feeFixedPerKb, feeFromRelay, } from "./fee.js";
2
+ export { inputOrderBip69, inputOrderNatural, inputOrderRandom, } from "./input-order.js";
3
+ export { outputOrderBip69, outputOrderNatural, outputOrderRandom, } from "./output-order.js";
4
+ export { selectAccumulative, selectBranchAndBound, selectLargestFirst, selectNatural, selectNewestFirst, selectOldestFirst, selectRandom, selectSmallestFirst, } from "./selection.js";
5
+ export type { CoinSelectionContext, CoinSelectionFn, FeeContext, FeeFn, InputOrderingContext, InputOrderingFn, OutputOrderingContext, OutputOrderingFn, TxOutput, } from "./types.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transaction/coin-control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,KAAK,EACL,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,GACT,MAAM,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { feeAbsolute, feeFixedPerByte, feeFixedPerKb, feeFromRelay, } from "./fee.js";
2
+ export { inputOrderBip69, inputOrderNatural, inputOrderRandom, } from "./input-order.js";
3
+ export { outputOrderBip69, outputOrderNatural, outputOrderRandom, } from "./output-order.js";
4
+ export { selectAccumulative, selectBranchAndBound, selectLargestFirst, selectNatural, selectNewestFirst, selectOldestFirst, selectRandom, selectSmallestFirst, } from "./selection.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transaction/coin-control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,GACpB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { InputOrderingFn } from "./types.js";
2
+ /**
3
+ * Preserve the selection order. This is the default when no `inputOrdering`
4
+ * option is supplied.
5
+ */
6
+ export declare const inputOrderNatural: InputOrderingFn;
7
+ /**
8
+ * BIP69 input ordering: sort lexicographically by reversed txid then by
9
+ * vout ascending. This matches the convention used by Bitcoin Core and
10
+ * many other wallets.
11
+ *
12
+ * Note: Bitcoin transactions internally serialize txids in reverse byte
13
+ * order, which is what BIP69 sorts on. The `Utxo.txid` field in mainnet-js
14
+ * is in the user-facing big-endian hex form, so we compare its byte-reversal.
15
+ */
16
+ export declare const inputOrderBip69: InputOrderingFn;
17
+ /**
18
+ * Shuffle the inputs. Improves privacy by hiding the upstream selection
19
+ * order (which can leak the chosen selection strategy).
20
+ */
21
+ export declare const inputOrderRandom: InputOrderingFn;
22
+ //# sourceMappingURL=input-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-order.d.ts","sourceRoot":"","sources":["../../../../src/transaction/coin-control/input-order.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAqC,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,eACY,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAA8C,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Preserve the selection order. This is the default when no `inputOrdering`
3
+ * option is supplied.
4
+ */
5
+ export const inputOrderNatural = (ctx) => ctx.inputs;
6
+ /**
7
+ * BIP69 input ordering: sort lexicographically by reversed txid then by
8
+ * vout ascending. This matches the convention used by Bitcoin Core and
9
+ * many other wallets.
10
+ *
11
+ * Note: Bitcoin transactions internally serialize txids in reverse byte
12
+ * order, which is what BIP69 sorts on. The `Utxo.txid` field in mainnet-js
13
+ * is in the user-facing big-endian hex form, so we compare its byte-reversal.
14
+ */
15
+ export const inputOrderBip69 = (ctx) => [...ctx.inputs].sort(compareBip69Inputs);
16
+ /**
17
+ * Shuffle the inputs. Improves privacy by hiding the upstream selection
18
+ * order (which can leak the chosen selection strategy).
19
+ */
20
+ export const inputOrderRandom = (ctx) => shuffle(ctx.inputs);
21
+ // ----------------------------------------------------------------------------
22
+ // Helpers
23
+ // ----------------------------------------------------------------------------
24
+ function compareBip69Inputs(a, b) {
25
+ // Compare reversed txid bytes (Bitcoin's internal serialization order).
26
+ const ar = reverseHex(a.txid);
27
+ const br = reverseHex(b.txid);
28
+ if (ar < br)
29
+ return -1;
30
+ if (ar > br)
31
+ return 1;
32
+ // Equal txid -> break tie on vout ascending.
33
+ return a.vout - b.vout;
34
+ }
35
+ function reverseHex(hex) {
36
+ // Split into 2-char bytes and reverse. Falls back to lexicographic compare
37
+ // when the string isn't a clean hex tx id.
38
+ if (hex.length % 2 !== 0)
39
+ return hex;
40
+ let out = "";
41
+ for (let i = hex.length - 2; i >= 0; i -= 2) {
42
+ out += hex.slice(i, i + 2);
43
+ }
44
+ return out;
45
+ }
46
+ function shuffle(arr) {
47
+ const out = [...arr];
48
+ for (let i = out.length - 1; i > 0; i--) {
49
+ const j = Math.floor(Math.random() * (i + 1));
50
+ [out[i], out[j]] = [out[j], out[i]];
51
+ }
52
+ return out;
53
+ }
54
+ //# sourceMappingURL=input-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-order.js","sourceRoot":"","sources":["../../../../src/transaction/coin-control/input-order.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoB,CAAC,GAAG,EAAE,EAAE,CACtD,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAE9E,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,SAAS,kBAAkB,CAAC,CAAO,EAAE,CAAO;IAC1C,wEAAwE;IACxE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,EAAE,GAAG,EAAE;QAAE,OAAO,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,GAAG,EAAE;QAAE,OAAO,CAAC,CAAC;IACtB,6CAA6C;IAC7C,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;AACzB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,2EAA2E;IAC3E,2CAA2C;IAC3C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACrC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,OAAO,CAAI,GAAQ;IAC1B,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { OutputOrderingFn } from "./types.js";
2
+ /**
3
+ * Preserve the order produced by the caller (with change last when present).
4
+ * Default when no `outputOrdering` option is supplied.
5
+ */
6
+ export declare const outputOrderNatural: OutputOrderingFn;
7
+ /**
8
+ * BIP69 output ordering: sort by output value ascending, breaking ties on
9
+ * locking bytecode bytes ascending. Token data is intentionally not part of
10
+ * the comparison key -- strict BIP69 is defined only for the value and the
11
+ * `scriptPubKey`.
12
+ *
13
+ * The change output (if present) takes part in the sort like any other
14
+ * output.
15
+ */
16
+ export declare const outputOrderBip69: OutputOrderingFn;
17
+ /**
18
+ * Shuffle the outputs. Improves privacy by making the change position
19
+ * unguessable.
20
+ */
21
+ export declare const outputOrderRandom: OutputOrderingFn;
22
+ //# sourceMappingURL=output-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-order.d.ts","sourceRoot":"","sources":["../../../../src/transaction/coin-control/output-order.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,YAAY,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,gBAAuC,CAAC;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBACa,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,gBACV,CAAC"}