@rosen-bridge/rosen-extractor 7.2.1 → 7.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,18 +1,18 @@
1
1
  interface RosenData {
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;
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
- from: string;
14
- to: string;
15
- amount: string;
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
- toChain: string;
3
- toAddress: string;
4
- bridgeFee: string;
5
- networkFee: string;
2
+ toChain: string;
3
+ toAddress: string;
4
+ bridgeFee: string;
5
+ networkFee: string;
6
6
  }
7
7
  export interface EsploraTxInput {
8
- txid: string;
9
- vout: number;
10
- prevout: {
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
- 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
- };
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
- txId: string;
47
- index: number;
48
- scriptPubKey: string;
46
+ txId: string;
47
+ index: number;
48
+ scriptPubKey: string;
49
49
  }
50
50
  export interface BitcoinTxOutput {
51
- scriptPubKey: string;
52
- value: bigint;
51
+ scriptPubKey: string;
52
+ value: bigint;
53
53
  }
54
54
  export interface BitcoinTx {
55
- id: string;
56
- inputs: BitcoinTxInput[];
57
- outputs: BitcoinTxOutput[];
55
+ id: string;
56
+ inputs: BitcoinTxInput[];
57
+ outputs: BitcoinTxOutput[];
58
58
  }
59
59
  export interface BitcoinRpcTxInput {
60
- txid: string;
61
- vout: number;
62
- scriptSig: {
63
- asm: string;
64
- hex: string;
65
- };
66
- txinwitness: Array<string>;
67
- sequence: number;
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
- value: number;
71
- n: number;
72
- scriptPubKey: {
73
- asm: string;
74
- hex: string;
75
- };
70
+ value: number;
71
+ n: number;
72
+ scriptPubKey: {
73
+ asm: string;
74
+ hex: string;
75
+ };
76
76
  }
77
77
  export interface BitcoinRpcTransaction {
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;
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
@@ -4,4 +4,4 @@ import { OpReturnData } from './types';
4
4
  * @param scriptPubKeyHex
5
5
  */
6
6
  export declare const parseRosenData: (scriptPubKeyHex: string) => OpReturnData;
7
- //# sourceMappingURL=utils.d.ts.map
7
+ //# sourceMappingURL=utils.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
- 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: (
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
- 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: (
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
- 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: (
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
- 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: (
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
@@ -1,37 +1,37 @@
1
1
  interface NodeAsset {
2
- tokenId: string;
3
- amount: bigint;
2
+ tokenId: string;
3
+ amount: bigint;
4
4
  }
5
5
  interface NodeAdditionalRegisters {
6
- R4?: string;
7
- R5?: string;
8
- R6?: string;
9
- R7?: string;
10
- R8?: string;
11
- R9?: string;
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
- 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;
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
- boxId: string;
24
+ boxId: string;
25
25
  }
26
26
  interface NodeDataInput {
27
- boxId: string;
27
+ boxId: string;
28
28
  }
29
29
  interface NodeTransaction {
30
- id: string;
31
- inputs: Array<NodeInputBox>;
32
- dataInputs: Array<NodeDataInput>;
33
- outputs: Array<NodeOutputBox>;
34
- size?: bigint;
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;gBAG3C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,cAAc;IAazB;;;OAGG;IACH,cAAc,UAAW,mBAAmB,KAAG,SAAS,GAAG,SAAS,CAclE;CACH"}
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
- transaction = Transaction.from(txRes);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZtRXRoZXJzUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2V2bS9Fdm1FdGhlcnNSb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQXVCLE1BQU0sUUFBUSxDQUFDO0FBRzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSwwQkFBK0M7SUFDakYsS0FBSyxDQUFTO0lBQ2IsWUFBWSxDQUF1QjtJQUU3QyxZQUNFLFdBQW1CLEVBQ25CLE1BQWdCLEVBQ2hCLEtBQWEsRUFDYixXQUFtQixFQUNuQixNQUF1QjtRQUV2QixLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksb0JBQW9CLENBQzFDLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxNQUFNLENBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLEdBQUcsQ0FBQyxLQUEwQixFQUF5QixFQUFFO1FBQ3JFLElBQUksV0FBd0IsQ0FBQztRQUM3QixJQUFJO1lBQ0YsV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHlDQUF5QyxJQUFJLENBQUMsS0FBSyw4QkFBOEIsQ0FBQyxFQUFFLENBQ3JGLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZW5EYXRhIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L0Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblJlc3BvbnNlIH0gZnJvbSAnZXRoZXJzJztcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBFdm1ScGNSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vRXZtUnBjUm9zZW5FeHRyYWN0b3InO1xuXG5leHBvcnQgY2xhc3MgRXZtRXRoZXJzUm9zZW5FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvcjxUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gIHJlYWRvbmx5IGNoYWluOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBycGNFeHRyYWN0b3I6IEV2bVJwY1Jvc2VuRXh0cmFjdG9yO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxvY2tBZGRyZXNzOiBzdHJpbmcsXG4gICAgdG9rZW5zOiBUb2tlbk1hcCxcbiAgICBjaGFpbjogc3RyaW5nLFxuICAgIG5hdGl2ZVRva2VuOiBzdHJpbmcsXG4gICAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXJcbiAgKSB7XG4gICAgc3VwZXIobG9ja0FkZHJlc3MsIHRva2VucywgbG9nZ2VyKTtcbiAgICB0aGlzLmNoYWluID0gY2hhaW47XG4gICAgdGhpcy5ycGNFeHRyYWN0b3IgPSBuZXcgRXZtUnBjUm9zZW5FeHRyYWN0b3IoXG4gICAgICBsb2NrQWRkcmVzcyxcbiAgICAgIHRva2VucyxcbiAgICAgIGNoYWluLFxuICAgICAgbmF0aXZlVG9rZW4sXG4gICAgICBsb2dnZXJcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gZXRoZXJzIFRyYW5zYWN0aW9uUmVzcG9uc2UgZm9ybWF0XG4gICAqIEBwYXJhbSB0eFJlcyB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBldGhlcnMgVHJhbnNhY3Rpb25SZXNwb25zZSBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RSYXdEYXRhID0gKHR4UmVzOiBUcmFuc2FjdGlvblJlc3BvbnNlKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBsZXQgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuICAgIHRyeSB7XG4gICAgICB0cmFuc2FjdGlvbiA9IFRyYW5zYWN0aW9uLmZyb20odHhSZXMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZGVzZXJpYWxpemluZyAke3RoaXMuY2hhaW59IHR4IHRvIGV4dHJhY3Qgcm9zZW4gZGF0YTogJHtlfWBcbiAgICAgICk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ycGNFeHRyYWN0b3IuZXh0cmFjdFJhd0RhdGEodHJhbnNhY3Rpb24pO1xuICB9O1xufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZtRXRoZXJzUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2V2bS9Fdm1FdGhlcnNSb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQXVCLE1BQU0sUUFBUSxDQUFDO0FBRzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSwwQkFBK0M7SUFDakYsS0FBSyxDQUFTO0lBQ2IsWUFBWSxDQUF1QjtJQUNuQyxlQUFlLENBQVc7SUFFcEMsWUFDRSxXQUFtQixFQUNuQixNQUFnQixFQUNoQixLQUFhLEVBQ2IsV0FBbUIsRUFDbkIsTUFBdUI7UUFFdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLG9CQUFvQixDQUMxQyxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxXQUFXLEVBQ1gsTUFBTSxDQUNQLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLEdBQUcsQ0FBQyxLQUEwQixFQUF5QixFQUFFO1FBQ3JFLElBQUksV0FBd0IsQ0FBQztRQUM3QixJQUFJO1lBQ0YsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUMxQyxJQUNFLFNBQVM7Z0JBQ1QsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFdBQVc7b0JBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQzNDO2dCQUNBLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNMLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1NBQ0Y7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHlDQUF5QyxJQUFJLENBQUMsS0FBSyw4QkFBOEIsQ0FBQyxFQUFFLENBQ3JGLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILHFCQUFxQixHQUFHLEdBQUcsRUFBRTtRQUMzQixNQUFNLGtCQUFrQixHQUFhLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzNDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDckMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFDO0lBQzVDLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZW5EYXRhIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L0Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblJlc3BvbnNlIH0gZnJvbSAnZXRoZXJzJztcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBFdm1ScGNSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vRXZtUnBjUm9zZW5FeHRyYWN0b3InO1xuXG5leHBvcnQgY2xhc3MgRXZtRXRoZXJzUm9zZW5FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvcjxUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gIHJlYWRvbmx5IGNoYWluOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBycGNFeHRyYWN0b3I6IEV2bVJwY1Jvc2VuRXh0cmFjdG9yO1xuICBwcm90ZWN0ZWQgc3VwcG9ydGVkVG9rZW5zOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBsb2NrQWRkcmVzczogc3RyaW5nLFxuICAgIHRva2VuczogVG9rZW5NYXAsXG4gICAgY2hhaW46IHN0cmluZyxcbiAgICBuYXRpdmVUb2tlbjogc3RyaW5nLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyXG4gICkge1xuICAgIHN1cGVyKGxvY2tBZGRyZXNzLCB0b2tlbnMsIGxvZ2dlcik7XG4gICAgdGhpcy5jaGFpbiA9IGNoYWluO1xuICAgIHRoaXMucnBjRXh0cmFjdG9yID0gbmV3IEV2bVJwY1Jvc2VuRXh0cmFjdG9yKFxuICAgICAgbG9ja0FkZHJlc3MsXG4gICAgICB0b2tlbnMsXG4gICAgICBjaGFpbixcbiAgICAgIG5hdGl2ZVRva2VuLFxuICAgICAgbG9nZ2VyXG4gICAgKTtcbiAgICB0aGlzLnVwZGF0ZVN1cHBvcnRlZFRva2VucygpO1xuICAgIHRoaXMudG9rZW5zLnJlZ2lzdGVyQ2FsbGJhY2sodGhpcy51cGRhdGVTdXBwb3J0ZWRUb2tlbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gZXRoZXJzIFRyYW5zYWN0aW9uUmVzcG9uc2UgZm9ybWF0XG4gICAqIEBwYXJhbSB0eFJlcyB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBldGhlcnMgVHJhbnNhY3Rpb25SZXNwb25zZSBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RSYXdEYXRhID0gKHR4UmVzOiBUcmFuc2FjdGlvblJlc3BvbnNlKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBsZXQgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0b0FkZHJlc3MgPSB0eFJlcy50bz8udG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChcbiAgICAgICAgdG9BZGRyZXNzICYmXG4gICAgICAgICh0b0FkZHJlc3MgPT09IHRoaXMubG9ja0FkZHJlc3MgfHxcbiAgICAgICAgICB0aGlzLnN1cHBvcnRlZFRva2Vucy5pbmNsdWRlcyh0b0FkZHJlc3MpKVxuICAgICAgKSB7XG4gICAgICAgIHRyYW5zYWN0aW9uID0gVHJhbnNhY3Rpb24uZnJvbSh0eFJlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZGVzZXJpYWxpemluZyAke3RoaXMuY2hhaW59IHR4IHRvIGV4dHJhY3Qgcm9zZW4gZGF0YTogJHtlfWBcbiAgICAgICk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ycGNFeHRyYWN0b3IuZXh0cmFjdFJhd0RhdGEodHJhbnNhY3Rpb24pO1xuICB9O1xuXG4gIC8qKlxuICAgKiB1cGRhdGUgc3VwcG9ydGVkIHRva2Vuc1xuICAgKiBAcGFyYW0gdG9rZW5zXG4gICAqL1xuICB1cGRhdGVTdXBwb3J0ZWRUb2tlbnMgPSAoKSA9PiB7XG4gICAgY29uc3QgbmV3U3VwcG9ydGVkVG9rZW5zOiBzdHJpbmdbXSA9IFtdO1xuICAgIHRoaXMudG9rZW5zLmdldENvbmZpZygpLmZvckVhY2goKHRva2VuU2V0KSA9PiB7XG4gICAgICBpZiAoT2JqZWN0Lmhhc093bih0b2tlblNldCwgdGhpcy5jaGFpbikpXG4gICAgICAgIG5ld1N1cHBvcnRlZFRva2Vucy5wdXNoKHRva2VuU2V0W3RoaXMuY2hhaW5dLnRva2VuSWQpO1xuICAgIH0pO1xuICAgIHRoaXMuc3VwcG9ydGVkVG9rZW5zID0gbmV3U3VwcG9ydGVkVG9rZW5zO1xuICB9O1xufVxuIl19
@@ -1,8 +1,8 @@
1
1
  interface CallDataRosenData {
2
- toChain: string;
3
- toAddress: string;
4
- bridgeFee: string;
5
- networkFee: string;
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