mainnet-js 1.1.0 → 1.1.2

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.
@@ -1,2 +1,2 @@
1
- export { importAuthenticationTemplate, authenticationTemplateP2pkhNonHd, authenticationTemplateP2pkh, authenticationTemplateToCompilerBCH, cashAddressToLockingBytecode, hexToBin, generateTransaction, encodeTransaction, } from "@bitauth/libauth";
1
+ export { importAuthenticationTemplate, authenticationTemplateP2pkhNonHd, authenticationTemplateP2pkh, authenticationTemplateToCompilerBCH, cashAddressToLockingBytecode, hexToBin, generateTransaction, encodeTransaction, decodeTransaction, } from "@bitauth/libauth";
2
2
  //# sourceMappingURL=libauth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"libauth.d.ts","sourceRoot":"","sources":["../../src/libauth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,mCAAmC,EACnC,4BAA4B,EAC5B,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"libauth.d.ts","sourceRoot":"","sources":["../../src/libauth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,mCAAmC,EACnC,4BAA4B,EAC5B,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC"}
@@ -1,2 +1,2 @@
1
- export { importAuthenticationTemplate, authenticationTemplateP2pkhNonHd, authenticationTemplateP2pkh, authenticationTemplateToCompilerBCH, cashAddressToLockingBytecode, hexToBin, generateTransaction, encodeTransaction, } from "@bitauth/libauth";
1
+ export { importAuthenticationTemplate, authenticationTemplateP2pkhNonHd, authenticationTemplateP2pkh, authenticationTemplateToCompilerBCH, cashAddressToLockingBytecode, hexToBin, generateTransaction, encodeTransaction, decodeTransaction, } from "@bitauth/libauth";
2
2
  //# sourceMappingURL=libauth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"libauth.js","sourceRoot":"","sources":["../../src/libauth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,mCAAmC,EACnC,4BAA4B,EAC5B,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"libauth.js","sourceRoot":"","sources":["../../src/libauth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,mCAAmC,EACnC,4BAA4B,EAC5B,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC"}
@@ -2,8 +2,29 @@ import { Compiler, AnyCompilerConfiguration, AuthenticationProgramStateCommon, C
2
2
  import { UtxoI } from "../interface.js";
3
3
  import { OpReturnData, SendRequest, SendRequestType, TokenSendRequest } from "../wallet/model.js";
4
4
  import { FeePaidByEnum } from "../wallet/enum.js";
5
- export declare function buildP2pkhNonHdTransaction(inputs: UtxoI[], outputs: Array<SendRequest | TokenSendRequest | OpReturnData>, signingKey: Uint8Array, fee?: number, discardChange?: boolean, slpOutputs?: Output[], feePaidBy?: FeePaidByEnum, changeAddress?: string): Promise<import("@bitauth/libauth").TransactionGenerationAttempt>;
6
- export declare function prepareInputs(inputs: UtxoI[], compiler: Compiler<CompilationContextBCH, AnyCompilerConfiguration<CompilationContextBCH>, AuthenticationProgramStateCommon>, signingKey: Uint8Array): any[];
5
+ export declare function buildP2pkhNonHdTransaction({ inputs, outputs, signingKey, sourceAddress, fee, discardChange, slpOutputs, feePaidBy, changeAddress, }: {
6
+ inputs: UtxoI[];
7
+ outputs: Array<SendRequest | TokenSendRequest | OpReturnData>;
8
+ signingKey: Uint8Array;
9
+ sourceAddress: string;
10
+ fee?: number;
11
+ discardChange?: boolean;
12
+ slpOutputs?: Output[];
13
+ feePaidBy?: FeePaidByEnum;
14
+ changeAddress?: string;
15
+ }): Promise<{
16
+ transaction: import("@bitauth/libauth").TransactionCommon<import("@bitauth/libauth").Input<Uint8Array, Uint8Array>, Output<Uint8Array, Uint8Array>>;
17
+ sourceOutputs: any[];
18
+ }>;
19
+ export declare function prepareInputs({ inputs, compiler, signingKey, sourceAddress, }: {
20
+ inputs: UtxoI[];
21
+ compiler: Compiler<CompilationContextBCH, AnyCompilerConfiguration<CompilationContextBCH>, AuthenticationProgramStateCommon>;
22
+ signingKey: Uint8Array;
23
+ sourceAddress: string;
24
+ }): {
25
+ preparedInputs: any[];
26
+ sourceOutputs: any[];
27
+ };
7
28
  /**
8
29
  * prepareOutputs - create outputs for a transaction from a list of send requests
9
30
  *
@@ -11,7 +32,7 @@ export declare function prepareInputs(inputs: UtxoI[], compiler: Compiler<Compil
11
32
  *
12
33
  * @returns A promise to a list of unspent outputs
13
34
  */
14
- export declare function prepareOutputs(outputs: Array<SendRequest | TokenSendRequest | OpReturnData>, inputs: UtxoI[]): Promise<Output<Uint8Array, Uint8Array>[]>;
35
+ export declare function prepareOutputs(outputs: Array<SendRequest | TokenSendRequest | OpReturnData>): Promise<Output<Uint8Array, Uint8Array>[]>;
15
36
  /**
16
37
  * prepareOpReturnOutput - create an output for OP_RETURN data
17
38
  *
@@ -23,7 +44,7 @@ export declare function prepareOpReturnOutput(request: OpReturnData): Output;
23
44
  *
24
45
  * @returns A libauth Output
25
46
  */
26
- export declare function prepareTokenOutputs(request: TokenSendRequest, inputs: UtxoI[]): Output;
47
+ export declare function prepareTokenOutputs(request: TokenSendRequest): Output;
27
48
  /**
28
49
  * getSuitableUtxos - Filter a list of unspent transaction outputs to the minimum needed to complete a transaction
29
50
  *
@@ -33,15 +54,29 @@ export declare function prepareTokenOutputs(request: TokenSendRequest, inputs: U
33
54
  *
34
55
  * @returns A promise to a list of unspent outputs
35
56
  */
36
- export declare function getSuitableUtxos(inputs: UtxoI[], amountRequired: BigInt | undefined, bestHeight: number, feePaidBy: FeePaidByEnum, requests: SendRequestType[], ensureUtxos?: UtxoI[]): Promise<UtxoI[]>;
37
- export declare function getFeeAmount({ utxos, sendRequests, privateKey, relayFeePerByteInSatoshi, slpOutputs, feePaidBy, discardChange, }: {
57
+ export declare function getSuitableUtxos(inputs: UtxoI[], amountRequired: BigInt | undefined, bestHeight: number, feePaidBy: FeePaidByEnum, requests: SendRequestType[], ensureUtxos?: UtxoI[], tokenOperation?: "send" | "genesis" | "mint" | "burn"): Promise<UtxoI[]>;
58
+ export declare function getFeeAmount({ utxos, sendRequests, privateKey, sourceAddress, relayFeePerByteInSatoshi, slpOutputs, feePaidBy, discardChange, }: {
38
59
  utxos: UtxoI[];
39
60
  sendRequests: Array<SendRequest | TokenSendRequest | OpReturnData>;
40
61
  privateKey: Uint8Array;
62
+ sourceAddress: string;
41
63
  relayFeePerByteInSatoshi: number;
42
64
  slpOutputs: Output[];
43
65
  feePaidBy: FeePaidByEnum;
44
66
  discardChange?: boolean;
45
67
  }): Promise<number>;
46
- export declare function buildEncodedTransaction(fundingUtxos: UtxoI[], sendRequests: Array<SendRequest | TokenSendRequest | OpReturnData>, privateKey: Uint8Array, fee?: number, discardChange?: boolean, slpOutputs?: Output[], feePaidBy?: FeePaidByEnum, changeAddress?: string): Promise<Uint8Array>;
68
+ export declare function buildEncodedTransaction({ inputs, outputs, signingKey, sourceAddress, fee, discardChange, slpOutputs, feePaidBy, changeAddress, }: {
69
+ inputs: UtxoI[];
70
+ outputs: Array<SendRequest | TokenSendRequest | OpReturnData>;
71
+ signingKey: Uint8Array;
72
+ sourceAddress: string;
73
+ fee?: number;
74
+ discardChange?: boolean;
75
+ slpOutputs?: Output[];
76
+ feePaidBy?: FeePaidByEnum;
77
+ changeAddress?: string;
78
+ }): Promise<{
79
+ encodedTransaction: Uint8Array;
80
+ sourceOutputs: any[];
81
+ }>;
47
82
  //# sourceMappingURL=Wif.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wif.d.ts","sourceRoot":"","sources":["../../../src/transaction/Wif.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,QAAQ,EAIR,wBAAwB,EACxB,gCAAgC,EAChC,qBAAqB,EACrB,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAyB,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAI/D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,GAAG,YAAY,CAAC,EAC7D,UAAU,EAAE,UAAU,EACtB,GAAG,GAAE,MAAU,EACf,aAAa,UAAQ,EACrB,UAAU,GAAE,MAAM,EAAO,EACzB,SAAS,GAAE,aAAoC,EAC/C,aAAa,GAAE,MAAW,oEAwD3B;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,KAAK,EAAE,EACf,QAAQ,EAAE,QAAQ,CAChB,qBAAqB,EACrB,wBAAwB,CAAC,qBAAqB,CAAC,EAC/C,gCAAgC,CACjC,EACD,UAAU,EAAE,UAAU,SA4CvB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,GAAG,YAAY,CAAC,EAC7D,MAAM,EAAE,KAAK,EAAE,6CA+BhB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAKnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EAAE,GACd,MAAM,CA2DR;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,KAAK,EAAE,EACf,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,eAAe,EAAE,EAC3B,WAAW,GAAE,KAAK,EAAO,GACxB,OAAO,CAAC,KAAK,EAAE,CAAC,CA8FlB;AAED,wBAAsB,YAAY,CAAC,EACjC,KAAK,EACL,YAAY,EACZ,UAAU,EACV,wBAAwB,EACxB,UAAU,EACV,SAAS,EACT,aAAa,GACd,EAAE;IACD,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,YAAY,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,GAAG,YAAY,CAAC,CAAC;IACnE,UAAU,EAAE,UAAU,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,mBAoBA;AAGD,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,KAAK,EAAE,EACrB,YAAY,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,GAAG,YAAY,CAAC,EAClE,UAAU,EAAE,UAAU,EACtB,GAAG,GAAE,MAAU,EACf,aAAa,UAAQ,EACrB,UAAU,GAAE,MAAM,EAAO,EACzB,SAAS,GAAE,aAAoC,EAC/C,aAAa,GAAE,MAAW,uBAkB3B"}
1
+ {"version":3,"file":"Wif.d.ts","sourceRoot":"","sources":["../../../src/transaction/Wif.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // Unstable?
2
- import { authenticationTemplateP2pkhNonHd, authenticationTemplateToCompilerBCH, cashAddressToLockingBytecode, encodeTransaction, generateTransaction, importAuthenticationTemplate, hexToBin, } from "@bitauth/libauth";
2
+ import { authenticationTemplateP2pkhNonHd, authenticationTemplateToCompilerBCH, cashAddressToLockingBytecode, encodeTransaction, generateTransaction, importAuthenticationTemplate, hexToBin, verifyTransactionTokens, } from "@bitauth/libauth";
3
3
  import { NFTCapability } from "../interface.js";
4
4
  import { allocateFee } from "./allocateFee.js";
5
5
  import { DUST_UTXO_THRESHOLD } from "../constant.js";
@@ -9,7 +9,7 @@ import { sumSendRequestAmounts } from "../util/sumSendRequestAmounts.js";
9
9
  import { sumUtxoValue } from "../util/sumUtxoValue.js";
10
10
  import { FeePaidByEnum } from "../wallet/enum.js";
11
11
  // Build a transaction for a p2pkh transaction for a non HD wallet
12
- export async function buildP2pkhNonHdTransaction(inputs, outputs, signingKey, fee = 0, discardChange = false, slpOutputs = [], feePaidBy = FeePaidByEnum.change, changeAddress = "") {
12
+ export async function buildP2pkhNonHdTransaction({ inputs, outputs, signingKey, sourceAddress, fee = 0, discardChange = false, slpOutputs = [], feePaidBy = FeePaidByEnum.change, changeAddress = "", }) {
13
13
  if (!signingKey) {
14
14
  throw new Error("Missing signing key when building transaction");
15
15
  }
@@ -22,7 +22,7 @@ export async function buildP2pkhNonHdTransaction(inputs, outputs, signingKey, fe
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
- let lockedOutputs = await prepareOutputs(outputs, inputs);
25
+ const lockedOutputs = await prepareOutputs(outputs);
26
26
  if (discardChange !== true) {
27
27
  if (changeAmount > DUST_UTXO_THRESHOLD) {
28
28
  let changeLockingBytecode;
@@ -47,22 +47,35 @@ export async function buildP2pkhNonHdTransaction(inputs, outputs, signingKey, fe
47
47
  });
48
48
  }
49
49
  }
50
- let signedInputs = prepareInputs(inputs, compiler, signingKey);
50
+ const { preparedInputs, sourceOutputs } = prepareInputs({
51
+ inputs,
52
+ compiler,
53
+ signingKey,
54
+ sourceAddress,
55
+ });
51
56
  const result = generateTransaction({
52
- inputs: signedInputs,
57
+ inputs: preparedInputs,
53
58
  locktime: 0,
54
59
  outputs: [...slpOutputs, ...lockedOutputs],
55
60
  version: 2,
56
61
  });
57
- return result;
62
+ if (!result.success) {
63
+ throw Error("Error building transaction with fee");
64
+ }
65
+ const tokenValidationResult = verifyTransactionTokens(result.transaction, sourceOutputs);
66
+ if (tokenValidationResult !== true && fee > 0) {
67
+ throw tokenValidationResult;
68
+ }
69
+ return { transaction: result.transaction, sourceOutputs: sourceOutputs };
58
70
  }
59
- export function prepareInputs(inputs, compiler, signingKey) {
60
- let signedInputs = [];
71
+ export function prepareInputs({ inputs, compiler, signingKey, sourceAddress, }) {
72
+ const preparedInputs = [];
73
+ const sourceOutputs = [];
61
74
  for (const i of inputs) {
62
75
  const utxoTxnValue = i.satoshis;
63
76
  const utxoIndex = i.vout;
64
77
  // slice will create a clone of the array
65
- let utxoOutpointTransactionHash = new Uint8Array(i.txid.match(/.{1,2}/g).map((byte) => parseInt(byte, 16)));
78
+ const utxoOutpointTransactionHash = new Uint8Array(i.txid.match(/.{1,2}/g).map((byte) => parseInt(byte, 16)));
66
79
  // reverse the cloned copy
67
80
  // utxoOutpointTransactionHash.reverse();
68
81
  if (!utxoOutpointTransactionHash || utxoIndex === undefined) {
@@ -71,30 +84,48 @@ export function prepareInputs(inputs, compiler, signingKey) {
71
84
  const libAuthToken = i.token && {
72
85
  amount: BigInt(i.token.amount),
73
86
  category: hexToBin(i.token.tokenId),
74
- nft: i.token.capability || i.token.commitment
87
+ nft: i.token.capability !== undefined || i.token.commitment !== undefined
75
88
  ? {
76
89
  capability: i.token.capability,
77
- commitment: i.token.commitment && hexToBin(i.token.commitment),
90
+ commitment: i.token.commitment !== undefined &&
91
+ hexToBin(i.token.commitment),
78
92
  }
79
93
  : undefined,
80
94
  };
81
- let newInput = {
95
+ const newInput = signingKey?.length
96
+ ? {
97
+ outpointIndex: utxoIndex,
98
+ outpointTransactionHash: utxoOutpointTransactionHash,
99
+ sequenceNumber: 0,
100
+ unlockingBytecode: {
101
+ compiler,
102
+ data: {
103
+ keys: { privateKeys: { key: signingKey } },
104
+ },
105
+ valueSatoshis: BigInt(utxoTxnValue),
106
+ script: "unlock",
107
+ token: libAuthToken,
108
+ },
109
+ }
110
+ : {
111
+ outpointIndex: utxoIndex,
112
+ outpointTransactionHash: utxoOutpointTransactionHash,
113
+ sequenceNumber: 0,
114
+ unlockingBytecode: Uint8Array.from([]),
115
+ };
116
+ preparedInputs.push(newInput);
117
+ sourceOutputs.push({
82
118
  outpointIndex: utxoIndex,
83
119
  outpointTransactionHash: utxoOutpointTransactionHash,
84
120
  sequenceNumber: 0,
85
- unlockingBytecode: {
86
- compiler,
87
- data: {
88
- keys: { privateKeys: { key: signingKey } },
89
- },
90
- valueSatoshis: BigInt(utxoTxnValue),
91
- script: "unlock",
92
- token: libAuthToken,
93
- },
94
- };
95
- signedInputs.push(newInput);
121
+ unlockingBytecode: Uint8Array.from([]),
122
+ // additional info for sourceOutputs
123
+ lockingBytecode: cashAddressToLockingBytecode(sourceAddress),
124
+ valueSatoshis: BigInt(utxoTxnValue),
125
+ token: libAuthToken,
126
+ });
96
127
  }
97
- return signedInputs;
128
+ return { preparedInputs, sourceOutputs };
98
129
  }
99
130
  /**
100
131
  * prepareOutputs - create outputs for a transaction from a list of send requests
@@ -103,11 +134,11 @@ export function prepareInputs(inputs, compiler, signingKey) {
103
134
  *
104
135
  * @returns A promise to a list of unspent outputs
105
136
  */
106
- export async function prepareOutputs(outputs, inputs) {
107
- let lockedOutputs = [];
137
+ export async function prepareOutputs(outputs) {
138
+ const lockedOutputs = [];
108
139
  for (const output of outputs) {
109
140
  if (output instanceof TokenSendRequest) {
110
- lockedOutputs.push(prepareTokenOutputs(output, inputs));
141
+ lockedOutputs.push(prepareTokenOutputs(output));
111
142
  continue;
112
143
  }
113
144
  if (output instanceof OpReturnData) {
@@ -145,52 +176,24 @@ export function prepareOpReturnOutput(request) {
145
176
  *
146
177
  * @returns A libauth Output
147
178
  */
148
- export function prepareTokenOutputs(request, inputs) {
179
+ export function prepareTokenOutputs(request) {
149
180
  const token = request;
150
- const isGenesis = !request.tokenId || request._isGenesis;
151
- let satValue = 0;
152
- if (isGenesis) {
153
- const genesisInputs = inputs.filter((val) => val.vout === 0);
154
- if (genesisInputs.length === 0) {
155
- throw new Error("No suitable inputs with vout=0 available for new token genesis");
156
- }
157
- token.tokenId = genesisInputs[0].txid;
158
- satValue = request.value || 1000;
159
- request._isGenesis = true;
160
- }
161
- else {
162
- const tokenInputs = inputs.filter((val) => val.token?.tokenId === request.tokenId);
163
- if (!tokenInputs.length) {
164
- throw new Error(`No token utxos available to send ${request.tokenId}`);
165
- }
166
- if (!token.capability && tokenInputs[0].token?.capability) {
167
- token.capability = tokenInputs[0].token.capability;
168
- }
169
- if (!token.commitment && tokenInputs[0].token?.commitment) {
170
- token.commitment = tokenInputs[0].token.commitment;
171
- }
172
- if (tokenInputs[0].token?.capability === NFTCapability.none &&
173
- tokenInputs[0].token?.commitment !== token.commitment) {
174
- throw new Error("Can not change the commitment of an immutable token");
175
- }
176
- satValue = request.value || tokenInputs[0].satoshis;
177
- }
178
- let outputLockingBytecode = cashAddressToLockingBytecode(request.cashaddr);
181
+ const outputLockingBytecode = cashAddressToLockingBytecode(request.cashaddr);
179
182
  if (typeof outputLockingBytecode === "string")
180
183
  throw new Error(outputLockingBytecode);
181
184
  const libAuthToken = {
182
185
  amount: BigInt(token.amount),
183
186
  category: hexToBin(token.tokenId),
184
- nft: token.capability || token.commitment
187
+ nft: token.capability !== undefined || token.commitment !== undefined
185
188
  ? {
186
189
  capability: token.capability,
187
- commitment: token.commitment && hexToBin(token.commitment),
190
+ commitment: token.commitment !== undefined && hexToBin(token.commitment),
188
191
  }
189
192
  : undefined,
190
193
  };
191
194
  return {
192
195
  lockingBytecode: outputLockingBytecode.bytecode,
193
- valueSatoshis: BigInt(satValue),
196
+ valueSatoshis: BigInt(request.value || 1000),
194
197
  token: libAuthToken,
195
198
  };
196
199
  }
@@ -203,49 +206,54 @@ export function prepareTokenOutputs(request, inputs) {
203
206
  *
204
207
  * @returns A promise to a list of unspent outputs
205
208
  */
206
- export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePaidBy, requests, ensureUtxos = []) {
207
- let suitableUtxos = [];
209
+ export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePaidBy, requests, ensureUtxos = [], tokenOperation = "send") {
210
+ const suitableUtxos = [...ensureUtxos];
208
211
  let amountAvailable = BigInt(0);
209
- const tokenAmountsRequired = [];
210
212
  const tokenRequests = requests.filter((val) => val instanceof TokenSendRequest);
211
- // if we do a new token genesis, we shall filter all token utxos out
212
- const isTokenGenesis = tokenRequests.some((val) => !val.tokenId || val._isGenesis);
213
- const bchOnlyTransfer = tokenRequests.length === 0;
214
- let filteredInputs = isTokenGenesis || bchOnlyTransfer
215
- ? inputs.slice(0).filter((val) => !val.token)
216
- : inputs.slice();
217
- const tokenIds = tokenRequests
218
- .map((val) => val.tokenId)
219
- .filter((value, index, array) => array.indexOf(value) === index);
220
- for (let tokenId of tokenIds) {
221
- const requiredAmount = tokenRequests
222
- .map((val) => val.amount)
223
- .reduce((prev, cur) => prev + cur, 0);
224
- tokenAmountsRequired.push({ tokenId, requiredAmount });
225
- }
226
- // find suitable token inputs first
227
- for (const { tokenId, requiredAmount } of tokenAmountsRequired) {
228
- let tokenAmountAvailable = 0;
229
- for (const input of inputs) {
230
- if (input.token?.tokenId === tokenId) {
231
- suitableUtxos.push(input);
232
- const inputIndex = filteredInputs.indexOf(input);
233
- filteredInputs = filteredInputs.filter((_, index) => inputIndex !== index);
234
- tokenAmountAvailable += input.token.amount;
235
- amountAvailable += BigInt(input.satoshis);
236
- if (tokenAmountAvailable >= requiredAmount) {
237
- break;
213
+ const availableInputs = inputs.slice();
214
+ // find matching utxos for token transfers
215
+ if (tokenOperation === "send") {
216
+ for (const request of tokenRequests) {
217
+ const tokenInputs = availableInputs.filter((val) => val.token?.tokenId === request.tokenId);
218
+ const sameCommitmentTokens = [...suitableUtxos, ...tokenInputs].filter((val) => val.token?.capability === request.capability &&
219
+ val.token?.commitment === request.commitment);
220
+ if (sameCommitmentTokens.length) {
221
+ const input = sameCommitmentTokens[0];
222
+ const index = availableInputs.indexOf(input);
223
+ if (index !== -1) {
224
+ suitableUtxos.push(input);
225
+ availableInputs.splice(index, 1);
226
+ amountAvailable += BigInt(input.satoshis);
238
227
  }
228
+ continue;
239
229
  }
230
+ if (request.capability === NFTCapability.minting ||
231
+ request.capability === NFTCapability.mutable) {
232
+ const changeCommitmentTokens = [
233
+ ...suitableUtxos,
234
+ ...tokenInputs,
235
+ ].filter((val) => val.token?.capability === request.capability);
236
+ if (changeCommitmentTokens.length) {
237
+ const input = changeCommitmentTokens[0];
238
+ const index = availableInputs.indexOf(input);
239
+ if (index !== -1) {
240
+ suitableUtxos.push(input);
241
+ availableInputs.splice(index, 1);
242
+ amountAvailable += BigInt(input.satoshis);
243
+ }
244
+ continue;
245
+ }
246
+ }
247
+ throw Error(`No suitable token utxos available to send token with id "${request.tokenId}", capability "${request.capability}", commitment "${request.commitment}"`);
240
248
  }
241
249
  }
242
250
  // find plain bch outputs
243
- for (const u of filteredInputs) {
251
+ for (const u of availableInputs) {
244
252
  if (u.token) {
245
253
  continue;
246
254
  }
247
255
  if (u.coinbase && u.height && bestHeight) {
248
- let age = bestHeight - u.height;
256
+ const age = bestHeight - u.height;
249
257
  if (age > 100) {
250
258
  suitableUtxos.push(u);
251
259
  amountAvailable += BigInt(u.satoshis);
@@ -261,7 +269,7 @@ export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePa
261
269
  }
262
270
  }
263
271
  const addEnsured = (suitableUtxos) => {
264
- return [...suitableUtxos, ...ensureUtxos].filter((val, index, array) => array.indexOf(val) === index);
272
+ return [...ensureUtxos, ...suitableUtxos].filter((val, index, array) => array.findIndex((other) => other.txid === val.txid && other.vout === val.vout) === index);
265
273
  };
266
274
  // if the fee is split with a feePaidBy option, skip checking change.
267
275
  if (feePaidBy && feePaidBy != FeePaidByEnum.change) {
@@ -272,7 +280,7 @@ export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePa
272
280
  return addEnsured(suitableUtxos);
273
281
  }
274
282
  else if (amountAvailable < amountRequired) {
275
- let e = Error(`Amount required was not met, ${amountRequired} satoshis needed, ${amountAvailable} satoshis available`);
283
+ const e = Error(`Amount required was not met, ${amountRequired} satoshis needed, ${amountAvailable} satoshis available`);
276
284
  e["data"] = {
277
285
  required: amountRequired,
278
286
  available: amountAvailable,
@@ -283,12 +291,21 @@ export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePa
283
291
  return addEnsured(suitableUtxos);
284
292
  }
285
293
  }
286
- export async function getFeeAmount({ utxos, sendRequests, privateKey, relayFeePerByteInSatoshi, slpOutputs, feePaidBy, discardChange, }) {
294
+ export async function getFeeAmount({ utxos, sendRequests, privateKey, sourceAddress, relayFeePerByteInSatoshi, slpOutputs, feePaidBy, discardChange, }) {
287
295
  // build transaction
288
296
  if (utxos) {
289
297
  // Build the transaction to get the approximate size
290
- let draftTransaction = await buildEncodedTransaction(utxos, sendRequests, privateKey, 0, //DUST_UTXO_THRESHOLD
291
- discardChange ?? false, slpOutputs, feePaidBy);
298
+ const { encodedTransaction: draftTransaction } = await buildEncodedTransaction({
299
+ inputs: utxos,
300
+ outputs: sendRequests,
301
+ signingKey: privateKey,
302
+ sourceAddress,
303
+ fee: 0,
304
+ discardChange: discardChange ?? false,
305
+ slpOutputs,
306
+ feePaidBy,
307
+ changeAddress: "",
308
+ });
292
309
  return draftTransaction.length * relayFeePerByteInSatoshi + 1;
293
310
  }
294
311
  else {
@@ -296,14 +313,18 @@ export async function getFeeAmount({ utxos, sendRequests, privateKey, relayFeePe
296
313
  }
297
314
  }
298
315
  // Build encoded transaction
299
- export async function buildEncodedTransaction(fundingUtxos, sendRequests, privateKey, fee = 0, discardChange = false, slpOutputs = [], feePaidBy = FeePaidByEnum.change, changeAddress = "") {
300
- let txn = await buildP2pkhNonHdTransaction(fundingUtxos, sendRequests, privateKey, fee, discardChange, slpOutputs, feePaidBy, changeAddress);
301
- // submit transaction
302
- if (txn.success) {
303
- return encodeTransaction(txn.transaction);
304
- }
305
- else {
306
- throw Error("Error building transaction with fee");
307
- }
316
+ export async function buildEncodedTransaction({ inputs, outputs, signingKey, sourceAddress, fee = 0, discardChange = false, slpOutputs = [], feePaidBy = FeePaidByEnum.change, changeAddress = "", }) {
317
+ const { transaction, sourceOutputs } = await buildP2pkhNonHdTransaction({
318
+ inputs,
319
+ outputs,
320
+ signingKey,
321
+ sourceAddress,
322
+ fee,
323
+ discardChange,
324
+ slpOutputs,
325
+ feePaidBy,
326
+ changeAddress,
327
+ });
328
+ return { encodedTransaction: encodeTransaction(transaction), sourceOutputs };
308
329
  }
309
330
  //# sourceMappingURL=Wif.js.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Slp.d.ts","sourceRoot":"","sources":["../../../src/wallet/Slp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Slp.d.ts","sourceRoot":"","sources":["../../../src/wallet/Slp.ts"],"names":[],"mappings":"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"}
@@ -499,6 +499,7 @@ export class Slp {
499
499
  utxos: fundingBchUtxos,
500
500
  sendRequests: slpOutputsResult.BchSendRequests,
501
501
  privateKey: this.wallet.privateKey,
502
+ sourceAddress: this.wallet.cashaddr,
502
503
  relayFeePerByteInSatoshi: relayFeePerByteInSatoshi,
503
504
  slpOutputs: slpOutputsResult.SlpOutputs,
504
505
  feePaidBy: FeePaidByEnum.change,
@@ -512,11 +513,20 @@ export class Slp {
512
513
  utxos: fundingUtxos,
513
514
  sendRequests: slpOutputsResult.BchSendRequests,
514
515
  privateKey: this.wallet.privateKey,
516
+ sourceAddress: this.wallet.cashaddr,
515
517
  relayFeePerByteInSatoshi: relayFeePerByteInSatoshi,
516
518
  slpOutputs: slpOutputsResult.SlpOutputs,
517
519
  feePaidBy: FeePaidByEnum.change,
518
520
  });
519
- const encodedTransaction = await buildEncodedTransaction(fundingUtxos, slpOutputsResult.BchSendRequests, this.wallet.privateKey, fee, false, slpOutputsResult.SlpOutputs);
521
+ const { encodedTransaction } = await buildEncodedTransaction({
522
+ inputs: fundingUtxos,
523
+ outputs: slpOutputsResult.BchSendRequests,
524
+ signingKey: this.wallet.privateKey,
525
+ sourceAddress: this.wallet.cashaddr,
526
+ fee,
527
+ discardChange: false,
528
+ slpOutputs: slpOutputsResult.SlpOutputs,
529
+ });
520
530
  return this._submitTransaction(encodedTransaction, tokenId);
521
531
  }
522
532
  /**