@ritbit/v4-client-js 2.2.6 → 2.3.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 (75) hide show
  1. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/bridge_event.js +294 -4
  2. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/genesis.js +24 -7
  3. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/params.js +3 -12
  4. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.js +348 -47
  5. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.lcd.js +60 -15
  6. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.rpc.Query.js +58 -22
  7. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/token_reserve.js +6 -6
  8. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.js +431 -83
  9. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.rpc.msg.js +46 -16
  10. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/withdrawal.js +300 -159
  11. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/daemons/bridge/bridge.js +127 -4
  12. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/daemons/signer/signer.js +11 -11
  13. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/indexer/events/events.js +21 -5
  14. package/build/cjs/src/clients/composite-client.js +4 -5
  15. package/build/cjs/src/clients/constants.js +3 -3
  16. package/build/cjs/src/clients/lib/registry.js +2 -2
  17. package/build/cjs/src/clients/modules/composer.js +5 -6
  18. package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  19. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/bridge_event.d.ts +119 -1
  20. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/bridge_event.d.ts.map +1 -1
  21. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/bridge_event.js +293 -3
  22. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/genesis.d.ts +11 -4
  23. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/genesis.d.ts.map +1 -1
  24. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/genesis.js +25 -8
  25. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/params.d.ts +3 -10
  26. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/params.d.ts.map +1 -1
  27. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/params.js +3 -12
  28. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.d.ts +168 -58
  29. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.d.ts.map +1 -1
  30. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.js +349 -48
  31. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.lcd.d.ts +8 -4
  32. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.lcd.d.ts.map +1 -1
  33. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.lcd.js +60 -15
  34. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.rpc.Query.d.ts +30 -14
  35. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.rpc.Query.d.ts.map +1 -1
  36. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.rpc.Query.js +59 -23
  37. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/token_reserve.d.ts +3 -3
  38. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/token_reserve.d.ts.map +1 -1
  39. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/token_reserve.js +6 -6
  40. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.d.ts +221 -76
  41. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.d.ts.map +1 -1
  42. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.js +432 -84
  43. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.rpc.msg.d.ts +25 -10
  44. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.rpc.msg.d.ts.map +1 -1
  45. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.rpc.msg.js +47 -17
  46. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/withdrawal.d.ts +168 -93
  47. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/withdrawal.d.ts.map +1 -1
  48. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/withdrawal.js +299 -158
  49. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/daemons/bridge/bridge.d.ts +63 -2
  50. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/daemons/bridge/bridge.d.ts.map +1 -1
  51. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/daemons/bridge/bridge.js +127 -4
  52. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/daemons/signer/signer.d.ts +4 -4
  53. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/daemons/signer/signer.d.ts.map +1 -1
  54. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/daemons/signer/signer.js +11 -11
  55. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/indexer/events/events.d.ts +6 -0
  56. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/indexer/events/events.d.ts.map +1 -1
  57. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/indexer/events/events.js +21 -5
  58. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.query.d.ts +7 -3
  59. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.query.d.ts.map +1 -1
  60. package/build/esm/src/clients/composite-client.d.ts +2 -3
  61. package/build/esm/src/clients/composite-client.d.ts.map +1 -1
  62. package/build/esm/src/clients/composite-client.js +4 -5
  63. package/build/esm/src/clients/constants.d.ts +1 -1
  64. package/build/esm/src/clients/constants.d.ts.map +1 -1
  65. package/build/esm/src/clients/constants.js +2 -2
  66. package/build/esm/src/clients/lib/registry.js +4 -4
  67. package/build/esm/src/clients/modules/composer.d.ts +1 -1
  68. package/build/esm/src/clients/modules/composer.d.ts.map +1 -1
  69. package/build/esm/src/clients/modules/composer.js +6 -7
  70. package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
  71. package/package.json +2 -2
  72. package/src/clients/composite-client.ts +4 -7
  73. package/src/clients/constants.ts +1 -1
  74. package/src/clients/lib/registry.ts +3 -3
  75. package/src/clients/modules/composer.ts +8 -10
@@ -33,28 +33,34 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.AggregatedWithdrawal = exports.WithdrawalSignature = exports.ValidatorEthKey = exports.WithdrawalInfo = exports.DenomWithdrawalConfig = exports.WithdrawalParams = exports.ChainWithdrawalLimit = exports.Withdrawal = exports.WithdrawalStatusSDKType = exports.WithdrawalStatus = void 0;
36
+ exports.AggregatedWithdrawal = exports.WithdrawalSignature = exports.ValidatorEvmAddress = exports.AssetWithdrawalConfig = exports.ChainWithdrawalConfig = exports.WithdrawalParams = exports.AssetChainWithdrawalDailyUsage = exports.ChainWithdrawalState = exports.AssetChainDailyLimitConfig = exports.Withdrawal = exports.WithdrawalStatusSDKType = exports.WithdrawalStatus = void 0;
37
37
  exports.withdrawalStatusFromJSON = withdrawalStatusFromJSON;
38
38
  exports.withdrawalStatusToJSON = withdrawalStatusToJSON;
39
+ const coin_1 = require("../../cosmos/base/v1beta1/coin");
39
40
  const helpers_1 = require("../../helpers");
40
41
  const _m0 = __importStar(require("protobufjs/minimal"));
41
- /** WithdrawalStatus представляет статус вывода */
42
+ /**
43
+ * WithdrawalStatus представляет статус вывода
44
+ * Flow: PENDING_TIMELOCK -> SIGNING -> READY -> RELAYED -> (deleted after EVM confirmation)
45
+ * При ошибке/отмене: refund + emit event + delete (не храним FAILED/CANCELLED)
46
+ * ERROR: вывод подтверждён EVM, но не обработан на chain (ошибка баланса/резерва при recovery)
47
+ */
42
48
  var WithdrawalStatus;
43
49
  (function (WithdrawalStatus) {
44
50
  /** WITHDRAWAL_STATUS_UNSPECIFIED - WITHDRAWAL_STATUS_UNSPECIFIED - неопределенный статус */
45
51
  WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_UNSPECIFIED"] = 0] = "WITHDRAWAL_STATUS_UNSPECIFIED";
46
52
  /** WITHDRAWAL_STATUS_PENDING_TIMELOCK - WITHDRAWAL_STATUS_PENDING_TIMELOCK - ожидает timelock (для крупных сумм) */
47
53
  WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_PENDING_TIMELOCK"] = 1] = "WITHDRAWAL_STATUS_PENDING_TIMELOCK";
48
- /** WITHDRAWAL_STATUS_ACTIVE - WITHDRAWAL_STATUS_ACTIVE - ожидает подписи валидаторов (667/1000 от числа валидаторов) */
49
- WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_ACTIVE"] = 2] = "WITHDRAWAL_STATUS_ACTIVE";
50
- /** WITHDRAWAL_STATUS_READY_FOR_RELAY - WITHDRAWAL_STATUS_READY_FOR_RELAY - готов к relay на EVM (достаточно подписей) */
51
- WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_READY_FOR_RELAY"] = 3] = "WITHDRAWAL_STATUS_READY_FOR_RELAY";
52
- /** WITHDRAWAL_STATUS_EXECUTED - WITHDRAWAL_STATUS_EXECUTED - успешно исполнен на EVM chain */
53
- WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_EXECUTED"] = 4] = "WITHDRAWAL_STATUS_EXECUTED";
54
- /** WITHDRAWAL_STATUS_FAILED - WITHDRAWAL_STATUS_FAILED - ошибка при исполнении, токены возвращены */
55
- WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_FAILED"] = 5] = "WITHDRAWAL_STATUS_FAILED";
56
- /** WITHDRAWAL_STATUS_CANCELLED - WITHDRAWAL_STATUS_CANCELLED - signing timeout, токены возвращены */
57
- WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_CANCELLED"] = 6] = "WITHDRAWAL_STATUS_CANCELLED";
54
+ /** WITHDRAWAL_STATUS_SIGNING - WITHDRAWAL_STATUS_SIGNING - ожидает подписи валидаторов (667/1000 от числа валидаторов) */
55
+ WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_SIGNING"] = 2] = "WITHDRAWAL_STATUS_SIGNING";
56
+ /** WITHDRAWAL_STATUS_READY - WITHDRAWAL_STATUS_READY - готов к relay на EVM (достаточно подписей) */
57
+ WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_READY"] = 3] = "WITHDRAWAL_STATUS_READY";
58
+ /** WITHDRAWAL_STATUS_RELAYED - WITHDRAWAL_STATUS_RELAYED - relay выполнен, ожидает EVM confirmation от bridge daemon */
59
+ WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_RELAYED"] = 4] = "WITHDRAWAL_STATUS_RELAYED";
60
+ /** WITHDRAWAL_STATUS_ERROR - WITHDRAWAL_STATUS_ERROR - подтверждён EVM, но не обработан на chain (ошибка при recovery) */
61
+ WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_ERROR"] = 5] = "WITHDRAWAL_STATUS_ERROR";
62
+ /** WITHDRAWAL_STATUS_EXPIRED - WITHDRAWAL_STATUS_EXPIRED - EVM confirmation timeout (relay мог пройти, ручное разбирательство) */
63
+ WithdrawalStatus[WithdrawalStatus["WITHDRAWAL_STATUS_EXPIRED"] = 6] = "WITHDRAWAL_STATUS_EXPIRED";
58
64
  WithdrawalStatus[WithdrawalStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
59
65
  })(WithdrawalStatus || (exports.WithdrawalStatus = WithdrawalStatus = {}));
60
66
  exports.WithdrawalStatusSDKType = WithdrawalStatus;
@@ -67,20 +73,20 @@ function withdrawalStatusFromJSON(object) {
67
73
  case "WITHDRAWAL_STATUS_PENDING_TIMELOCK":
68
74
  return WithdrawalStatus.WITHDRAWAL_STATUS_PENDING_TIMELOCK;
69
75
  case 2:
70
- case "WITHDRAWAL_STATUS_ACTIVE":
71
- return WithdrawalStatus.WITHDRAWAL_STATUS_ACTIVE;
76
+ case "WITHDRAWAL_STATUS_SIGNING":
77
+ return WithdrawalStatus.WITHDRAWAL_STATUS_SIGNING;
72
78
  case 3:
73
- case "WITHDRAWAL_STATUS_READY_FOR_RELAY":
74
- return WithdrawalStatus.WITHDRAWAL_STATUS_READY_FOR_RELAY;
79
+ case "WITHDRAWAL_STATUS_READY":
80
+ return WithdrawalStatus.WITHDRAWAL_STATUS_READY;
75
81
  case 4:
76
- case "WITHDRAWAL_STATUS_EXECUTED":
77
- return WithdrawalStatus.WITHDRAWAL_STATUS_EXECUTED;
82
+ case "WITHDRAWAL_STATUS_RELAYED":
83
+ return WithdrawalStatus.WITHDRAWAL_STATUS_RELAYED;
78
84
  case 5:
79
- case "WITHDRAWAL_STATUS_FAILED":
80
- return WithdrawalStatus.WITHDRAWAL_STATUS_FAILED;
85
+ case "WITHDRAWAL_STATUS_ERROR":
86
+ return WithdrawalStatus.WITHDRAWAL_STATUS_ERROR;
81
87
  case 6:
82
- case "WITHDRAWAL_STATUS_CANCELLED":
83
- return WithdrawalStatus.WITHDRAWAL_STATUS_CANCELLED;
88
+ case "WITHDRAWAL_STATUS_EXPIRED":
89
+ return WithdrawalStatus.WITHDRAWAL_STATUS_EXPIRED;
84
90
  case -1:
85
91
  case "UNRECOGNIZED":
86
92
  default:
@@ -93,16 +99,16 @@ function withdrawalStatusToJSON(object) {
93
99
  return "WITHDRAWAL_STATUS_UNSPECIFIED";
94
100
  case WithdrawalStatus.WITHDRAWAL_STATUS_PENDING_TIMELOCK:
95
101
  return "WITHDRAWAL_STATUS_PENDING_TIMELOCK";
96
- case WithdrawalStatus.WITHDRAWAL_STATUS_ACTIVE:
97
- return "WITHDRAWAL_STATUS_ACTIVE";
98
- case WithdrawalStatus.WITHDRAWAL_STATUS_READY_FOR_RELAY:
99
- return "WITHDRAWAL_STATUS_READY_FOR_RELAY";
100
- case WithdrawalStatus.WITHDRAWAL_STATUS_EXECUTED:
101
- return "WITHDRAWAL_STATUS_EXECUTED";
102
- case WithdrawalStatus.WITHDRAWAL_STATUS_FAILED:
103
- return "WITHDRAWAL_STATUS_FAILED";
104
- case WithdrawalStatus.WITHDRAWAL_STATUS_CANCELLED:
105
- return "WITHDRAWAL_STATUS_CANCELLED";
102
+ case WithdrawalStatus.WITHDRAWAL_STATUS_SIGNING:
103
+ return "WITHDRAWAL_STATUS_SIGNING";
104
+ case WithdrawalStatus.WITHDRAWAL_STATUS_READY:
105
+ return "WITHDRAWAL_STATUS_READY";
106
+ case WithdrawalStatus.WITHDRAWAL_STATUS_RELAYED:
107
+ return "WITHDRAWAL_STATUS_RELAYED";
108
+ case WithdrawalStatus.WITHDRAWAL_STATUS_ERROR:
109
+ return "WITHDRAWAL_STATUS_ERROR";
110
+ case WithdrawalStatus.WITHDRAWAL_STATUS_EXPIRED:
111
+ return "WITHDRAWAL_STATUS_EXPIRED";
106
112
  case WithdrawalStatus.UNRECOGNIZED:
107
113
  default:
108
114
  return "UNRECOGNIZED";
@@ -111,17 +117,18 @@ function withdrawalStatusToJSON(object) {
111
117
  function createBaseWithdrawal() {
112
118
  return {
113
119
  id: helpers_1.Long.UZERO,
114
- ethTokenAddress: "",
115
120
  amount: "",
116
121
  ethRecipient: "",
117
- cosmosSender: "",
122
+ protocolSender: "",
118
123
  status: 0,
119
124
  createdAtBlock: helpers_1.Long.ZERO,
120
125
  timelockBlocks: helpers_1.Long.UZERO,
121
126
  ethChainId: helpers_1.Long.UZERO,
122
127
  ethTxHash: "",
123
128
  errorMessage: "",
124
- denom: ""
129
+ assetId: 0,
130
+ relayAttempts: 0,
131
+ readyAtBlock: helpers_1.Long.ZERO
125
132
  };
126
133
  }
127
134
  exports.Withdrawal = {
@@ -129,38 +136,41 @@ exports.Withdrawal = {
129
136
  if (!message.id.isZero()) {
130
137
  writer.uint32(8).uint64(message.id);
131
138
  }
132
- if (message.ethTokenAddress !== "") {
133
- writer.uint32(18).string(message.ethTokenAddress);
134
- }
135
139
  if (message.amount !== "") {
136
- writer.uint32(26).string(message.amount);
140
+ writer.uint32(18).string(message.amount);
137
141
  }
138
142
  if (message.ethRecipient !== "") {
139
- writer.uint32(34).string(message.ethRecipient);
143
+ writer.uint32(26).string(message.ethRecipient);
140
144
  }
141
- if (message.cosmosSender !== "") {
142
- writer.uint32(42).string(message.cosmosSender);
145
+ if (message.protocolSender !== "") {
146
+ writer.uint32(34).string(message.protocolSender);
143
147
  }
144
148
  if (message.status !== 0) {
145
- writer.uint32(48).int32(message.status);
149
+ writer.uint32(40).int32(message.status);
146
150
  }
147
151
  if (!message.createdAtBlock.isZero()) {
148
- writer.uint32(56).int64(message.createdAtBlock);
152
+ writer.uint32(48).int64(message.createdAtBlock);
149
153
  }
150
154
  if (!message.timelockBlocks.isZero()) {
151
- writer.uint32(64).uint64(message.timelockBlocks);
155
+ writer.uint32(56).uint64(message.timelockBlocks);
152
156
  }
153
157
  if (!message.ethChainId.isZero()) {
154
- writer.uint32(72).uint64(message.ethChainId);
158
+ writer.uint32(64).uint64(message.ethChainId);
155
159
  }
156
160
  if (message.ethTxHash !== "") {
157
- writer.uint32(82).string(message.ethTxHash);
161
+ writer.uint32(74).string(message.ethTxHash);
158
162
  }
159
163
  if (message.errorMessage !== "") {
160
- writer.uint32(90).string(message.errorMessage);
164
+ writer.uint32(82).string(message.errorMessage);
165
+ }
166
+ if (message.assetId !== 0) {
167
+ writer.uint32(88).uint32(message.assetId);
161
168
  }
162
- if (message.denom !== "") {
163
- writer.uint32(98).string(message.denom);
169
+ if (message.relayAttempts !== 0) {
170
+ writer.uint32(96).uint32(message.relayAttempts);
171
+ }
172
+ if (!message.readyAtBlock.isZero()) {
173
+ writer.uint32(104).int64(message.readyAtBlock);
164
174
  }
165
175
  return writer;
166
176
  },
@@ -175,37 +185,40 @@ exports.Withdrawal = {
175
185
  message.id = reader.uint64();
176
186
  break;
177
187
  case 2:
178
- message.ethTokenAddress = reader.string();
188
+ message.amount = reader.string();
179
189
  break;
180
190
  case 3:
181
- message.amount = reader.string();
191
+ message.ethRecipient = reader.string();
182
192
  break;
183
193
  case 4:
184
- message.ethRecipient = reader.string();
194
+ message.protocolSender = reader.string();
185
195
  break;
186
196
  case 5:
187
- message.cosmosSender = reader.string();
197
+ message.status = reader.int32();
188
198
  break;
189
199
  case 6:
190
- message.status = reader.int32();
200
+ message.createdAtBlock = reader.int64();
191
201
  break;
192
202
  case 7:
193
- message.createdAtBlock = reader.int64();
203
+ message.timelockBlocks = reader.uint64();
194
204
  break;
195
205
  case 8:
196
- message.timelockBlocks = reader.uint64();
206
+ message.ethChainId = reader.uint64();
197
207
  break;
198
208
  case 9:
199
- message.ethChainId = reader.uint64();
209
+ message.ethTxHash = reader.string();
200
210
  break;
201
211
  case 10:
202
- message.ethTxHash = reader.string();
212
+ message.errorMessage = reader.string();
203
213
  break;
204
214
  case 11:
205
- message.errorMessage = reader.string();
215
+ message.assetId = reader.uint32();
206
216
  break;
207
217
  case 12:
208
- message.denom = reader.string();
218
+ message.relayAttempts = reader.uint32();
219
+ break;
220
+ case 13:
221
+ message.readyAtBlock = reader.int64();
209
222
  break;
210
223
  default:
211
224
  reader.skipType(tag & 7);
@@ -218,40 +231,45 @@ exports.Withdrawal = {
218
231
  var _a, _b, _c, _d, _e, _f, _g, _h;
219
232
  const message = createBaseWithdrawal();
220
233
  message.id = object.id !== undefined && object.id !== null ? helpers_1.Long.fromValue(object.id) : helpers_1.Long.UZERO;
221
- message.ethTokenAddress = (_a = object.ethTokenAddress) !== null && _a !== void 0 ? _a : "";
222
- message.amount = (_b = object.amount) !== null && _b !== void 0 ? _b : "";
223
- message.ethRecipient = (_c = object.ethRecipient) !== null && _c !== void 0 ? _c : "";
224
- message.cosmosSender = (_d = object.cosmosSender) !== null && _d !== void 0 ? _d : "";
225
- message.status = (_e = object.status) !== null && _e !== void 0 ? _e : 0;
234
+ message.amount = (_a = object.amount) !== null && _a !== void 0 ? _a : "";
235
+ message.ethRecipient = (_b = object.ethRecipient) !== null && _b !== void 0 ? _b : "";
236
+ message.protocolSender = (_c = object.protocolSender) !== null && _c !== void 0 ? _c : "";
237
+ message.status = (_d = object.status) !== null && _d !== void 0 ? _d : 0;
226
238
  message.createdAtBlock = object.createdAtBlock !== undefined && object.createdAtBlock !== null ? helpers_1.Long.fromValue(object.createdAtBlock) : helpers_1.Long.ZERO;
227
239
  message.timelockBlocks = object.timelockBlocks !== undefined && object.timelockBlocks !== null ? helpers_1.Long.fromValue(object.timelockBlocks) : helpers_1.Long.UZERO;
228
240
  message.ethChainId = object.ethChainId !== undefined && object.ethChainId !== null ? helpers_1.Long.fromValue(object.ethChainId) : helpers_1.Long.UZERO;
229
- message.ethTxHash = (_f = object.ethTxHash) !== null && _f !== void 0 ? _f : "";
230
- message.errorMessage = (_g = object.errorMessage) !== null && _g !== void 0 ? _g : "";
231
- message.denom = (_h = object.denom) !== null && _h !== void 0 ? _h : "";
241
+ message.ethTxHash = (_e = object.ethTxHash) !== null && _e !== void 0 ? _e : "";
242
+ message.errorMessage = (_f = object.errorMessage) !== null && _f !== void 0 ? _f : "";
243
+ message.assetId = (_g = object.assetId) !== null && _g !== void 0 ? _g : 0;
244
+ message.relayAttempts = (_h = object.relayAttempts) !== null && _h !== void 0 ? _h : 0;
245
+ message.readyAtBlock = object.readyAtBlock !== undefined && object.readyAtBlock !== null ? helpers_1.Long.fromValue(object.readyAtBlock) : helpers_1.Long.ZERO;
232
246
  return message;
233
247
  }
234
248
  };
235
- function createBaseChainWithdrawalLimit() {
249
+ function createBaseAssetChainDailyLimitConfig() {
236
250
  return {
237
251
  chainId: helpers_1.Long.UZERO,
238
- dailyWithdrawalLimit: ""
252
+ assetId: 0,
253
+ dailyLimit: ""
239
254
  };
240
255
  }
241
- exports.ChainWithdrawalLimit = {
256
+ exports.AssetChainDailyLimitConfig = {
242
257
  encode(message, writer = _m0.Writer.create()) {
243
258
  if (!message.chainId.isZero()) {
244
259
  writer.uint32(8).uint64(message.chainId);
245
260
  }
246
- if (message.dailyWithdrawalLimit !== "") {
247
- writer.uint32(18).string(message.dailyWithdrawalLimit);
261
+ if (message.assetId !== 0) {
262
+ writer.uint32(16).uint32(message.assetId);
263
+ }
264
+ if (message.dailyLimit !== "") {
265
+ writer.uint32(26).string(message.dailyLimit);
248
266
  }
249
267
  return writer;
250
268
  },
251
269
  decode(input, length) {
252
270
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
253
271
  let end = length === undefined ? reader.len : reader.pos + length;
254
- const message = createBaseChainWithdrawalLimit();
272
+ const message = createBaseAssetChainDailyLimitConfig();
255
273
  while (reader.pos < end) {
256
274
  const tag = reader.uint32();
257
275
  switch (tag >>> 3) {
@@ -259,7 +277,10 @@ exports.ChainWithdrawalLimit = {
259
277
  message.chainId = reader.uint64();
260
278
  break;
261
279
  case 2:
262
- message.dailyWithdrawalLimit = reader.string();
280
+ message.assetId = reader.uint32();
281
+ break;
282
+ case 3:
283
+ message.dailyLimit = reader.string();
263
284
  break;
264
285
  default:
265
286
  reader.skipType(tag & 7);
@@ -269,28 +290,135 @@ exports.ChainWithdrawalLimit = {
269
290
  return message;
270
291
  },
271
292
  fromPartial(object) {
272
- var _a;
273
- const message = createBaseChainWithdrawalLimit();
293
+ var _a, _b;
294
+ const message = createBaseAssetChainDailyLimitConfig();
274
295
  message.chainId = object.chainId !== undefined && object.chainId !== null ? helpers_1.Long.fromValue(object.chainId) : helpers_1.Long.UZERO;
275
- message.dailyWithdrawalLimit = (_a = object.dailyWithdrawalLimit) !== null && _a !== void 0 ? _a : "";
296
+ message.assetId = (_a = object.assetId) !== null && _a !== void 0 ? _a : 0;
297
+ message.dailyLimit = (_b = object.dailyLimit) !== null && _b !== void 0 ? _b : "";
298
+ return message;
299
+ }
300
+ };
301
+ function createBaseChainWithdrawalState() {
302
+ return {
303
+ chainId: helpers_1.Long.UZERO,
304
+ nextId: helpers_1.Long.UZERO
305
+ };
306
+ }
307
+ exports.ChainWithdrawalState = {
308
+ encode(message, writer = _m0.Writer.create()) {
309
+ if (!message.chainId.isZero()) {
310
+ writer.uint32(8).uint64(message.chainId);
311
+ }
312
+ if (!message.nextId.isZero()) {
313
+ writer.uint32(16).uint64(message.nextId);
314
+ }
315
+ return writer;
316
+ },
317
+ decode(input, length) {
318
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
319
+ let end = length === undefined ? reader.len : reader.pos + length;
320
+ const message = createBaseChainWithdrawalState();
321
+ while (reader.pos < end) {
322
+ const tag = reader.uint32();
323
+ switch (tag >>> 3) {
324
+ case 1:
325
+ message.chainId = reader.uint64();
326
+ break;
327
+ case 2:
328
+ message.nextId = reader.uint64();
329
+ break;
330
+ default:
331
+ reader.skipType(tag & 7);
332
+ break;
333
+ }
334
+ }
335
+ return message;
336
+ },
337
+ fromPartial(object) {
338
+ const message = createBaseChainWithdrawalState();
339
+ message.chainId = object.chainId !== undefined && object.chainId !== null ? helpers_1.Long.fromValue(object.chainId) : helpers_1.Long.UZERO;
340
+ message.nextId = object.nextId !== undefined && object.nextId !== null ? helpers_1.Long.fromValue(object.nextId) : helpers_1.Long.UZERO;
341
+ return message;
342
+ }
343
+ };
344
+ function createBaseAssetChainWithdrawalDailyUsage() {
345
+ return {
346
+ chainId: helpers_1.Long.UZERO,
347
+ assetId: 0,
348
+ dailyUsed: "",
349
+ lastReset: helpers_1.Long.ZERO
350
+ };
351
+ }
352
+ exports.AssetChainWithdrawalDailyUsage = {
353
+ encode(message, writer = _m0.Writer.create()) {
354
+ if (!message.chainId.isZero()) {
355
+ writer.uint32(8).uint64(message.chainId);
356
+ }
357
+ if (message.assetId !== 0) {
358
+ writer.uint32(16).uint32(message.assetId);
359
+ }
360
+ if (message.dailyUsed !== "") {
361
+ writer.uint32(26).string(message.dailyUsed);
362
+ }
363
+ if (!message.lastReset.isZero()) {
364
+ writer.uint32(32).int64(message.lastReset);
365
+ }
366
+ return writer;
367
+ },
368
+ decode(input, length) {
369
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
370
+ let end = length === undefined ? reader.len : reader.pos + length;
371
+ const message = createBaseAssetChainWithdrawalDailyUsage();
372
+ while (reader.pos < end) {
373
+ const tag = reader.uint32();
374
+ switch (tag >>> 3) {
375
+ case 1:
376
+ message.chainId = reader.uint64();
377
+ break;
378
+ case 2:
379
+ message.assetId = reader.uint32();
380
+ break;
381
+ case 3:
382
+ message.dailyUsed = reader.string();
383
+ break;
384
+ case 4:
385
+ message.lastReset = reader.int64();
386
+ break;
387
+ default:
388
+ reader.skipType(tag & 7);
389
+ break;
390
+ }
391
+ }
392
+ return message;
393
+ },
394
+ fromPartial(object) {
395
+ var _a, _b;
396
+ const message = createBaseAssetChainWithdrawalDailyUsage();
397
+ message.chainId = object.chainId !== undefined && object.chainId !== null ? helpers_1.Long.fromValue(object.chainId) : helpers_1.Long.UZERO;
398
+ message.assetId = (_a = object.assetId) !== null && _a !== void 0 ? _a : 0;
399
+ message.dailyUsed = (_b = object.dailyUsed) !== null && _b !== void 0 ? _b : "";
400
+ message.lastReset = object.lastReset !== undefined && object.lastReset !== null ? helpers_1.Long.fromValue(object.lastReset) : helpers_1.Long.ZERO;
276
401
  return message;
277
402
  }
278
403
  };
279
404
  function createBaseWithdrawalParams() {
280
405
  return {
281
- denomConfigs: [],
282
- chainDailyLimits: [],
406
+ chainWithdrawalConfigs: [],
407
+ dailyLimitConfigs: [],
283
408
  withdrawalsDisabled: false,
284
- signingTimeoutBlocks: helpers_1.Long.UZERO
409
+ signingTimeoutBlocks: helpers_1.Long.UZERO,
410
+ maxRelayAttempts: 0,
411
+ relayTimeoutBlocks: helpers_1.Long.UZERO,
412
+ confirmationTimeoutBlocks: helpers_1.Long.UZERO
285
413
  };
286
414
  }
287
415
  exports.WithdrawalParams = {
288
416
  encode(message, writer = _m0.Writer.create()) {
289
- for (const v of message.denomConfigs) {
290
- exports.DenomWithdrawalConfig.encode(v, writer.uint32(10).fork()).ldelim();
417
+ for (const v of message.chainWithdrawalConfigs) {
418
+ exports.ChainWithdrawalConfig.encode(v, writer.uint32(10).fork()).ldelim();
291
419
  }
292
- for (const v of message.chainDailyLimits) {
293
- exports.ChainWithdrawalLimit.encode(v, writer.uint32(18).fork()).ldelim();
420
+ for (const v of message.dailyLimitConfigs) {
421
+ exports.AssetChainDailyLimitConfig.encode(v, writer.uint32(18).fork()).ldelim();
294
422
  }
295
423
  if (message.withdrawalsDisabled === true) {
296
424
  writer.uint32(24).bool(message.withdrawalsDisabled);
@@ -298,6 +426,15 @@ exports.WithdrawalParams = {
298
426
  if (!message.signingTimeoutBlocks.isZero()) {
299
427
  writer.uint32(32).uint64(message.signingTimeoutBlocks);
300
428
  }
429
+ if (message.maxRelayAttempts !== 0) {
430
+ writer.uint32(40).uint32(message.maxRelayAttempts);
431
+ }
432
+ if (!message.relayTimeoutBlocks.isZero()) {
433
+ writer.uint32(48).uint64(message.relayTimeoutBlocks);
434
+ }
435
+ if (!message.confirmationTimeoutBlocks.isZero()) {
436
+ writer.uint32(56).uint64(message.confirmationTimeoutBlocks);
437
+ }
301
438
  return writer;
302
439
  },
303
440
  decode(input, length) {
@@ -308,10 +445,10 @@ exports.WithdrawalParams = {
308
445
  const tag = reader.uint32();
309
446
  switch (tag >>> 3) {
310
447
  case 1:
311
- message.denomConfigs.push(exports.DenomWithdrawalConfig.decode(reader, reader.uint32()));
448
+ message.chainWithdrawalConfigs.push(exports.ChainWithdrawalConfig.decode(reader, reader.uint32()));
312
449
  break;
313
450
  case 2:
314
- message.chainDailyLimits.push(exports.ChainWithdrawalLimit.decode(reader, reader.uint32()));
451
+ message.dailyLimitConfigs.push(exports.AssetChainDailyLimitConfig.decode(reader, reader.uint32()));
315
452
  break;
316
453
  case 3:
317
454
  message.withdrawalsDisabled = reader.bool();
@@ -319,6 +456,15 @@ exports.WithdrawalParams = {
319
456
  case 4:
320
457
  message.signingTimeoutBlocks = reader.uint64();
321
458
  break;
459
+ case 5:
460
+ message.maxRelayAttempts = reader.uint32();
461
+ break;
462
+ case 6:
463
+ message.relayTimeoutBlocks = reader.uint64();
464
+ break;
465
+ case 7:
466
+ message.confirmationTimeoutBlocks = reader.uint64();
467
+ break;
322
468
  default:
323
469
  reader.skipType(tag & 7);
324
470
  break;
@@ -327,50 +473,46 @@ exports.WithdrawalParams = {
327
473
  return message;
328
474
  },
329
475
  fromPartial(object) {
330
- var _a, _b, _c;
476
+ var _a, _b, _c, _d;
331
477
  const message = createBaseWithdrawalParams();
332
- message.denomConfigs = ((_a = object.denomConfigs) === null || _a === void 0 ? void 0 : _a.map(e => exports.DenomWithdrawalConfig.fromPartial(e))) || [];
333
- message.chainDailyLimits = ((_b = object.chainDailyLimits) === null || _b === void 0 ? void 0 : _b.map(e => exports.ChainWithdrawalLimit.fromPartial(e))) || [];
478
+ message.chainWithdrawalConfigs = ((_a = object.chainWithdrawalConfigs) === null || _a === void 0 ? void 0 : _a.map(e => exports.ChainWithdrawalConfig.fromPartial(e))) || [];
479
+ message.dailyLimitConfigs = ((_b = object.dailyLimitConfigs) === null || _b === void 0 ? void 0 : _b.map(e => exports.AssetChainDailyLimitConfig.fromPartial(e))) || [];
334
480
  message.withdrawalsDisabled = (_c = object.withdrawalsDisabled) !== null && _c !== void 0 ? _c : false;
335
481
  message.signingTimeoutBlocks = object.signingTimeoutBlocks !== undefined && object.signingTimeoutBlocks !== null ? helpers_1.Long.fromValue(object.signingTimeoutBlocks) : helpers_1.Long.UZERO;
482
+ message.maxRelayAttempts = (_d = object.maxRelayAttempts) !== null && _d !== void 0 ? _d : 0;
483
+ message.relayTimeoutBlocks = object.relayTimeoutBlocks !== undefined && object.relayTimeoutBlocks !== null ? helpers_1.Long.fromValue(object.relayTimeoutBlocks) : helpers_1.Long.UZERO;
484
+ message.confirmationTimeoutBlocks = object.confirmationTimeoutBlocks !== undefined && object.confirmationTimeoutBlocks !== null ? helpers_1.Long.fromValue(object.confirmationTimeoutBlocks) : helpers_1.Long.UZERO;
336
485
  return message;
337
486
  }
338
487
  };
339
- function createBaseDenomWithdrawalConfig() {
488
+ function createBaseChainWithdrawalConfig() {
340
489
  return {
341
- denom: "",
342
- largeWithdrawalThreshold: "",
343
- timelockBlocks: helpers_1.Long.UZERO
490
+ chainId: helpers_1.Long.UZERO,
491
+ assetConfigs: []
344
492
  };
345
493
  }
346
- exports.DenomWithdrawalConfig = {
494
+ exports.ChainWithdrawalConfig = {
347
495
  encode(message, writer = _m0.Writer.create()) {
348
- if (message.denom !== "") {
349
- writer.uint32(10).string(message.denom);
350
- }
351
- if (message.largeWithdrawalThreshold !== "") {
352
- writer.uint32(18).string(message.largeWithdrawalThreshold);
496
+ if (!message.chainId.isZero()) {
497
+ writer.uint32(8).uint64(message.chainId);
353
498
  }
354
- if (!message.timelockBlocks.isZero()) {
355
- writer.uint32(24).uint64(message.timelockBlocks);
499
+ for (const v of message.assetConfigs) {
500
+ exports.AssetWithdrawalConfig.encode(v, writer.uint32(18).fork()).ldelim();
356
501
  }
357
502
  return writer;
358
503
  },
359
504
  decode(input, length) {
360
505
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
361
506
  let end = length === undefined ? reader.len : reader.pos + length;
362
- const message = createBaseDenomWithdrawalConfig();
507
+ const message = createBaseChainWithdrawalConfig();
363
508
  while (reader.pos < end) {
364
509
  const tag = reader.uint32();
365
510
  switch (tag >>> 3) {
366
511
  case 1:
367
- message.denom = reader.string();
512
+ message.chainId = reader.uint64();
368
513
  break;
369
514
  case 2:
370
- message.largeWithdrawalThreshold = reader.string();
371
- break;
372
- case 3:
373
- message.timelockBlocks = reader.uint64();
515
+ message.assetConfigs.push(exports.AssetWithdrawalConfig.decode(reader, reader.uint32()));
374
516
  break;
375
517
  default:
376
518
  reader.skipType(tag & 7);
@@ -380,56 +522,55 @@ exports.DenomWithdrawalConfig = {
380
522
  return message;
381
523
  },
382
524
  fromPartial(object) {
383
- var _a, _b;
384
- const message = createBaseDenomWithdrawalConfig();
385
- message.denom = (_a = object.denom) !== null && _a !== void 0 ? _a : "";
386
- message.largeWithdrawalThreshold = (_b = object.largeWithdrawalThreshold) !== null && _b !== void 0 ? _b : "";
387
- message.timelockBlocks = object.timelockBlocks !== undefined && object.timelockBlocks !== null ? helpers_1.Long.fromValue(object.timelockBlocks) : helpers_1.Long.UZERO;
525
+ var _a;
526
+ const message = createBaseChainWithdrawalConfig();
527
+ message.chainId = object.chainId !== undefined && object.chainId !== null ? helpers_1.Long.fromValue(object.chainId) : helpers_1.Long.UZERO;
528
+ message.assetConfigs = ((_a = object.assetConfigs) === null || _a === void 0 ? void 0 : _a.map(e => exports.AssetWithdrawalConfig.fromPartial(e))) || [];
388
529
  return message;
389
530
  }
390
531
  };
391
- function createBaseWithdrawalInfo() {
532
+ function createBaseAssetWithdrawalConfig() {
392
533
  return {
393
- nextId: helpers_1.Long.UZERO,
394
- dailyWithdrawnAmount: "",
395
- lastDailyReset: helpers_1.Long.ZERO,
396
- chainId: helpers_1.Long.UZERO
534
+ assetId: 0,
535
+ largeWithdrawalThreshold: "",
536
+ timelockBlocks: helpers_1.Long.UZERO,
537
+ withdrawalFee: []
397
538
  };
398
539
  }
399
- exports.WithdrawalInfo = {
540
+ exports.AssetWithdrawalConfig = {
400
541
  encode(message, writer = _m0.Writer.create()) {
401
- if (!message.nextId.isZero()) {
402
- writer.uint32(8).uint64(message.nextId);
542
+ if (message.assetId !== 0) {
543
+ writer.uint32(8).uint32(message.assetId);
403
544
  }
404
- if (message.dailyWithdrawnAmount !== "") {
405
- writer.uint32(18).string(message.dailyWithdrawnAmount);
545
+ if (message.largeWithdrawalThreshold !== "") {
546
+ writer.uint32(18).string(message.largeWithdrawalThreshold);
406
547
  }
407
- if (!message.lastDailyReset.isZero()) {
408
- writer.uint32(24).int64(message.lastDailyReset);
548
+ if (!message.timelockBlocks.isZero()) {
549
+ writer.uint32(24).uint64(message.timelockBlocks);
409
550
  }
410
- if (!message.chainId.isZero()) {
411
- writer.uint32(32).uint64(message.chainId);
551
+ for (const v of message.withdrawalFee) {
552
+ coin_1.Coin.encode(v, writer.uint32(34).fork()).ldelim();
412
553
  }
413
554
  return writer;
414
555
  },
415
556
  decode(input, length) {
416
557
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
417
558
  let end = length === undefined ? reader.len : reader.pos + length;
418
- const message = createBaseWithdrawalInfo();
559
+ const message = createBaseAssetWithdrawalConfig();
419
560
  while (reader.pos < end) {
420
561
  const tag = reader.uint32();
421
562
  switch (tag >>> 3) {
422
563
  case 1:
423
- message.nextId = reader.uint64();
564
+ message.assetId = reader.uint32();
424
565
  break;
425
566
  case 2:
426
- message.dailyWithdrawnAmount = reader.string();
567
+ message.largeWithdrawalThreshold = reader.string();
427
568
  break;
428
569
  case 3:
429
- message.lastDailyReset = reader.int64();
570
+ message.timelockBlocks = reader.uint64();
430
571
  break;
431
572
  case 4:
432
- message.chainId = reader.uint64();
573
+ message.withdrawalFee.push(coin_1.Coin.decode(reader, reader.uint32()));
433
574
  break;
434
575
  default:
435
576
  reader.skipType(tag & 7);
@@ -439,29 +580,29 @@ exports.WithdrawalInfo = {
439
580
  return message;
440
581
  },
441
582
  fromPartial(object) {
442
- var _a;
443
- const message = createBaseWithdrawalInfo();
444
- message.nextId = object.nextId !== undefined && object.nextId !== null ? helpers_1.Long.fromValue(object.nextId) : helpers_1.Long.UZERO;
445
- message.dailyWithdrawnAmount = (_a = object.dailyWithdrawnAmount) !== null && _a !== void 0 ? _a : "";
446
- message.lastDailyReset = object.lastDailyReset !== undefined && object.lastDailyReset !== null ? helpers_1.Long.fromValue(object.lastDailyReset) : helpers_1.Long.ZERO;
447
- message.chainId = object.chainId !== undefined && object.chainId !== null ? helpers_1.Long.fromValue(object.chainId) : helpers_1.Long.UZERO;
583
+ var _a, _b, _c;
584
+ const message = createBaseAssetWithdrawalConfig();
585
+ message.assetId = (_a = object.assetId) !== null && _a !== void 0 ? _a : 0;
586
+ message.largeWithdrawalThreshold = (_b = object.largeWithdrawalThreshold) !== null && _b !== void 0 ? _b : "";
587
+ message.timelockBlocks = object.timelockBlocks !== undefined && object.timelockBlocks !== null ? helpers_1.Long.fromValue(object.timelockBlocks) : helpers_1.Long.UZERO;
588
+ message.withdrawalFee = ((_c = object.withdrawalFee) === null || _c === void 0 ? void 0 : _c.map(e => coin_1.Coin.fromPartial(e))) || [];
448
589
  return message;
449
590
  }
450
591
  };
451
- function createBaseValidatorEthKey() {
592
+ function createBaseValidatorEvmAddress() {
452
593
  return {
453
- validatorCosmosAddress: "",
454
- ethAddress: "",
594
+ validatorAddress: "",
595
+ evmAddress: "",
455
596
  registeredAtBlock: helpers_1.Long.ZERO
456
597
  };
457
598
  }
458
- exports.ValidatorEthKey = {
599
+ exports.ValidatorEvmAddress = {
459
600
  encode(message, writer = _m0.Writer.create()) {
460
- if (message.validatorCosmosAddress !== "") {
461
- writer.uint32(10).string(message.validatorCosmosAddress);
601
+ if (message.validatorAddress !== "") {
602
+ writer.uint32(10).string(message.validatorAddress);
462
603
  }
463
- if (message.ethAddress !== "") {
464
- writer.uint32(18).string(message.ethAddress);
604
+ if (message.evmAddress !== "") {
605
+ writer.uint32(18).string(message.evmAddress);
465
606
  }
466
607
  if (!message.registeredAtBlock.isZero()) {
467
608
  writer.uint32(24).int64(message.registeredAtBlock);
@@ -471,15 +612,15 @@ exports.ValidatorEthKey = {
471
612
  decode(input, length) {
472
613
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
473
614
  let end = length === undefined ? reader.len : reader.pos + length;
474
- const message = createBaseValidatorEthKey();
615
+ const message = createBaseValidatorEvmAddress();
475
616
  while (reader.pos < end) {
476
617
  const tag = reader.uint32();
477
618
  switch (tag >>> 3) {
478
619
  case 1:
479
- message.validatorCosmosAddress = reader.string();
620
+ message.validatorAddress = reader.string();
480
621
  break;
481
622
  case 2:
482
- message.ethAddress = reader.string();
623
+ message.evmAddress = reader.string();
483
624
  break;
484
625
  case 3:
485
626
  message.registeredAtBlock = reader.int64();
@@ -493,9 +634,9 @@ exports.ValidatorEthKey = {
493
634
  },
494
635
  fromPartial(object) {
495
636
  var _a, _b;
496
- const message = createBaseValidatorEthKey();
497
- message.validatorCosmosAddress = (_a = object.validatorCosmosAddress) !== null && _a !== void 0 ? _a : "";
498
- message.ethAddress = (_b = object.ethAddress) !== null && _b !== void 0 ? _b : "";
637
+ const message = createBaseValidatorEvmAddress();
638
+ message.validatorAddress = (_a = object.validatorAddress) !== null && _a !== void 0 ? _a : "";
639
+ message.evmAddress = (_b = object.evmAddress) !== null && _b !== void 0 ? _b : "";
499
640
  message.registeredAtBlock = object.registeredAtBlock !== undefined && object.registeredAtBlock !== null ? helpers_1.Long.fromValue(object.registeredAtBlock) : helpers_1.Long.ZERO;
500
641
  return message;
501
642
  }
@@ -503,7 +644,7 @@ exports.ValidatorEthKey = {
503
644
  function createBaseWithdrawalSignature() {
504
645
  return {
505
646
  withdrawalId: helpers_1.Long.UZERO,
506
- validatorCosmosAddress: "",
647
+ validatorAddress: "",
507
648
  validatorEthAddress: "",
508
649
  ethSignature: new Uint8Array(),
509
650
  signedAtBlock: helpers_1.Long.ZERO
@@ -514,8 +655,8 @@ exports.WithdrawalSignature = {
514
655
  if (!message.withdrawalId.isZero()) {
515
656
  writer.uint32(8).uint64(message.withdrawalId);
516
657
  }
517
- if (message.validatorCosmosAddress !== "") {
518
- writer.uint32(18).string(message.validatorCosmosAddress);
658
+ if (message.validatorAddress !== "") {
659
+ writer.uint32(18).string(message.validatorAddress);
519
660
  }
520
661
  if (message.validatorEthAddress !== "") {
521
662
  writer.uint32(26).string(message.validatorEthAddress);
@@ -539,7 +680,7 @@ exports.WithdrawalSignature = {
539
680
  message.withdrawalId = reader.uint64();
540
681
  break;
541
682
  case 2:
542
- message.validatorCosmosAddress = reader.string();
683
+ message.validatorAddress = reader.string();
543
684
  break;
544
685
  case 3:
545
686
  message.validatorEthAddress = reader.string();
@@ -561,7 +702,7 @@ exports.WithdrawalSignature = {
561
702
  var _a, _b, _c;
562
703
  const message = createBaseWithdrawalSignature();
563
704
  message.withdrawalId = object.withdrawalId !== undefined && object.withdrawalId !== null ? helpers_1.Long.fromValue(object.withdrawalId) : helpers_1.Long.UZERO;
564
- message.validatorCosmosAddress = (_a = object.validatorCosmosAddress) !== null && _a !== void 0 ? _a : "";
705
+ message.validatorAddress = (_a = object.validatorAddress) !== null && _a !== void 0 ? _a : "";
565
706
  message.validatorEthAddress = (_b = object.validatorEthAddress) !== null && _b !== void 0 ? _b : "";
566
707
  message.ethSignature = (_c = object.ethSignature) !== null && _c !== void 0 ? _c : new Uint8Array();
567
708
  message.signedAtBlock = object.signedAtBlock !== undefined && object.signedAtBlock !== null ? helpers_1.Long.fromValue(object.signedAtBlock) : helpers_1.Long.ZERO;
@@ -652,4 +793,4 @@ exports.AggregatedWithdrawal = {
652
793
  return message;
653
794
  }
654
795
  };
655
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGRyYXdhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9Acml0Yml0L3Y0LXByb3RvL3NyYy9jb2RlZ2VuL3JpdGJpdC9icmlkZ2Uvd2l0aGRyYXdhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE0QkEsNERBbUNDO0FBQ0Qsd0RBMkJDO0FBM0ZELDJDQUFrRDtBQUNsRCx3REFBMEM7QUFDMUMsa0RBQWtEO0FBRWxELElBQVksZ0JBc0JYO0FBdEJELFdBQVksZ0JBQWdCO0lBQzFCLDRGQUE0RjtJQUM1Rix5R0FBaUMsQ0FBQTtJQUVqQyxvSEFBb0g7SUFDcEgsbUhBQXNDLENBQUE7SUFFdEMsd0hBQXdIO0lBQ3hILCtGQUE0QixDQUFBO0lBRTVCLHlIQUF5SDtJQUN6SCxpSEFBcUMsQ0FBQTtJQUVyQyw4RkFBOEY7SUFDOUYsbUdBQThCLENBQUE7SUFFOUIscUdBQXFHO0lBQ3JHLCtGQUE0QixDQUFBO0lBRTVCLHFHQUFxRztJQUNyRyxxR0FBK0IsQ0FBQTtJQUMvQix3RUFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBdEJXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBc0IzQjtBQUNZLFFBQUEsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUM7QUFDeEQsU0FBZ0Isd0JBQXdCLENBQUMsTUFBVztJQUNsRCxRQUFRLE1BQU0sRUFBRSxDQUFDO1FBQ2YsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLCtCQUErQjtZQUNsQyxPQUFPLGdCQUFnQixDQUFDLDZCQUE2QixDQUFDO1FBRXhELEtBQUssQ0FBQyxDQUFDO1FBQ1AsS0FBSyxvQ0FBb0M7WUFDdkMsT0FBTyxnQkFBZ0IsQ0FBQyxrQ0FBa0MsQ0FBQztRQUU3RCxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssMEJBQTBCO1lBQzdCLE9BQU8sZ0JBQWdCLENBQUMsd0JB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
796
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGRyYXdhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9Acml0Yml0L3Y0LXByb3RvL3NyYy9jb2RlZ2VuL3JpdGJpdC9icmlkZ2Uvd2l0aGRyYXdhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQ0EsNERBbUNDO0FBQ0Qsd0RBMkJDO0FBakdELHlEQUFtRTtBQUNuRSwyQ0FBa0Q7QUFDbEQsd0RBQTBDO0FBQzFDOzs7OztHQUtHO0FBRUgsSUFBWSxnQkFzQlg7QUF0QkQsV0FBWSxnQkFBZ0I7SUFDMUIsNEZBQTRGO0lBQzVGLHlHQUFpQyxDQUFBO0lBRWpDLG9IQUFvSDtJQUNwSCxtSEFBc0MsQ0FBQTtJQUV0QywwSEFBMEg7SUFDMUgsaUdBQTZCLENBQUE7SUFFN0IscUdBQXFHO0lBQ3JHLDZGQUEyQixDQUFBO0lBRTNCLHdIQUF3SDtJQUN4SCxpR0FBNkIsQ0FBQTtJQUU3QiwwSEFBMEg7SUFDMUgsNkZBQTJCLENBQUE7SUFFM0Isa0lBQWtJO0lBQ2xJLGlHQUE2QixDQUFBO0lBQzdCLHdFQUFpQixDQUFBO0FBQ25CLENBQUMsRUF0QlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFzQjNCO0FBQ1ksUUFBQSx1QkFBdUIsR0FBRyxnQkFBZ0IsQ0FBQztBQUN4RCxTQUFnQix3QkFBd0IsQ0FBQyxNQUFXO0lBQ2xELFFBQVEsTUFBTSxFQUFFLENBQUM7UUFDZixLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssK0JBQStCO1lBQ2xDLE9BQU8sZ0JBQWdCLENBQUMsNkJBQTZCLENBQUM7UUFFeEQsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLG9DQUFvQztZQUN2QyxPQUFPLGdCQUFnQixDQUFDLGtDQUFrQyxDQUFDO1FBRTdELEtBQUssQ0FBQyxDQUFDO1FBQ1AsS0FBSywyQkFBMkI7WUFDOUIsT0FBTyxn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