@rosen-bridge/rosen-extractor 8.0.1 → 9.0.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.
- package/dist/getRosenData/abstract/AbstractRosenDataExtractor.d.ts.map +1 -0
- package/dist/getRosenData/abstract/AbstractRosenDataExtractor.js +32 -0
- package/dist/getRosenData/abstract/types.d.ts.map +1 -0
- package/dist/getRosenData/abstract/types.js +2 -0
- package/dist/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.js +105 -0
- package/dist/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/bitcoin/BitcoinRosenExtractor.js +113 -0
- package/dist/getRosenData/bitcoin/BitcoinRpcRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/bitcoin/BitcoinRpcRosenExtractor.js +106 -0
- package/dist/{lib/getRosenData/doge → getRosenData/bitcoin}/types.d.ts.map +1 -1
- package/dist/getRosenData/bitcoin/types.js +2 -0
- package/dist/getRosenData/bitcoin/utils.d.ts.map +1 -0
- package/dist/getRosenData/bitcoin/utils.js +17 -0
- package/dist/{lib/getRosenData/runes/RunesEsploraRosenExtractor.d.ts → getRosenData/bitcoin-runes/BitcoinRunesEsploraRosenExtractor.d.ts} +2 -2
- package/dist/getRosenData/bitcoin-runes/BitcoinRunesEsploraRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/bitcoin-runes/BitcoinRunesEsploraRosenExtractor.js +114 -0
- package/dist/{lib/getRosenData/runes/RunesRosenExtractor.d.ts → getRosenData/bitcoin-runes/BitcoinRunesRosenExtractor.d.ts} +2 -2
- package/dist/getRosenData/bitcoin-runes/BitcoinRunesRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/bitcoin-runes/BitcoinRunesRosenExtractor.js +121 -0
- package/dist/{lib/getRosenData/runes/RunesRpcRosenExtractor.d.ts → getRosenData/bitcoin-runes/BitcoinRunesRpcRosenExtractor.d.ts} +2 -2
- package/dist/getRosenData/bitcoin-runes/BitcoinRunesRpcRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/bitcoin-runes/BitcoinRunesRpcRosenExtractor.js +114 -0
- package/dist/getRosenData/bitcoin-runes/constants.d.ts.map +1 -0
- package/dist/getRosenData/bitcoin-runes/constants.js +2 -0
- package/dist/getRosenData/bitcoin-runes/types.d.ts.map +1 -0
- package/dist/getRosenData/bitcoin-runes/types.js +2 -0
- package/dist/getRosenData/bitcoin-runes/utils.d.ts.map +1 -0
- package/dist/getRosenData/bitcoin-runes/utils.js +9 -0
- package/dist/getRosenData/cardano/CardanoBlockFrostRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/cardano/CardanoBlockFrostRosenExtractor.js +94 -0
- package/dist/getRosenData/cardano/CardanoGraphQLRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/cardano/CardanoGraphQLRosenExtractor.js +92 -0
- package/dist/getRosenData/cardano/CardanoKoiosRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/cardano/CardanoKoiosRosenExtractor.js +95 -0
- package/dist/getRosenData/cardano/CardanoOgmiosRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/cardano/CardanoOgmiosRosenExtractor.js +97 -0
- package/dist/getRosenData/cardano/CardanoRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/cardano/CardanoRosenExtractor.js +88 -0
- package/dist/getRosenData/cardano/types.d.ts.map +1 -0
- package/dist/getRosenData/cardano/types.js +2 -0
- package/dist/getRosenData/cardano/utils.d.ts.map +1 -0
- package/dist/getRosenData/cardano/utils.js +32 -0
- package/dist/{lib/getRosenData → getRosenData}/const.d.ts +1 -1
- package/dist/getRosenData/const.d.ts.map +1 -0
- package/dist/getRosenData/const.js +21 -0
- package/dist/getRosenData/doge/DogeEsploraRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/doge/DogeEsploraRosenExtractor.js +104 -0
- package/dist/getRosenData/doge/DogeRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/doge/DogeRosenExtractor.js +112 -0
- package/dist/getRosenData/doge/DogeRpcRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/doge/DogeRpcRosenExtractor.js +105 -0
- package/dist/getRosenData/doge/types.d.ts.map +1 -0
- package/dist/getRosenData/doge/types.js +2 -0
- package/dist/getRosenData/doge/utils.d.ts.map +1 -0
- package/dist/getRosenData/doge/utils.js +58 -0
- package/dist/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/ergo/ErgoNodeRosenExtractor.js +105 -0
- package/dist/getRosenData/ergo/ErgoRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/ergo/ErgoRosenExtractor.js +33 -0
- package/dist/getRosenData/ergo/types.d.ts.map +1 -0
- package/dist/getRosenData/ergo/types.js +2 -0
- package/dist/getRosenData/evm/EvmEthersRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/evm/EvmEthersRosenExtractor.js +54 -0
- package/dist/getRosenData/evm/EvmRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/evm/EvmRosenExtractor.js +31 -0
- package/dist/getRosenData/evm/EvmRpcRosenExtractor.d.ts.map +1 -0
- package/dist/getRosenData/evm/EvmRpcRosenExtractor.js +123 -0
- package/dist/getRosenData/evm/utils.d.ts.map +1 -0
- package/dist/getRosenData/evm/utils.js +9 -0
- package/dist/{lib/index.d.ts → index.d.ts} +3 -3
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +31 -0
- package/package.json +11 -16
- package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.js +0 -32
- package/dist/lib/getRosenData/abstract/types.d.ts.map +0 -1
- package/dist/lib/getRosenData/abstract/types.js +0 -2
- package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.js +0 -105
- package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.js +0 -113
- package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.js +0 -106
- package/dist/lib/getRosenData/bitcoin/types.d.ts.map +0 -1
- package/dist/lib/getRosenData/bitcoin/types.js +0 -2
- package/dist/lib/getRosenData/bitcoin/utils.d.ts.map +0 -1
- package/dist/lib/getRosenData/bitcoin/utils.js +0 -17
- package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.js +0 -94
- package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.js +0 -92
- package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.js +0 -95
- package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.js +0 -97
- package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.js +0 -88
- package/dist/lib/getRosenData/cardano/types.d.ts.map +0 -1
- package/dist/lib/getRosenData/cardano/types.js +0 -2
- package/dist/lib/getRosenData/cardano/utils.d.ts.map +0 -1
- package/dist/lib/getRosenData/cardano/utils.js +0 -32
- package/dist/lib/getRosenData/const.d.ts.map +0 -1
- package/dist/lib/getRosenData/const.js +0 -21
- package/dist/lib/getRosenData/doge/DogeEsploraRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/doge/DogeEsploraRosenExtractor.js +0 -104
- package/dist/lib/getRosenData/doge/DogeRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/doge/DogeRosenExtractor.js +0 -112
- package/dist/lib/getRosenData/doge/DogeRpcRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/doge/DogeRpcRosenExtractor.js +0 -105
- package/dist/lib/getRosenData/doge/types.js +0 -2
- package/dist/lib/getRosenData/doge/utils.d.ts.map +0 -1
- package/dist/lib/getRosenData/doge/utils.js +0 -58
- package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.js +0 -105
- package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.js +0 -33
- package/dist/lib/getRosenData/ergo/types.d.ts.map +0 -1
- package/dist/lib/getRosenData/ergo/types.js +0 -2
- package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.js +0 -54
- package/dist/lib/getRosenData/evm/EvmRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/evm/EvmRosenExtractor.js +0 -31
- package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.js +0 -123
- package/dist/lib/getRosenData/evm/utils.d.ts.map +0 -1
- package/dist/lib/getRosenData/evm/utils.js +0 -9
- package/dist/lib/getRosenData/runes/RunesEsploraRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/runes/RunesEsploraRosenExtractor.js +0 -113
- package/dist/lib/getRosenData/runes/RunesRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/runes/RunesRosenExtractor.js +0 -120
- package/dist/lib/getRosenData/runes/RunesRpcRosenExtractor.d.ts.map +0 -1
- package/dist/lib/getRosenData/runes/RunesRpcRosenExtractor.js +0 -113
- package/dist/lib/getRosenData/runes/constants.d.ts.map +0 -1
- package/dist/lib/getRosenData/runes/constants.js +0 -2
- package/dist/lib/getRosenData/runes/types.d.ts.map +0 -1
- package/dist/lib/getRosenData/runes/types.js +0 -2
- package/dist/lib/getRosenData/runes/utils.d.ts.map +0 -1
- package/dist/lib/getRosenData/runes/utils.js +0 -9
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js +0 -25
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/types.js +0 -2
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -31
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/{lib/getRosenData → getRosenData}/abstract/AbstractRosenDataExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/abstract/types.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/bitcoin/BitcoinEsploraRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/bitcoin/BitcoinRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/bitcoin/BitcoinRpcRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/bitcoin/types.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/bitcoin/utils.d.ts +0 -0
- /package/dist/{lib/getRosenData/runes → getRosenData/bitcoin-runes}/constants.d.ts +0 -0
- /package/dist/{lib/getRosenData/runes → getRosenData/bitcoin-runes}/types.d.ts +0 -0
- /package/dist/{lib/getRosenData/runes → getRosenData/bitcoin-runes}/utils.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/cardano/CardanoBlockFrostRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/cardano/CardanoGraphQLRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/cardano/CardanoKoiosRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/cardano/CardanoOgmiosRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/cardano/CardanoRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/cardano/types.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/cardano/utils.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/doge/DogeEsploraRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/doge/DogeRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/doge/DogeRpcRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/doge/types.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/doge/utils.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/ergo/ErgoNodeRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/ergo/ErgoRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/ergo/types.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/evm/EvmEthersRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/evm/EvmRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/evm/EvmRpcRosenExtractor.d.ts +0 -0
- /package/dist/{lib/getRosenData → getRosenData}/evm/utils.d.ts +0 -0
- /package/dist/{lib/types.d.ts → types.d.ts} +0 -0
- /package/dist/{lib/utils.d.ts → utils.d.ts} +0 -0
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
|
|
2
|
-
import { RUNES_CHAIN } from '../const';
|
|
3
|
-
import { address } from 'bitcoinjs-lib';
|
|
4
|
-
import { parseAggregatedData } from './utils';
|
|
5
|
-
import JsonBigInt from '@rosen-bridge/json-bigint';
|
|
6
|
-
import { minUtxoValue } from './constants';
|
|
7
|
-
export class RunesRpcRosenExtractor extends AbstractRosenDataExtractor {
|
|
8
|
-
chain = RUNES_CHAIN;
|
|
9
|
-
lockScriptPubKey;
|
|
10
|
-
constructor(lockAddress, tokens, logger) {
|
|
11
|
-
super(lockAddress, tokens, logger);
|
|
12
|
-
this.lockScriptPubKey = address.toOutputScript(lockAddress).toString('hex');
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* extracts RosenData from given lock transaction in Rpc format
|
|
16
|
-
* @param transaction the lock transaction in Rpc format
|
|
17
|
-
*/
|
|
18
|
-
extractRawData = (transaction) => {
|
|
19
|
-
const baseError = `No rosen data is found for tx [${transaction.txid}]`;
|
|
20
|
-
try {
|
|
21
|
-
// validate number of output boxes
|
|
22
|
-
const outputs = transaction.vout;
|
|
23
|
-
if (outputs.length < 5) {
|
|
24
|
-
this.logger.debug(baseError + `: Insufficient number of boxes`);
|
|
25
|
-
return undefined;
|
|
26
|
-
}
|
|
27
|
-
// validate lock conditions
|
|
28
|
-
const validLock = this.validateLock(outputs);
|
|
29
|
-
if (!validLock) {
|
|
30
|
-
this.logger.debug(baseError + `: Failed to find rosen lock utxo`);
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
// validate data conditions
|
|
34
|
-
const lockDataChunks = this.getLockDataChunks(outputs);
|
|
35
|
-
const lockData = this.lockDataFromChunks(lockDataChunks);
|
|
36
|
-
if (!lockData) {
|
|
37
|
-
this.logger.debug(baseError + `: Failed to extract rosen data from utxos`);
|
|
38
|
-
return undefined;
|
|
39
|
-
}
|
|
40
|
-
const fromAddress = `box:${transaction.vin[0].txid}.${transaction.vin[0].vout}`;
|
|
41
|
-
return {
|
|
42
|
-
toChain: lockData.toChain,
|
|
43
|
-
toAddress: lockData.toAddress,
|
|
44
|
-
bridgeFee: lockData.bridgeFee,
|
|
45
|
-
networkFee: lockData.networkFee,
|
|
46
|
-
fromAddress: fromAddress,
|
|
47
|
-
sourceChainTokenId: '',
|
|
48
|
-
amount: '',
|
|
49
|
-
targetChainTokenId: '',
|
|
50
|
-
sourceTxId: transaction.txid,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
catch (e) {
|
|
54
|
-
this.logger.debug(`An error occurred while getting Runes rosen data from Rpc: ${e}`);
|
|
55
|
-
if (e instanceof Error && e.stack) {
|
|
56
|
-
this.logger.debug(e.stack);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return undefined;
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* extracts RosenData chunks from tx outputs
|
|
63
|
-
* @param outputs
|
|
64
|
-
* @return array of LockDataChunk
|
|
65
|
-
*/
|
|
66
|
-
getLockDataChunks = (outputs) => {
|
|
67
|
-
const lockDataChunks = [];
|
|
68
|
-
for (let i = 0; i < 4; i++) {
|
|
69
|
-
for (let boxIndex = 0; boxIndex < outputs.length; boxIndex++) {
|
|
70
|
-
const output = outputs[boxIndex];
|
|
71
|
-
if (output.value * 10 ** 8 !== minUtxoValue + i)
|
|
72
|
-
continue; // wrong data index
|
|
73
|
-
if (output.scriptPubKey.hex.slice(0, 4) !== '0014')
|
|
74
|
-
continue; // not a native-segwit utxo
|
|
75
|
-
lockDataChunks.push({
|
|
76
|
-
index: i,
|
|
77
|
-
data: output.scriptPubKey.hex.slice(4),
|
|
78
|
-
});
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return lockDataChunks;
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* combines lock data chunks into lock data object
|
|
86
|
-
* @param lockDataChunks
|
|
87
|
-
* @return lock data object or undefined
|
|
88
|
-
*/
|
|
89
|
-
lockDataFromChunks = (lockDataChunks) => {
|
|
90
|
-
let lockData;
|
|
91
|
-
try {
|
|
92
|
-
lockData = parseAggregatedData(lockDataChunks.map((chunk) => chunk.data).join(''));
|
|
93
|
-
}
|
|
94
|
-
catch (e) {
|
|
95
|
-
this.logger.debug(`Failed to extract data from chunks [${JsonBigInt.stringify(lockDataChunks)}]: ${e}`);
|
|
96
|
-
}
|
|
97
|
-
return lockData;
|
|
98
|
-
};
|
|
99
|
-
/**
|
|
100
|
-
* check lock box exists in the tx outputs
|
|
101
|
-
* @param outputs
|
|
102
|
-
* @return boolean
|
|
103
|
-
*/
|
|
104
|
-
validateLock = (outputs) => {
|
|
105
|
-
for (let i = 0; i < outputs.length; i++) {
|
|
106
|
-
if (outputs[i].scriptPubKey.hex === this.lockScriptPubKey) {
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
return false;
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVuZXNScGNSb3NlbkV4dHJhY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9nZXRSb3NlbkRhdGEvcnVuZXMvUnVuZXNScGNSb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFHbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUzQyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsMEJBQWlEO0lBQ2xGLEtBQUssR0FBRyxXQUFXLENBQUM7SUFDbkIsZ0JBQWdCLENBQVM7SUFFbkMsWUFBWSxXQUFtQixFQUFFLE1BQWdCLEVBQUUsTUFBdUI7UUFDeEUsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLEdBQUcsQ0FDZixXQUFrQyxFQUNYLEVBQUU7UUFDekIsTUFBTSxTQUFTLEdBQUcsa0NBQWtDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUN4RSxJQUFJO1lBQ0Ysa0NBQWtDO1lBQ2xDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDakMsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFL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Rjs7OztPQUlHO0lBQ08sa0JBQWtCLEdBQUcsQ0FDN0IsY0FBK0IsRUFDTSxFQUFFO1FBQ3ZDLElBQUksUUFBNkMsQ0FBQztRQUVsRCxJQUFJO1lBQ0YsUUFBUSxHQUFHLG1CQUFtQixDQUM1QixjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUNuRCxDQUFDO1NBQ0g7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHVDQUF1QyxVQUFVLENBQUMsU0FBUyxDQUN6RCxjQUFjLENBQ2YsTUFBTSxDQUFDLEVBQUUsQ0FDWCxDQUFDO1NBQ0g7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ08sWUFBWSxHQUFHLENBQUMsT0FBNkIsRUFBVyxFQUFFO1FBQ2xFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZW5EYXRhIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L0Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IFJVTkVTX0NIQUlOIH0gZnJvbSAnLi4vY29uc3QnO1xuaW1wb3J0IHsgQml0Y29pblJwY1RyYW5zYWN0aW9uLCBCaXRjb2luUnBjVHhPdXRwdXQgfSBmcm9tICcuLi9iaXRjb2luL3R5cGVzJztcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBhZGRyZXNzIH0gZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgeyBwYXJzZUFnZ3JlZ2F0ZWREYXRhIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgSnNvbkJpZ0ludCBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcbmltcG9ydCB7IExvY2tEYXRhQ2h1bmsgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IE1pbmltYWxPbkNoYWluUm9zZW5EYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgbWluVXR4b1ZhbHVlIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgUnVuZXNScGNSb3NlbkV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yPEJpdGNvaW5ScGNUcmFuc2FjdGlvbj4ge1xuICByZWFkb25seSBjaGFpbiA9IFJVTkVTX0NIQUlOO1xuICBwcm90ZWN0ZWQgbG9ja1NjcmlwdFB1YktleTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGxvY2tBZGRyZXNzOiBzdHJpbmcsIHRva2VuczogVG9rZW5NYXAsIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgc3VwZXIobG9ja0FkZHJlc3MsIHRva2VucywgbG9nZ2VyKTtcbiAgICB0aGlzLmxvY2tTY3JpcHRQdWJLZXkgPSBhZGRyZXNzLnRvT3V0cHV0U2NyaXB0KGxvY2tBZGRyZXNzKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGZyb20gZ2l2ZW4gbG9jayB0cmFuc2FjdGlvbiBpbiBScGMgZm9ybWF0XG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBScGMgZm9ybWF0XG4gICAqL1xuICBleHRyYWN0UmF3RGF0YSA9IChcbiAgICB0cmFuc2FjdGlvbjogQml0Y29pblJwY1RyYW5zYWN0aW9uXG4gICk6IFJvc2VuRGF0YSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgYmFzZUVycm9yID0gYE5vIHJvc2VuIGRhdGEgaXMgZm91bmQgZm9yIHR4IFske3RyYW5zYWN0aW9uLnR4aWR9XWA7XG4gICAgdHJ5IHtcbiAgICAgIC8vIHZhbGlkYXRlIG51bWJlciBvZiBvdXRwdXQgYm94ZXNcbiAgICAgIGNvbnN0IG91dHB1dHMgPSB0cmFuc2FjdGlvbi52b3V0O1xuICAgICAgaWYgKG91dHB1dHMubGVuZ3RoIDwgNSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhiYXNlRXJyb3IgKyBgOiBJbnN1ZmZpY2llbnQgbnVtYmVyIG9mIGJveGVzYCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIC8vIHZhbGlkYXRlIGxvY2sgY29uZGl0aW9uc1xuICAgICAgY29uc3QgdmFsaWRMb2NrID0gdGhpcy52YWxpZGF0ZUxvY2sob3V0cHV0cyk7XG5cbiAgICAgIGlmICghdmFsaWRMb2NrKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGJhc2VFcnJvciArIGA6IEZhaWxlZCB0byBmaW5kIHJvc2VuIGxvY2sgdXR4b2ApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICAvLyB2YWxpZGF0ZSBkYXRhIGNvbmRpdGlvbnNcbiAgICAgIGNvbnN0IGxvY2tEYXRhQ2h1bmtzID0gdGhpcy5nZXRMb2NrRGF0YUNodW5rcyhvdXRwdXRzKTtcbiAgICAgIGNvbnN0IGxvY2tEYXRhID0gdGhpcy5sb2NrRGF0YUZyb21DaHVua3MobG9ja0RhdGFDaHVua3MpO1xuXG4gICAgICBpZiAoIWxvY2tEYXRhKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArIGA6IEZhaWxlZCB0byBleHRyYWN0IHJvc2VuIGRhdGEgZnJvbSB1dHhvc2BcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZnJvbUFkZHJlc3MgPSBgYm94OiR7dHJhbnNhY3Rpb24udmluWzBdLnR4aWR9LiR7dHJhbnNhY3Rpb24udmluWzBdLnZvdXR9YDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRvQ2hhaW46IGxvY2tEYXRhLnRvQ2hhaW4sXG4gICAgICAgIHRvQWRkcmVzczogbG9ja0RhdGEudG9BZGRyZXNzLFxuICAgICAgICBicmlkZ2VGZWU6IGxvY2tEYXRhLmJyaWRnZUZlZSxcbiAgICAgICAgbmV0d29ya0ZlZTogbG9ja0RhdGEubmV0d29ya0ZlZSxcbiAgICAgICAgZnJvbUFkZHJlc3M6IGZyb21BZGRyZXNzLFxuICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6ICcnLFxuICAgICAgICBhbW91bnQ6ICcnLFxuICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6ICcnLFxuICAgICAgICBzb3VyY2VUeElkOiB0cmFuc2FjdGlvbi50eGlkLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgUnVuZXMgcm9zZW4gZGF0YSBmcm9tIFJwYzogJHtlfWBcbiAgICAgICk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBjaHVua3MgZnJvbSB0eCBvdXRwdXRzXG4gICAqIEBwYXJhbSBvdXRwdXRzXG4gICAqIEByZXR1cm4gYXJyYXkgb2YgTG9ja0RhdGFDaHVua1xuICAgKi9cbiAgcHJvdGVjdGVkIGdldExvY2tEYXRhQ2h1bmtzID0gKFxuICAgIG91dHB1dHM6IEJpdGNvaW5ScGNUeE91dHB1dFtdXG4gICk6IExvY2tEYXRhQ2h1bmtbXSA9PiB7XG4gICAgY29uc3QgbG9ja0RhdGFDaHVua3M6IExvY2tEYXRhQ2h1bmtbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgIGZvciAobGV0IGJveEluZGV4ID0gMDsgYm94SW5kZXggPCBvdXRwdXRzLmxlbmd0aDsgYm94SW5kZXgrKykge1xuICAgICAgICBjb25zdCBvdXRwdXQgPSBvdXRwdXRzW2JveEluZGV4XTtcblxuICAgICAgICBpZiAob3V0cHV0LnZhbHVlICogMTAgKiogOCAhPT0gbWluVXR4b1ZhbHVlICsgaSkgY29udGludWU7IC8vIHdyb25nIGRhdGEgaW5kZXhcbiAgICAgICAgaWYgKG91dHB1dC5zY3JpcHRQdWJLZXkuaGV4LnNsaWNlKDAsIDQpICE9PSAnMDAxNCcpIGNvbnRpbnVlOyAvLyBub3QgYSBuYXRpdmUtc2Vnd2l0IHV0eG9cblxuICAgICAgICBsb2NrRGF0YUNodW5rcy5wdXNoKHtcbiAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICBkYXRhOiBvdXRwdXQuc2NyaXB0UHViS2V5LmhleC5zbGljZSg0KSxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsb2NrRGF0YUNodW5rcztcbiAgfTtcblxuICAvKipcbiAgICogY29tYmluZXMgbG9jayBkYXRhIGNodW5rcyBpbnRvIGxvY2sgZGF0YSBvYmplY3RcbiAgICogQHBhcmFtIGxvY2tEYXRhQ2h1bmtzXG4gICAqIEByZXR1cm4gbG9jayBkYXRhIG9iamVjdCBvciB1bmRlZmluZWRcbiAgICovXG4gIHByb3RlY3RlZCBsb2NrRGF0YUZyb21DaHVua3MgPSAoXG4gICAgbG9ja0RhdGFDaHVua3M6IExvY2tEYXRhQ2h1bmtbXVxuICApOiBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgbGV0IGxvY2tEYXRhOiBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSB8IHVuZGVmaW5lZDtcblxuICAgIHRyeSB7XG4gICAgICBsb2NrRGF0YSA9IHBhcnNlQWdncmVnYXRlZERhdGEoXG4gICAgICAgIGxvY2tEYXRhQ2h1bmtzLm1hcCgoY2h1bmspID0+IGNodW5rLmRhdGEpLmpvaW4oJycpXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgRmFpbGVkIHRvIGV4dHJhY3QgZGF0YSBmcm9tIGNodW5rcyBbJHtKc29uQmlnSW50LnN0cmluZ2lmeShcbiAgICAgICAgICBsb2NrRGF0YUNodW5rc1xuICAgICAgICApfV06ICR7ZX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBsb2NrRGF0YTtcbiAgfTtcblxuICAvKipcbiAgICogY2hlY2sgbG9jayBib3ggZXhpc3RzIGluIHRoZSB0eCBvdXRwdXRzXG4gICAqIEBwYXJhbSBvdXRwdXRzXG4gICAqIEByZXR1cm4gYm9vbGVhblxuICAgKi9cbiAgcHJvdGVjdGVkIHZhbGlkYXRlTG9jayA9IChvdXRwdXRzOiBCaXRjb2luUnBjVHhPdXRwdXRbXSk6IGJvb2xlYW4gPT4ge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3V0cHV0cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKG91dHB1dHNbaV0uc2NyaXB0UHViS2V5LmhleCA9PT0gdGhpcy5sb2NrU2NyaXB0UHViS2V5KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/runes/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,MAAM,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const minUtxoValue = 294;
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2dldFJvc2VuRGF0YS9ydW5lcy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBtaW5VdHhvVmFsdWUgPSAyOTQ7XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/runes/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL3J1bmVzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBMb2NrRGF0YUNodW5rID0geyBpbmRleDogbnVtYmVyOyBkYXRhOiBzdHJpbmcgfTtcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/runes/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,oBACb,MAAM,KACtB,uBAEF,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { parseRosenData } from '../../utils';
|
|
2
|
-
/**
|
|
3
|
-
* extracts rosen data from raw hex data
|
|
4
|
-
* @param scriptPubKeyHex
|
|
5
|
-
*/
|
|
6
|
-
export const parseAggregatedData = (scriptPubKeyHex) => {
|
|
7
|
-
return parseRosenData(scriptPubKeyHex);
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL3J1bmVzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHN0M7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsZUFBdUIsRUFDRSxFQUFFO0lBQzNCLE9BQU8sY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlUm9zZW5EYXRhIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWluaW1hbE9uQ2hhaW5Sb3NlbkRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8qKlxuICogZXh0cmFjdHMgcm9zZW4gZGF0YSBmcm9tIHJhdyBoZXggZGF0YVxuICogQHBhcmFtIHNjcmlwdFB1YktleUhleFxuICovXG5leHBvcnQgY29uc3QgcGFyc2VBZ2dyZWdhdGVkRGF0YSA9IChcbiAgc2NyaXB0UHViS2V5SGV4OiBzdHJpbmdcbik6IE1pbmltYWxPbkNoYWluUm9zZW5EYXRhID0+IHtcbiAgcmV0dXJuIHBhcnNlUm9zZW5EYXRhKHNjcmlwdFB1YktleUhleCk7XG59O1xuIl19
|
package/dist/lib/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAC3G,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,wDAAwD,CAAC;AACzG,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/lib/index.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { initEccLib } from 'bitcoinjs-lib';
|
|
2
|
-
import ecc from '@bitcoinerlab/secp256k1';
|
|
3
|
-
initEccLib(ecc);
|
|
4
|
-
export { default as AbstractRosenDataExtractor } from './getRosenData/abstract/AbstractRosenDataExtractor';
|
|
5
|
-
export { BitcoinEsploraRosenExtractor } from './getRosenData/bitcoin/BitcoinEsploraRosenExtractor';
|
|
6
|
-
export { BitcoinRosenExtractor } from './getRosenData/bitcoin/BitcoinRosenExtractor';
|
|
7
|
-
export { BitcoinRpcRosenExtractor } from './getRosenData/bitcoin/BitcoinRpcRosenExtractor';
|
|
8
|
-
export { EvmEthersRosenExtractor } from './getRosenData/evm/EvmEthersRosenExtractor';
|
|
9
|
-
export { EvmRpcRosenExtractor } from './getRosenData/evm/EvmRpcRosenExtractor';
|
|
10
|
-
export { EvmRosenExtractor } from './getRosenData/evm/EvmRosenExtractor';
|
|
11
|
-
export { CardanoKoiosRosenExtractor } from './getRosenData/cardano/CardanoKoiosRosenExtractor';
|
|
12
|
-
export { CardanoOgmiosRosenExtractor } from './getRosenData/cardano/CardanoOgmiosRosenExtractor';
|
|
13
|
-
export { CardanoRosenExtractor } from './getRosenData/cardano/CardanoRosenExtractor';
|
|
14
|
-
export { CardanoBlockFrostRosenExtractor } from './getRosenData/cardano/CardanoBlockFrostRosenExtractor';
|
|
15
|
-
export { CardanoGraphQLRosenExtractor } from './getRosenData/cardano/CardanoGraphQLRosenExtractor';
|
|
16
|
-
export { ErgoRosenExtractor } from './getRosenData/ergo/ErgoRosenExtractor';
|
|
17
|
-
export { ErgoNodeRosenExtractor } from './getRosenData/ergo/ErgoNodeRosenExtractor';
|
|
18
|
-
export { DogeEsploraRosenExtractor } from './getRosenData/doge/DogeEsploraRosenExtractor';
|
|
19
|
-
export { DogeRosenExtractor } from './getRosenData/doge/DogeRosenExtractor';
|
|
20
|
-
export { DogeRpcRosenExtractor } from './getRosenData/doge/DogeRpcRosenExtractor';
|
|
21
|
-
export { RunesEsploraRosenExtractor } from './getRosenData/runes/RunesEsploraRosenExtractor';
|
|
22
|
-
export { RunesRosenExtractor } from './getRosenData/runes/RunesRosenExtractor';
|
|
23
|
-
export { RunesRpcRosenExtractor } from './getRosenData/runes/RunesRpcRosenExtractor';
|
|
24
|
-
export { parseRosenData } from './utils';
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEdBQUcsTUFBTSx5QkFBeUIsQ0FBQztBQUUxQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFaEIsT0FBTyxFQUFFLE9BQU8sSUFBSSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRXBGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbml0RWNjTGliIH0gZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgZWNjIGZyb20gJ0BiaXRjb2luZXJsYWIvc2VjcDI1NmsxJztcblxuaW5pdEVjY0xpYihlY2MpO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIH0gZnJvbSAnLi9nZXRSb3NlbkRhdGEvYWJzdHJhY3QvQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3InO1xuZXhwb3J0IHsgQml0Y29pbkVzcGxvcmFSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vZ2V0Um9zZW5EYXRhL2JpdGNvaW4vQml0Y29pbkVzcGxvcmFSb3NlbkV4dHJhY3Rvcic7XG5leHBvcnQgeyBCaXRjb2luUm9zZW5FeHRyYWN0b3IgfSBmcm9tICcuL2dldFJvc2VuRGF0YS9iaXRjb2luL0JpdGNvaW5Sb3NlbkV4dHJhY3Rvcic7XG5leHBvcnQgeyBCaXRjb2luUnBjUm9zZW5FeHRyYWN0b3IgfSBmcm9tICcuL2dldFJvc2VuRGF0YS9iaXRjb2luL0JpdGNvaW5ScGNSb3NlbkV4dHJhY3Rvcic7XG5leHBvcnQgeyBFdm1FdGhlcnNSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vZ2V0Um9zZW5EYXRhL2V2bS9Fdm1FdGhlcnNSb3NlbkV4dHJhY3Rvcic7XG5leHBvcnQgeyBFdm1ScGNSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vZ2V0Um9zZW5EYXRhL2V2bS9Fdm1ScGNSb3NlbkV4dHJhY3Rvcic7XG5leHBvcnQgeyBFdm1Sb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vZ2V0Um9zZW5EYXRhL2V2bS9Fdm1Sb3NlbkV4dHJhY3Rvcic7XG5leHBvcnQgeyBDYXJkYW5vS29pb3NSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vZ2V0Um9zZW5EYXRhL2NhcmRhbm8vQ2FyZGFub0tvaW9zUm9zZW5FeHRyYWN0b3InO1xuZXhwb3J0IHsgQ2FyZGFub09nbWlvc1Jvc2VuRXh0cmFjdG9yIH0gZnJvbSAnLi9nZXRSb3NlbkRhdGEvY2FyZGFuby9DYXJkYW5vT2dtaW9zUm9zZW5FeHRyYWN0b3InO1xuZXhwb3J0IHsgQ2FyZGFub1Jvc2VuRXh0cmFjdG9yIH0gZnJvbSAnLi9nZXRSb3NlbkRhdGEvY2FyZGFuby9DYXJkYW5vUm9zZW5FeHRyYWN0b3InO1xuZXhwb3J0IHsgQ2FyZGFub0Jsb2NrRnJvc3RSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vZ2V0Um9zZW5EYXRhL2NhcmRhbm8vQ2FyZGFub0Jsb2NrRnJvc3RSb3NlbkV4dHJhY3Rvcic7XG5leHBvcnQgeyBDYXJkYW5vR3JhcGhRTFJvc2VuRXh0cmFjdG9yIH0gZnJvbSAnLi9nZXRSb3NlbkRhdGEvY2FyZGFuby9DYXJkYW5vR3JhcGhRTFJvc2VuRXh0cmFjdG9yJztcbmV4cG9ydCB7IEVyZ29Sb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vZ2V0Um9zZW5EYXRhL2VyZ28vRXJnb1Jvc2VuRXh0cmFjdG9yJztcbmV4cG9ydCB7IEVyZ29Ob2RlUm9zZW5FeHRyYWN0b3IgfSBmcm9tICcuL2dldFJvc2VuRGF0YS9lcmdvL0VyZ29Ob2RlUm9zZW5FeHRyYWN0b3InO1xuZXhwb3J0IHsgUm9zZW5EYXRhLCBUb2tlblRyYW5zZm9ybWF0aW9uIH0gZnJvbSAnLi9nZXRSb3NlbkRhdGEvYWJzdHJhY3QvdHlwZXMnO1xuZXhwb3J0IHsgRG9nZUVzcGxvcmFSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vZ2V0Um9zZW5EYXRhL2RvZ2UvRG9nZUVzcGxvcmFSb3NlbkV4dHJhY3Rvcic7XG5leHBvcnQgeyBEb2dlUm9zZW5FeHRyYWN0b3IgfSBmcm9tICcuL2dldFJvc2VuRGF0YS9kb2dlL0RvZ2VSb3NlbkV4dHJhY3Rvcic7XG5leHBvcnQgeyBEb2dlUnBjUm9zZW5FeHRyYWN0b3IgfSBmcm9tICcuL2dldFJvc2VuRGF0YS9kb2dlL0RvZ2VScGNSb3NlbkV4dHJhY3Rvcic7XG5leHBvcnQgeyBSdW5lc0VzcGxvcmFSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vZ2V0Um9zZW5EYXRhL3J1bmVzL1J1bmVzRXNwbG9yYVJvc2VuRXh0cmFjdG9yJztcbmV4cG9ydCB7IFJ1bmVzUm9zZW5FeHRyYWN0b3IgfSBmcm9tICcuL2dldFJvc2VuRGF0YS9ydW5lcy9SdW5lc1Jvc2VuRXh0cmFjdG9yJztcbmV4cG9ydCB7IFJ1bmVzUnBjUm9zZW5FeHRyYWN0b3IgfSBmcm9tICcuL2dldFJvc2VuRGF0YS9ydW5lcy9SdW5lc1JwY1Jvc2VuRXh0cmFjdG9yJztcbmV4cG9ydCB7IHBhcnNlUm9zZW5EYXRhIH0gZnJvbSAnLi91dGlscyc7XG4iXX0=
|
package/dist/lib/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
package/dist/lib/types.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTWluaW1hbE9uQ2hhaW5Sb3NlbkRhdGEge1xuICB0b0NoYWluOiBzdHJpbmc7XG4gIHRvQWRkcmVzczogc3RyaW5nO1xuICBicmlkZ2VGZWU6IHN0cmluZztcbiAgbmV0d29ya0ZlZTogc3RyaW5nO1xufVxuIl19
|
package/dist/lib/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,cAAc,oBACR,MAAM,KACtB,uBAgCF,CAAC"}
|
package/dist/lib/utils.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { decodeAddress } from '@rosen-bridge/address-codec';
|
|
2
|
-
import { SUPPORTED_CHAINS } from './getRosenData/const';
|
|
3
|
-
/**
|
|
4
|
-
* extracts rosen data from raw hex data
|
|
5
|
-
* @param scriptPubKeyHex
|
|
6
|
-
*/
|
|
7
|
-
export const parseRosenData = (scriptPubKeyHex) => {
|
|
8
|
-
// parse toChain
|
|
9
|
-
const toChainHex = scriptPubKeyHex.slice(0, 2);
|
|
10
|
-
const toChainCode = parseInt(toChainHex, 16);
|
|
11
|
-
if (toChainCode >= SUPPORTED_CHAINS.length)
|
|
12
|
-
throw Error(`invalid toChain code, found [${toChainCode}] but only [${SUPPORTED_CHAINS.length}] chains are supported`);
|
|
13
|
-
const toChain = SUPPORTED_CHAINS[toChainCode];
|
|
14
|
-
// parse bridgeFee
|
|
15
|
-
const bridgeFeeHex = scriptPubKeyHex.slice(2, 18);
|
|
16
|
-
const bridgeFee = BigInt('0x' + bridgeFeeHex).toString();
|
|
17
|
-
// parse networkFee
|
|
18
|
-
const networkFeeHex = scriptPubKeyHex.slice(18, 34);
|
|
19
|
-
const networkFee = BigInt('0x' + networkFeeHex).toString();
|
|
20
|
-
// parse toAddress
|
|
21
|
-
const addressLengthCode = scriptPubKeyHex.slice(34, 36);
|
|
22
|
-
const addressHex = scriptPubKeyHex.slice(36, 36 + parseInt(addressLengthCode, 16) * 2);
|
|
23
|
-
const toAddress = decodeAddress(toChain, addressHex);
|
|
24
|
-
return {
|
|
25
|
-
toChain,
|
|
26
|
-
toAddress,
|
|
27
|
-
bridgeFee,
|
|
28
|
-
networkFee,
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3hEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUM1QixlQUF1QixFQUNFLEVBQUU7SUFDM0IsZ0JBQWdCO0lBQ2hCLE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0MsSUFBSSxXQUFXLElBQUksZ0JBQWdCLENBQUMsTUFBTTtRQUN4QyxNQUFNLEtBQUssQ0FDVCxnQ0FBZ0MsV0FBVyxlQUFlLGdCQUFnQixDQUFDLE1BQU0sd0JBQXdCLENBQzFHLENBQUM7SUFDSixNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU5QyxrQkFBa0I7SUFDbEIsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV6RCxtQkFBbUI7SUFDbkIsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUUzRCxrQkFBa0I7SUFDbEIsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4RCxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUN0QyxFQUFFLEVBQ0YsRUFBRSxHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQ3pDLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRXJELE9BQU87UUFDTCxPQUFPO1FBQ1AsU0FBUztRQUNULFNBQVM7UUFDVCxVQUFVO0tBQ1gsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlY29kZUFkZHJlc3MgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2FkZHJlc3MtY29kZWMnO1xuaW1wb3J0IHsgU1VQUE9SVEVEX0NIQUlOUyB9IGZyb20gJy4vZ2V0Um9zZW5EYXRhL2NvbnN0JztcbmltcG9ydCB7IE1pbmltYWxPbkNoYWluUm9zZW5EYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogZXh0cmFjdHMgcm9zZW4gZGF0YSBmcm9tIHJhdyBoZXggZGF0YVxuICogQHBhcmFtIHNjcmlwdFB1YktleUhleFxuICovXG5leHBvcnQgY29uc3QgcGFyc2VSb3NlbkRhdGEgPSAoXG4gIHNjcmlwdFB1YktleUhleDogc3RyaW5nXG4pOiBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSA9PiB7XG4gIC8vIHBhcnNlIHRvQ2hhaW5cbiAgY29uc3QgdG9DaGFpbkhleCA9IHNjcmlwdFB1YktleUhleC5zbGljZSgwLCAyKTtcbiAgY29uc3QgdG9DaGFpbkNvZGUgPSBwYXJzZUludCh0b0NoYWluSGV4LCAxNik7XG4gIGlmICh0b0NoYWluQ29kZSA+PSBTVVBQT1JURURfQ0hBSU5TLmxlbmd0aClcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBpbnZhbGlkIHRvQ2hhaW4gY29kZSwgZm91bmQgWyR7dG9DaGFpbkNvZGV9XSBidXQgb25seSBbJHtTVVBQT1JURURfQ0hBSU5TLmxlbmd0aH1dIGNoYWlucyBhcmUgc3VwcG9ydGVkYFxuICAgICk7XG4gIGNvbnN0IHRvQ2hhaW4gPSBTVVBQT1JURURfQ0hBSU5TW3RvQ2hhaW5Db2RlXTtcblxuICAvLyBwYXJzZSBicmlkZ2VGZWVcbiAgY29uc3QgYnJpZGdlRmVlSGV4ID0gc2NyaXB0UHViS2V5SGV4LnNsaWNlKDIsIDE4KTtcbiAgY29uc3QgYnJpZGdlRmVlID0gQmlnSW50KCcweCcgKyBicmlkZ2VGZWVIZXgpLnRvU3RyaW5nKCk7XG5cbiAgLy8gcGFyc2UgbmV0d29ya0ZlZVxuICBjb25zdCBuZXR3b3JrRmVlSGV4ID0gc2NyaXB0UHViS2V5SGV4LnNsaWNlKDE4LCAzNCk7XG4gIGNvbnN0IG5ldHdvcmtGZWUgPSBCaWdJbnQoJzB4JyArIG5ldHdvcmtGZWVIZXgpLnRvU3RyaW5nKCk7XG5cbiAgLy8gcGFyc2UgdG9BZGRyZXNzXG4gIGNvbnN0IGFkZHJlc3NMZW5ndGhDb2RlID0gc2NyaXB0UHViS2V5SGV4LnNsaWNlKDM0LCAzNik7XG4gIGNvbnN0IGFkZHJlc3NIZXggPSBzY3JpcHRQdWJLZXlIZXguc2xpY2UoXG4gICAgMzYsXG4gICAgMzYgKyBwYXJzZUludChhZGRyZXNzTGVuZ3RoQ29kZSwgMTYpICogMlxuICApO1xuICBjb25zdCB0b0FkZHJlc3MgPSBkZWNvZGVBZGRyZXNzKHRvQ2hhaW4sIGFkZHJlc3NIZXgpO1xuXG4gIHJldHVybiB7XG4gICAgdG9DaGFpbixcbiAgICB0b0FkZHJlc3MsXG4gICAgYnJpZGdlRmVlLFxuICAgIG5ldHdvcmtGZWUsXG4gIH07XG59O1xuIl19
|