@rosen-bridge/rosen-extractor 7.2.1 → 7.2.2-f4cdb6ba
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/lib/getRosenData/abstract/types.d.ts +13 -13
- package/dist/lib/getRosenData/bitcoin/types.d.ts +66 -66
- package/dist/lib/getRosenData/bitcoin/utils.d.ts +1 -1
- package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.d.ts +13 -16
- package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.d.ts +13 -16
- package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.d.ts +13 -16
- package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.d.ts +13 -16
- package/dist/lib/getRosenData/const.d.ts +1 -0
- package/dist/lib/getRosenData/const.d.ts.map +1 -1
- package/dist/lib/getRosenData/const.js +3 -1
- package/dist/lib/getRosenData/ergo/types.d.ts +24 -24
- package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.d.ts +6 -0
- package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.js +25 -2
- package/dist/lib/getRosenData/evm/utils.d.ts +5 -5
- package/dist/lib/getRosenData/runes/RunesEsploraRosenExtractor.d.ts +35 -0
- package/dist/lib/getRosenData/runes/RunesEsploraRosenExtractor.d.ts.map +1 -0
- package/dist/lib/getRosenData/runes/RunesEsploraRosenExtractor.js +117 -0
- package/dist/lib/getRosenData/runes/RunesRosenExtractor.d.ts +35 -0
- package/dist/lib/getRosenData/runes/RunesRosenExtractor.d.ts.map +1 -0
- package/dist/lib/getRosenData/runes/RunesRosenExtractor.js +124 -0
- package/dist/lib/getRosenData/runes/RunesRpcRosenExtractor.d.ts +35 -0
- package/dist/lib/getRosenData/runes/RunesRpcRosenExtractor.d.ts.map +1 -0
- package/dist/lib/getRosenData/runes/RunesRpcRosenExtractor.js +117 -0
- package/dist/lib/getRosenData/runes/types.d.ts +5 -0
- package/dist/lib/getRosenData/runes/types.d.ts.map +1 -0
- package/dist/lib/getRosenData/runes/types.js +2 -0
- package/dist/lib/getRosenData/runes/utils.d.ts +7 -0
- package/dist/lib/getRosenData/runes/utils.d.ts.map +1 -0
- package/dist/lib/getRosenData/runes/utils.js +31 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +4 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -4
- package/dist/lib/getRosenData/Utils.d.ts +0 -59
- package/dist/lib/getRosenData/Utils.d.ts.map +0 -1
- package/dist/lib/getRosenData/Utils.js +0 -96
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
interface RosenData {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
toChain: string;
|
|
3
|
+
toAddress: string;
|
|
4
|
+
bridgeFee: string;
|
|
5
|
+
networkFee: string;
|
|
6
|
+
fromAddress: string;
|
|
7
|
+
sourceChainTokenId: string;
|
|
8
|
+
amount: string;
|
|
9
|
+
targetChainTokenId: string;
|
|
10
|
+
sourceTxId: string;
|
|
11
11
|
}
|
|
12
12
|
interface TokenTransformation {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
from: string;
|
|
14
|
+
to: string;
|
|
15
|
+
amount: string;
|
|
16
16
|
}
|
|
17
17
|
export { RosenData, TokenTransformation };
|
|
18
|
-
//# sourceMappingURL=types.d.ts.map
|
|
18
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1,89 +1,89 @@
|
|
|
1
1
|
export interface OpReturnData {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
toChain: string;
|
|
3
|
+
toAddress: string;
|
|
4
|
+
bridgeFee: string;
|
|
5
|
+
networkFee: string;
|
|
6
6
|
}
|
|
7
7
|
export interface EsploraTxInput {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
txid: string;
|
|
9
|
+
vout: number;
|
|
10
|
+
prevout: {
|
|
11
|
+
scriptpubkey: string;
|
|
12
|
+
scriptpubkey_asm: string;
|
|
13
|
+
scriptpubkey_type: string;
|
|
14
|
+
scriptpubkey_address: string;
|
|
15
|
+
value: number;
|
|
16
|
+
};
|
|
17
|
+
scriptsig: string;
|
|
18
|
+
scriptsig_asm: string;
|
|
19
|
+
is_coinbase: false;
|
|
20
|
+
sequence: number;
|
|
21
|
+
}
|
|
22
|
+
export interface EsploraTxOutput {
|
|
11
23
|
scriptpubkey: string;
|
|
12
24
|
scriptpubkey_asm: string;
|
|
13
25
|
scriptpubkey_type: string;
|
|
14
26
|
scriptpubkey_address: string;
|
|
15
27
|
value: number;
|
|
16
|
-
};
|
|
17
|
-
scriptsig: string;
|
|
18
|
-
scriptsig_asm: string;
|
|
19
|
-
is_coinbase: false;
|
|
20
|
-
sequence: number;
|
|
21
|
-
}
|
|
22
|
-
export interface EsploraTxOutput {
|
|
23
|
-
scriptpubkey: string;
|
|
24
|
-
scriptpubkey_asm: string;
|
|
25
|
-
scriptpubkey_type: string;
|
|
26
|
-
scriptpubkey_address: string;
|
|
27
|
-
value: number;
|
|
28
28
|
}
|
|
29
29
|
export interface BitcoinEsploraTransaction {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
30
|
+
txid: string;
|
|
31
|
+
version: number;
|
|
32
|
+
locktime: number;
|
|
33
|
+
vin: Array<EsploraTxInput>;
|
|
34
|
+
vout: Array<EsploraTxOutput>;
|
|
35
|
+
size: number;
|
|
36
|
+
weight: number;
|
|
37
|
+
fee: number;
|
|
38
|
+
status: {
|
|
39
|
+
confirmed: true;
|
|
40
|
+
block_height: number;
|
|
41
|
+
block_hash: string;
|
|
42
|
+
block_time: number;
|
|
43
|
+
};
|
|
44
44
|
}
|
|
45
45
|
export interface BitcoinTxInput {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
txId: string;
|
|
47
|
+
index: number;
|
|
48
|
+
scriptPubKey: string;
|
|
49
49
|
}
|
|
50
50
|
export interface BitcoinTxOutput {
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
scriptPubKey: string;
|
|
52
|
+
value: bigint;
|
|
53
53
|
}
|
|
54
54
|
export interface BitcoinTx {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
id: string;
|
|
56
|
+
inputs: BitcoinTxInput[];
|
|
57
|
+
outputs: BitcoinTxOutput[];
|
|
58
58
|
}
|
|
59
59
|
export interface BitcoinRpcTxInput {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
txid: string;
|
|
61
|
+
vout: number;
|
|
62
|
+
scriptSig: {
|
|
63
|
+
asm: string;
|
|
64
|
+
hex: string;
|
|
65
|
+
};
|
|
66
|
+
txinwitness: Array<string>;
|
|
67
|
+
sequence: number;
|
|
68
68
|
}
|
|
69
69
|
export interface BitcoinRpcTxOutput {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
value: number;
|
|
71
|
+
n: number;
|
|
72
|
+
scriptPubKey: {
|
|
73
|
+
asm: string;
|
|
74
|
+
hex: string;
|
|
75
|
+
};
|
|
76
76
|
}
|
|
77
77
|
export interface BitcoinRpcTransaction {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
78
|
+
txid: string;
|
|
79
|
+
hash: string;
|
|
80
|
+
version: number;
|
|
81
|
+
size: number;
|
|
82
|
+
vsize: number;
|
|
83
|
+
weight: number;
|
|
84
|
+
locktime: number;
|
|
85
|
+
vin: Array<BitcoinRpcTxInput>;
|
|
86
|
+
vout: Array<BitcoinRpcTxOutput>;
|
|
87
|
+
hex: string;
|
|
88
88
|
}
|
|
89
|
-
//# sourceMappingURL=types.d.ts.map
|
|
89
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -2,20 +2,17 @@ import { RosenData, TokenTransformation } from '../abstract/types';
|
|
|
2
2
|
import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
|
|
3
3
|
import { BlockFrostOutputBox, BlockFrostTransaction } from './types';
|
|
4
4
|
export declare class CardanoBlockFrostRosenExtractor extends AbstractRosenDataExtractor<BlockFrostTransaction> {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
box: BlockFrostOutputBox,
|
|
18
|
-
toChain: string
|
|
19
|
-
) => TokenTransformation | undefined;
|
|
5
|
+
readonly chain = "cardano";
|
|
6
|
+
/**
|
|
7
|
+
* extracts RosenData from given lock transaction in blockfrost format
|
|
8
|
+
* @param transaction the lock transaction in blockfrost format
|
|
9
|
+
*/
|
|
10
|
+
extractRawData: (transaction: BlockFrostTransaction) => RosenData | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* extracts and builds token transformation from UTXO and tokenMap
|
|
13
|
+
* @param box transaction output
|
|
14
|
+
* @param toChain event target chain
|
|
15
|
+
*/
|
|
16
|
+
getAssetTransformation: (box: BlockFrostOutputBox, toChain: string) => TokenTransformation | undefined;
|
|
20
17
|
}
|
|
21
|
-
//# sourceMappingURL=CardanoBlockFrostRosenExtractor.d.ts.map
|
|
18
|
+
//# sourceMappingURL=CardanoBlockFrostRosenExtractor.d.ts.map
|
|
@@ -2,20 +2,17 @@ import { RosenData, TokenTransformation } from '../abstract/types';
|
|
|
2
2
|
import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
|
|
3
3
|
import { GraphQLTransaction, GraphQLTxOutput } from './types';
|
|
4
4
|
export declare class CardanoGraphQLRosenExtractor extends AbstractRosenDataExtractor<GraphQLTransaction> {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
box: GraphQLTxOutput,
|
|
18
|
-
toChain: string
|
|
19
|
-
) => TokenTransformation | undefined;
|
|
5
|
+
readonly chain = "cardano";
|
|
6
|
+
/**
|
|
7
|
+
* extracts RosenData from given lock transaction in graphql format
|
|
8
|
+
* @param transaction the lock transaction in graphql format
|
|
9
|
+
*/
|
|
10
|
+
extractRawData: (transaction: GraphQLTransaction) => RosenData | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* extracts and builds token transformation from UTXO and tokenMap
|
|
13
|
+
* @param box transaction output
|
|
14
|
+
* @param toChain event target chain
|
|
15
|
+
*/
|
|
16
|
+
getAssetTransformation: (box: GraphQLTxOutput, toChain: string) => TokenTransformation | undefined;
|
|
20
17
|
}
|
|
21
|
-
//# sourceMappingURL=CardanoGraphQLRosenExtractor.d.ts.map
|
|
18
|
+
//# sourceMappingURL=CardanoGraphQLRosenExtractor.d.ts.map
|
|
@@ -2,20 +2,17 @@ import { RosenData, TokenTransformation } from '../abstract/types';
|
|
|
2
2
|
import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
|
|
3
3
|
import { Transaction, TransactionOutput } from '@cardano-ogmios/schema';
|
|
4
4
|
export declare class CardanoOgmiosRosenExtractor extends AbstractRosenDataExtractor<Transaction> {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
box: TransactionOutput,
|
|
18
|
-
toChain: string
|
|
19
|
-
) => TokenTransformation | undefined;
|
|
5
|
+
readonly chain = "cardano";
|
|
6
|
+
/**
|
|
7
|
+
* extracts RosenData from given lock transaction in Ogmios format
|
|
8
|
+
* @param transaction the lock transaction in Koios format
|
|
9
|
+
*/
|
|
10
|
+
extractRawData: (transaction: Transaction) => RosenData | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* extracts and builds token transformation from TxOut and tokenMap
|
|
13
|
+
* @param box transaction output
|
|
14
|
+
* @param toChain event target chain
|
|
15
|
+
*/
|
|
16
|
+
getAssetTransformation: (box: TransactionOutput, toChain: string) => TokenTransformation | undefined;
|
|
20
17
|
}
|
|
21
|
-
//# sourceMappingURL=CardanoOgmiosRosenExtractor.d.ts.map
|
|
18
|
+
//# sourceMappingURL=CardanoOgmiosRosenExtractor.d.ts.map
|
|
@@ -2,20 +2,17 @@ import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
|
|
|
2
2
|
import { RosenData, TokenTransformation } from '../abstract/types';
|
|
3
3
|
import { CardanoBoxCandidate } from './types';
|
|
4
4
|
export declare class CardanoRosenExtractor extends AbstractRosenDataExtractor<string> {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
box: CardanoBoxCandidate,
|
|
18
|
-
toChain: string
|
|
19
|
-
) => TokenTransformation | undefined;
|
|
5
|
+
readonly chain = "cardano";
|
|
6
|
+
/**
|
|
7
|
+
* extracts RosenData from given lock transaction in CardanoTx format
|
|
8
|
+
* @param serializedTransaction stringified transaction in CardanoTx format
|
|
9
|
+
*/
|
|
10
|
+
extractRawData: (serializedTransaction: string) => RosenData | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* extracts and builds token transformation from CardanoBoxCandidate and tokenMap
|
|
13
|
+
* @param box transaction output in CardanoBoxCandidate format
|
|
14
|
+
* @param toChain event target chain
|
|
15
|
+
*/
|
|
16
|
+
getAssetTransformation: (box: CardanoBoxCandidate, toChain: string) => TokenTransformation | undefined;
|
|
20
17
|
}
|
|
21
|
-
//# sourceMappingURL=CardanoRosenExtractor.d.ts.map
|
|
18
|
+
//# sourceMappingURL=CardanoRosenExtractor.d.ts.map
|
|
@@ -8,5 +8,6 @@ export declare const CARDANO_CHAIN = "cardano";
|
|
|
8
8
|
export declare const ERGO_CHAIN = "ergo";
|
|
9
9
|
export declare const DOGE_CHAIN = "doge";
|
|
10
10
|
export declare const DOGE_NATIVE_TOKEN = "doge";
|
|
11
|
+
export declare const RUNES_CHAIN = "runes";
|
|
11
12
|
export declare const SUPPORTED_CHAINS: string[];
|
|
12
13
|
//# sourceMappingURL=const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,WAAW,UAAU,CAAC;AACnC,eAAO,MAAM,gBAAgB,UAQ5B,CAAC"}
|
|
@@ -8,6 +8,7 @@ export const CARDANO_CHAIN = 'cardano';
|
|
|
8
8
|
export const ERGO_CHAIN = 'ergo';
|
|
9
9
|
export const DOGE_CHAIN = 'doge';
|
|
10
10
|
export const DOGE_NATIVE_TOKEN = 'doge';
|
|
11
|
+
export const RUNES_CHAIN = 'runes';
|
|
11
12
|
export const SUPPORTED_CHAINS = [
|
|
12
13
|
ERGO_CHAIN,
|
|
13
14
|
CARDANO_CHAIN,
|
|
@@ -15,5 +16,6 @@ export const SUPPORTED_CHAINS = [
|
|
|
15
16
|
ETHEREUM_CHAIN,
|
|
16
17
|
BINANCE_CHAIN,
|
|
17
18
|
DOGE_CHAIN,
|
|
19
|
+
RUNES_CHAIN,
|
|
18
20
|
];
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2NvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLFVBQVU7SUFDVixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCxhQUFhO0lBQ2IsVUFBVTtJQUNWLFdBQVc7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENBUkRBTk9fTkFUSVZFX1RPS0VOID0gJ2FkYSc7XG5leHBvcnQgY29uc3QgRVJHT19OQVRJVkVfVE9LRU4gPSAnZXJnJztcbmV4cG9ydCBjb25zdCBCSVRDT0lOX05BVElWRV9UT0tFTiA9ICdidGMnO1xuZXhwb3J0IGNvbnN0IEJJVENPSU5fQ0hBSU4gPSAnYml0Y29pbic7XG5leHBvcnQgY29uc3QgRVRIRVJFVU1fQ0hBSU4gPSAnZXRoZXJldW0nO1xuZXhwb3J0IGNvbnN0IEJJTkFOQ0VfQ0hBSU4gPSAnYmluYW5jZSc7XG5leHBvcnQgY29uc3QgQ0FSREFOT19DSEFJTiA9ICdjYXJkYW5vJztcbmV4cG9ydCBjb25zdCBFUkdPX0NIQUlOID0gJ2VyZ28nO1xuZXhwb3J0IGNvbnN0IERPR0VfQ0hBSU4gPSAnZG9nZSc7XG5leHBvcnQgY29uc3QgRE9HRV9OQVRJVkVfVE9LRU4gPSAnZG9nZSc7XG5leHBvcnQgY29uc3QgUlVORVNfQ0hBSU4gPSAncnVuZXMnO1xuZXhwb3J0IGNvbnN0IFNVUFBPUlRFRF9DSEFJTlMgPSBbXG4gIEVSR09fQ0hBSU4sXG4gIENBUkRBTk9fQ0hBSU4sXG4gIEJJVENPSU5fQ0hBSU4sXG4gIEVUSEVSRVVNX0NIQUlOLFxuICBCSU5BTkNFX0NIQUlOLFxuICBET0dFX0NIQUlOLFxuICBSVU5FU19DSEFJTixcbl07XG4iXX0=
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
interface NodeAsset {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
tokenId: string;
|
|
3
|
+
amount: bigint;
|
|
4
4
|
}
|
|
5
5
|
interface NodeAdditionalRegisters {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
R4?: string;
|
|
7
|
+
R5?: string;
|
|
8
|
+
R6?: string;
|
|
9
|
+
R7?: string;
|
|
10
|
+
R8?: string;
|
|
11
|
+
R9?: string;
|
|
12
12
|
}
|
|
13
13
|
interface NodeOutputBox {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
boxId: string;
|
|
15
|
+
value: bigint;
|
|
16
|
+
ergoTree: string;
|
|
17
|
+
creationHeight: bigint | number;
|
|
18
|
+
assets?: Array<NodeAsset>;
|
|
19
|
+
additionalRegisters?: NodeAdditionalRegisters;
|
|
20
|
+
transactionId: string;
|
|
21
|
+
index: bigint | number;
|
|
22
22
|
}
|
|
23
23
|
interface NodeInputBox {
|
|
24
|
-
|
|
24
|
+
boxId: string;
|
|
25
25
|
}
|
|
26
26
|
interface NodeDataInput {
|
|
27
|
-
|
|
27
|
+
boxId: string;
|
|
28
28
|
}
|
|
29
29
|
interface NodeTransaction {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
id: string;
|
|
31
|
+
inputs: Array<NodeInputBox>;
|
|
32
|
+
dataInputs: Array<NodeDataInput>;
|
|
33
|
+
outputs: Array<NodeOutputBox>;
|
|
34
|
+
size?: bigint;
|
|
35
35
|
}
|
|
36
36
|
export { NodeOutputBox, NodeTransaction };
|
|
37
|
-
//# sourceMappingURL=types.d.ts.map
|
|
37
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -7,11 +7,17 @@ import { EvmRpcRosenExtractor } from './EvmRpcRosenExtractor';
|
|
|
7
7
|
export declare class EvmEthersRosenExtractor extends AbstractRosenDataExtractor<TransactionResponse> {
|
|
8
8
|
readonly chain: string;
|
|
9
9
|
protected rpcExtractor: EvmRpcRosenExtractor;
|
|
10
|
+
protected supportedTokens: string[];
|
|
10
11
|
constructor(lockAddress: string, tokens: TokenMap, chain: string, nativeToken: string, logger?: AbstractLogger);
|
|
11
12
|
/**
|
|
12
13
|
* extracts RosenData from given lock transaction in ethers TransactionResponse format
|
|
13
14
|
* @param txRes the lock transaction in ethers TransactionResponse format
|
|
14
15
|
*/
|
|
15
16
|
extractRawData: (txRes: TransactionResponse) => RosenData | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* update supported tokens
|
|
19
|
+
* @param tokens
|
|
20
|
+
*/
|
|
21
|
+
updateSupportedTokens: () => void;
|
|
16
22
|
}
|
|
17
23
|
//# sourceMappingURL=EvmEthersRosenExtractor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmEthersRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/evm/EvmEthersRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAe,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,uBAAwB,SAAQ,0BAA0B,CAAC,mBAAmB,CAAC;IAC1F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"EvmEthersRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/evm/EvmEthersRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAe,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,uBAAwB,SAAQ,0BAA0B,CAAC,mBAAmB,CAAC;IAC1F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC7C,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;gBAGlC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,cAAc;IAezB;;;OAGG;IACH,cAAc,UAAW,mBAAmB,KAAG,SAAS,GAAG,SAAS,CAuBlE;IAEF;;;OAGG;IACH,qBAAqB,aAOnB;CACH"}
|
|
@@ -4,10 +4,13 @@ import { EvmRpcRosenExtractor } from './EvmRpcRosenExtractor';
|
|
|
4
4
|
export class EvmEthersRosenExtractor extends AbstractRosenDataExtractor {
|
|
5
5
|
chain;
|
|
6
6
|
rpcExtractor;
|
|
7
|
+
supportedTokens;
|
|
7
8
|
constructor(lockAddress, tokens, chain, nativeToken, logger) {
|
|
8
9
|
super(lockAddress, tokens, logger);
|
|
9
10
|
this.chain = chain;
|
|
10
11
|
this.rpcExtractor = new EvmRpcRosenExtractor(lockAddress, tokens, chain, nativeToken, logger);
|
|
12
|
+
this.updateSupportedTokens();
|
|
13
|
+
this.tokens.registerCallback(this.updateSupportedTokens);
|
|
11
14
|
}
|
|
12
15
|
/**
|
|
13
16
|
* extracts RosenData from given lock transaction in ethers TransactionResponse format
|
|
@@ -16,7 +19,15 @@ export class EvmEthersRosenExtractor extends AbstractRosenDataExtractor {
|
|
|
16
19
|
extractRawData = (txRes) => {
|
|
17
20
|
let transaction;
|
|
18
21
|
try {
|
|
19
|
-
|
|
22
|
+
const toAddress = txRes.to?.toLowerCase();
|
|
23
|
+
if (toAddress &&
|
|
24
|
+
(toAddress === this.lockAddress ||
|
|
25
|
+
this.supportedTokens.includes(toAddress))) {
|
|
26
|
+
transaction = Transaction.from(txRes);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
20
31
|
}
|
|
21
32
|
catch (e) {
|
|
22
33
|
this.logger.debug(`An error occurred while deserializing ${this.chain} tx to extract rosen data: ${e}`);
|
|
@@ -27,5 +38,17 @@ export class EvmEthersRosenExtractor extends AbstractRosenDataExtractor {
|
|
|
27
38
|
}
|
|
28
39
|
return this.rpcExtractor.extractRawData(transaction);
|
|
29
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* update supported tokens
|
|
43
|
+
* @param tokens
|
|
44
|
+
*/
|
|
45
|
+
updateSupportedTokens = () => {
|
|
46
|
+
const newSupportedTokens = [];
|
|
47
|
+
this.tokens.getConfig().forEach((tokenSet) => {
|
|
48
|
+
if (Object.hasOwn(tokenSet, this.chain))
|
|
49
|
+
newSupportedTokens.push(tokenSet[this.chain].tokenId);
|
|
50
|
+
});
|
|
51
|
+
this.supportedTokens = newSupportedTokens;
|
|
52
|
+
};
|
|
30
53
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZtRXRoZXJzUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2V2bS9Fdm1FdGhlcnNSb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQXVCLE1BQU0sUUFBUSxDQUFDO0FBRzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSwwQkFBK0M7SUFDakYsS0FBSyxDQUFTO0lBQ2IsWUFBWSxDQUF1QjtJQUNuQyxlQUFlLENBQVc7SUFFcEMsWUFDRSxXQUFtQixFQUNuQixNQUFnQixFQUNoQixLQUFhLEVBQ2IsV0FBbUIsRUFDbkIsTUFBdUI7UUFFdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLG9CQUFvQixDQUMxQyxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxXQUFXLEVBQ1gsTUFBTSxDQUNQLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLEdBQUcsQ0FBQyxLQUEwQixFQUF5QixFQUFFO1FBQ3JFLElBQUksV0FBd0IsQ0FBQztRQUM3QixJQUFJO1lBQ0YsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUMxQyxJQUNFLFNBQVM7Z0JBQ1QsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFdBQVc7b0JBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQzNDO2dCQUNBLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNMLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1NBQ0Y7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHlDQUF5QyxJQUFJLENBQUMsS0FBSyw4QkFBOEIsQ0FBQyxFQUFFLENBQ3JGLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILHFCQUFxQixHQUFHLEdBQUcsRUFBRTtRQUMzQixNQUFNLGtCQUFrQixHQUFhLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzNDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDckMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFDO0lBQzVDLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZW5EYXRhIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L0Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblJlc3BvbnNlIH0gZnJvbSAnZXRoZXJzJztcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBFdm1ScGNSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vRXZtUnBjUm9zZW5FeHRyYWN0b3InO1xuXG5leHBvcnQgY2xhc3MgRXZtRXRoZXJzUm9zZW5FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvcjxUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gIHJlYWRvbmx5IGNoYWluOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBycGNFeHRyYWN0b3I6IEV2bVJwY1Jvc2VuRXh0cmFjdG9yO1xuICBwcm90ZWN0ZWQgc3VwcG9ydGVkVG9rZW5zOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBsb2NrQWRkcmVzczogc3RyaW5nLFxuICAgIHRva2VuczogVG9rZW5NYXAsXG4gICAgY2hhaW46IHN0cmluZyxcbiAgICBuYXRpdmVUb2tlbjogc3RyaW5nLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyXG4gICkge1xuICAgIHN1cGVyKGxvY2tBZGRyZXNzLCB0b2tlbnMsIGxvZ2dlcik7XG4gICAgdGhpcy5jaGFpbiA9IGNoYWluO1xuICAgIHRoaXMucnBjRXh0cmFjdG9yID0gbmV3IEV2bVJwY1Jvc2VuRXh0cmFjdG9yKFxuICAgICAgbG9ja0FkZHJlc3MsXG4gICAgICB0b2tlbnMsXG4gICAgICBjaGFpbixcbiAgICAgIG5hdGl2ZVRva2VuLFxuICAgICAgbG9nZ2VyXG4gICAgKTtcbiAgICB0aGlzLnVwZGF0ZVN1cHBvcnRlZFRva2VucygpO1xuICAgIHRoaXMudG9rZW5zLnJlZ2lzdGVyQ2FsbGJhY2sodGhpcy51cGRhdGVTdXBwb3J0ZWRUb2tlbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gZXRoZXJzIFRyYW5zYWN0aW9uUmVzcG9uc2UgZm9ybWF0XG4gICAqIEBwYXJhbSB0eFJlcyB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBldGhlcnMgVHJhbnNhY3Rpb25SZXNwb25zZSBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RSYXdEYXRhID0gKHR4UmVzOiBUcmFuc2FjdGlvblJlc3BvbnNlKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBsZXQgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0b0FkZHJlc3MgPSB0eFJlcy50bz8udG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChcbiAgICAgICAgdG9BZGRyZXNzICYmXG4gICAgICAgICh0b0FkZHJlc3MgPT09IHRoaXMubG9ja0FkZHJlc3MgfHxcbiAgICAgICAgICB0aGlzLnN1cHBvcnRlZFRva2Vucy5pbmNsdWRlcyh0b0FkZHJlc3MpKVxuICAgICAgKSB7XG4gICAgICAgIHRyYW5zYWN0aW9uID0gVHJhbnNhY3Rpb24uZnJvbSh0eFJlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZGVzZXJpYWxpemluZyAke3RoaXMuY2hhaW59IHR4IHRvIGV4dHJhY3Qgcm9zZW4gZGF0YTogJHtlfWBcbiAgICAgICk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ycGNFeHRyYWN0b3IuZXh0cmFjdFJhd0RhdGEodHJhbnNhY3Rpb24pO1xuICB9O1xuXG4gIC8qKlxuICAgKiB1cGRhdGUgc3VwcG9ydGVkIHRva2Vuc1xuICAgKiBAcGFyYW0gdG9rZW5zXG4gICAqL1xuICB1cGRhdGVTdXBwb3J0ZWRUb2tlbnMgPSAoKSA9PiB7XG4gICAgY29uc3QgbmV3U3VwcG9ydGVkVG9rZW5zOiBzdHJpbmdbXSA9IFtdO1xuICAgIHRoaXMudG9rZW5zLmdldENvbmZpZygpLmZvckVhY2goKHRva2VuU2V0KSA9PiB7XG4gICAgICBpZiAoT2JqZWN0Lmhhc093bih0b2tlblNldCwgdGhpcy5jaGFpbikpXG4gICAgICAgIG5ld1N1cHBvcnRlZFRva2Vucy5wdXNoKHRva2VuU2V0W3RoaXMuY2hhaW5dLnRva2VuSWQpO1xuICAgIH0pO1xuICAgIHRoaXMuc3VwcG9ydGVkVG9rZW5zID0gbmV3U3VwcG9ydGVkVG9rZW5zO1xuICB9O1xufVxuIl19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
interface CallDataRosenData {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
toChain: string;
|
|
3
|
+
toAddress: string;
|
|
4
|
+
bridgeFee: string;
|
|
5
|
+
networkFee: string;
|
|
6
6
|
}
|
|
7
7
|
/**
|
|
8
8
|
* extracts rosen data from transaction's remaining call data
|
|
@@ -10,4 +10,4 @@ interface CallDataRosenData {
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const parseRosenData: (callData: string) => CallDataRosenData;
|
|
12
12
|
export {};
|
|
13
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
13
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { RosenData } from '../abstract/types';
|
|
2
|
+
import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
|
|
3
|
+
import { BitcoinEsploraTransaction, EsploraTxOutput, OpReturnData } from '../bitcoin/types';
|
|
4
|
+
import { TokenMap } from '@rosen-bridge/tokens';
|
|
5
|
+
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
6
|
+
import { LockDataChunk } from './types';
|
|
7
|
+
export declare class RunesEsploraRosenExtractor extends AbstractRosenDataExtractor<BitcoinEsploraTransaction> {
|
|
8
|
+
readonly chain = "runes";
|
|
9
|
+
protected lockScriptPubKey: string;
|
|
10
|
+
constructor(lockAddress: string, tokens: TokenMap, logger?: AbstractLogger);
|
|
11
|
+
/**
|
|
12
|
+
* extracts RosenData from given lock transaction in Esplora format
|
|
13
|
+
* @param transaction the lock transaction in Esplora format
|
|
14
|
+
*/
|
|
15
|
+
extractRawData: (transaction: BitcoinEsploraTransaction) => RosenData | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* extracts RosenData chunks from tx outputs
|
|
18
|
+
* @param outputs
|
|
19
|
+
* @return array of LockDataChunk
|
|
20
|
+
*/
|
|
21
|
+
getLockDataChunks: (outputs: EsploraTxOutput[]) => LockDataChunk[];
|
|
22
|
+
/**
|
|
23
|
+
* combines lock data chunks into lock data object
|
|
24
|
+
* @param lockDataChunks
|
|
25
|
+
* @return lock data object or undefined
|
|
26
|
+
*/
|
|
27
|
+
lockDataFromChunks: (lockDataChunks: LockDataChunk[]) => OpReturnData | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* check lock box exists in the tx outputs
|
|
30
|
+
* @param outputs
|
|
31
|
+
* @return boolean
|
|
32
|
+
*/
|
|
33
|
+
validateLock: (outputs: EsploraTxOutput[]) => boolean;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=RunesEsploraRosenExtractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunesEsploraRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/runes/RunesEsploraRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,YAAY,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAK/D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,0BAA2B,SAAQ,0BAA0B,CAAC,yBAAyB,CAAC;IACnG,QAAQ,CAAC,KAAK,WAAe;IAC7B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEvB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,cAAc;IAM1E;;;OAGG;IACH,cAAc,gBACC,yBAAyB,KACrC,SAAS,GAAG,SAAS,CAgDtB;IAEF;;;;OAIG;IACH,iBAAiB,YAAa,eAAe,EAAE,KAAG,aAAa,EAAE,CAmB/D;IAEF;;;;OAIG;IACH,kBAAkB,mBACA,aAAa,EAAE,KAC9B,YAAY,GAAG,SAAS,CAgBzB;IAEF;;;;OAIG;IACH,YAAY,YAAa,eAAe,EAAE,KAAG,OAAO,CAUlD;CACH"}
|