mainnet-js 1.1.1 → 1.1.3

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,CA4DR;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,6 @@
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
+ import { NFTCapability } from "../interface.js";
3
4
  import { allocateFee } from "./allocateFee.js";
4
5
  import { DUST_UTXO_THRESHOLD } from "../constant.js";
5
6
  import { OpReturnData, TokenSendRequest, } from "../wallet/model.js";
@@ -8,7 +9,7 @@ import { sumSendRequestAmounts } from "../util/sumSendRequestAmounts.js";
8
9
  import { sumUtxoValue } from "../util/sumUtxoValue.js";
9
10
  import { FeePaidByEnum } from "../wallet/enum.js";
10
11
  // Build a transaction for a p2pkh transaction for a non HD wallet
11
- 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 = "", }) {
12
13
  if (!signingKey) {
13
14
  throw new Error("Missing signing key when building transaction");
14
15
  }
@@ -21,7 +22,7 @@ export async function buildP2pkhNonHdTransaction(inputs, outputs, signingKey, fe
21
22
  const sendAmount = await sumSendRequestAmounts(outputs);
22
23
  const changeAmount = BigInt(inputAmount) - BigInt(sendAmount) - BigInt(fee);
23
24
  outputs = allocateFee(outputs, fee, feePaidBy, changeAmount);
24
- let lockedOutputs = await prepareOutputs(outputs, inputs);
25
+ const lockedOutputs = await prepareOutputs(outputs);
25
26
  if (discardChange !== true) {
26
27
  if (changeAmount > DUST_UTXO_THRESHOLD) {
27
28
  let changeLockingBytecode;
@@ -46,22 +47,35 @@ export async function buildP2pkhNonHdTransaction(inputs, outputs, signingKey, fe
46
47
  });
47
48
  }
48
49
  }
49
- let signedInputs = prepareInputs(inputs, compiler, signingKey);
50
+ const { preparedInputs, sourceOutputs } = prepareInputs({
51
+ inputs,
52
+ compiler,
53
+ signingKey,
54
+ sourceAddress,
55
+ });
50
56
  const result = generateTransaction({
51
- inputs: signedInputs,
57
+ inputs: preparedInputs,
52
58
  locktime: 0,
53
59
  outputs: [...slpOutputs, ...lockedOutputs],
54
60
  version: 2,
55
61
  });
56
- 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 };
57
70
  }
58
- export function prepareInputs(inputs, compiler, signingKey) {
59
- let signedInputs = [];
71
+ export function prepareInputs({ inputs, compiler, signingKey, sourceAddress, }) {
72
+ const preparedInputs = [];
73
+ const sourceOutputs = [];
60
74
  for (const i of inputs) {
61
75
  const utxoTxnValue = i.satoshis;
62
76
  const utxoIndex = i.vout;
63
77
  // slice will create a clone of the array
64
- 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)));
65
79
  // reverse the cloned copy
66
80
  // utxoOutpointTransactionHash.reverse();
67
81
  if (!utxoOutpointTransactionHash || utxoIndex === undefined) {
@@ -70,30 +84,52 @@ export function prepareInputs(inputs, compiler, signingKey) {
70
84
  const libAuthToken = i.token && {
71
85
  amount: BigInt(i.token.amount),
72
86
  category: hexToBin(i.token.tokenId),
73
- nft: i.token.capability || i.token.commitment
87
+ nft: i.token.capability !== undefined || i.token.commitment !== undefined
74
88
  ? {
75
89
  capability: i.token.capability,
76
- commitment: i.token.commitment && hexToBin(i.token.commitment),
90
+ commitment: i.token.commitment !== undefined &&
91
+ hexToBin(i.token.commitment),
77
92
  }
78
93
  : undefined,
79
94
  };
80
- 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
+ const lockingBytecode = cashAddressToLockingBytecode(sourceAddress);
118
+ if (typeof lockingBytecode === "string") {
119
+ throw lockingBytecode;
120
+ }
121
+ sourceOutputs.push({
81
122
  outpointIndex: utxoIndex,
82
123
  outpointTransactionHash: utxoOutpointTransactionHash,
83
124
  sequenceNumber: 0,
84
- unlockingBytecode: {
85
- compiler,
86
- data: {
87
- keys: { privateKeys: { key: signingKey } },
88
- },
89
- valueSatoshis: BigInt(utxoTxnValue),
90
- script: "unlock",
91
- token: libAuthToken,
92
- },
93
- };
94
- signedInputs.push(newInput);
125
+ unlockingBytecode: Uint8Array.from([]),
126
+ // additional info for sourceOutputs
127
+ lockingBytecode: lockingBytecode.bytecode,
128
+ valueSatoshis: BigInt(utxoTxnValue),
129
+ token: libAuthToken,
130
+ });
95
131
  }
96
- return signedInputs;
132
+ return { preparedInputs, sourceOutputs };
97
133
  }
98
134
  /**
99
135
  * prepareOutputs - create outputs for a transaction from a list of send requests
@@ -102,11 +138,11 @@ export function prepareInputs(inputs, compiler, signingKey) {
102
138
  *
103
139
  * @returns A promise to a list of unspent outputs
104
140
  */
105
- export async function prepareOutputs(outputs, inputs) {
106
- let lockedOutputs = [];
141
+ export async function prepareOutputs(outputs) {
142
+ const lockedOutputs = [];
107
143
  for (const output of outputs) {
108
144
  if (output instanceof TokenSendRequest) {
109
- lockedOutputs.push(prepareTokenOutputs(output, inputs));
145
+ lockedOutputs.push(prepareTokenOutputs(output));
110
146
  continue;
111
147
  }
112
148
  if (output instanceof OpReturnData) {
@@ -144,53 +180,24 @@ export function prepareOpReturnOutput(request) {
144
180
  *
145
181
  * @returns A libauth Output
146
182
  */
147
- export function prepareTokenOutputs(request, inputs) {
183
+ export function prepareTokenOutputs(request) {
148
184
  const token = request;
149
- const isGenesis = !request.tokenId || request._isGenesis;
150
- let satValue = 0;
151
- if (isGenesis) {
152
- const genesisInputs = inputs.filter((val) => val.vout === 0);
153
- if (genesisInputs.length === 0) {
154
- throw new Error("No suitable inputs with vout=0 available for new token genesis");
155
- }
156
- token.tokenId = genesisInputs[0].txid;
157
- satValue = request.value || 1000;
158
- request._isGenesis = true;
159
- }
160
- else {
161
- const tokenInputs = inputs.filter((val) => val.token?.tokenId &&
162
- val.token?.tokenId === request.tokenId &&
163
- (val.token?.capability === "none"
164
- ? val.token.capability === request.capability &&
165
- val.token?.commitment === request.commitment
166
- : true));
167
- if (!tokenInputs.length) {
168
- throw new Error(`No suitable token utxos available to send token with id "${request.tokenId}", capability "${request.capability}", commitment "${request.commitment}"`);
169
- }
170
- if (!token.capability && tokenInputs[0].token?.capability) {
171
- token.capability = tokenInputs[0].token.capability;
172
- }
173
- if (!token.commitment && tokenInputs[0].token?.commitment) {
174
- token.commitment = tokenInputs[0].token.commitment;
175
- }
176
- satValue = request.value || tokenInputs[0].satoshis;
177
- }
178
- let outputLockingBytecode = cashAddressToLockingBytecode(request.cashaddr);
185
+ const outputLockingBytecode = cashAddressToLockingBytecode(request.cashaddr);
179
186
  if (typeof outputLockingBytecode === "string")
180
187
  throw new Error(outputLockingBytecode);
181
188
  const libAuthToken = {
182
189
  amount: BigInt(token.amount),
183
190
  category: hexToBin(token.tokenId),
184
- nft: token.capability || token.commitment
191
+ nft: token.capability !== undefined || token.commitment !== undefined
185
192
  ? {
186
193
  capability: token.capability,
187
- commitment: token.commitment && hexToBin(token.commitment),
194
+ commitment: token.commitment !== undefined && hexToBin(token.commitment),
188
195
  }
189
196
  : undefined,
190
197
  };
191
198
  return {
192
199
  lockingBytecode: outputLockingBytecode.bytecode,
193
- valueSatoshis: BigInt(satValue),
200
+ valueSatoshis: BigInt(request.value || 1000),
194
201
  token: libAuthToken,
195
202
  };
196
203
  }
@@ -203,49 +210,54 @@ export function prepareTokenOutputs(request, inputs) {
203
210
  *
204
211
  * @returns A promise to a list of unspent outputs
205
212
  */
206
- export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePaidBy, requests, ensureUtxos = []) {
207
- let suitableUtxos = [];
213
+ export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePaidBy, requests, ensureUtxos = [], tokenOperation = "send") {
214
+ const suitableUtxos = [...ensureUtxos];
208
215
  let amountAvailable = BigInt(0);
209
- const tokenAmountsRequired = [];
210
216
  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;
217
+ const availableInputs = inputs.slice();
218
+ // find matching utxos for token transfers
219
+ if (tokenOperation === "send") {
220
+ for (const request of tokenRequests) {
221
+ const tokenInputs = availableInputs.filter((val) => val.token?.tokenId === request.tokenId);
222
+ const sameCommitmentTokens = [...suitableUtxos, ...tokenInputs].filter((val) => val.token?.capability === request.capability &&
223
+ val.token?.commitment === request.commitment);
224
+ if (sameCommitmentTokens.length) {
225
+ const input = sameCommitmentTokens[0];
226
+ const index = availableInputs.indexOf(input);
227
+ if (index !== -1) {
228
+ suitableUtxos.push(input);
229
+ availableInputs.splice(index, 1);
230
+ amountAvailable += BigInt(input.satoshis);
238
231
  }
232
+ continue;
239
233
  }
234
+ if (request.capability === NFTCapability.minting ||
235
+ request.capability === NFTCapability.mutable) {
236
+ const changeCommitmentTokens = [
237
+ ...suitableUtxos,
238
+ ...tokenInputs,
239
+ ].filter((val) => val.token?.capability === request.capability);
240
+ if (changeCommitmentTokens.length) {
241
+ const input = changeCommitmentTokens[0];
242
+ const index = availableInputs.indexOf(input);
243
+ if (index !== -1) {
244
+ suitableUtxos.push(input);
245
+ availableInputs.splice(index, 1);
246
+ amountAvailable += BigInt(input.satoshis);
247
+ }
248
+ continue;
249
+ }
250
+ }
251
+ throw Error(`No suitable token utxos available to send token with id "${request.tokenId}", capability "${request.capability}", commitment "${request.commitment}"`);
240
252
  }
241
253
  }
242
254
  // find plain bch outputs
243
- for (const u of filteredInputs) {
255
+ for (const u of availableInputs) {
244
256
  if (u.token) {
245
257
  continue;
246
258
  }
247
259
  if (u.coinbase && u.height && bestHeight) {
248
- let age = bestHeight - u.height;
260
+ const age = bestHeight - u.height;
249
261
  if (age > 100) {
250
262
  suitableUtxos.push(u);
251
263
  amountAvailable += BigInt(u.satoshis);
@@ -261,7 +273,7 @@ export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePa
261
273
  }
262
274
  }
263
275
  const addEnsured = (suitableUtxos) => {
264
- return [...suitableUtxos, ...ensureUtxos].filter((val, index, array) => array.indexOf(val) === index);
276
+ return [...ensureUtxos, ...suitableUtxos].filter((val, index, array) => array.findIndex((other) => other.txid === val.txid && other.vout === val.vout) === index);
265
277
  };
266
278
  // if the fee is split with a feePaidBy option, skip checking change.
267
279
  if (feePaidBy && feePaidBy != FeePaidByEnum.change) {
@@ -272,7 +284,7 @@ export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePa
272
284
  return addEnsured(suitableUtxos);
273
285
  }
274
286
  else if (amountAvailable < amountRequired) {
275
- let e = Error(`Amount required was not met, ${amountRequired} satoshis needed, ${amountAvailable} satoshis available`);
287
+ const e = Error(`Amount required was not met, ${amountRequired} satoshis needed, ${amountAvailable} satoshis available`);
276
288
  e["data"] = {
277
289
  required: amountRequired,
278
290
  available: amountAvailable,
@@ -283,12 +295,21 @@ export async function getSuitableUtxos(inputs, amountRequired, bestHeight, feePa
283
295
  return addEnsured(suitableUtxos);
284
296
  }
285
297
  }
286
- export async function getFeeAmount({ utxos, sendRequests, privateKey, relayFeePerByteInSatoshi, slpOutputs, feePaidBy, discardChange, }) {
298
+ export async function getFeeAmount({ utxos, sendRequests, privateKey, sourceAddress, relayFeePerByteInSatoshi, slpOutputs, feePaidBy, discardChange, }) {
287
299
  // build transaction
288
300
  if (utxos) {
289
301
  // 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);
302
+ const { encodedTransaction: draftTransaction } = await buildEncodedTransaction({
303
+ inputs: utxos,
304
+ outputs: sendRequests,
305
+ signingKey: privateKey,
306
+ sourceAddress,
307
+ fee: 0,
308
+ discardChange: discardChange ?? false,
309
+ slpOutputs,
310
+ feePaidBy,
311
+ changeAddress: "",
312
+ });
292
313
  return draftTransaction.length * relayFeePerByteInSatoshi + 1;
293
314
  }
294
315
  else {
@@ -296,14 +317,18 @@ export async function getFeeAmount({ utxos, sendRequests, privateKey, relayFeePe
296
317
  }
297
318
  }
298
319
  // 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
- }
320
+ export async function buildEncodedTransaction({ inputs, outputs, signingKey, sourceAddress, fee = 0, discardChange = false, slpOutputs = [], feePaidBy = FeePaidByEnum.change, changeAddress = "", }) {
321
+ const { transaction, sourceOutputs } = await buildP2pkhNonHdTransaction({
322
+ inputs,
323
+ outputs,
324
+ signingKey,
325
+ sourceAddress,
326
+ fee,
327
+ discardChange,
328
+ slpOutputs,
329
+ feePaidBy,
330
+ changeAddress,
331
+ });
332
+ return { encodedTransaction: encodeTransaction(transaction), sourceOutputs };
308
333
  }
309
334
  //# 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
  /**