tbc-tx-parser 0.1.9 → 0.2.0

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 (58) hide show
  1. package/README.md +72 -9
  2. package/dist/core/asset-identity.d.ts +3 -0
  3. package/dist/core/asset-identity.d.ts.map +1 -0
  4. package/dist/core/asset-identity.js +3 -0
  5. package/dist/core/asset-identity.js.map +1 -0
  6. package/dist/core/input-utxos.d.ts.map +1 -1
  7. package/dist/core/input-utxos.js +4 -1
  8. package/dist/core/input-utxos.js.map +1 -1
  9. package/dist/core/public-script.d.ts.map +1 -1
  10. package/dist/core/public-script.js +7 -2
  11. package/dist/core/public-script.js.map +1 -1
  12. package/dist/decode-tx-raw.d.ts.map +1 -1
  13. package/dist/decode-tx-raw.js +9 -3
  14. package/dist/decode-tx-raw.js.map +1 -1
  15. package/dist/protocols/ft/index.d.ts +6 -0
  16. package/dist/protocols/ft/index.d.ts.map +1 -1
  17. package/dist/protocols/ft/index.js +48 -0
  18. package/dist/protocols/ft/index.js.map +1 -1
  19. package/dist/protocols/modern/analyze.d.ts +7 -0
  20. package/dist/protocols/modern/analyze.d.ts.map +1 -0
  21. package/dist/protocols/modern/analyze.js +887 -0
  22. package/dist/protocols/modern/analyze.js.map +1 -0
  23. package/dist/protocols/modern/codecs.d.ts +113 -0
  24. package/dist/protocols/modern/codecs.d.ts.map +1 -0
  25. package/dist/protocols/modern/codecs.js +269 -0
  26. package/dist/protocols/modern/codecs.js.map +1 -0
  27. package/dist/protocols/nft/index.d.ts.map +1 -1
  28. package/dist/protocols/nft/index.js +2 -1
  29. package/dist/protocols/nft/index.js.map +1 -1
  30. package/dist/protocols/piggy-bank/index.js +1 -1
  31. package/dist/protocols/piggy-bank/index.js.map +1 -1
  32. package/dist/protocols/pool-nft/facts.js +1 -1
  33. package/dist/protocols/pool-nft/facts.js.map +1 -1
  34. package/dist/protocols/pool-nft/fees.d.ts.map +1 -1
  35. package/dist/protocols/pool-nft/fees.js +2 -1
  36. package/dist/protocols/pool-nft/fees.js.map +1 -1
  37. package/dist/result/classification-description.d.ts.map +1 -1
  38. package/dist/result/classification-description.js +12 -1
  39. package/dist/result/classification-description.js.map +1 -1
  40. package/dist/result/classification.d.ts.map +1 -1
  41. package/dist/result/classification.js +6 -37
  42. package/dist/result/classification.js.map +1 -1
  43. package/dist/result/index.d.ts +1 -1
  44. package/dist/result/index.d.ts.map +1 -1
  45. package/dist/result/index.js +29 -3
  46. package/dist/result/index.js.map +1 -1
  47. package/dist/script-parser/contracts.js +1 -1
  48. package/dist/script-parser/contracts.js.map +1 -1
  49. package/dist/script-parser.d.ts.map +1 -1
  50. package/dist/script-parser.js +34 -1
  51. package/dist/script-parser.js.map +1 -1
  52. package/dist/types/protocol.d.ts +2 -2
  53. package/dist/types/protocol.d.ts.map +1 -1
  54. package/dist/types/result.d.ts +5 -5
  55. package/dist/types/result.d.ts.map +1 -1
  56. package/dist/types/script.d.ts +10 -2
  57. package/dist/types/script.d.ts.map +1 -1
  58. package/package.json +10 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/protocols/modern/analyze.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import sdk from 'tbc-contract';
2
+ import type { ContractDescriptor } from '../../types/script.js';
3
+ interface StandardCodec {
4
+ codeBytes: number;
5
+ partialOffset: number;
6
+ validateCode(code: string, tapeSize?: number): void;
7
+ parseTape(tape: string): {
8
+ amounts: readonly bigint[];
9
+ balance: bigint;
10
+ extensionData: Buffer;
11
+ };
12
+ parseMetadataExtension(extension: Buffer): {
13
+ metadata: {
14
+ name: string;
15
+ symbol: string;
16
+ decimal: number;
17
+ };
18
+ declaredSupplyRaw: bigint;
19
+ };
20
+ }
21
+ export declare const standard: StandardCodec;
22
+ export interface PoolCode {
23
+ originalUTXO: Buffer;
24
+ ftTapeSize: number;
25
+ poolCodeHash: Buffer;
26
+ tbcFeeScriptHash: Buffer;
27
+ authorization: {
28
+ mode: string;
29
+ controllerPubKeyHashes?: Buffer[];
30
+ };
31
+ profile: string;
32
+ }
33
+ export declare const poolCodec: {
34
+ parsePoolCode(code: Buffer): PoolCode;
35
+ };
36
+ export declare const poolTapeCodec: {
37
+ decodePoolTape(tape: Buffer): import("tbc-contract").DecodedPoolTape;
38
+ };
39
+ export declare const sha256: (b: Buffer) => NonSharedBuffer;
40
+ export declare const controllerHash: (hex: string) => string;
41
+ export declare function address(hash: Buffer): string;
42
+ export declare function outpoint(b: Buffer): {
43
+ txid: string;
44
+ vout: number;
45
+ };
46
+ export interface TokenCode {
47
+ descriptor: ContractDescriptor;
48
+ identity: string;
49
+ controller: Buffer;
50
+ tapeSize?: number;
51
+ origin?: {
52
+ txid: string;
53
+ vout: number;
54
+ };
55
+ poolCodeHash?: string;
56
+ coinNftCodeHash?: string;
57
+ adminPubKeyHash?: string;
58
+ timelocked?: boolean;
59
+ }
60
+ export declare function tokenCode(hex: string): TokenCode | undefined;
61
+ export interface TokenState extends TokenCode {
62
+ amounts: readonly bigint[];
63
+ balance: bigint;
64
+ lockTime: number;
65
+ name?: string;
66
+ symbol?: string;
67
+ decimal?: number;
68
+ declaredSupplyRaw?: bigint;
69
+ }
70
+ export declare function tokenState(code: string, tape: string): TokenState | undefined;
71
+ export declare function nftCode(hex: string): {
72
+ descriptor: ContractDescriptor;
73
+ origin: {
74
+ txid: string;
75
+ vout: number;
76
+ };
77
+ } | undefined;
78
+ export declare function poolCode(hex: string): PoolCode | undefined;
79
+ export declare function poolTape(hex: string): sdk.DecodedPoolTape | undefined;
80
+ export interface HtlcCode {
81
+ sender: string;
82
+ receiver: string;
83
+ hashlock: string;
84
+ timelock: number;
85
+ }
86
+ export declare function htlcCode(hex: string): HtlcCode | undefined;
87
+ export interface OrderCode {
88
+ modern: boolean;
89
+ side: 'buy' | 'sell';
90
+ owner: string;
91
+ taxAddress: string;
92
+ volume: bigint;
93
+ price: bigint;
94
+ feeRate: bigint;
95
+ tokenA: {
96
+ id: string;
97
+ partialHash: string;
98
+ };
99
+ tokenB?: {
100
+ id: string;
101
+ partialHash: string;
102
+ };
103
+ }
104
+ export declare function orderCode(hex: string): OrderCode | undefined;
105
+ export declare const poolMath: {
106
+ quoteAddLP(s: import("tbc-contract").PoolMathState, amount: bigint, first?: bigint): import("tbc-contract").AddLPQuote;
107
+ quoteRemoveLP(s: import("tbc-contract").PoolMathState, amount: bigint): import("tbc-contract").RemoveLPQuote;
108
+ quoteSwapFT(s: import("tbc-contract").PoolMathState, amount: bigint, policy: import("tbc-contract").SwapFeePolicy): import("tbc-contract").SwapFTQuote;
109
+ quoteSwapTBC(s: import("tbc-contract").PoolMathState, amount: bigint, policy: import("tbc-contract").SwapFeePolicy): import("tbc-contract").SwapTBCQuote;
110
+ };
111
+ export declare function legacyDescriptor(hex: string): ContractDescriptor | undefined;
112
+ export {};
113
+ //# sourceMappingURL=codecs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../../../src/protocols/modern/codecs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,269 @@
1
+ import { createRequire } from 'node:module';
2
+ import { createHash } from 'node:crypto';
3
+ import sdk from 'tbc-contract';
4
+ import { tbc } from '../../adapters/tbc-lib.js';
5
+ // These codecs are pinned to 1.7.2. Template parsers authenticate every fixed byte.
6
+ // Some static helpers are missing from the upstream declaration file.
7
+ const require = createRequire(import.meta.url);
8
+ export const standard = sdk.TBC20Standard;
9
+ const standardUtil = require('tbc-contract/lib/util/tbc20-standard/tbc20-standard-unlock.js');
10
+ export const poolCodec = require('tbc-contract/lib/util/tbc-amm/artifacts.js');
11
+ export const poolTapeCodec = require('tbc-contract/lib/util/tbc-amm/tape.js');
12
+ export const sha256 = (b) => createHash('sha256').update(b).digest();
13
+ export const controllerHash = (hex) => createHash('ripemd160')
14
+ .update(sha256(sha256(Buffer.from(hex, 'hex'))))
15
+ .digest('hex');
16
+ export function address(hash) {
17
+ return new tbc.Address(hash, tbc.Networks.livenet).toString();
18
+ }
19
+ export function outpoint(b) {
20
+ return {
21
+ txid: Buffer.from(b.subarray(0, 32)).reverse().toString('hex'),
22
+ vout: b.readUInt32LE(32),
23
+ };
24
+ }
25
+ export function tokenCode(hex) {
26
+ const bytes = Buffer.from(hex, 'hex');
27
+ try {
28
+ if (bytes.length === standard.codeBytes) {
29
+ standard.validateCode(hex);
30
+ const chunks = new tbc.Script(hex).chunks;
31
+ const origin = chunks.find((c) => c.buf?.length === 36)?.buf;
32
+ if (!origin)
33
+ return undefined;
34
+ return {
35
+ descriptor: {
36
+ family: 'ft',
37
+ implementation: 'TBC20Standard',
38
+ version: 'tbc20-standard',
39
+ },
40
+ identity: standardUtil.getTbc20StandardCodeIdentity(new tbc.Script(hex)).toString('hex'),
41
+ controller: bytes.subarray(standard.partialOffset + 1, standard.partialOffset + 22),
42
+ origin: outpoint(origin),
43
+ };
44
+ }
45
+ if (bytes.length === 2981) {
46
+ const p = sdk.TBC20StablecoinCodec.parseCode(hex);
47
+ return {
48
+ descriptor: {
49
+ family: 'stablecoin',
50
+ implementation: 'TBC20Stablecoin',
51
+ version: 'tbc20-stablecoin',
52
+ },
53
+ identity: p.identity.toString('hex'),
54
+ controller: p.controller,
55
+ tapeSize: p.tapeSize,
56
+ coinNftCodeHash: p.coinNftCodeHash.toString('hex'),
57
+ adminPubKeyHash: p.adminPubKeyHash.toString('hex'),
58
+ };
59
+ }
60
+ if ([2659, 2851].includes(bytes.length)) {
61
+ const p = sdk.TBC20LP.parseCode(hex);
62
+ return {
63
+ descriptor: {
64
+ family: 'ftlp',
65
+ implementation: 'TBC20LP',
66
+ version: 'tbc20-lp',
67
+ },
68
+ identity: p.identity.toString('hex'),
69
+ controller: p.controller,
70
+ tapeSize: p.tapeSize,
71
+ timelocked: p.timelocked,
72
+ poolCodeHash: p.poolCodeHash.toString('hex'),
73
+ };
74
+ }
75
+ }
76
+ catch {
77
+ /* Unsupported or forged Code is never promoted from its marker. */
78
+ }
79
+ return undefined;
80
+ }
81
+ export function tokenState(code, tape) {
82
+ const c = tokenCode(code);
83
+ if (!c)
84
+ return undefined;
85
+ try {
86
+ if (c.descriptor.family === 'ft') {
87
+ standard.validateCode(code, tape.length / 2);
88
+ const p = standard.parseTape(tape);
89
+ let meta = {};
90
+ try {
91
+ const m = standard.parseMetadataExtension(p.extensionData);
92
+ meta = { ...m.metadata, declaredSupplyRaw: m.declaredSupplyRaw };
93
+ }
94
+ catch {
95
+ /* Metadata is optional; raw units remain available. */
96
+ }
97
+ return { ...c, ...p, ...meta, lockTime: 0 };
98
+ }
99
+ if (c.descriptor.family === 'stablecoin') {
100
+ const p = sdk.TBC20StablecoinCodec.parseTape(tape, {
101
+ tapeSize: c.tapeSize,
102
+ });
103
+ let meta = {};
104
+ const pushes = new tbc.Script(p.metadata).chunks.filter((v) => v.buf);
105
+ if (pushes.length === 3 && pushes[0].buf?.length === 1 && pushes[0].buf[0] <= 18)
106
+ meta = {
107
+ decimal: pushes[0].buf[0],
108
+ name: pushes[1].buf.toString('utf8'),
109
+ symbol: pushes[2].buf.toString('utf8'),
110
+ };
111
+ return { ...c, ...p, ...meta };
112
+ }
113
+ const p = sdk.TBC20LP.parseTape(tape, {
114
+ tapeSize: c.tapeSize,
115
+ timelocked: !!c.timelocked,
116
+ });
117
+ return { ...c, ...p, symbol: 'LP', decimal: 6 };
118
+ }
119
+ catch {
120
+ return undefined;
121
+ }
122
+ }
123
+ export function nftCode(hex) {
124
+ try {
125
+ const p = sdk.TBC721Standard.parseCode(hex);
126
+ return {
127
+ descriptor: {
128
+ family: 'nft',
129
+ implementation: 'TBC721Standard',
130
+ version: 3,
131
+ },
132
+ origin: { txid: p.txid, vout: p.outputIndex },
133
+ };
134
+ }
135
+ catch {
136
+ return undefined;
137
+ }
138
+ }
139
+ export function poolCode(hex) {
140
+ try {
141
+ return poolCodec.parsePoolCode(Buffer.from(hex, 'hex'));
142
+ }
143
+ catch {
144
+ return undefined;
145
+ }
146
+ }
147
+ export function poolTape(hex) {
148
+ try {
149
+ return poolTapeCodec.decodePoolTape(Buffer.from(hex, 'hex'));
150
+ }
151
+ catch {
152
+ return undefined;
153
+ }
154
+ }
155
+ export function htlcCode(hex) {
156
+ // Complete pinned template, with only four explicitly sized constructor fields variable.
157
+ const pattern = /^63a820([0-9a-f]{64})8876a914([0-9a-f]{40})6704([0-9a-f]{8})8152ba816ea0646e040065cd1da263040065cd1da269a1676d7551686700686956ba01247f778104ffffffff9e6976a914([0-9a-f]{40})6888ac$/;
158
+ const m = pattern.exec(hex);
159
+ if (!m)
160
+ return undefined;
161
+ return {
162
+ hashlock: m[1],
163
+ receiver: address(Buffer.from(m[2], 'hex')),
164
+ timelock: Buffer.from(m[3], 'hex').readUInt32LE(),
165
+ sender: address(Buffer.from(m[4], 'hex')),
166
+ };
167
+ }
168
+ export function orderCode(hex) {
169
+ if (![946, 1074, 1332].includes(hex.length / 2))
170
+ return undefined;
171
+ try {
172
+ const script = new tbc.Script(hex), chunks = script.chunks;
173
+ const pair = hex.length / 2 === 1332;
174
+ const data = pair ? sdk.TBCLOP.getTokenOrderData(hex) : sdk.TBCLOP.getOrderData(hex);
175
+ const order = data;
176
+ if (order.saleVolume <= 0n || order.unitPrice <= 0n || order.feeRate < 0n)
177
+ return undefined;
178
+ const taxHashes = [
179
+ ...new Set(chunks
180
+ .filter((c) => c.buf?.length === 20)
181
+ .map((c) => c.buf.toString('hex'))),
182
+ ];
183
+ const instance = new sdk.TBCLOP();
184
+ Object.assign(instance, {
185
+ holdAddress: order.holdAddress,
186
+ saleVolume: order.saleVolume,
187
+ feeRate: order.feeRate,
188
+ unitPrice: order.unitPrice,
189
+ ftAContractId: order.ftAId ?? order.ftId,
190
+ ftAContractPartialHash: order.ftAPartialHash ?? order.ftPartialHash,
191
+ ftBContractId: order.ftBId,
192
+ ftBContractPartialHash: order.ftBPartialHash,
193
+ });
194
+ for (const tax of taxHashes)
195
+ for (const side of ['buy', 'sell']) {
196
+ const taxAddress = address(Buffer.from(tax, 'hex'));
197
+ if (pair) {
198
+ for (const a of [true, false])
199
+ for (const b of [true, false]) {
200
+ const rebuilt = side === 'buy'
201
+ ? instance.getTokenBuyOrderCode(taxAddress, a, b)
202
+ : instance.getTokenSellOrderCode(taxAddress, a, b);
203
+ if (rebuilt.toHex() === hex)
204
+ return {
205
+ modern: true,
206
+ side,
207
+ owner: order.holdAddress,
208
+ taxAddress,
209
+ volume: order.saleVolume,
210
+ price: order.unitPrice,
211
+ feeRate: order.feeRate,
212
+ tokenA: {
213
+ id: order.ftAId,
214
+ partialHash: order.ftAPartialHash,
215
+ },
216
+ tokenB: {
217
+ id: order.ftBId,
218
+ partialHash: order.ftBPartialHash,
219
+ },
220
+ };
221
+ }
222
+ }
223
+ else
224
+ for (const coin of [false, true])
225
+ for (const size of ['610a', 'a50b', '5c07', '1c08', 'dc07', '1c06']) {
226
+ const rebuilt = side === 'buy'
227
+ ? instance.getBuyOrderCode(coin, taxAddress, size)
228
+ : instance.getSellOrderCode(coin, taxAddress, size);
229
+ if (rebuilt.toHex() === hex)
230
+ return {
231
+ modern: size === '610a' || size === 'a50b',
232
+ side,
233
+ owner: order.holdAddress,
234
+ taxAddress,
235
+ volume: order.saleVolume,
236
+ price: order.unitPrice,
237
+ feeRate: order.feeRate,
238
+ tokenA: {
239
+ id: order.ftId,
240
+ partialHash: order.ftPartialHash,
241
+ },
242
+ };
243
+ }
244
+ }
245
+ }
246
+ catch {
247
+ /* Invalid order data/template. */
248
+ }
249
+ return undefined;
250
+ }
251
+ export const poolMath = require('tbc-contract/lib/util/tbc-amm/math.js');
252
+ export function legacyDescriptor(hex) {
253
+ if (hex.length < 100)
254
+ return undefined;
255
+ try {
256
+ const p = sdk.detectContractVersion(hex);
257
+ if (!p)
258
+ return undefined;
259
+ return {
260
+ family: p.family === 'pool' ? 'poolNft' : p.family,
261
+ implementation: p.sdk,
262
+ version: 'legacyVersion' in p ? p.legacyVersion : p.version,
263
+ };
264
+ }
265
+ catch {
266
+ return undefined;
267
+ }
268
+ }
269
+ //# sourceMappingURL=codecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../../../src/protocols/modern/codecs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/protocols/nft/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,aAAa,CAAC;AAkDrE,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CA+BvF;AAED,eAAO,MAAM,kBAAkB,EAAE,eAqBhC,CAAC;AAoMF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EAAE,EACtB,OAAO,EAAE,aAAa,EAAE,GACvB,WAAW,EAAE,CAuFf;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,WAAW,EAAE,mEAgB/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/protocols/nft/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,aAAa,CAAC;AAkDrE,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CA+BvF;AAED,eAAO,MAAM,kBAAkB,EAAE,eAqBhC,CAAC;AAqMF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EAAE,EACtB,OAAO,EAAE,aAAa,EAAE,GACvB,WAAW,EAAE,CAuFf;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,WAAW,EAAE,mEAgB/D"}
@@ -2,7 +2,7 @@ import tbcContract from 'tbc-contract';
2
2
  import { ScriptType } from '../../types.js';
3
3
  const NFT_CODE_SATOSHIS = 200;
4
4
  const NFT_HOLD_SATOSHIS = 100;
5
- const { NFT } = tbcContract;
5
+ const { NFT, TBC721Standard } = tbcContract;
6
6
  function collectionMintShape(outputs) {
7
7
  // The standard shape is a Collection Tape followed by supply Mint NHolds and optionally one ordinary change output.
8
8
  const tapeOutput = outputs[0];
@@ -100,6 +100,7 @@ function isCanonicalNftCodeScript(script) {
100
100
  }
101
101
  try {
102
102
  const canonicalHexes = [
103
+ TBC721Standard.buildCodeScript(origin.txid, origin.vout),
103
104
  NFT.buildCodeScript(origin.txid, origin.vout),
104
105
  NFT.buildCodeScript_v1(origin.txid, origin.vout),
105
106
  NFT.buildCodeScript_v0(origin.txid, origin.vout),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocols/nft/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocols/nft/index.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export function collectPiggyBankMovements(inputs, outputs, locktime) {
28
28
  if (!piggyBank || input.prevout?.satoshis === undefined) {
29
29
  return undefined;
30
30
  }
31
- if (input.sequence === FINAL_SEQUENCE || locktime < piggyBank.lockTime) {
31
+ if (input.sequence === FINAL_SEQUENCE || locktime < piggyBank.lockTime || (locktime < 500000000) !== (piggyBank.lockTime < 500000000)) {
32
32
  return undefined;
33
33
  }
34
34
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocols/piggy-bank/index.ts"],"names":[],"mappings":"AAIA,MAAM,cAAc,GAAG,UAAU,CAAC;AAQlC,MAAM,CAAC,MAAM,wBAAwB,GAAoB;IACvD,EAAE,EAAE,WAAW;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE;QACzB,gGAAgG;QAChG,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACzF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAEhG,IAAI,CAAC,eAAe,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB;YAC7E,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,yBAAyB,CACvC,MAAsB,EACtB,OAAwB,EACxB,QAAgB;IAEhB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAEhG,uHAAuH;IACvH,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,kBAAkB,GAAG,cAAc;aACtC,GAAG,CAAC,CAAC,KAAK,EAA0C,EAAE;YACrD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;YACxD,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACxD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,IAAI,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACvE,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO;gBACL,KAAK;gBACL,SAAS;gBACT,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;aACjC,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,SAAS,EAA2C,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAEtF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAE,CAAC;QAC9D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAChH,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAE,CAAC;QAC3C,OAAO;YACL;gBACE,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,KAAK,CAAC,KAAK;gBACvB,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,QAAQ,EAAE,cAAc,CAAC,OAAO;gBAChC,QAAQ;gBACR,gBAAgB,EAAE,cAAc,CAAC,QAAQ;gBACzC,kBAAkB,EAAE,cAAc,CAAC,KAAK;gBACxC,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,YAAY,EAAE,SAAS,CAAC,YAAY;gBACpC,YAAY,EAAE,QAAQ,IAAI,SAAS;aACpC;SACF,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,MAAM,EAAiC,EAAE;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;QAChD,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,QAAQ,EAAE,SAAS,CAAC,OAAO;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,YAAY,EAAE,SAAS,CAAC,YAAY;SACrC,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,QAAQ,EAAiC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAA8B;IAC1E,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,aAAa,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocols/piggy-bank/index.ts"],"names":[],"mappings":"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"}