@keplr-wallet/stores 0.13.37 → 0.13.39

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 (57) hide show
  1. package/build/common/query/query.d.ts +1 -0
  2. package/build/common/query/query.js +23 -16
  3. package/build/common/query/query.js.map +1 -1
  4. package/build/query/cosmos/staking/delegations.d.ts +4 -0
  5. package/build/query/cosmos/staking/delegations.js +35 -3
  6. package/build/query/cosmos/staking/delegations.js.map +1 -1
  7. package/build/query/cosmos/staking/initia-delegations.d.ts +4 -0
  8. package/build/query/cosmos/staking/initia-delegations.js +42 -4
  9. package/build/query/cosmos/staking/initia-delegations.js.map +1 -1
  10. package/build/query/cosmos/staking/initia-unbonding-delegations.d.ts +4 -0
  11. package/build/query/cosmos/staking/initia-unbonding-delegations.js +31 -3
  12. package/build/query/cosmos/staking/initia-unbonding-delegations.js.map +1 -1
  13. package/build/query/cosmos/staking/response-guards.spec.d.ts +1 -0
  14. package/build/query/cosmos/staking/response-guards.spec.js +318 -0
  15. package/build/query/cosmos/staking/response-guards.spec.js.map +1 -0
  16. package/build/query/cosmos/staking/rewards.d.ts +4 -0
  17. package/build/query/cosmos/staking/rewards.js +48 -10
  18. package/build/query/cosmos/staking/rewards.js.map +1 -1
  19. package/build/query/cosmos/staking/types.d.ts +13 -2
  20. package/build/query/cosmos/staking/types.js +162 -1
  21. package/build/query/cosmos/staking/types.js.map +1 -1
  22. package/build/query/cosmos/staking/unbonding-delegations.d.ts +4 -0
  23. package/build/query/cosmos/staking/unbonding-delegations.js +30 -2
  24. package/build/query/cosmos/staking/unbonding-delegations.js.map +1 -1
  25. package/build/query/cosmwasm/index.d.ts +0 -4
  26. package/build/query/cosmwasm/index.js +0 -4
  27. package/build/query/cosmwasm/index.js.map +1 -1
  28. package/build/query/cosmwasm/queries.d.ts +0 -8
  29. package/build/query/cosmwasm/queries.js +0 -9
  30. package/build/query/cosmwasm/queries.js.map +1 -1
  31. package/package.json +12 -11
  32. package/src/common/query/query.ts +32 -21
  33. package/src/query/cosmos/staking/delegations.ts +35 -4
  34. package/src/query/cosmos/staking/initia-delegations.ts +51 -4
  35. package/src/query/cosmos/staking/initia-unbonding-delegations.ts +30 -3
  36. package/src/query/cosmos/staking/response-guards.spec.ts +414 -0
  37. package/src/query/cosmos/staking/rewards.ts +45 -10
  38. package/src/query/cosmos/staking/types.ts +210 -4
  39. package/src/query/cosmos/staking/unbonding-delegations.ts +29 -3
  40. package/src/query/cosmwasm/index.ts +0 -4
  41. package/src/query/cosmwasm/queries.ts +0 -33
  42. package/build/query/cosmwasm/neutron/governance-proposals.d.ts +0 -64
  43. package/build/query/cosmwasm/neutron/governance-proposals.js +0 -83
  44. package/build/query/cosmwasm/neutron/governance-proposals.js.map +0 -1
  45. package/build/query/cosmwasm/neutron/governance-vote.d.ts +0 -27
  46. package/build/query/cosmwasm/neutron/governance-vote.js +0 -73
  47. package/build/query/cosmwasm/neutron/governance-vote.js.map +0 -1
  48. package/build/query/cosmwasm/neutron/staking-rewards-config.d.ts +0 -18
  49. package/build/query/cosmwasm/neutron/staking-rewards-config.js +0 -42
  50. package/build/query/cosmwasm/neutron/staking-rewards-config.js.map +0 -1
  51. package/build/query/cosmwasm/neutron/staking-rewards.d.ts +0 -25
  52. package/build/query/cosmwasm/neutron/staking-rewards.js +0 -75
  53. package/build/query/cosmwasm/neutron/staking-rewards.js.map +0 -1
  54. package/src/query/cosmwasm/neutron/governance-proposals.ts +0 -150
  55. package/src/query/cosmwasm/neutron/governance-vote.ts +0 -109
  56. package/src/query/cosmwasm/neutron/staking-rewards-config.ts +0 -54
  57. package/src/query/cosmwasm/neutron/staking-rewards.ts +0 -104
@@ -1,5 +1,9 @@
1
1
  import { Coin } from "@keplr-wallet/types";
2
- import { CoinPrimitive } from "../../../common";
2
+ import {
3
+ CoinPrimitive,
4
+ isSuspectedResponseDataWithInvalidValue,
5
+ } from "../../../common";
6
+ import Joi from "joi";
3
7
 
4
8
  export type Rewards = {
5
9
  rewards?: DelegatorReward[] | null;
@@ -37,8 +41,7 @@ export type InitiaDelegation = {
37
41
  delegation: {
38
42
  delegator_address: string;
39
43
  validator_address: string;
40
- // Dec
41
- shares: string;
44
+ shares: Coin[];
42
45
  };
43
46
  balance: {
44
47
  denom: string;
@@ -72,11 +75,214 @@ export type InitiaUnbondingDelegation = {
72
75
  entries: {
73
76
  creation_height: string;
74
77
  completion_time: string;
75
- initial_balance: string;
78
+ initial_balance: Coin[];
76
79
  balance: Coin[];
77
80
  }[];
78
81
  };
79
82
 
83
+ const validationOptions: Joi.ValidationOptions = {
84
+ convert: false,
85
+ };
86
+
87
+ const IntegerStringSchema = Joi.string()
88
+ .pattern(/^[0-9]+$/)
89
+ .required();
90
+ const DecimalStringSchema = Joi.string()
91
+ .pattern(/^[0-9]+(\.[0-9]+)?$/)
92
+ .required();
93
+
94
+ const CoinPrimitiveSchema = Joi.object<CoinPrimitive>({
95
+ denom: Joi.string().required(),
96
+ amount: IntegerStringSchema,
97
+ }).unknown(true);
98
+
99
+ const RewardCoinSchema = Joi.object<CoinPrimitive>({
100
+ denom: Joi.string().required(),
101
+ amount: DecimalStringSchema,
102
+ }).unknown(true);
103
+
104
+ const DelegationSchema = Joi.object<Delegation>({
105
+ delegation: Joi.object({
106
+ delegator_address: Joi.string().required(),
107
+ validator_address: Joi.string().required(),
108
+ shares: Joi.string().required(),
109
+ })
110
+ .unknown(true)
111
+ .required(),
112
+ balance: Joi.object({
113
+ denom: Joi.string().required(),
114
+ amount: IntegerStringSchema,
115
+ })
116
+ .unknown(true)
117
+ .required(),
118
+ }).unknown(true);
119
+
120
+ const InitiaDelegationSchema = Joi.object<InitiaDelegation>({
121
+ delegation: Joi.object({
122
+ delegator_address: Joi.string().required(),
123
+ validator_address: Joi.string().required(),
124
+ shares: Joi.array().items(RewardCoinSchema).required(),
125
+ })
126
+ .unknown(true)
127
+ .required(),
128
+ balance: Joi.array().items(CoinPrimitiveSchema).required(),
129
+ }).unknown(true);
130
+
131
+ const UnbondingEntrySchema = Joi.object<UnbondingDelegation["entries"][number]>(
132
+ {
133
+ creation_height: Joi.string().required(),
134
+ completion_time: Joi.string().required(),
135
+ initial_balance: IntegerStringSchema,
136
+ balance: IntegerStringSchema,
137
+ }
138
+ ).unknown(true);
139
+
140
+ const UnbondingDelegationSchema = Joi.object<UnbondingDelegation>({
141
+ delegator_address: Joi.string().required(),
142
+ validator_address: Joi.string().required(),
143
+ entries: Joi.array().items(UnbondingEntrySchema).required(),
144
+ }).unknown(true);
145
+
146
+ const InitiaUnbondingEntrySchema = Joi.object<
147
+ InitiaUnbondingDelegation["entries"][number]
148
+ >({
149
+ creation_height: Joi.string().required(),
150
+ completion_time: Joi.string().required(),
151
+ initial_balance: Joi.array().items(CoinPrimitiveSchema).required(),
152
+ balance: Joi.array().items(CoinPrimitiveSchema).required(),
153
+ }).unknown(true);
154
+
155
+ const InitiaUnbondingDelegationSchema = Joi.object<InitiaUnbondingDelegation>({
156
+ delegator_address: Joi.string().required(),
157
+ validator_address: Joi.string().required(),
158
+ entries: Joi.array().items(InitiaUnbondingEntrySchema).required(),
159
+ }).unknown(true);
160
+
161
+ const DelegatorRewardSchema = Joi.object<DelegatorReward>({
162
+ validator_address: Joi.string().required(),
163
+ reward: Joi.array().items(RewardCoinSchema).allow(null).optional(),
164
+ }).unknown(true);
165
+
166
+ const DelegationsResponseSchema = Joi.object<Delegations>({
167
+ delegation_responses: Joi.array().items(DelegationSchema).required(),
168
+ }).unknown(true);
169
+
170
+ const InitiaDelegationsResponseSchema = Joi.object<InitiaDelegations>({
171
+ delegation_responses: Joi.array().items(InitiaDelegationSchema).required(),
172
+ }).unknown(true);
173
+
174
+ const UnbondingDelegationsResponseSchema = Joi.object<UnbondingDelegations>({
175
+ unbonding_responses: Joi.array().items(UnbondingDelegationSchema).required(),
176
+ }).unknown(true);
177
+
178
+ const InitiaUnbondingDelegationsResponseSchema =
179
+ Joi.object<InitiaUnbondingDelegations>({
180
+ unbonding_responses: Joi.array()
181
+ .items(InitiaUnbondingDelegationSchema)
182
+ .required(),
183
+ }).unknown(true);
184
+
185
+ const RewardsResponseSchema = Joi.object<Rewards>({
186
+ rewards: Joi.array().items(DelegatorRewardSchema).allow(null).optional(),
187
+ total: Joi.array().items(RewardCoinSchema).optional(),
188
+ })
189
+ .or("rewards", "total")
190
+ .unknown(true);
191
+
192
+ function getValidatedResponse<T>(
193
+ schema: Joi.ObjectSchema<T>,
194
+ data: unknown
195
+ ): T | undefined {
196
+ const validated = schema.validate(data, validationOptions);
197
+ if (validated.error) {
198
+ return;
199
+ }
200
+
201
+ return validated.value;
202
+ }
203
+
204
+ export function assertStakingResponseData(
205
+ headers: any,
206
+ data: unknown,
207
+ assertResponse: (data: unknown) => void
208
+ ): void {
209
+ if (isSuspectedResponseDataWithInvalidValue(headers, data)) {
210
+ return;
211
+ }
212
+
213
+ assertResponse(data);
214
+ }
215
+
216
+ export function getDelegationResponses(
217
+ data: unknown
218
+ ): Delegation[] | undefined {
219
+ return getValidatedResponse(DelegationsResponseSchema, data)
220
+ ?.delegation_responses;
221
+ }
222
+
223
+ export function assertDelegationsResponse(
224
+ data: unknown
225
+ ): asserts data is Delegations {
226
+ if (!getDelegationResponses(data)) {
227
+ throw new Error("Invalid Cosmos staking delegations response");
228
+ }
229
+ }
230
+
231
+ export function getInitiaDelegationResponses(
232
+ data: unknown
233
+ ): InitiaDelegation[] | undefined {
234
+ return getValidatedResponse(InitiaDelegationsResponseSchema, data)
235
+ ?.delegation_responses;
236
+ }
237
+
238
+ export function assertInitiaDelegationsResponse(
239
+ data: unknown
240
+ ): asserts data is InitiaDelegations {
241
+ if (!getInitiaDelegationResponses(data)) {
242
+ throw new Error("Invalid Initia staking delegations response");
243
+ }
244
+ }
245
+
246
+ export function getUnbondingResponses(
247
+ data: unknown
248
+ ): UnbondingDelegation[] | undefined {
249
+ return getValidatedResponse(UnbondingDelegationsResponseSchema, data)
250
+ ?.unbonding_responses;
251
+ }
252
+
253
+ export function assertUnbondingDelegationsResponse(
254
+ data: unknown
255
+ ): asserts data is UnbondingDelegations {
256
+ if (!getUnbondingResponses(data)) {
257
+ throw new Error("Invalid Cosmos staking unbonding delegations response");
258
+ }
259
+ }
260
+
261
+ export function getInitiaUnbondingResponses(
262
+ data: unknown
263
+ ): InitiaUnbondingDelegation[] | undefined {
264
+ return getValidatedResponse(InitiaUnbondingDelegationsResponseSchema, data)
265
+ ?.unbonding_responses;
266
+ }
267
+
268
+ export function assertInitiaUnbondingDelegationsResponse(
269
+ data: unknown
270
+ ): asserts data is InitiaUnbondingDelegations {
271
+ if (!getInitiaUnbondingResponses(data)) {
272
+ throw new Error("Invalid Initia staking unbonding delegations response");
273
+ }
274
+ }
275
+
276
+ export function getRewardsResponse(data: unknown): Rewards | undefined {
277
+ return getValidatedResponse(RewardsResponseSchema, data);
278
+ }
279
+
280
+ export function assertRewardsResponse(data: unknown): asserts data is Rewards {
281
+ if (!getRewardsResponse(data)) {
282
+ throw new Error("Invalid Cosmos distribution rewards response");
283
+ }
284
+ }
285
+
80
286
  export type Validator = {
81
287
  operator_address: string;
82
288
  consensus_pubkey: {
@@ -2,7 +2,13 @@ import {
2
2
  ObservableChainQuery,
3
3
  ObservableChainQueryMap,
4
4
  } from "../../chain-query";
5
- import { UnbondingDelegation, UnbondingDelegations } from "./types";
5
+ import {
6
+ assertStakingResponseData,
7
+ assertUnbondingDelegationsResponse,
8
+ getUnbondingResponses,
9
+ UnbondingDelegation,
10
+ UnbondingDelegations,
11
+ } from "./types";
6
12
  import { ChainGetter, requireCosmosInfo } from "../../../chain";
7
13
  import { CoinPretty, Int, Dec } from "@keplr-wallet/unit";
8
14
  import { computed, makeObservable } from "mobx";
@@ -39,6 +45,16 @@ export class ObservableQueryUnbondingDelegationsInner extends ObservableChainQue
39
45
  return this.bech32Address.length > 0;
40
46
  }
41
47
 
48
+ protected override async fetchResponse(abortController: AbortController) {
49
+ const response = await super.fetchResponse(abortController);
50
+ assertStakingResponseData(
51
+ response.headers,
52
+ response.data,
53
+ assertUnbondingDelegationsResponse
54
+ );
55
+ return response;
56
+ }
57
+
42
58
  @computed
43
59
  get total(): CoinPretty | undefined {
44
60
  const cosmosInfo = requireCosmosInfo(
@@ -54,8 +70,13 @@ export class ObservableQueryUnbondingDelegationsInner extends ObservableChainQue
54
70
  return new CoinPretty(stakeCurrency, new Int(0)).ready(false);
55
71
  }
56
72
 
73
+ const unbondingResponses = getUnbondingResponses(this.response.data);
74
+ if (!unbondingResponses) {
75
+ return new CoinPretty(stakeCurrency, new Int(0)).ready(false);
76
+ }
77
+
57
78
  let totalBalance = new Int(0);
58
- for (const unbondingDelegation of this.response.data.unbonding_responses) {
79
+ for (const unbondingDelegation of unbondingResponses) {
59
80
  for (const entry of unbondingDelegation.entries) {
60
81
  const amount = new Int(entry.balance);
61
82
  if (amount.gt(new Int(0))) {
@@ -120,7 +141,12 @@ export class ObservableQueryUnbondingDelegationsInner extends ObservableChainQue
120
141
 
121
142
  const res: UnbondingDelegation[] = [];
122
143
 
123
- for (const unbonding of this.response.data.unbonding_responses) {
144
+ const unbondingResponses = getUnbondingResponses(this.response.data);
145
+ if (!unbondingResponses) {
146
+ return [];
147
+ }
148
+
149
+ for (const unbonding of unbondingResponses) {
124
150
  const u = {
125
151
  ...unbonding,
126
152
  };
@@ -1,7 +1,3 @@
1
1
  export * from "./cw20-balance";
2
2
  export * as CosmWasm from "./types";
3
3
  export * from "./queries";
4
- export * from "./neutron/staking-rewards";
5
- export * from "./neutron/staking-rewards-config";
6
- export * from "./neutron/governance-proposals";
7
- export * from "./neutron/governance-vote";
@@ -4,10 +4,6 @@ import { ObservableQueryCw20ContractInfo } from "./cw20-contract-info";
4
4
  import { DeepReadonly } from "utility-types";
5
5
  import { ObservableQueryCw20BalanceRegistry } from "./cw20-balance";
6
6
  import { QuerySharedContext } from "../../common";
7
- import { ObservableQueryNeutronStakingRewards } from "./neutron/staking-rewards";
8
- import { ObservableQueryNeutronStakingRewardsConfig } from "./neutron/staking-rewards-config";
9
- import { ObservableQueryNeutronGovernance } from "./neutron/governance-proposals";
10
- import { ObservableQueryNeutronProposalVote } from "./neutron/governance-vote";
11
7
 
12
8
  export interface CosmwasmQueries {
13
9
  cosmwasm: CosmwasmQueriesImpl;
@@ -40,10 +36,6 @@ export const CosmwasmQueries = {
40
36
 
41
37
  export class CosmwasmQueriesImpl {
42
38
  public readonly querycw20ContractInfo: DeepReadonly<ObservableQueryCw20ContractInfo>;
43
- public readonly queryNeutronStakingRewards: DeepReadonly<ObservableQueryNeutronStakingRewards>;
44
- public readonly queryNeutronStakingRewardsConfig: DeepReadonly<ObservableQueryNeutronStakingRewardsConfig>;
45
- public readonly queryNeutronGovernance: DeepReadonly<ObservableQueryNeutronGovernance>;
46
- public readonly queryNeutronVote: DeepReadonly<ObservableQueryNeutronProposalVote>;
47
39
 
48
40
  constructor(
49
41
  base: QueriesSetBase,
@@ -60,30 +52,5 @@ export class CosmwasmQueriesImpl {
60
52
  chainId,
61
53
  chainGetter
62
54
  );
63
-
64
- this.queryNeutronStakingRewards = new ObservableQueryNeutronStakingRewards(
65
- sharedContext,
66
- chainId,
67
- chainGetter
68
- );
69
-
70
- this.queryNeutronStakingRewardsConfig =
71
- new ObservableQueryNeutronStakingRewardsConfig(
72
- sharedContext,
73
- chainId,
74
- chainGetter
75
- );
76
-
77
- this.queryNeutronGovernance = new ObservableQueryNeutronGovernance(
78
- sharedContext,
79
- chainId,
80
- chainGetter
81
- );
82
-
83
- this.queryNeutronVote = new ObservableQueryNeutronProposalVote(
84
- sharedContext,
85
- chainId,
86
- chainGetter
87
- );
88
55
  }
89
56
  }
@@ -1,64 +0,0 @@
1
- import { ChainGetter } from "../../../chain";
2
- import { QuerySharedContext } from "../../../common";
3
- import { ObservableChainQueryMap } from "../../chain-query";
4
- export declare enum NeutronGovProposalStatus {
5
- OPEN = "open",
6
- PASSED = "passed",
7
- REJECTED = "rejected",
8
- EXECUTED = "executed",
9
- CLOSED = "closed",
10
- EXECUTION_FAILED = "execution_failed"
11
- }
12
- interface NeutronGovThreshold {
13
- threshold_quorum?: {
14
- threshold: string;
15
- quorum: string;
16
- };
17
- absolute_percentage?: {
18
- percentage: string;
19
- };
20
- }
21
- interface NeutronGovProposal {
22
- id: number;
23
- title: string;
24
- description: string;
25
- proposer: string;
26
- start_height: number;
27
- min_voting_period: null;
28
- expiration: {
29
- at_time?: string;
30
- at_height?: string;
31
- };
32
- threshold: NeutronGovThreshold;
33
- total_power: string;
34
- msgs: unknown[];
35
- status: NeutronGovProposalStatus;
36
- votes: {
37
- yes: string;
38
- no: string;
39
- abstain: string;
40
- };
41
- allow_revoting: boolean;
42
- }
43
- interface NeutronGovProposalsResponse {
44
- proposals: {
45
- id: number;
46
- proposal: NeutronGovProposal;
47
- }[];
48
- }
49
- export declare class ObservableQueryNeutronGovernance extends ObservableChainQueryMap<NeutronGovProposalsResponse> {
50
- constructor(sharedContext: QuerySharedContext, chainId: string, chainGetter: ChainGetter);
51
- getQueryGovernanceWithPage(params: {
52
- page: number;
53
- perPageNumber: number;
54
- }): {
55
- proposals: {
56
- id: number;
57
- proposal: NeutronGovProposal;
58
- }[];
59
- firstFetching: boolean;
60
- nextKey: number | null;
61
- isFetching: boolean;
62
- };
63
- }
64
- export {};
@@ -1,83 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ObservableQueryNeutronGovernance = exports.NeutronGovProposalStatus = void 0;
10
- const contract_query_1 = require("../contract-query");
11
- const chain_query_1 = require("../../chain-query");
12
- const mobx_1 = require("mobx");
13
- var NeutronGovProposalStatus;
14
- (function (NeutronGovProposalStatus) {
15
- NeutronGovProposalStatus["OPEN"] = "open";
16
- NeutronGovProposalStatus["PASSED"] = "passed";
17
- NeutronGovProposalStatus["REJECTED"] = "rejected";
18
- NeutronGovProposalStatus["EXECUTED"] = "executed";
19
- NeutronGovProposalStatus["CLOSED"] = "closed";
20
- NeutronGovProposalStatus["EXECUTION_FAILED"] = "execution_failed";
21
- })(NeutronGovProposalStatus = exports.NeutronGovProposalStatus || (exports.NeutronGovProposalStatus = {}));
22
- class ObservableQueryNeutronGovernanceInner extends contract_query_1.ObservableCosmwasmContractChainQuery {
23
- constructor(sharedContext, chainId, chainGetter, params) {
24
- const contractAddress = chainId === "neutron-1"
25
- ? ObservableQueryNeutronGovernanceInner.NEUTRON_PROPOSAL_MODULE_ADDRESS_MAINNET
26
- : chainId === "pion-1"
27
- ? ObservableQueryNeutronGovernanceInner.NEUTRON_PROPOSAL_MODULE_ADDRESS_TESTNET
28
- : "";
29
- super(sharedContext, chainId, chainGetter, contractAddress, {
30
- reverse_proposals: params || { limit: 20 },
31
- });
32
- this.params = params;
33
- }
34
- canFetch() {
35
- return (super.canFetch() &&
36
- (this.chainId === "neutron-1" || this.chainId === "pion-1"));
37
- }
38
- get proposals() {
39
- var _a;
40
- if (!((_a = this.response) === null || _a === void 0 ? void 0 : _a.data)) {
41
- return [];
42
- }
43
- return this.response.data.proposals || [];
44
- }
45
- }
46
- ObservableQueryNeutronGovernanceInner.NEUTRON_PROPOSAL_MODULE_ADDRESS_MAINNET = "neutron1436kxs0w2es6xlqpp9rd35e3d0cjnw4sv8j3a7483sgks29jqwgshlt6zh";
47
- ObservableQueryNeutronGovernanceInner.NEUTRON_PROPOSAL_MODULE_ADDRESS_TESTNET = "neutron19sf2y4dvgt02kczemvhktrwvt4aunrahw8qkjq6u3pehdujwssgqrs5e4h";
48
- __decorate([
49
- mobx_1.computed
50
- ], ObservableQueryNeutronGovernanceInner.prototype, "proposals", null);
51
- class ObservableQueryNeutronGovernance extends chain_query_1.ObservableChainQueryMap {
52
- constructor(sharedContext, chainId, chainGetter) {
53
- super(sharedContext, chainId, chainGetter, (param) => {
54
- const parsedParams = JSON.parse(param);
55
- return new ObservableQueryNeutronGovernanceInner(this.sharedContext, this.chainId, this.chainGetter, parsedParams);
56
- });
57
- }
58
- getQueryGovernanceWithPage(params) {
59
- var _a;
60
- const list = Array.from({ length: params.page + 1 }, (_, i) => {
61
- return JSON.stringify({
62
- start_before: i === 0 ? undefined : i * params.perPageNumber,
63
- limit: params.perPageNumber,
64
- });
65
- });
66
- const proposals = list.flatMap((param) => {
67
- const query = this.get(param);
68
- return query.proposals;
69
- });
70
- const lastQuery = this.get(list[list.length - 1]);
71
- const nextKey = lastQuery.proposals.length === params.perPageNumber
72
- ? (_a = proposals[proposals.length - 1]) === null || _a === void 0 ? void 0 : _a.id
73
- : null;
74
- return {
75
- proposals,
76
- firstFetching: lastQuery.isFetching && proposals.length === 0,
77
- nextKey,
78
- isFetching: lastQuery.isFetching,
79
- };
80
- }
81
- }
82
- exports.ObservableQueryNeutronGovernance = ObservableQueryNeutronGovernance;
83
- //# sourceMappingURL=governance-proposals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"governance-proposals.js","sourceRoot":"","sources":["../../../../src/query/cosmwasm/neutron/governance-proposals.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { ChainGetter } from "../../../chain";
2
- import { ObservableCosmwasmContractChainQuery } from "../contract-query";
3
- import { QuerySharedContext } from "../../../common";
4
- import { ObservableChainQueryMap } from "../../chain-query";
5
- interface NeutronGovVote {
6
- voter: string;
7
- vote: "yes" | "no" | "abstain";
8
- power: string;
9
- }
10
- interface NeutronGovVoteResponse {
11
- vote: NeutronGovVote | null;
12
- }
13
- declare class ObservableQueryNeutronProposalVoteInner extends ObservableCosmwasmContractChainQuery<NeutronGovVoteResponse> {
14
- static readonly NEUTRON_PROPOSAL_MODULE_ADDRESS_MAINNET = "neutron1436kxs0w2es6xlqpp9rd35e3d0cjnw4sv8j3a7483sgks29jqwgshlt6zh";
15
- static readonly NEUTRON_PROPOSAL_MODULE_ADDRESS_TESTNET = "neutron19sf2y4dvgt02kczemvhktrwvt4aunrahw8qkjq6u3pehdujwssgqrs5e4h";
16
- protected proposalId: string;
17
- protected bech32Address: string;
18
- constructor(sharedContext: QuerySharedContext, chainId: string, chainGetter: ChainGetter, proposalId: string, bech32Address: string);
19
- get vote(): "Yes" | "Abstain" | "No" | "NoWithVeto" | "Unspecified";
20
- refetch(): void;
21
- protected canFetch(): boolean;
22
- }
23
- export declare class ObservableQueryNeutronProposalVote extends ObservableChainQueryMap<NeutronGovVoteResponse> {
24
- constructor(sharedContext: QuerySharedContext, chainId: string, chainGetter: ChainGetter);
25
- getVote(proposalId: string, voter: string): ObservableQueryNeutronProposalVoteInner;
26
- }
27
- export {};
@@ -1,73 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ObservableQueryNeutronProposalVote = void 0;
10
- const contract_query_1 = require("../contract-query");
11
- const chain_query_1 = require("../../chain-query");
12
- const mobx_1 = require("mobx");
13
- class ObservableQueryNeutronProposalVoteInner extends contract_query_1.ObservableCosmwasmContractChainQuery {
14
- constructor(sharedContext, chainId, chainGetter, proposalId, bech32Address) {
15
- const contractAddress = chainId === "neutron-1"
16
- ? ObservableQueryNeutronProposalVoteInner.NEUTRON_PROPOSAL_MODULE_ADDRESS_MAINNET
17
- : chainId === "pion-1"
18
- ? ObservableQueryNeutronProposalVoteInner.NEUTRON_PROPOSAL_MODULE_ADDRESS_TESTNET
19
- : "";
20
- super(sharedContext, chainId, chainGetter, contractAddress, {
21
- get_vote: { proposal_id: parseInt(proposalId), voter: bech32Address },
22
- });
23
- this.proposalId = proposalId;
24
- this.bech32Address = bech32Address;
25
- }
26
- get vote() {
27
- var _a, _b;
28
- if (!((_b = (_a = this.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.vote)) {
29
- return "Unspecified";
30
- }
31
- const voteOption = this.response.data.vote.vote;
32
- switch (voteOption) {
33
- case "yes":
34
- return "Yes";
35
- case "abstain":
36
- return "Abstain";
37
- case "no":
38
- return "No";
39
- default:
40
- return "Unspecified";
41
- }
42
- }
43
- refetch() {
44
- this.fetch();
45
- }
46
- canFetch() {
47
- return (super.canFetch() &&
48
- this.bech32Address.length > 0 &&
49
- (this.chainId === "neutron-1" || this.chainId === "pion-1"));
50
- }
51
- }
52
- ObservableQueryNeutronProposalVoteInner.NEUTRON_PROPOSAL_MODULE_ADDRESS_MAINNET = "neutron1436kxs0w2es6xlqpp9rd35e3d0cjnw4sv8j3a7483sgks29jqwgshlt6zh";
53
- ObservableQueryNeutronProposalVoteInner.NEUTRON_PROPOSAL_MODULE_ADDRESS_TESTNET = "neutron19sf2y4dvgt02kczemvhktrwvt4aunrahw8qkjq6u3pehdujwssgqrs5e4h";
54
- __decorate([
55
- mobx_1.computed
56
- ], ObservableQueryNeutronProposalVoteInner.prototype, "vote", null);
57
- class ObservableQueryNeutronProposalVote extends chain_query_1.ObservableChainQueryMap {
58
- constructor(sharedContext, chainId, chainGetter) {
59
- super(sharedContext, chainId, chainGetter, (param) => {
60
- const { proposalId, voter } = JSON.parse(param);
61
- return new ObservableQueryNeutronProposalVoteInner(this.sharedContext, this.chainId, this.chainGetter, proposalId, voter);
62
- });
63
- }
64
- getVote(proposalId, voter) {
65
- const param = JSON.stringify({
66
- proposalId,
67
- voter,
68
- });
69
- return this.get(param);
70
- }
71
- }
72
- exports.ObservableQueryNeutronProposalVote = ObservableQueryNeutronProposalVote;
73
- //# sourceMappingURL=governance-vote.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"governance-vote.js","sourceRoot":"","sources":["../../../../src/query/cosmwasm/neutron/governance-vote.ts"],"names":[],"mappings":";;;;;;;;;AACA,sDAAyE;AAEzE,mDAA4D;AAC5D,+BAAgC;AAYhC,MAAM,uCAAwC,SAAQ,qDAA4D;IAShH,YACE,aAAiC,EACjC,OAAe,EACf,WAAwB,EACxB,UAAkB,EAClB,aAAqB;QAErB,MAAM,eAAe,GACnB,OAAO,KAAK,WAAW;YACrB,CAAC,CAAC,uCAAuC,CAAC,uCAAuC;YACjF,CAAC,CAAC,OAAO,KAAK,QAAQ;gBACtB,CAAC,CAAC,uCAAuC,CAAC,uCAAuC;gBACjF,CAAC,CAAC,EAAE,CAAC;QAET,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE;YAC1D,QAAQ,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE;SACtE,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAGD,IAAI,IAAI;;QACN,IAAI,CAAC,CAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,0CAAE,IAAI,CAAA,EAAE;YAC9B,OAAO,aAAa,CAAC;SACtB;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAChD,QAAQ,UAAU,EAAE;YAClB,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,SAAS;gBACZ,OAAO,SAAS,CAAC;YACnB,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,aAAa,CAAC;SACxB;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEkB,QAAQ;QACzB,OAAO,CACL,KAAK,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YAC7B,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAC5D,CAAC;IACJ,CAAC;;AA1DsB,+EAAuC,GAC5D,oEAAoE,CAAC;AAChD,+EAAuC,GAC5D,oEAAoE,CAAC;AA2BvE;IADC,eAAQ;mEAiBR;AAeH,MAAa,kCAAmC,SAAQ,qCAA+C;IACrG,YACE,aAAiC,EACjC,OAAe,EACf,WAAwB;QAExB,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE;YAC3D,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEhD,OAAO,IAAI,uCAAuC,CAChD,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,EAChB,UAAU,EACV,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CACL,UAAkB,EAClB,KAAa;QAEb,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,UAAU;YACV,KAAK;SACN,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAA4C,CAAC;IACpE,CAAC;CACF;AA9BD,gFA8BC"}
@@ -1,18 +0,0 @@
1
- import { ChainGetter } from "../../../chain";
2
- import { ObservableCosmwasmContractChainQuery } from "../contract-query";
3
- import { QuerySharedContext } from "../../../common";
4
- interface NeutronStakingRewardsConfigResponse {
5
- owner?: string;
6
- dao_address?: string;
7
- staking_info_proxy?: string;
8
- annual_reward_rate_bps?: number;
9
- blocks_per_year?: number;
10
- staking_denom?: string;
11
- }
12
- export declare class ObservableQueryNeutronStakingRewardsConfig extends ObservableCosmwasmContractChainQuery<NeutronStakingRewardsConfigResponse> {
13
- static readonly NEUTRON_REWARDS_CONTRACT_ADDRESS = "neutron1gqq3c735pj6ese3yru5xr6ud0fvxgltxesygvyyzpsrt74v6yg4sgkrgwq";
14
- constructor(sharedContext: QuerySharedContext, chainId: string, chainGetter: ChainGetter);
15
- protected canFetch(): boolean;
16
- get config(): NeutronStakingRewardsConfigResponse;
17
- }
18
- export {};