@shapeshiftoss/unchained-client 6.8.0 → 6.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cosmos/parser/index.d.ts.map +1 -1
  2. package/dist/cosmos/parser/index.js +18 -18
  3. package/dist/cosmos/parser/index.js.map +1 -1
  4. package/dist/cosmos/parser/utils.d.ts +10 -1
  5. package/dist/cosmos/parser/utils.d.ts.map +1 -1
  6. package/dist/cosmos/parser/utils.js +74 -20
  7. package/dist/cosmos/parser/utils.js.map +1 -1
  8. package/dist/cosmos/types.d.ts +2 -0
  9. package/dist/cosmos/types.d.ts.map +1 -1
  10. package/dist/ethereum/parser/abi/foxyStaking.d.ts +4 -0
  11. package/dist/ethereum/parser/abi/foxyStaking.d.ts.map +1 -0
  12. package/dist/ethereum/parser/abi/foxyStaking.js +721 -0
  13. package/dist/ethereum/parser/abi/foxyStaking.js.map +1 -0
  14. package/dist/ethereum/parser/constants.d.ts +1 -0
  15. package/dist/ethereum/parser/constants.d.ts.map +1 -1
  16. package/dist/ethereum/parser/constants.js +2 -1
  17. package/dist/ethereum/parser/constants.js.map +1 -1
  18. package/dist/ethereum/parser/foxy.d.ts +14 -0
  19. package/dist/ethereum/parser/foxy.d.ts.map +1 -0
  20. package/dist/ethereum/parser/foxy.js +76 -0
  21. package/dist/ethereum/parser/foxy.js.map +1 -0
  22. package/dist/ethereum/parser/index.d.ts +1 -0
  23. package/dist/ethereum/parser/index.d.ts.map +1 -1
  24. package/dist/ethereum/parser/index.js +3 -1
  25. package/dist/ethereum/parser/index.js.map +1 -1
  26. package/dist/generated/bitcoin/api.d.ts +1 -1
  27. package/dist/generated/bitcoin/api.js +1 -1
  28. package/dist/generated/bitcoin/base.d.ts +1 -1
  29. package/dist/generated/bitcoin/base.js +1 -1
  30. package/dist/generated/bitcoin/common.d.ts +1 -1
  31. package/dist/generated/bitcoin/common.js +1 -1
  32. package/dist/generated/bitcoin/configuration.d.ts +1 -1
  33. package/dist/generated/bitcoin/configuration.js +1 -1
  34. package/dist/generated/bitcoin/index.d.ts +1 -1
  35. package/dist/generated/bitcoin/index.js +1 -1
  36. package/dist/generated/ethereum/api.d.ts +1 -1
  37. package/dist/generated/ethereum/api.js +1 -1
  38. package/dist/generated/ethereum/base.d.ts +1 -1
  39. package/dist/generated/ethereum/base.js +1 -1
  40. package/dist/generated/ethereum/common.d.ts +1 -1
  41. package/dist/generated/ethereum/common.js +1 -1
  42. package/dist/generated/ethereum/configuration.d.ts +1 -1
  43. package/dist/generated/ethereum/configuration.js +1 -1
  44. package/dist/generated/ethereum/index.d.ts +1 -1
  45. package/dist/generated/ethereum/index.js +1 -1
  46. package/dist/tsconfig.tsbuildinfo +156 -122
  47. package/dist/types.d.ts +2 -1
  48. package/dist/types.d.ts.map +1 -1
  49. package/dist/types.js +1 -0
  50. package/dist/types.js.map +1 -1
  51. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cosmos/parser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAiD,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAGlG,OAAO,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,KAAK,CAAA;CACf;AAED,qBAAa,iBAAiB;IAC5B,OAAO,EAAE,KAAK,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;gBAEH,IAAI,EAAE,qBAAqB;IAUjC,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CA2D9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cosmos/parser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAiD,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,KAAK,CAAA;CACf;AAED,qBAAa,iBAAiB;IAC5B,OAAO,EAAE,KAAK,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;gBAEH,IAAI,EAAE,qBAAqB;IAUjC,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CA6C9D"}
@@ -13,15 +13,14 @@ exports.TransactionParser = void 0;
13
13
  const bignumber_js_1 = require("bignumber.js");
14
14
  const caip_1 = require("@shapeshiftoss/caip");
15
15
  const types_1 = require("../../types");
16
- const utils_1 = require("../../utils");
17
- const utils_2 = require("./utils");
16
+ const utils_1 = require("./utils");
18
17
  class TransactionParser {
19
18
  constructor(args) {
20
19
  this.chainId = args.chainId;
21
20
  this.assetId = caip_1.caip19.toCAIP19(Object.assign(Object.assign({}, caip_1.caip2.fromCAIP2(this.chainId)), { assetNamespace: caip_1.AssetNamespace.Slip44, assetReference: caip_1.AssetReference.Cosmos }));
22
21
  }
23
22
  parse(tx, address) {
24
- var _a, _b, _c, _d, _e, _f, _g, _h;
23
+ var _a, _b;
25
24
  return __awaiter(this, void 0, void 0, function* () {
26
25
  const parsedTx = {
27
26
  address,
@@ -34,25 +33,26 @@ class TransactionParser {
34
33
  transfers: [],
35
34
  txid: tx.txid,
36
35
  };
37
- const msg = tx.messages[0];
38
- const events = tx.events[0];
39
- if (!msg)
40
- return parsedTx;
41
- parsedTx.data = utils_2.metaData(msg, events, this.assetId);
42
- // fall back on metaData value if it isn't found in the message (ie. withdraw_delegator_reward)
43
- const value = new bignumber_js_1.BigNumber(((_c = msg.value) === null || _c === void 0 ? void 0 : _c.amount) || ((_d = parsedTx.data) === null || _d === void 0 ? void 0 : _d.value) || 0);
44
- if (msg.from === address) {
36
+ // For simplicity and to limit scope we assume 1 message per transaction
37
+ // This works ok enough for transactions we generate but way may want to improve in the future
38
+ const { from, to, data, value, origin } = utils_1.valuesFromMsgEvents(tx.messages[0], tx.events, this.assetId);
39
+ parsedTx.data = data;
40
+ if (from === address || to === address) {
45
41
  if (value.gt(0)) {
46
- parsedTx.transfers = utils_1.aggregateTransfer(parsedTx.transfers, types_1.TransferType.Send, this.assetId, (_e = msg.from) !== null && _e !== void 0 ? _e : '', (_f = msg.to) !== null && _f !== void 0 ? _f : '', value.toString(10));
47
- }
48
- }
49
- if (msg.to === address) {
50
- if (value.gt(0)) {
51
- parsedTx.transfers = utils_1.aggregateTransfer(parsedTx.transfers, types_1.TransferType.Receive, this.assetId, (_g = msg.from) !== null && _g !== void 0 ? _g : '', (_h = msg.to) !== null && _h !== void 0 ? _h : '', value.toString(10));
42
+ parsedTx.transfers = [
43
+ {
44
+ type: from === address ? types_1.TransferType.Send : types_1.TransferType.Receive,
45
+ caip19: this.assetId,
46
+ from,
47
+ to,
48
+ totalValue: value.toString(10),
49
+ components: [{ value: value.toString(10) }],
50
+ },
51
+ ];
52
52
  }
53
53
  }
54
54
  // We use origin for fees because some txs have a different from and origin addresses
55
- if (msg.origin === address) {
55
+ if (origin === address) {
56
56
  // network fee
57
57
  const fees = new bignumber_js_1.BigNumber(tx.fee.amount);
58
58
  if (fees.gt(0)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cosmos/parser/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cosmos/parser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwC;AACxC,8CAAkG;AAClG,uCAAkD;AAGlD,mCAA6C;AAM7C,MAAa,iBAAiB;IAI5B,YAAY,IAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE3B,IAAI,CAAC,OAAO,GAAG,aAAM,CAAC,QAAQ,iCACzB,YAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAChC,cAAc,EAAE,qBAAc,CAAC,MAAM,EACrC,cAAc,EAAE,qBAAc,CAAC,MAAM,IACrC,CAAA;IACJ,CAAC;IAEK,KAAK,CAAC,EAAY,EAAE,OAAe;;;YACvC,MAAM,QAAQ,GAAa;gBACzB,OAAO;gBACP,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,WAAW,EAAE,MAAA,EAAE,CAAC,WAAW,mCAAI,CAAC,CAAC;gBACjC,SAAS,EAAE,MAAA,EAAE,CAAC,SAAS,mCAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBACxD,KAAK,EAAE,IAAI,CAAC,OAAO;gBACnB,aAAa,EAAE,EAAE,CAAC,aAAa;gBAC/B,MAAM,EAAE,EAAE,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,cAAM,CAAC,SAAS,CAAC,CAAC,CAAC,cAAM,CAAC,OAAO;gBAChE,SAAS,EAAE,EAAE;gBACb,IAAI,EAAE,EAAE,CAAC,IAAI;aACd,CAAA;YAED,wEAAwE;YACxE,8FAA8F;YAC9F,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,2BAAmB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAEtG,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;YAEpB,IAAI,IAAI,KAAK,OAAO,IAAI,EAAE,KAAK,OAAO,EAAE;gBACtC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBACf,QAAQ,CAAC,SAAS,GAAG;wBACnB;4BACE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAY,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAY,CAAC,OAAO;4BACjE,MAAM,EAAE,IAAI,CAAC,OAAO;4BACpB,IAAI;4BACJ,EAAE;4BACF,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC9B,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;yBAC5C;qBACF,CAAA;iBACF;aACF;YAED,qFAAqF;YACrF,IAAI,MAAM,KAAK,OAAO,EAAE;gBACtB,cAAc;gBACd,MAAM,IAAI,GAAG,IAAI,wBAAS,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACzC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBACd,QAAQ,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;iBAClE;aACF;YAED,OAAO,QAAQ,CAAA;;KAChB;CACF;AA3DD,8CA2DC"}
@@ -1,4 +1,13 @@
1
1
  import { TxMetadata } from '../types';
2
2
  import { Event, Message } from '../../generated/cosmos';
3
- export declare const metaData: (msg: Message, events: Event[], caip19: string) => TxMetadata | undefined;
3
+ import BigNumber from 'bignumber.js';
4
+ export declare const valuesFromMsgEvents: (msg: Message, events: {
5
+ [key: string]: Event[];
6
+ }, caip19: string) => {
7
+ from: string;
8
+ to: string;
9
+ value: BigNumber;
10
+ data: TxMetadata | undefined;
11
+ origin: string;
12
+ };
4
13
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/cosmos/parser/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAQvD,eAAO,MAAM,QAAQ,QAAS,OAAO,UAAU,KAAK,EAAE,UAAU,MAAM,KAAG,UAAU,GAAG,SAiCrF,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/cosmos/parser/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,SAAS,MAAM,cAAc,CAAA;AAOpC,eAAO,MAAM,mBAAmB,QACzB,OAAO;;WAEJ,MAAM;UACL,MAAM;QAAM,MAAM;WAAS,SAAS;UAAQ,UAAU,GAAG,SAAS;YAAU,MAAM;CAQ5F,CAAA"}
@@ -1,13 +1,30 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.metaData = void 0;
6
+ exports.valuesFromMsgEvents = void 0;
4
7
  const logger_1 = require("@shapeshiftoss/logger");
8
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
5
9
  const logger = new logger_1.Logger({
6
10
  namespace: ['client', 'cosmos', 'utils'],
7
11
  level: process.env.LOG_LEVEL,
8
12
  });
9
- const metaData = (msg, events, caip19) => {
10
- var _a;
13
+ const valuesFromMsgEvents = (msg, events, caip19) => {
14
+ var _a, _b, _c, _d;
15
+ const virtualMsg = virtualMessageFromEvents(msg, events);
16
+ const data = metaData(virtualMsg, caip19);
17
+ const from = (_a = virtualMsg === null || virtualMsg === void 0 ? void 0 : virtualMsg.from) !== null && _a !== void 0 ? _a : '';
18
+ const to = (_b = virtualMsg === null || virtualMsg === void 0 ? void 0 : virtualMsg.to) !== null && _b !== void 0 ? _b : '';
19
+ const origin = (_c = virtualMsg === null || virtualMsg === void 0 ? void 0 : virtualMsg.origin) !== null && _c !== void 0 ? _c : '';
20
+ const value = new bignumber_js_1.default(((_d = virtualMsg === null || virtualMsg === void 0 ? void 0 : virtualMsg.value) === null || _d === void 0 ? void 0 : _d.amount) || (data === null || data === void 0 ? void 0 : data.value) || 0);
21
+ return { from, to, value, data, origin };
22
+ };
23
+ exports.valuesFromMsgEvents = valuesFromMsgEvents;
24
+ const metaData = (msg, caip19) => {
25
+ var _a, _b, _c, _d;
26
+ if (!msg)
27
+ return;
11
28
  switch (msg.type) {
12
29
  case 'delegate':
13
30
  case 'begin_unbonding':
@@ -16,6 +33,7 @@ const metaData = (msg, events, caip19) => {
16
33
  method: msg.type,
17
34
  delegator: msg.from,
18
35
  destinationValidator: msg.to,
36
+ value: (_a = msg === null || msg === void 0 ? void 0 : msg.value) === null || _a === void 0 ? void 0 : _a.amount,
19
37
  };
20
38
  case 'begin_redelegate':
21
39
  return {
@@ -24,15 +42,27 @@ const metaData = (msg, events, caip19) => {
24
42
  sourceValidator: msg.from,
25
43
  delegator: msg.origin,
26
44
  destinationValidator: msg.to,
45
+ value: (_b = msg === null || msg === void 0 ? void 0 : msg.value) === null || _b === void 0 ? void 0 : _b.amount,
46
+ caip19: caip19,
27
47
  };
28
48
  case 'withdraw_delegator_reward':
29
49
  return {
30
50
  parser: 'cosmos',
31
51
  method: msg.type,
32
52
  destinationValidator: msg.to,
33
- value: (_a = getRewardValue(msg, events)) !== null && _a !== void 0 ? _a : '0',
53
+ value: (_c = msg === null || msg === void 0 ? void 0 : msg.value) === null || _c === void 0 ? void 0 : _c.amount,
34
54
  caip19: caip19,
35
55
  };
56
+ case 'ibc_send':
57
+ case 'ibc_receive':
58
+ return {
59
+ parser: 'cosmos',
60
+ method: msg.type,
61
+ ibcDestination: msg.to,
62
+ ibcSource: msg.from,
63
+ caip19: caip19,
64
+ value: (_d = msg === null || msg === void 0 ? void 0 : msg.value) === null || _d === void 0 ? void 0 : _d.amount,
65
+ };
36
66
  // known message types with no applicable metadata
37
67
  case 'send':
38
68
  return;
@@ -41,24 +71,48 @@ const metaData = (msg, events, caip19) => {
41
71
  return;
42
72
  }
43
73
  };
44
- exports.metaData = metaData;
45
- const getRewardValue = (msg, events) => {
46
- var _a, _b;
47
- const rewardEvent = events.find((event) => event.type === 'withdraw_rewards');
48
- if (!rewardEvent) {
49
- logger.warn('withdraw_rewards event not found');
50
- return '0';
74
+ const virtualMessageFromEvents = (msg, events) => {
75
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
76
+ // ibc send tx indicated by events
77
+ const ibcSendEventData = (_a = events[0]) === null || _a === void 0 ? void 0 : _a.find((event) => event.type === 'send_packet');
78
+ // ibc receive tx indicated by events
79
+ const ibcRecvEventData = (_b = events[1]) === null || _b === void 0 ? void 0 : _b.find((event) => event.type === 'recv_packet');
80
+ // get rewards tx indicted by events
81
+ const rewardEventData = (_c = events[0]) === null || _c === void 0 ? void 0 : _c.find((event) => event.type === 'withdraw_rewards');
82
+ if (ibcSendEventData) {
83
+ const parsedPacketData = JSON.parse((_e = (_d = ibcSendEventData === null || ibcSendEventData === void 0 ? void 0 : ibcSendEventData.attributes.find((attribute) => attribute.key === 'packet_data')) === null || _d === void 0 ? void 0 : _d.value) !== null && _e !== void 0 ? _e : '{}');
84
+ return {
85
+ type: 'ibc_send',
86
+ value: { amount: parsedPacketData.amount, denom: parsedPacketData.amount },
87
+ from: parsedPacketData.sender,
88
+ to: parsedPacketData.receiver,
89
+ origin: parsedPacketData.sender,
90
+ };
91
+ }
92
+ else if (ibcRecvEventData) {
93
+ const parsedPacketData = JSON.parse((_g = (_f = ibcRecvEventData === null || ibcRecvEventData === void 0 ? void 0 : ibcRecvEventData.attributes.find((attribute) => attribute.key === 'packet_data')) === null || _f === void 0 ? void 0 : _f.value) !== null && _g !== void 0 ? _g : '{}');
94
+ return {
95
+ type: 'ibc_receive',
96
+ value: { amount: parsedPacketData.amount, denom: parsedPacketData.amount },
97
+ from: parsedPacketData.sender,
98
+ to: parsedPacketData.receiver,
99
+ origin: parsedPacketData.sender,
100
+ };
51
101
  }
52
- const valueUnparsed = (_a = rewardEvent.attributes.find((attribute) => attribute.key === 'amount')) === null || _a === void 0 ? void 0 : _a.value;
53
- const validator = (_b = rewardEvent.attributes.find((attribute) => attribute.key === 'validator')) === null || _b === void 0 ? void 0 : _b.value;
54
- if (msg.from !== validator) {
55
- logger.warn('withdraw_rewards validator does not match');
56
- return '0';
102
+ else if (rewardEventData) {
103
+ const valueUnparsed = (_j = (_h = rewardEventData === null || rewardEventData === void 0 ? void 0 : rewardEventData.attributes) === null || _h === void 0 ? void 0 : _h.find((attribute) => attribute.key === 'amount')) === null || _j === void 0 ? void 0 : _j.value;
104
+ const valueParsed = valueUnparsed === null || valueUnparsed === void 0 ? void 0 : valueUnparsed.slice(0, valueUnparsed.length - 'uatom'.length);
105
+ return {
106
+ type: 'withdraw_delegator_reward',
107
+ value: { amount: valueParsed !== null && valueParsed !== void 0 ? valueParsed : '', denom: 'uatom' },
108
+ from: msg.from,
109
+ to: msg.to,
110
+ origin: msg.origin,
111
+ };
57
112
  }
58
- if (!valueUnparsed) {
59
- logger.warn('withdraw_rewards value not found');
60
- return '0';
113
+ else {
114
+ console.warn(`cant create virtual message from events ${events}`);
115
+ return msg;
61
116
  }
62
- return valueUnparsed.slice(0, valueUnparsed.length - 'uatom'.length);
63
117
  };
64
118
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/cosmos/parser/utils.ts"],"names":[],"mappings":";;;AAEA,kDAA8C;AAE9C,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;IACxB,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC;IACxC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;CAC7B,CAAC,CAAA;AAEK,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAE,MAAe,EAAE,MAAc,EAA0B,EAAE;;IAChG,QAAQ,GAAG,CAAC,IAAI,EAAE;QAChB,KAAK,UAAU,CAAC;QAChB,KAAK,iBAAiB;YACpB,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,GAAG,CAAC,IAAI;gBAChB,SAAS,EAAE,GAAG,CAAC,IAAI;gBACnB,oBAAoB,EAAE,GAAG,CAAC,EAAE;aAC7B,CAAA;QACH,KAAK,kBAAkB;YACrB,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,GAAG,CAAC,IAAI;gBAChB,eAAe,EAAE,GAAG,CAAC,IAAI;gBACzB,SAAS,EAAE,GAAG,CAAC,MAAM;gBACrB,oBAAoB,EAAE,GAAG,CAAC,EAAE;aAC7B,CAAA;QACH,KAAK,2BAA2B;YAC9B,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,GAAG,CAAC,IAAI;gBAChB,oBAAoB,EAAE,GAAG,CAAC,EAAE;gBAC5B,KAAK,EAAE,MAAA,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,mCAAI,GAAG;gBACzC,MAAM,EAAE,MAAM;aACf,CAAA;QACH,kDAAkD;QAClD,KAAK,MAAM;YACT,OAAM;QACR;YACE,MAAM,CAAC,IAAI,CAAC,6BAA6B,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;YACpD,OAAM;KACT;AACH,CAAC,CAAA;AAjCY,QAAA,QAAQ,YAiCpB;AAED,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,MAAoB,EAAU,EAAE;;IACpE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAA;IAE7E,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAC/C,OAAO,GAAG,CAAA;KACX;IAED,MAAM,aAAa,GAAG,MAAA,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,QAAQ,CAAC,0CAAE,KAAK,CAAA;IACnG,MAAM,SAAS,GAAG,MAAA,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,WAAW,CAAC,0CAAE,KAAK,CAAA;IAElG,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;QACxD,OAAO,GAAG,CAAA;KACX;IAED,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAC/C,OAAO,GAAG,CAAA;KACX;IAED,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AACtE,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/cosmos/parser/utils.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export interface TxMetadata extends Omit<StandardTxMetadata, 'parser'> {
6
6
  destinationValidator?: string;
7
7
  caip19?: string;
8
8
  value?: string;
9
+ ibcDestination?: string;
10
+ ibcSource?: string;
9
11
  }
10
12
  export interface ParsedTx extends StandardTx {
11
13
  data?: TxMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cosmos/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEzD,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC;IACpE,MAAM,EAAE,QAAQ,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,QAAS,SAAQ,UAAU;IAC1C,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cosmos/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEzD,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC;IACpE,MAAM,EAAE,QAAQ,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,QAAS,SAAQ,UAAU;IAC1C,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB"}
@@ -0,0 +1,4 @@
1
+ import { JsonFragment } from '@ethersproject/abi/lib/fragments';
2
+ declare const foxyStaking: Array<JsonFragment>;
3
+ export default foxyStaking;
4
+ //# sourceMappingURL=foxyStaking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foxyStaking.d.ts","sourceRoot":"","sources":["../../../../src/ethereum/parser/abi/foxyStaking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAE/D,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,YAAY,CA4sBpC,CAAA;AAED,eAAe,WAAW,CAAA"}