@keplr-wallet/stores 0.12.259 → 0.12.260

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.
@@ -1209,54 +1209,94 @@ class CosmosAccountImpl {
1209
1209
  }
1210
1210
  let dec = new unit_1.Dec(amount);
1211
1211
  dec = dec.mulTruncate(unit_1.DecUtils.getPrecisionDec(currency.coinDecimals));
1212
- const msg = {
1213
- type: this.chainId.startsWith("interwoven-")
1214
- ? "mstaking/MsgUndelegate"
1215
- : this.msgOpts.undelegate.type,
1216
- value: {
1217
- delegator_address: this.base.bech32Address,
1218
- validator_address: validatorAddress,
1219
- amount: this.chainId.startsWith("interwoven-")
1220
- ? [
1221
- {
1212
+ return this.makeTx("undelegate", () => __awaiter(this, void 0, void 0, function* () {
1213
+ if (this.chainId === "celestia") {
1214
+ yield this.queriesStore
1215
+ .get(this.chainId)
1216
+ .cosmos.queryRewards.getQueryBech32Address(this.base.bech32Address)
1217
+ .waitFreshResponse();
1218
+ }
1219
+ const msgs = [];
1220
+ let prependWithdrawRewards = false;
1221
+ if (this.chainId === "celestia") {
1222
+ const queryRewards = this.queriesStore
1223
+ .get(this.chainId)
1224
+ .cosmos.queryRewards.getQueryBech32Address(this.base.bech32Address);
1225
+ const rewards = queryRewards.getRewardsOf(validatorAddress);
1226
+ if (rewards.length > 0) {
1227
+ prependWithdrawRewards = true;
1228
+ }
1229
+ }
1230
+ if (prependWithdrawRewards) {
1231
+ msgs.push({
1232
+ type: this.msgOpts.withdrawRewards.type,
1233
+ value: {
1234
+ delegator_address: this.base.bech32Address,
1235
+ validator_address: validatorAddress,
1236
+ },
1237
+ });
1238
+ }
1239
+ msgs.push({
1240
+ type: this.chainId.startsWith("interwoven-")
1241
+ ? "mstaking/MsgUndelegate"
1242
+ : this.msgOpts.undelegate.type,
1243
+ value: {
1244
+ delegator_address: this.base.bech32Address,
1245
+ validator_address: validatorAddress,
1246
+ amount: this.chainId.startsWith("interwoven-")
1247
+ ? [
1248
+ {
1249
+ denom: currency.coinMinimalDenom,
1250
+ amount: dec.truncate().toString(),
1251
+ },
1252
+ ]
1253
+ : {
1222
1254
  denom: currency.coinMinimalDenom,
1223
1255
  amount: dec.truncate().toString(),
1224
1256
  },
1225
- ]
1226
- : {
1227
- denom: currency.coinMinimalDenom,
1228
- amount: dec.truncate().toString(),
1229
- },
1230
- },
1231
- };
1232
- return this.makeTx("undelegate", {
1233
- aminoMsgs: [msg],
1234
- protoMsgs: [
1235
- {
1236
- typeUrl: this.chainId.startsWith("interwoven-")
1237
- ? "/initia.mstaking.v1.MsgUndelegate"
1238
- : "/cosmos.staking.v1beta1.MsgUndelegate",
1239
- value: tx_4.MsgUndelegate.encode({
1240
- delegatorAddress: msg.value.delegator_address,
1241
- validatorAddress: msg.value.validator_address,
1242
- amount: Array.isArray(msg.value.amount)
1243
- ? msg.value.amount[0]
1244
- : msg.value.amount,
1245
- }).finish(),
1246
1257
  },
1247
- ],
1248
- rlpTypes: {
1249
- MsgValue: [
1250
- { name: "delegator_address", type: "string" },
1251
- { name: "validator_address", type: "string" },
1252
- { name: "amount", type: "TypeAmount" },
1253
- ],
1254
- TypeAmount: [
1255
- { name: "denom", type: "string" },
1256
- { name: "amount", type: "string" },
1257
- ],
1258
- },
1259
- }, (tx) => {
1258
+ });
1259
+ return {
1260
+ aminoMsgs: msgs,
1261
+ protoMsgs: msgs.map((msg) => {
1262
+ if (msg.type.includes("MsgUndelegate")) {
1263
+ return {
1264
+ typeUrl: this.chainId.startsWith("interwoven-")
1265
+ ? "/initia.mstaking.v1.MsgUndelegate"
1266
+ : "/cosmos.staking.v1beta1.MsgUndelegate",
1267
+ value: tx_4.MsgUndelegate.encode({
1268
+ delegatorAddress: msg.value.delegator_address,
1269
+ validatorAddress: msg.value.validator_address,
1270
+ amount: Array.isArray(msg.value.amount)
1271
+ ? msg.value.amount[0]
1272
+ : msg.value.amount,
1273
+ }).finish(),
1274
+ };
1275
+ }
1276
+ else if (msg.type.includes("MsgWithdrawDelegationReward")) {
1277
+ return {
1278
+ typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
1279
+ value: tx_5.MsgWithdrawDelegatorReward.encode({
1280
+ delegatorAddress: msg.value.delegator_address,
1281
+ validatorAddress: msg.value.validator_address,
1282
+ }).finish(),
1283
+ };
1284
+ }
1285
+ throw new Error("Unknown error");
1286
+ }),
1287
+ rlpTypes: {
1288
+ MsgValue: [
1289
+ { name: "delegator_address", type: "string" },
1290
+ { name: "validator_address", type: "string" },
1291
+ { name: "amount", type: "TypeAmount" },
1292
+ ],
1293
+ TypeAmount: [
1294
+ { name: "denom", type: "string" },
1295
+ { name: "amount", type: "string" },
1296
+ ],
1297
+ },
1298
+ };
1299
+ }), (tx) => {
1260
1300
  if (tx.code == null || tx.code === 0) {
1261
1301
  // After succeeding to unbond, refresh the validators and delegations, unbonding delegations, rewards.
1262
1302
  if (this.chainId.startsWith("interwoven-")) {
@@ -1297,57 +1337,97 @@ class CosmosAccountImpl {
1297
1337
  }
1298
1338
  let dec = new unit_1.Dec(amount);
1299
1339
  dec = dec.mulTruncate(unit_1.DecUtils.getPrecisionDec(currency.coinDecimals));
1300
- const msg = {
1301
- type: this.chainId.startsWith("interwoven-")
1302
- ? "mstaking/MsgBeginRedelegate"
1303
- : this.msgOpts.redelegate.type,
1304
- value: {
1305
- delegator_address: this.base.bech32Address,
1306
- validator_src_address: srcValidatorAddress,
1307
- validator_dst_address: dstValidatorAddress,
1308
- amount: this.chainId.startsWith("interwoven-")
1309
- ? [
1310
- {
1340
+ return this.makeTx("redelegate", () => __awaiter(this, void 0, void 0, function* () {
1341
+ if (this.chainId === "celestia") {
1342
+ yield this.queriesStore
1343
+ .get(this.chainId)
1344
+ .cosmos.queryRewards.getQueryBech32Address(this.base.bech32Address)
1345
+ .waitFreshResponse();
1346
+ }
1347
+ const msgs = [];
1348
+ let prependWithdrawRewards = false;
1349
+ if (this.chainId === "celestia") {
1350
+ const queryRewards = this.queriesStore
1351
+ .get(this.chainId)
1352
+ .cosmos.queryRewards.getQueryBech32Address(this.base.bech32Address);
1353
+ const rewards = queryRewards.getRewardsOf(srcValidatorAddress);
1354
+ if (rewards.length > 0) {
1355
+ prependWithdrawRewards = true;
1356
+ }
1357
+ }
1358
+ if (prependWithdrawRewards) {
1359
+ msgs.push({
1360
+ type: this.msgOpts.withdrawRewards.type,
1361
+ value: {
1362
+ delegator_address: this.base.bech32Address,
1363
+ validator_address: srcValidatorAddress,
1364
+ },
1365
+ });
1366
+ }
1367
+ msgs.push({
1368
+ type: this.chainId.startsWith("interwoven-")
1369
+ ? "mstaking/MsgBeginRedelegate"
1370
+ : this.msgOpts.redelegate.type,
1371
+ value: {
1372
+ delegator_address: this.base.bech32Address,
1373
+ validator_src_address: srcValidatorAddress,
1374
+ validator_dst_address: dstValidatorAddress,
1375
+ amount: this.chainId.startsWith("interwoven-")
1376
+ ? [
1377
+ {
1378
+ denom: currency.coinMinimalDenom,
1379
+ amount: dec.truncate().toString(),
1380
+ },
1381
+ ]
1382
+ : {
1311
1383
  denom: currency.coinMinimalDenom,
1312
1384
  amount: dec.truncate().toString(),
1313
1385
  },
1314
- ]
1315
- : {
1316
- denom: currency.coinMinimalDenom,
1317
- amount: dec.truncate().toString(),
1318
- },
1319
- },
1320
- };
1321
- return this.makeTx("redelegate", {
1322
- aminoMsgs: [msg],
1323
- protoMsgs: [
1324
- {
1325
- typeUrl: this.chainId.startsWith("interwoven-")
1326
- ? "/initia.mstaking.v1.MsgBeginRedelegate"
1327
- : "/cosmos.staking.v1beta1.MsgBeginRedelegate",
1328
- value: tx_4.MsgBeginRedelegate.encode({
1329
- delegatorAddress: msg.value.delegator_address,
1330
- validatorSrcAddress: msg.value.validator_src_address,
1331
- validatorDstAddress: msg.value.validator_dst_address,
1332
- amount: Array.isArray(msg.value.amount)
1333
- ? msg.value.amount[0]
1334
- : msg.value.amount,
1335
- }).finish(),
1336
1386
  },
1337
- ],
1338
- rlpTypes: {
1339
- MsgValue: [
1340
- { name: "delegator_address", type: "string" },
1341
- { name: "validator_src_address", type: "string" },
1342
- { name: "validator_dst_address", type: "string" },
1343
- { name: "amount", type: "TypeAmount" },
1344
- ],
1345
- TypeAmount: [
1346
- { name: "denom", type: "string" },
1347
- { name: "amount", type: "string" },
1348
- ],
1349
- },
1350
- }, (tx) => {
1387
+ });
1388
+ return {
1389
+ aminoMsgs: msgs,
1390
+ protoMsgs: msgs.map((msg) => {
1391
+ if (msg.type.includes("MsgBeginRedelegate")) {
1392
+ return {
1393
+ typeUrl: this.chainId.startsWith("interwoven-")
1394
+ ? "/initia.mstaking.v1.MsgBeginRedelegate"
1395
+ : "/cosmos.staking.v1beta1.MsgBeginRedelegate",
1396
+ value: tx_4.MsgBeginRedelegate.encode({
1397
+ delegatorAddress: msg.value.delegator_address,
1398
+ validatorSrcAddress: msg.value.validator_src_address,
1399
+ validatorDstAddress: msg.value.validator_dst_address,
1400
+ amount: Array.isArray(msg.value.amount)
1401
+ ? msg.value.amount[0]
1402
+ : msg.value.amount,
1403
+ }).finish(),
1404
+ };
1405
+ }
1406
+ else if (msg.type.includes("MsgWithdrawDelegationReward")) {
1407
+ return {
1408
+ typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
1409
+ value: tx_5.MsgWithdrawDelegatorReward.encode({
1410
+ delegatorAddress: msg.value.delegator_address,
1411
+ validatorAddress: msg.value.validator_address,
1412
+ }).finish(),
1413
+ };
1414
+ }
1415
+ throw new Error("Unknown error");
1416
+ }),
1417
+ rlpTypes: {
1418
+ MsgValue: [
1419
+ { name: "delegator_address", type: "string" },
1420
+ { name: "validator_src_address", type: "string" },
1421
+ { name: "validator_dst_address", type: "string" },
1422
+ { name: "amount", type: "TypeAmount" },
1423
+ ],
1424
+ TypeAmount: [
1425
+ { name: "denom", type: "string" },
1426
+ { name: "amount", type: "string" },
1427
+ ],
1428
+ },
1429
+ };
1430
+ }), (tx) => {
1351
1431
  if (tx.code == null || tx.code === 0) {
1352
1432
  // After succeeding to redelegate, refresh the validators and delegations, rewards.
1353
1433
  if (this.chainId.startsWith("interwoven-")) {
@@ -1377,33 +1457,53 @@ class CosmosAccountImpl {
1377
1457
  for (const validatorAddress of validatorAddresses) {
1378
1458
  cosmos_1.Bech32Address.validate(validatorAddress, (_a = this.chainGetter.getChain(this.chainId).bech32Config) === null || _a === void 0 ? void 0 : _a.bech32PrefixValAddr);
1379
1459
  }
1380
- const msgs = validatorAddresses.map((validatorAddress) => {
1460
+ return this.makeTx("withdrawRewards", () => __awaiter(this, void 0, void 0, function* () {
1461
+ let msgs = validatorAddresses.map((validatorAddress) => {
1462
+ return {
1463
+ type: this.msgOpts.withdrawRewards.type,
1464
+ value: {
1465
+ delegator_address: this.base.bech32Address,
1466
+ validator_address: validatorAddress,
1467
+ },
1468
+ };
1469
+ });
1470
+ if (this.chainId === "celestia") {
1471
+ const queryDelegations = this.queriesStore
1472
+ .get(this.chainId)
1473
+ .cosmos.queryDelegations.getQueryBech32Address(this.base.bech32Address);
1474
+ yield queryDelegations.waitFreshResponse();
1475
+ const hasDel = new Map();
1476
+ for (const del of queryDelegations.delegations) {
1477
+ if (new unit_1.Int(del.balance.amount).gt(new unit_1.Int(0))) {
1478
+ hasDel.set(del.delegation.validator_address, true);
1479
+ }
1480
+ }
1481
+ msgs = msgs.filter((msg) => {
1482
+ return hasDel.get(msg.value.validator_address) === true;
1483
+ });
1484
+ }
1485
+ if (msgs.length === 0) {
1486
+ throw new Error("No delegations found.");
1487
+ }
1381
1488
  return {
1382
- type: this.msgOpts.withdrawRewards.type,
1383
- value: {
1384
- delegator_address: this.base.bech32Address,
1385
- validator_address: validatorAddress,
1489
+ aminoMsgs: msgs,
1490
+ protoMsgs: msgs.map((msg) => {
1491
+ return {
1492
+ typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
1493
+ value: tx_5.MsgWithdrawDelegatorReward.encode({
1494
+ delegatorAddress: msg.value.delegator_address,
1495
+ validatorAddress: msg.value.validator_address,
1496
+ }).finish(),
1497
+ };
1498
+ }),
1499
+ rlpTypes: {
1500
+ MsgValue: [
1501
+ { name: "delegator_address", type: "string" },
1502
+ { name: "validator_address", type: "string" },
1503
+ ],
1386
1504
  },
1387
1505
  };
1388
- });
1389
- return this.makeTx("withdrawRewards", {
1390
- aminoMsgs: msgs,
1391
- protoMsgs: msgs.map((msg) => {
1392
- return {
1393
- typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
1394
- value: tx_5.MsgWithdrawDelegatorReward.encode({
1395
- delegatorAddress: msg.value.delegator_address,
1396
- validatorAddress: msg.value.validator_address,
1397
- }).finish(),
1398
- };
1399
- }),
1400
- rlpTypes: {
1401
- MsgValue: [
1402
- { name: "delegator_address", type: "string" },
1403
- { name: "validator_address", type: "string" },
1404
- ],
1405
- },
1406
- }, (tx) => {
1506
+ }), (tx) => {
1407
1507
  if (tx.code == null || tx.code === 0) {
1408
1508
  // After succeeding to withdraw rewards, refresh rewards.
1409
1509
  this.queries.cosmos.queryRewards
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../src/account/cosmos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../src/account/cosmos.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keplr-wallet/stores",
3
- "version": "0.12.259",
3
+ "version": "0.12.260",
4
4
  "main": "build/index.js",
5
5
  "author": "chainapsis",
6
6
  "license": "Apache-2.0",
@@ -16,17 +16,17 @@
16
16
  "lint-fix": "npx eslint --fix \"src/**/*\" && npx prettier --write \"src/**/*\""
17
17
  },
18
18
  "devDependencies": {
19
- "@keplr-wallet/provider-mock": "0.12.259"
19
+ "@keplr-wallet/provider-mock": "0.12.260"
20
20
  },
21
21
  "dependencies": {
22
- "@keplr-wallet/common": "0.12.259",
23
- "@keplr-wallet/cosmos": "0.12.259",
24
- "@keplr-wallet/crypto": "0.12.259",
25
- "@keplr-wallet/mobx-utils": "0.12.259",
26
- "@keplr-wallet/proto-types": "0.12.259",
27
- "@keplr-wallet/simple-fetch": "0.12.259",
28
- "@keplr-wallet/types": "0.12.259",
29
- "@keplr-wallet/unit": "0.12.259",
22
+ "@keplr-wallet/common": "0.12.260",
23
+ "@keplr-wallet/cosmos": "0.12.260",
24
+ "@keplr-wallet/crypto": "0.12.260",
25
+ "@keplr-wallet/mobx-utils": "0.12.260",
26
+ "@keplr-wallet/proto-types": "0.12.260",
27
+ "@keplr-wallet/simple-fetch": "0.12.260",
28
+ "@keplr-wallet/types": "0.12.260",
29
+ "@keplr-wallet/unit": "0.12.260",
30
30
  "buffer": "^6.0.3",
31
31
  "deepmerge": "^4.2.2",
32
32
  "eventemitter3": "^4.0.7",
@@ -38,5 +38,5 @@
38
38
  "mobx": "^6",
39
39
  "mobx-utils": "^6"
40
40
  },
41
- "gitHead": "2f45dfc64ca1e2e646c1244576c622234993ce5b"
41
+ "gitHead": "c9ec98a5bd80326ff2c6a483f0983c64c8c6441c"
42
42
  }
@@ -1773,56 +1773,101 @@ export class CosmosAccountImpl {
1773
1773
  let dec = new Dec(amount);
1774
1774
  dec = dec.mulTruncate(DecUtils.getPrecisionDec(currency.coinDecimals));
1775
1775
 
1776
- const msg = {
1777
- type: this.chainId.startsWith("interwoven-")
1778
- ? "mstaking/MsgUndelegate"
1779
- : this.msgOpts.undelegate.type,
1780
- value: {
1781
- delegator_address: this.base.bech32Address,
1782
- validator_address: validatorAddress,
1783
- amount: this.chainId.startsWith("interwoven-")
1784
- ? [
1785
- {
1786
- denom: currency.coinMinimalDenom,
1787
- amount: dec.truncate().toString(),
1788
- },
1789
- ]
1790
- : {
1791
- denom: currency.coinMinimalDenom,
1792
- amount: dec.truncate().toString(),
1793
- },
1794
- },
1795
- };
1796
-
1797
1776
  return this.makeTx(
1798
1777
  "undelegate",
1799
- {
1800
- aminoMsgs: [msg],
1801
- protoMsgs: [
1802
- {
1803
- typeUrl: this.chainId.startsWith("interwoven-")
1804
- ? "/initia.mstaking.v1.MsgUndelegate"
1805
- : "/cosmos.staking.v1beta1.MsgUndelegate",
1806
- value: MsgUndelegate.encode({
1807
- delegatorAddress: msg.value.delegator_address,
1808
- validatorAddress: msg.value.validator_address,
1809
- amount: Array.isArray(msg.value.amount)
1810
- ? msg.value.amount[0]
1811
- : msg.value.amount,
1812
- }).finish(),
1778
+ async () => {
1779
+ if (this.chainId === "celestia") {
1780
+ await this.queriesStore
1781
+ .get(this.chainId)
1782
+ .cosmos.queryRewards.getQueryBech32Address(this.base.bech32Address)
1783
+ .waitFreshResponse();
1784
+ }
1785
+
1786
+ const msgs: any[] = [];
1787
+
1788
+ let prependWithdrawRewards = false;
1789
+ if (this.chainId === "celestia") {
1790
+ const queryRewards = this.queriesStore
1791
+ .get(this.chainId)
1792
+ .cosmos.queryRewards.getQueryBech32Address(this.base.bech32Address);
1793
+ const rewards = queryRewards.getRewardsOf(validatorAddress);
1794
+ if (rewards.length > 0) {
1795
+ prependWithdrawRewards = true;
1796
+ }
1797
+ }
1798
+
1799
+ if (prependWithdrawRewards) {
1800
+ msgs.push({
1801
+ type: this.msgOpts.withdrawRewards.type,
1802
+ value: {
1803
+ delegator_address: this.base.bech32Address,
1804
+ validator_address: validatorAddress,
1805
+ },
1806
+ });
1807
+ }
1808
+
1809
+ msgs.push({
1810
+ type: this.chainId.startsWith("interwoven-")
1811
+ ? "mstaking/MsgUndelegate"
1812
+ : this.msgOpts.undelegate.type,
1813
+ value: {
1814
+ delegator_address: this.base.bech32Address,
1815
+ validator_address: validatorAddress,
1816
+ amount: this.chainId.startsWith("interwoven-")
1817
+ ? [
1818
+ {
1819
+ denom: currency.coinMinimalDenom,
1820
+ amount: dec.truncate().toString(),
1821
+ },
1822
+ ]
1823
+ : {
1824
+ denom: currency.coinMinimalDenom,
1825
+ amount: dec.truncate().toString(),
1826
+ },
1813
1827
  },
1814
- ],
1815
- rlpTypes: {
1816
- MsgValue: [
1817
- { name: "delegator_address", type: "string" },
1818
- { name: "validator_address", type: "string" },
1819
- { name: "amount", type: "TypeAmount" },
1820
- ],
1821
- TypeAmount: [
1822
- { name: "denom", type: "string" },
1823
- { name: "amount", type: "string" },
1824
- ],
1825
- },
1828
+ });
1829
+
1830
+ return {
1831
+ aminoMsgs: msgs,
1832
+ protoMsgs: msgs.map((msg) => {
1833
+ if (msg.type.includes("MsgUndelegate")) {
1834
+ return {
1835
+ typeUrl: this.chainId.startsWith("interwoven-")
1836
+ ? "/initia.mstaking.v1.MsgUndelegate"
1837
+ : "/cosmos.staking.v1beta1.MsgUndelegate",
1838
+ value: MsgUndelegate.encode({
1839
+ delegatorAddress: msg.value.delegator_address,
1840
+ validatorAddress: msg.value.validator_address,
1841
+ amount: Array.isArray(msg.value.amount)
1842
+ ? msg.value.amount[0]
1843
+ : msg.value.amount,
1844
+ }).finish(),
1845
+ };
1846
+ } else if (msg.type.includes("MsgWithdrawDelegationReward")) {
1847
+ return {
1848
+ typeUrl:
1849
+ "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
1850
+ value: MsgWithdrawDelegatorReward.encode({
1851
+ delegatorAddress: msg.value.delegator_address,
1852
+ validatorAddress: msg.value.validator_address,
1853
+ }).finish(),
1854
+ };
1855
+ }
1856
+
1857
+ throw new Error("Unknown error");
1858
+ }),
1859
+ rlpTypes: {
1860
+ MsgValue: [
1861
+ { name: "delegator_address", type: "string" },
1862
+ { name: "validator_address", type: "string" },
1863
+ { name: "amount", type: "TypeAmount" },
1864
+ ],
1865
+ TypeAmount: [
1866
+ { name: "denom", type: "string" },
1867
+ { name: "amount", type: "string" },
1868
+ ],
1869
+ },
1870
+ };
1826
1871
  },
1827
1872
  (tx) => {
1828
1873
  if (tx.code == null || tx.code === 0) {
@@ -1879,59 +1924,104 @@ export class CosmosAccountImpl {
1879
1924
  let dec = new Dec(amount);
1880
1925
  dec = dec.mulTruncate(DecUtils.getPrecisionDec(currency.coinDecimals));
1881
1926
 
1882
- const msg = {
1883
- type: this.chainId.startsWith("interwoven-")
1884
- ? "mstaking/MsgBeginRedelegate"
1885
- : this.msgOpts.redelegate.type,
1886
- value: {
1887
- delegator_address: this.base.bech32Address,
1888
- validator_src_address: srcValidatorAddress,
1889
- validator_dst_address: dstValidatorAddress,
1890
- amount: this.chainId.startsWith("interwoven-")
1891
- ? [
1892
- {
1893
- denom: currency.coinMinimalDenom,
1894
- amount: dec.truncate().toString(),
1895
- },
1896
- ]
1897
- : {
1898
- denom: currency.coinMinimalDenom,
1899
- amount: dec.truncate().toString(),
1900
- },
1901
- },
1902
- };
1903
-
1904
1927
  return this.makeTx(
1905
1928
  "redelegate",
1906
- {
1907
- aminoMsgs: [msg],
1908
- protoMsgs: [
1909
- {
1910
- typeUrl: this.chainId.startsWith("interwoven-")
1911
- ? "/initia.mstaking.v1.MsgBeginRedelegate"
1912
- : "/cosmos.staking.v1beta1.MsgBeginRedelegate",
1913
- value: MsgBeginRedelegate.encode({
1914
- delegatorAddress: msg.value.delegator_address,
1915
- validatorSrcAddress: msg.value.validator_src_address,
1916
- validatorDstAddress: msg.value.validator_dst_address,
1917
- amount: Array.isArray(msg.value.amount)
1918
- ? msg.value.amount[0]
1919
- : msg.value.amount,
1920
- }).finish(),
1929
+ async () => {
1930
+ if (this.chainId === "celestia") {
1931
+ await this.queriesStore
1932
+ .get(this.chainId)
1933
+ .cosmos.queryRewards.getQueryBech32Address(this.base.bech32Address)
1934
+ .waitFreshResponse();
1935
+ }
1936
+
1937
+ const msgs: any[] = [];
1938
+
1939
+ let prependWithdrawRewards = false;
1940
+ if (this.chainId === "celestia") {
1941
+ const queryRewards = this.queriesStore
1942
+ .get(this.chainId)
1943
+ .cosmos.queryRewards.getQueryBech32Address(this.base.bech32Address);
1944
+ const rewards = queryRewards.getRewardsOf(srcValidatorAddress);
1945
+ if (rewards.length > 0) {
1946
+ prependWithdrawRewards = true;
1947
+ }
1948
+ }
1949
+
1950
+ if (prependWithdrawRewards) {
1951
+ msgs.push({
1952
+ type: this.msgOpts.withdrawRewards.type,
1953
+ value: {
1954
+ delegator_address: this.base.bech32Address,
1955
+ validator_address: srcValidatorAddress,
1956
+ },
1957
+ });
1958
+ }
1959
+
1960
+ msgs.push({
1961
+ type: this.chainId.startsWith("interwoven-")
1962
+ ? "mstaking/MsgBeginRedelegate"
1963
+ : this.msgOpts.redelegate.type,
1964
+ value: {
1965
+ delegator_address: this.base.bech32Address,
1966
+ validator_src_address: srcValidatorAddress,
1967
+ validator_dst_address: dstValidatorAddress,
1968
+ amount: this.chainId.startsWith("interwoven-")
1969
+ ? [
1970
+ {
1971
+ denom: currency.coinMinimalDenom,
1972
+ amount: dec.truncate().toString(),
1973
+ },
1974
+ ]
1975
+ : {
1976
+ denom: currency.coinMinimalDenom,
1977
+ amount: dec.truncate().toString(),
1978
+ },
1921
1979
  },
1922
- ],
1923
- rlpTypes: {
1924
- MsgValue: [
1925
- { name: "delegator_address", type: "string" },
1926
- { name: "validator_src_address", type: "string" },
1927
- { name: "validator_dst_address", type: "string" },
1928
- { name: "amount", type: "TypeAmount" },
1929
- ],
1930
- TypeAmount: [
1931
- { name: "denom", type: "string" },
1932
- { name: "amount", type: "string" },
1933
- ],
1934
- },
1980
+ });
1981
+
1982
+ return {
1983
+ aminoMsgs: msgs,
1984
+ protoMsgs: msgs.map((msg) => {
1985
+ if (msg.type.includes("MsgBeginRedelegate")) {
1986
+ return {
1987
+ typeUrl: this.chainId.startsWith("interwoven-")
1988
+ ? "/initia.mstaking.v1.MsgBeginRedelegate"
1989
+ : "/cosmos.staking.v1beta1.MsgBeginRedelegate",
1990
+ value: MsgBeginRedelegate.encode({
1991
+ delegatorAddress: msg.value.delegator_address,
1992
+ validatorSrcAddress: msg.value.validator_src_address,
1993
+ validatorDstAddress: msg.value.validator_dst_address,
1994
+ amount: Array.isArray(msg.value.amount)
1995
+ ? msg.value.amount[0]
1996
+ : msg.value.amount,
1997
+ }).finish(),
1998
+ };
1999
+ } else if (msg.type.includes("MsgWithdrawDelegationReward")) {
2000
+ return {
2001
+ typeUrl:
2002
+ "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
2003
+ value: MsgWithdrawDelegatorReward.encode({
2004
+ delegatorAddress: msg.value.delegator_address,
2005
+ validatorAddress: msg.value.validator_address,
2006
+ }).finish(),
2007
+ };
2008
+ }
2009
+
2010
+ throw new Error("Unknown error");
2011
+ }),
2012
+ rlpTypes: {
2013
+ MsgValue: [
2014
+ { name: "delegator_address", type: "string" },
2015
+ { name: "validator_src_address", type: "string" },
2016
+ { name: "validator_dst_address", type: "string" },
2017
+ { name: "amount", type: "TypeAmount" },
2018
+ ],
2019
+ TypeAmount: [
2020
+ { name: "denom", type: "string" },
2021
+ { name: "amount", type: "string" },
2022
+ ],
2023
+ },
2024
+ };
1935
2025
  },
1936
2026
  (tx) => {
1937
2027
  if (tx.code == null || tx.code === 0) {
@@ -1968,35 +2058,62 @@ export class CosmosAccountImpl {
1968
2058
  );
1969
2059
  }
1970
2060
 
1971
- const msgs = validatorAddresses.map((validatorAddress) => {
1972
- return {
1973
- type: this.msgOpts.withdrawRewards.type,
1974
- value: {
1975
- delegator_address: this.base.bech32Address,
1976
- validator_address: validatorAddress,
1977
- },
1978
- };
1979
- });
1980
-
1981
2061
  return this.makeTx(
1982
2062
  "withdrawRewards",
1983
- {
1984
- aminoMsgs: msgs,
1985
- protoMsgs: msgs.map((msg) => {
2063
+ async () => {
2064
+ let msgs = validatorAddresses.map((validatorAddress) => {
1986
2065
  return {
1987
- typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
1988
- value: MsgWithdrawDelegatorReward.encode({
1989
- delegatorAddress: msg.value.delegator_address,
1990
- validatorAddress: msg.value.validator_address,
1991
- }).finish(),
2066
+ type: this.msgOpts.withdrawRewards.type,
2067
+ value: {
2068
+ delegator_address: this.base.bech32Address,
2069
+ validator_address: validatorAddress,
2070
+ },
1992
2071
  };
1993
- }),
1994
- rlpTypes: {
1995
- MsgValue: [
1996
- { name: "delegator_address", type: "string" },
1997
- { name: "validator_address", type: "string" },
1998
- ],
1999
- },
2072
+ });
2073
+
2074
+ if (this.chainId === "celestia") {
2075
+ const queryDelegations = this.queriesStore
2076
+ .get(this.chainId)
2077
+ .cosmos.queryDelegations.getQueryBech32Address(
2078
+ this.base.bech32Address
2079
+ );
2080
+ await queryDelegations.waitFreshResponse();
2081
+
2082
+ const hasDel = new Map<string, boolean>();
2083
+ for (const del of queryDelegations.delegations) {
2084
+ if (new Int(del.balance.amount).gt(new Int(0))) {
2085
+ hasDel.set(del.delegation.validator_address, true);
2086
+ }
2087
+ }
2088
+
2089
+ msgs = msgs.filter((msg) => {
2090
+ return hasDel.get(msg.value.validator_address) === true;
2091
+ });
2092
+ }
2093
+
2094
+ if (msgs.length === 0) {
2095
+ throw new Error("No delegations found.");
2096
+ }
2097
+
2098
+ return {
2099
+ aminoMsgs: msgs,
2100
+ protoMsgs: msgs.map((msg) => {
2101
+ return {
2102
+ typeUrl:
2103
+ "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
2104
+ value: MsgWithdrawDelegatorReward.encode({
2105
+ delegatorAddress: msg.value.delegator_address,
2106
+ validatorAddress: msg.value.validator_address,
2107
+ }).finish(),
2108
+ };
2109
+ }),
2110
+ rlpTypes: {
2111
+ MsgValue: [
2112
+ { name: "delegator_address", type: "string" },
2113
+ { name: "validator_address", type: "string" },
2114
+ ],
2115
+ },
2116
+ };
2000
2117
  },
2001
2118
  (tx) => {
2002
2119
  if (tx.code == null || tx.code === 0) {