@keplr-wallet/stores-etc 0.12.281-rc.0 → 0.12.281-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/queries.d.ts +4 -1
- package/build/queries.js +4 -2
- package/build/queries.js.map +1 -1
- package/build/top-up-status/index.d.ts +1 -0
- package/build/top-up-status/index.js +18 -0
- package/build/top-up-status/index.js.map +1 -0
- package/build/top-up-status/query.d.ts +23 -0
- package/build/top-up-status/query.js +46 -0
- package/build/top-up-status/query.js.map +1 -0
- package/package.json +7 -7
- package/src/queries.ts +14 -2
- package/src/top-up-status/index.ts +1 -0
- package/src/top-up-status/query.ts +79 -0
package/build/queries.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { ObservableQueryTaxCaps, ObservableQueryTaxRate } from "./terra-classic/
|
|
|
6
6
|
import { ObservableQuerySkipTokenInfo } from "./token-info";
|
|
7
7
|
import { ObservableQueryInitiaDynamicFee } from "./initia/dynamicfee";
|
|
8
8
|
import { ObservablePostTxMsgDecoder } from "./tx-msg-decoder";
|
|
9
|
+
import { ObservableQueryTopUpStatus } from "./top-up-status";
|
|
9
10
|
export interface KeplrETCQueries {
|
|
10
11
|
keplrETC: KeplrETCQueriesImpl;
|
|
11
12
|
}
|
|
@@ -15,6 +16,7 @@ export declare const KeplrETCQueries: {
|
|
|
15
16
|
skipTokenInfoBaseURL: string;
|
|
16
17
|
skipTokenInfoAPIURI: string;
|
|
17
18
|
txCodecBaseURL: string;
|
|
19
|
+
topupBaseURL: string;
|
|
18
20
|
}): (queriesSetBase: QueriesSetBase, sharedContext: QuerySharedContext, chainId: string, chainGetter: ChainGetter) => KeplrETCQueries;
|
|
19
21
|
};
|
|
20
22
|
export declare class KeplrETCQueriesImpl {
|
|
@@ -25,5 +27,6 @@ export declare class KeplrETCQueriesImpl {
|
|
|
25
27
|
readonly queryTerraClassicTaxCaps: DeepReadonly<ObservableQueryTaxCaps>;
|
|
26
28
|
readonly queryInitiaDynamicFee: DeepReadonly<ObservableQueryInitiaDynamicFee>;
|
|
27
29
|
readonly queryTxMsgDecoder: DeepReadonly<ObservablePostTxMsgDecoder>;
|
|
28
|
-
|
|
30
|
+
readonly queryTopUpStatus: DeepReadonly<ObservableQueryTopUpStatus>;
|
|
31
|
+
constructor(_base: QueriesSetBase, sharedContext: QuerySharedContext, chainId: string, chainGetter: ChainGetter, ethereumURL: string, skipTokenInfoBaseURL: string, skipTokenInfoAPIURI: string, txCodecBaseURL: string, topupBaseURL: string);
|
|
29
32
|
}
|
package/build/queries.js
CHANGED
|
@@ -7,17 +7,18 @@ const treasury_1 = require("./terra-classic/treasury");
|
|
|
7
7
|
const token_info_1 = require("./token-info");
|
|
8
8
|
const dynamicfee_1 = require("./initia/dynamicfee");
|
|
9
9
|
const tx_msg_decoder_1 = require("./tx-msg-decoder");
|
|
10
|
+
const top_up_status_1 = require("./top-up-status");
|
|
10
11
|
exports.KeplrETCQueries = {
|
|
11
12
|
use(options) {
|
|
12
13
|
return (queriesSetBase, sharedContext, chainId, chainGetter) => {
|
|
13
14
|
return {
|
|
14
|
-
keplrETC: new KeplrETCQueriesImpl(queriesSetBase, sharedContext, chainId, chainGetter, options.ethereumURL, options.skipTokenInfoBaseURL, options.skipTokenInfoAPIURI, options.txCodecBaseURL),
|
|
15
|
+
keplrETC: new KeplrETCQueriesImpl(queriesSetBase, sharedContext, chainId, chainGetter, options.ethereumURL, options.skipTokenInfoBaseURL, options.skipTokenInfoAPIURI, options.txCodecBaseURL, options.topupBaseURL),
|
|
15
16
|
};
|
|
16
17
|
};
|
|
17
18
|
},
|
|
18
19
|
};
|
|
19
20
|
class KeplrETCQueriesImpl {
|
|
20
|
-
constructor(_base, sharedContext, chainId, chainGetter, ethereumURL, skipTokenInfoBaseURL, skipTokenInfoAPIURI, txCodecBaseURL) {
|
|
21
|
+
constructor(_base, sharedContext, chainId, chainGetter, ethereumURL, skipTokenInfoBaseURL, skipTokenInfoAPIURI, txCodecBaseURL, topupBaseURL) {
|
|
21
22
|
this.queryERC20Metadata = new erc20_1.ObservableQueryERC20Metadata(sharedContext, ethereumURL);
|
|
22
23
|
this.queryEVMTokenInfo = new axelar_1.ObservableQueryEVMTokenInfo(sharedContext, chainId, chainGetter);
|
|
23
24
|
this.querySkipTokenInfo = new token_info_1.ObservableQuerySkipTokenInfo(sharedContext, chainId, chainGetter, skipTokenInfoBaseURL, skipTokenInfoAPIURI);
|
|
@@ -25,6 +26,7 @@ class KeplrETCQueriesImpl {
|
|
|
25
26
|
this.queryTerraClassicTaxCaps = new treasury_1.ObservableQueryTaxCaps(sharedContext, chainId, chainGetter);
|
|
26
27
|
this.queryInitiaDynamicFee = new dynamicfee_1.ObservableQueryInitiaDynamicFee(sharedContext, chainId, chainGetter);
|
|
27
28
|
this.queryTxMsgDecoder = new tx_msg_decoder_1.ObservablePostTxMsgDecoder(sharedContext, txCodecBaseURL);
|
|
29
|
+
this.queryTopUpStatus = new top_up_status_1.ObservableQueryTopUpStatus(sharedContext, chainId, chainGetter, topupBaseURL);
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
exports.KeplrETCQueriesImpl = KeplrETCQueriesImpl;
|
package/build/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":";;;AAMA,mCAAuD;AACvD,qCAAuD;AACvD,uDAGkC;AAClC,6CAA4D;AAC5D,oDAAsE;AACtE,qDAA8D;
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":";;;AAMA,mCAAuD;AACvD,qCAAuD;AACvD,uDAGkC;AAClC,6CAA4D;AAC5D,oDAAsE;AACtE,qDAA8D;AAC9D,mDAA6D;AAMhD,QAAA,eAAe,GAAG;IAC7B,GAAG,CAAC,OAMH;QAMC,OAAO,CACL,cAA8B,EAC9B,aAAiC,EACjC,OAAe,EACf,WAAwB,EACxB,EAAE;YACF,OAAO;gBACL,QAAQ,EAAE,IAAI,mBAAmB,CAC/B,cAAc,EACd,aAAa,EACb,OAAO,EACP,WAAW,EACX,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,oBAAoB,EAC5B,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,YAAY,CACrB;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAa,mBAAmB;IAa9B,YACE,KAAqB,EACrB,aAAiC,EACjC,OAAe,EACf,WAAwB,EACxB,WAAmB,EACnB,oBAA4B,EAC5B,mBAA2B,EAC3B,cAAsB,EACtB,YAAoB;QAEpB,IAAI,CAAC,kBAAkB,GAAG,IAAI,oCAA4B,CACxD,aAAa,EACb,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,oCAA2B,CACtD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,yCAA4B,CACxD,aAAa,EACb,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,mBAAmB,CACpB,CAAC;QAEF,IAAI,CAAC,wBAAwB,GAAG,IAAI,iCAAsB,CACxD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,wBAAwB,GAAG,IAAI,iCAAsB,CACxD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,qBAAqB,GAAG,IAAI,4CAA+B,CAC9D,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,iBAAiB,GAAG,IAAI,2CAA0B,CACrD,aAAa,EACb,cAAc,CACf,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,IAAI,0CAA0B,CACpD,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,CACb,CAAC;IACJ,CAAC;CACF;AAtED,kDAsEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./query";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./query"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/top-up-status/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ObservableQuery, QuerySharedContext, ChainGetter, HasMapStore } from "@keplr-wallet/stores";
|
|
2
|
+
export type StatusResponseBody = {
|
|
3
|
+
isTopUpAvailable: boolean;
|
|
4
|
+
remainingTimeMs?: number;
|
|
5
|
+
} | {
|
|
6
|
+
error: string;
|
|
7
|
+
};
|
|
8
|
+
declare class ObservableQueryTopUpStatusInner extends ObservableQuery<StatusResponseBody> {
|
|
9
|
+
constructor(sharedContext: QuerySharedContext, chainId: string, baseURL: string, recipientAddress: string);
|
|
10
|
+
get topUpStatus(): {
|
|
11
|
+
isTopUpAvailable: boolean;
|
|
12
|
+
remainingTimeMs?: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare class ObservableQueryTopUpStatus extends HasMapStore<ObservableQueryTopUpStatusInner> {
|
|
16
|
+
protected readonly sharedContext: QuerySharedContext;
|
|
17
|
+
protected readonly chainId: string;
|
|
18
|
+
protected readonly chainGetter: ChainGetter;
|
|
19
|
+
protected readonly baseURL: string;
|
|
20
|
+
constructor(sharedContext: QuerySharedContext, chainId: string, chainGetter: ChainGetter, baseURL: string);
|
|
21
|
+
getTopUpStatus(recipientAddress: string): ObservableQueryTopUpStatusInner;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObservableQueryTopUpStatus = void 0;
|
|
4
|
+
const stores_1 = require("@keplr-wallet/stores");
|
|
5
|
+
const mobx_1 = require("mobx");
|
|
6
|
+
class ObservableQueryTopUpStatusInner extends stores_1.ObservableQuery {
|
|
7
|
+
constructor(sharedContext, chainId, baseURL, recipientAddress) {
|
|
8
|
+
super(sharedContext, baseURL, `status/${encodeURIComponent(chainId)}?recipientAddress=${encodeURIComponent(recipientAddress)}`, {
|
|
9
|
+
cacheMaxAge: 0,
|
|
10
|
+
fetchingInterval: 10000,
|
|
11
|
+
});
|
|
12
|
+
(0, mobx_1.makeObservable)(this);
|
|
13
|
+
}
|
|
14
|
+
get topUpStatus() {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
if (!((_a = this.response) === null || _a === void 0 ? void 0 : _a.data)) {
|
|
17
|
+
return {
|
|
18
|
+
isTopUpAvailable: false,
|
|
19
|
+
remainingTimeMs: undefined,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
if ("error" in ((_b = this.response) === null || _b === void 0 ? void 0 : _b.data)) {
|
|
23
|
+
return {
|
|
24
|
+
isTopUpAvailable: false,
|
|
25
|
+
remainingTimeMs: undefined,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return this.response.data;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
class ObservableQueryTopUpStatus extends stores_1.HasMapStore {
|
|
32
|
+
constructor(sharedContext, chainId, chainGetter, baseURL) {
|
|
33
|
+
super((recipientAddress) => {
|
|
34
|
+
return new ObservableQueryTopUpStatusInner(this.sharedContext, this.chainId, this.baseURL, recipientAddress);
|
|
35
|
+
});
|
|
36
|
+
this.sharedContext = sharedContext;
|
|
37
|
+
this.chainId = chainId;
|
|
38
|
+
this.chainGetter = chainGetter;
|
|
39
|
+
this.baseURL = baseURL;
|
|
40
|
+
}
|
|
41
|
+
getTopUpStatus(recipientAddress) {
|
|
42
|
+
return this.get(recipientAddress);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.ObservableQueryTopUpStatus = ObservableQueryTopUpStatus;
|
|
46
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/top-up-status/query.ts"],"names":[],"mappings":";;;AAAA,iDAK8B;AAC9B,+BAAsC;AAWtC,MAAM,+BAAgC,SAAQ,wBAAmC;IAC/E,YACE,aAAiC,EACjC,OAAe,EACf,OAAe,EACf,gBAAwB;QAExB,KAAK,CACH,aAAa,EACb,OAAO,EACP,UAAU,kBAAkB,CAC1B,OAAO,CACR,qBAAqB,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,EAC5D;YACE,WAAW,EAAE,CAAC;YACd,gBAAgB,EAAE,KAAM;SACzB,CACF,CAAC;QAEF,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;;QACb,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAA,EAAE;YACxB,OAAO;gBACL,gBAAgB,EAAE,KAAK;gBACvB,eAAe,EAAE,SAAS;aAC3B,CAAC;SACH;QAED,IAAI,OAAO,KAAI,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAA,EAAE;YAClC,OAAO;gBACL,gBAAgB,EAAE,KAAK;gBACvB,eAAe,EAAE,SAAS;aAC3B,CAAC;SACH;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF;AAED,MAAa,0BAA2B,SAAQ,oBAA4C;IAC1F,YACqB,aAAiC,EACjC,OAAe,EACf,WAAwB,EACxB,OAAe;QAElC,KAAK,CAAC,CAAC,gBAAwB,EAAE,EAAE;YACjC,OAAO,IAAI,+BAA+B,CACxC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,gBAAgB,CACjB,CAAC;QACJ,CAAC,CAAC,CAAC;QAZgB,kBAAa,GAAb,aAAa,CAAoB;QACjC,YAAO,GAAP,OAAO,CAAQ;QACf,gBAAW,GAAX,WAAW,CAAa;QACxB,YAAO,GAAP,OAAO,CAAQ;IAUpC,CAAC;IAED,cAAc,CAAC,gBAAwB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;CACF;AApBD,gEAoBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keplr-wallet/stores-etc",
|
|
3
|
-
"version": "0.12.281-rc.
|
|
3
|
+
"version": "0.12.281-rc.2",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"author": "chainapsis",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@ethersproject/abi": "^5.6.0",
|
|
20
|
-
"@keplr-wallet/common": "0.12.281-rc.
|
|
21
|
-
"@keplr-wallet/simple-fetch": "0.12.281-rc.
|
|
22
|
-
"@keplr-wallet/stores": "0.12.281-rc.
|
|
23
|
-
"@keplr-wallet/types": "0.12.281-rc.
|
|
24
|
-
"@keplr-wallet/unit": "0.12.281-rc.
|
|
20
|
+
"@keplr-wallet/common": "0.12.281-rc.2",
|
|
21
|
+
"@keplr-wallet/simple-fetch": "0.12.281-rc.2",
|
|
22
|
+
"@keplr-wallet/stores": "0.12.281-rc.2",
|
|
23
|
+
"@keplr-wallet/types": "0.12.281-rc.2",
|
|
24
|
+
"@keplr-wallet/unit": "0.12.281-rc.2",
|
|
25
25
|
"utility-types": "^3.10.0"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"mobx": "^6",
|
|
29
29
|
"mobx-utils": "^6"
|
|
30
30
|
},
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "f6e4cbdedccf87343a842b977145612253e15ff1"
|
|
32
32
|
}
|
package/src/queries.ts
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
import { ObservableQuerySkipTokenInfo } from "./token-info";
|
|
14
14
|
import { ObservableQueryInitiaDynamicFee } from "./initia/dynamicfee";
|
|
15
15
|
import { ObservablePostTxMsgDecoder } from "./tx-msg-decoder";
|
|
16
|
+
import { ObservableQueryTopUpStatus } from "./top-up-status";
|
|
16
17
|
|
|
17
18
|
export interface KeplrETCQueries {
|
|
18
19
|
keplrETC: KeplrETCQueriesImpl;
|
|
@@ -24,6 +25,7 @@ export const KeplrETCQueries = {
|
|
|
24
25
|
skipTokenInfoBaseURL: string;
|
|
25
26
|
skipTokenInfoAPIURI: string;
|
|
26
27
|
txCodecBaseURL: string;
|
|
28
|
+
topupBaseURL: string;
|
|
27
29
|
}): (
|
|
28
30
|
queriesSetBase: QueriesSetBase,
|
|
29
31
|
sharedContext: QuerySharedContext,
|
|
@@ -45,7 +47,8 @@ export const KeplrETCQueries = {
|
|
|
45
47
|
options.ethereumURL,
|
|
46
48
|
options.skipTokenInfoBaseURL,
|
|
47
49
|
options.skipTokenInfoAPIURI,
|
|
48
|
-
options.txCodecBaseURL
|
|
50
|
+
options.txCodecBaseURL,
|
|
51
|
+
options.topupBaseURL
|
|
49
52
|
),
|
|
50
53
|
};
|
|
51
54
|
};
|
|
@@ -63,6 +66,7 @@ export class KeplrETCQueriesImpl {
|
|
|
63
66
|
public readonly queryInitiaDynamicFee: DeepReadonly<ObservableQueryInitiaDynamicFee>;
|
|
64
67
|
|
|
65
68
|
public readonly queryTxMsgDecoder: DeepReadonly<ObservablePostTxMsgDecoder>;
|
|
69
|
+
public readonly queryTopUpStatus: DeepReadonly<ObservableQueryTopUpStatus>;
|
|
66
70
|
|
|
67
71
|
constructor(
|
|
68
72
|
_base: QueriesSetBase,
|
|
@@ -72,7 +76,8 @@ export class KeplrETCQueriesImpl {
|
|
|
72
76
|
ethereumURL: string,
|
|
73
77
|
skipTokenInfoBaseURL: string,
|
|
74
78
|
skipTokenInfoAPIURI: string,
|
|
75
|
-
txCodecBaseURL: string
|
|
79
|
+
txCodecBaseURL: string,
|
|
80
|
+
topupBaseURL: string
|
|
76
81
|
) {
|
|
77
82
|
this.queryERC20Metadata = new ObservableQueryERC20Metadata(
|
|
78
83
|
sharedContext,
|
|
@@ -112,5 +117,12 @@ export class KeplrETCQueriesImpl {
|
|
|
112
117
|
sharedContext,
|
|
113
118
|
txCodecBaseURL
|
|
114
119
|
);
|
|
120
|
+
|
|
121
|
+
this.queryTopUpStatus = new ObservableQueryTopUpStatus(
|
|
122
|
+
sharedContext,
|
|
123
|
+
chainId,
|
|
124
|
+
chainGetter,
|
|
125
|
+
topupBaseURL
|
|
126
|
+
);
|
|
115
127
|
}
|
|
116
128
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./query";
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ObservableQuery,
|
|
3
|
+
QuerySharedContext,
|
|
4
|
+
ChainGetter,
|
|
5
|
+
HasMapStore,
|
|
6
|
+
} from "@keplr-wallet/stores";
|
|
7
|
+
import { makeObservable } from "mobx";
|
|
8
|
+
|
|
9
|
+
export type StatusResponseBody =
|
|
10
|
+
| {
|
|
11
|
+
isTopUpAvailable: boolean;
|
|
12
|
+
remainingTimeMs?: number;
|
|
13
|
+
}
|
|
14
|
+
| {
|
|
15
|
+
error: string;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
class ObservableQueryTopUpStatusInner extends ObservableQuery<StatusResponseBody> {
|
|
19
|
+
constructor(
|
|
20
|
+
sharedContext: QuerySharedContext,
|
|
21
|
+
chainId: string,
|
|
22
|
+
baseURL: string,
|
|
23
|
+
recipientAddress: string
|
|
24
|
+
) {
|
|
25
|
+
super(
|
|
26
|
+
sharedContext,
|
|
27
|
+
baseURL,
|
|
28
|
+
`status/${encodeURIComponent(
|
|
29
|
+
chainId
|
|
30
|
+
)}?recipientAddress=${encodeURIComponent(recipientAddress)}`,
|
|
31
|
+
{
|
|
32
|
+
cacheMaxAge: 0,
|
|
33
|
+
fetchingInterval: 10_000,
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
makeObservable(this);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
get topUpStatus(): { isTopUpAvailable: boolean; remainingTimeMs?: number } {
|
|
41
|
+
if (!this.response?.data) {
|
|
42
|
+
return {
|
|
43
|
+
isTopUpAvailable: false,
|
|
44
|
+
remainingTimeMs: undefined,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if ("error" in this.response?.data) {
|
|
49
|
+
return {
|
|
50
|
+
isTopUpAvailable: false,
|
|
51
|
+
remainingTimeMs: undefined,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return this.response.data;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export class ObservableQueryTopUpStatus extends HasMapStore<ObservableQueryTopUpStatusInner> {
|
|
60
|
+
constructor(
|
|
61
|
+
protected readonly sharedContext: QuerySharedContext,
|
|
62
|
+
protected readonly chainId: string,
|
|
63
|
+
protected readonly chainGetter: ChainGetter,
|
|
64
|
+
protected readonly baseURL: string
|
|
65
|
+
) {
|
|
66
|
+
super((recipientAddress: string) => {
|
|
67
|
+
return new ObservableQueryTopUpStatusInner(
|
|
68
|
+
this.sharedContext,
|
|
69
|
+
this.chainId,
|
|
70
|
+
this.baseURL,
|
|
71
|
+
recipientAddress
|
|
72
|
+
);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
getTopUpStatus(recipientAddress: string): ObservableQueryTopUpStatusInner {
|
|
77
|
+
return this.get(recipientAddress);
|
|
78
|
+
}
|
|
79
|
+
}
|