decentralcardgame-cardchain-client-ts 0.0.26 → 0.0.28
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/DecentralCardGame.cardchain.cardchain/module.js +482 -302
- package/DecentralCardGame.cardchain.cardchain/module.ts +1577 -1294
- package/DecentralCardGame.cardchain.cardchain/registry.js +66 -62
- package/DecentralCardGame.cardchain.cardchain/registry.ts +66 -62
- package/DecentralCardGame.cardchain.cardchain/rest.ts +12 -0
- package/DecentralCardGame.cardchain.cardchain/types/cardchain/cardchain/query.js +10 -0
- package/DecentralCardGame.cardchain.cardchain/types/cardchain/cardchain/query.ts +11 -0
- package/DecentralCardGame.cardchain.cardchain/types/cardchain/cardchain/tx.js +182 -0
- package/DecentralCardGame.cardchain.cardchain/types/cardchain/cardchain/tx.ts +226 -0
- package/DecentralCardGame.cardchain.cardchain/types/cardchain/cardchain/user.js +74 -0
- package/DecentralCardGame.cardchain.cardchain/types/cardchain/cardchain/user.ts +87 -0
- package/DecentralCardGame.cardchain.cardchain/types.js +2 -1
- package/DecentralCardGame.cardchain.cardchain/types.ts +2 -0
- package/client.js +4 -1
- package/client.ts +161 -154
- package/ibc.core.channel.v1/module.js +4 -1
- package/ibc.core.channel.v1/module.ts +81 -79
- package/ibc.core.client.v1/module.js +4 -1
- package/ibc.core.client.v1/module.ts +83 -81
- package/ibc.core.connection.v1/module.js +4 -1
- package/ibc.core.connection.v1/module.ts +79 -77
- package/package.json +1 -1
- package/tsconfig.json +10 -10
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/card.js +0 -832
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/card.ts +0 -954
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/copyright_proposal.js +0 -126
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/copyright_proposal.ts +0 -162
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/council.js +0 -407
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/council.ts +0 -481
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/genesis.js +0 -272
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/genesis.ts +0 -324
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/image.js +0 -96
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/image.ts +0 -124
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/match.js +0 -364
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/match.ts +0 -435
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/match_reporter_proposal.js +0 -86
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/match_reporter_proposal.ts +0 -114
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/num.js +0 -82
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/num.ts +0 -112
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/params.js +0 -435
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/params.ts +0 -512
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/query.js +0 -2204
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/query.ts +0 -2687
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/running_average.js +0 -88
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/running_average.ts +0 -120
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/sell_offer.js +0 -177
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/sell_offer.ts +0 -217
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/server.js +0 -112
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/server.ts +0 -146
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/set.js +0 -441
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/set.ts +0 -522
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/set_proposal.js +0 -112
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/set_proposal.ts +0 -146
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/tx.js +0 -5079
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/tx.ts +0 -6194
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/user.js +0 -631
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/user.ts +0 -748
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/voting.js +0 -416
- package/DecentralCardGame.cardchain.cardchain/types/DecentralCardGame/cardchain/cardchain/voting.ts +0 -494
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/flag.js +0 -86
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/flag.ts +0 -114
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/genesis.js +0 -164
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/genesis.ts +0 -205
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/params.js +0 -40
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/params.ts +0 -62
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/proposal.js +0 -100
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/proposal.ts +0 -130
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/query.js +0 -325
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/query.ts +0 -424
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/tx.js +0 -9
- package/DecentralCardGame.cardchain.featureflag/types/DecentralCardGame/cardchain/featureflag/tx.ts +0 -21
|
@@ -16,9 +16,10 @@ import { Set } from "./types/cardchain/cardchain/set";
|
|
|
16
16
|
import { InnerRarities } from "./types/cardchain/cardchain/set";
|
|
17
17
|
import { AddrWithQuantity } from "./types/cardchain/cardchain/set";
|
|
18
18
|
import { SetProposal } from "./types/cardchain/cardchain/set_proposal";
|
|
19
|
+
import { EarlyAccess } from "./types/cardchain/cardchain/user";
|
|
19
20
|
import { BoosterPack } from "./types/cardchain/cardchain/user";
|
|
20
21
|
import { AirDrops } from "./types/cardchain/cardchain/user";
|
|
21
22
|
import { VotingResults } from "./types/cardchain/cardchain/voting";
|
|
22
23
|
import { VotingResult } from "./types/cardchain/cardchain/voting";
|
|
23
24
|
import { SingleVote } from "./types/cardchain/cardchain/voting";
|
|
24
|
-
export { Card, TimeStamp, CopyrightProposal, WrapClearResponse, WrapHashResponse, Image, MatchPlayer, MatchReporterProposal, Num, Params, IgnoreMatches, IgnoreSellOffers, QueryQServerResponse, RunningAverage, Set, InnerRarities, AddrWithQuantity, SetProposal, BoosterPack, AirDrops, VotingResults, VotingResult, SingleVote, };
|
|
25
|
+
export { Card, TimeStamp, CopyrightProposal, WrapClearResponse, WrapHashResponse, Image, MatchPlayer, MatchReporterProposal, Num, Params, IgnoreMatches, IgnoreSellOffers, QueryQServerResponse, RunningAverage, Set, InnerRarities, AddrWithQuantity, SetProposal, EarlyAccess, BoosterPack, AirDrops, VotingResults, VotingResult, SingleVote, };
|
|
@@ -16,6 +16,7 @@ import { Set } from "./types/cardchain/cardchain/set"
|
|
|
16
16
|
import { InnerRarities } from "./types/cardchain/cardchain/set"
|
|
17
17
|
import { AddrWithQuantity } from "./types/cardchain/cardchain/set"
|
|
18
18
|
import { SetProposal } from "./types/cardchain/cardchain/set_proposal"
|
|
19
|
+
import { EarlyAccess } from "./types/cardchain/cardchain/user"
|
|
19
20
|
import { BoosterPack } from "./types/cardchain/cardchain/user"
|
|
20
21
|
import { AirDrops } from "./types/cardchain/cardchain/user"
|
|
21
22
|
import { VotingResults } from "./types/cardchain/cardchain/voting"
|
|
@@ -42,6 +43,7 @@ export {
|
|
|
42
43
|
InnerRarities,
|
|
43
44
|
AddrWithQuantity,
|
|
44
45
|
SetProposal,
|
|
46
|
+
EarlyAccess,
|
|
45
47
|
BoosterPack,
|
|
46
48
|
AirDrops,
|
|
47
49
|
VotingResults,
|
package/client.js
CHANGED
|
@@ -20,7 +20,10 @@ export class IgniteClient extends EventEmitter {
|
|
|
20
20
|
async signAndBroadcast(msgs, fee, memo) {
|
|
21
21
|
if (this.signer) {
|
|
22
22
|
const { address } = (await this.signer.getAccounts())[0];
|
|
23
|
-
const signingClient = await SigningStargateClient.connectWithSigner(this.env.rpcURL, this.signer, {
|
|
23
|
+
const signingClient = await SigningStargateClient.connectWithSigner(this.env.rpcURL, this.signer, {
|
|
24
|
+
registry: new Registry(this.registry),
|
|
25
|
+
prefix: this.env.prefix
|
|
26
|
+
});
|
|
24
27
|
return await signingClient.signAndBroadcast(address, msgs, fee ? fee : defaultFee, memo);
|
|
25
28
|
}
|
|
26
29
|
else {
|
package/client.ts
CHANGED
|
@@ -1,169 +1,176 @@
|
|
|
1
1
|
/// <reference path="./types.d.ts" />
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
GeneratedType,
|
|
4
|
+
OfflineSigner,
|
|
5
|
+
EncodeObject,
|
|
6
|
+
Registry,
|
|
7
7
|
} from "@cosmjs/proto-signing";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
8
|
+
import {StdFee} from "@cosmjs/amino";
|
|
9
|
+
import {SigningStargateClient} from "@cosmjs/stargate";
|
|
10
|
+
import {Env} from "./env";
|
|
11
|
+
import {UnionToIntersection, Return, Constructor} from "./helpers";
|
|
12
|
+
import {Module} from "./modules";
|
|
13
|
+
import {EventEmitter} from "events";
|
|
14
|
+
import {ChainInfo} from "@keplr-wallet/types";
|
|
15
15
|
|
|
16
16
|
const defaultFee = {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
amount: [],
|
|
18
|
+
gas: "200000",
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export class IgniteClient extends EventEmitter {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
static plugins: Module[] = [];
|
|
23
|
+
env: Env;
|
|
24
|
+
signer?: OfflineSigner;
|
|
25
|
+
registry: Array<[string, GeneratedType]> = [];
|
|
26
|
+
|
|
27
|
+
static plugin<T extends Module | Module[]>(plugin: T) {
|
|
28
|
+
const currentPlugins = this.plugins;
|
|
29
|
+
|
|
30
|
+
class AugmentedClient extends this {
|
|
31
|
+
static plugins = currentPlugins.concat(plugin);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (Array.isArray(plugin)) {
|
|
35
|
+
type Extension = UnionToIntersection<Return<T>['module']>
|
|
36
|
+
return AugmentedClient as typeof IgniteClient & Constructor<Extension>;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
type Extension = Return<T>['module']
|
|
40
|
+
return AugmentedClient as typeof IgniteClient & Constructor<Extension>;
|
|
31
41
|
}
|
|
32
42
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
43
|
+
async signAndBroadcast(msgs: EncodeObject[], fee: StdFee, memo: string) {
|
|
44
|
+
if (this.signer) {
|
|
45
|
+
const {address} = (await this.signer.getAccounts())[0];
|
|
46
|
+
const signingClient = await SigningStargateClient.connectWithSigner(this.env.rpcURL, this.signer, {
|
|
47
|
+
registry: new Registry(this.registry),
|
|
48
|
+
prefix: this.env.prefix
|
|
49
|
+
});
|
|
50
|
+
return await signingClient.signAndBroadcast(address, msgs, fee ? fee : defaultFee, memo)
|
|
51
|
+
} else {
|
|
52
|
+
throw new Error(" Signer is not present.");
|
|
53
|
+
}
|
|
36
54
|
}
|
|
37
55
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
56
|
+
constructor(env: Env, signer?: OfflineSigner) {
|
|
57
|
+
super();
|
|
58
|
+
this.env = env;
|
|
59
|
+
this.setMaxListeners(0);
|
|
60
|
+
this.signer = signer;
|
|
61
|
+
const classConstructor = this.constructor as typeof IgniteClient;
|
|
62
|
+
classConstructor.plugins.forEach(plugin => {
|
|
63
|
+
const pluginInstance = plugin(this);
|
|
64
|
+
Object.assign(this, pluginInstance.module)
|
|
65
|
+
if (this.registry) {
|
|
66
|
+
this.registry = this.registry.concat(pluginInstance.registry)
|
|
67
|
+
}
|
|
68
|
+
});
|
|
49
69
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
preferNoSetFee: true,
|
|
156
|
-
preferNoSetMemo: true,
|
|
157
|
-
},
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
await window.keplr.enable(chainId);
|
|
161
|
-
this.signer = window.keplr.getOfflineSigner(chainId);
|
|
162
|
-
this.emit("signer-changed", this.signer);
|
|
163
|
-
} catch (e) {
|
|
164
|
-
throw new Error(
|
|
165
|
-
"Could not load tendermint, staking and bank modules. Please ensure your client loads them to use useKeplr()"
|
|
166
|
-
);
|
|
70
|
+
|
|
71
|
+
useSigner(signer: OfflineSigner) {
|
|
72
|
+
this.signer = signer;
|
|
73
|
+
this.emit("signer-changed", this.signer);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
removeSigner() {
|
|
77
|
+
this.signer = undefined;
|
|
78
|
+
this.emit("signer-changed", this.signer);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
async useKeplr(keplrChainInfo: Partial<ChainInfo> = {}) {
|
|
82
|
+
// Using queryClients directly because BaseClient has no knowledge of the modules at this stage
|
|
83
|
+
try {
|
|
84
|
+
const queryClient = (
|
|
85
|
+
await import("./cosmos.base.tendermint.v1beta1/module")
|
|
86
|
+
).queryClient;
|
|
87
|
+
const stakingQueryClient = (
|
|
88
|
+
await import("./cosmos.staking.v1beta1/module")
|
|
89
|
+
).queryClient;
|
|
90
|
+
const bankQueryClient = (await import("./cosmos.bank.v1beta1/module"))
|
|
91
|
+
.queryClient;
|
|
92
|
+
|
|
93
|
+
const stakingqc = stakingQueryClient({addr: this.env.apiURL});
|
|
94
|
+
const qc = queryClient({addr: this.env.apiURL});
|
|
95
|
+
const node_info = await (await qc.serviceGetNodeInfo()).data;
|
|
96
|
+
const chainId = node_info.default_node_info?.network ?? "";
|
|
97
|
+
const chainName = chainId?.toUpperCase() + " Network";
|
|
98
|
+
const staking = await (await stakingqc.queryParams()).data;
|
|
99
|
+
const bankqc = bankQueryClient({addr: this.env.apiURL});
|
|
100
|
+
const tokens = await (await bankqc.queryTotalSupply()).data;
|
|
101
|
+
const addrPrefix = this.env.prefix ?? "cosmos";
|
|
102
|
+
const rpc = this.env.rpcURL;
|
|
103
|
+
const rest = this.env.apiURL;
|
|
104
|
+
let stakeCurrency = {
|
|
105
|
+
coinDenom: staking.params?.bond_denom?.toUpperCase() ?? "",
|
|
106
|
+
coinMinimalDenom: staking.params?.bond_denom ?? "",
|
|
107
|
+
coinDecimals: 0,
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
let bip44 = {
|
|
111
|
+
coinType: 118,
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
let bech32Config = {
|
|
115
|
+
bech32PrefixAccAddr: addrPrefix,
|
|
116
|
+
bech32PrefixAccPub: addrPrefix + "pub",
|
|
117
|
+
bech32PrefixValAddr: addrPrefix + "valoper",
|
|
118
|
+
bech32PrefixValPub: addrPrefix + "valoperpub",
|
|
119
|
+
bech32PrefixConsAddr: addrPrefix + "valcons",
|
|
120
|
+
bech32PrefixConsPub: addrPrefix + "valconspub",
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
let currencies =
|
|
124
|
+
tokens.supply?.map((x) => {
|
|
125
|
+
const y = {
|
|
126
|
+
coinDenom: x.denom?.toUpperCase() ?? "",
|
|
127
|
+
coinMinimalDenom: x.denom ?? "",
|
|
128
|
+
coinDecimals: 0,
|
|
129
|
+
};
|
|
130
|
+
return y;
|
|
131
|
+
}) ?? [];
|
|
132
|
+
|
|
133
|
+
let feeCurrencies =
|
|
134
|
+
tokens.supply?.map((x) => {
|
|
135
|
+
const y = {
|
|
136
|
+
coinDenom: x.denom?.toUpperCase() ?? "",
|
|
137
|
+
coinMinimalDenom: x.denom ?? "",
|
|
138
|
+
coinDecimals: 0,
|
|
139
|
+
};
|
|
140
|
+
return y;
|
|
141
|
+
}) ?? [];
|
|
142
|
+
|
|
143
|
+
let coinType = 118;
|
|
144
|
+
|
|
145
|
+
if (chainId) {
|
|
146
|
+
const suggestOptions: ChainInfo = {
|
|
147
|
+
chainId,
|
|
148
|
+
chainName,
|
|
149
|
+
rpc,
|
|
150
|
+
rest,
|
|
151
|
+
stakeCurrency,
|
|
152
|
+
bip44,
|
|
153
|
+
bech32Config,
|
|
154
|
+
currencies,
|
|
155
|
+
feeCurrencies,
|
|
156
|
+
...keplrChainInfo,
|
|
157
|
+
};
|
|
158
|
+
await window.keplr.experimentalSuggestChain(suggestOptions);
|
|
159
|
+
|
|
160
|
+
window.keplr.defaultOptions = {
|
|
161
|
+
sign: {
|
|
162
|
+
preferNoSetFee: true,
|
|
163
|
+
preferNoSetMemo: true,
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
await window.keplr.enable(chainId);
|
|
168
|
+
this.signer = window.keplr.getOfflineSigner(chainId);
|
|
169
|
+
this.emit("signer-changed", this.signer);
|
|
170
|
+
} catch (e) {
|
|
171
|
+
throw new Error(
|
|
172
|
+
"Could not load tendermint, staking and bank modules. Please ensure your client loads them to use useKeplr()"
|
|
173
|
+
);
|
|
174
|
+
}
|
|
167
175
|
}
|
|
168
|
-
}
|
|
169
176
|
}
|
|
@@ -23,7 +23,10 @@ const defaultFee = {
|
|
|
23
23
|
amount: [],
|
|
24
24
|
gas: "200000",
|
|
25
25
|
};
|
|
26
|
-
export const txClient = ({ signer, prefix, addr } = {
|
|
26
|
+
export const txClient = ({ signer, prefix, addr } = {
|
|
27
|
+
addr: "http://localhost:26657",
|
|
28
|
+
prefix: "cosmos"
|
|
29
|
+
}) => {
|
|
27
30
|
return {};
|
|
28
31
|
};
|
|
29
32
|
export const queryClient = ({ addr: addr } = { addr: "http://localhost:1317" }) => {
|
|
@@ -1,112 +1,114 @@
|
|
|
1
1
|
// Generated by Ignite ignite.com/cli
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
3
|
+
import {StdFee} from "@cosmjs/amino";
|
|
4
|
+
import {SigningStargateClient, DeliverTxResponse} from "@cosmjs/stargate";
|
|
5
|
+
import {EncodeObject, GeneratedType, OfflineSigner, Registry} from "@cosmjs/proto-signing";
|
|
6
|
+
import {msgTypes} from './registry';
|
|
7
|
+
import {IgniteClient} from "../client"
|
|
8
|
+
import {MissingWalletError} from "../helpers"
|
|
9
|
+
import {Api} from "./rest";
|
|
10
10
|
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
|
|
20
|
-
export { };
|
|
11
|
+
import {Channel as typeChannel} from "./types"
|
|
12
|
+
import {IdentifiedChannel as typeIdentifiedChannel} from "./types"
|
|
13
|
+
import {Counterparty as typeCounterparty} from "./types"
|
|
14
|
+
import {Packet as typePacket} from "./types"
|
|
15
|
+
import {PacketState as typePacketState} from "./types"
|
|
16
|
+
import {PacketId as typePacketId} from "./types"
|
|
17
|
+
import {Acknowledgement as typeAcknowledgement} from "./types"
|
|
18
|
+
import {PacketSequence as typePacketSequence} from "./types"
|
|
21
19
|
|
|
20
|
+
export {};
|
|
22
21
|
|
|
23
22
|
|
|
24
23
|
export const registry = new Registry(msgTypes);
|
|
25
24
|
|
|
26
25
|
type Field = {
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
name: string;
|
|
27
|
+
type: unknown;
|
|
29
28
|
}
|
|
29
|
+
|
|
30
30
|
function getStructure(template) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
const structure: { fields: Field[] } = {fields: []}
|
|
32
|
+
for (let [key, value] of Object.entries(template)) {
|
|
33
|
+
let field = {name: key, type: typeof value}
|
|
34
|
+
structure.fields.push(field)
|
|
35
|
+
}
|
|
36
|
+
return structure
|
|
37
37
|
}
|
|
38
|
+
|
|
38
39
|
const defaultFee = {
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
amount: [],
|
|
41
|
+
gas: "200000",
|
|
41
42
|
};
|
|
42
43
|
|
|
43
44
|
interface TxClientOptions {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
addr: string
|
|
46
|
+
prefix: string
|
|
47
|
+
signer?: OfflineSigner
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
export const txClient = ({
|
|
50
|
+
export const txClient = ({signer, prefix, addr}: TxClientOptions = {
|
|
51
|
+
addr: "http://localhost:26657",
|
|
52
|
+
prefix: "cosmos"
|
|
53
|
+
}) => {
|
|
50
54
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
+
return {}
|
|
55
56
|
};
|
|
56
57
|
|
|
57
58
|
interface QueryClientOptions {
|
|
58
|
-
|
|
59
|
+
addr: string
|
|
59
60
|
}
|
|
60
61
|
|
|
61
|
-
export const queryClient = ({
|
|
62
|
-
|
|
62
|
+
export const queryClient = ({addr: addr}: QueryClientOptions = {addr: "http://localhost:1317"}) => {
|
|
63
|
+
return new Api({baseURL: addr});
|
|
63
64
|
};
|
|
64
65
|
|
|
65
66
|
class SDKModule {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
67
|
+
public query: ReturnType<typeof queryClient>;
|
|
68
|
+
public tx: ReturnType<typeof txClient>;
|
|
69
|
+
public structure: Record<string, unknown>;
|
|
70
|
+
public registry: Array<[string, GeneratedType]> = [];
|
|
71
|
+
|
|
72
|
+
constructor(client: IgniteClient) {
|
|
73
|
+
|
|
74
|
+
this.query = queryClient({addr: client.env.apiURL});
|
|
75
|
+
this.updateTX(client);
|
|
76
|
+
this.structure = {
|
|
77
|
+
Channel: getStructure(typeChannel.fromPartial({})),
|
|
78
|
+
IdentifiedChannel: getStructure(typeIdentifiedChannel.fromPartial({})),
|
|
79
|
+
Counterparty: getStructure(typeCounterparty.fromPartial({})),
|
|
80
|
+
Packet: getStructure(typePacket.fromPartial({})),
|
|
81
|
+
PacketState: getStructure(typePacketState.fromPartial({})),
|
|
82
|
+
PacketId: getStructure(typePacketId.fromPartial({})),
|
|
83
|
+
Acknowledgement: getStructure(typeAcknowledgement.fromPartial({})),
|
|
84
|
+
PacketSequence: getStructure(typePacketSequence.fromPartial({})),
|
|
85
|
+
|
|
86
|
+
};
|
|
87
|
+
client.on('signer-changed', (signer) => {
|
|
88
|
+
this.updateTX(client);
|
|
89
|
+
})
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
updateTX(client: IgniteClient) {
|
|
93
|
+
const methods = txClient({
|
|
94
|
+
signer: client.signer,
|
|
95
|
+
addr: client.env.rpcURL,
|
|
96
|
+
prefix: client.env.prefix ?? "cosmos",
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
this.tx = methods;
|
|
100
|
+
for (let m in methods) {
|
|
101
|
+
this.tx[m] = methods[m].bind(this.tx);
|
|
102
|
+
}
|
|
100
103
|
}
|
|
101
|
-
}
|
|
102
104
|
};
|
|
103
105
|
|
|
104
106
|
const Module = (test: IgniteClient) => {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
return {
|
|
108
|
+
module: {
|
|
109
|
+
IbcCoreChannelV1: new SDKModule(test)
|
|
110
|
+
},
|
|
111
|
+
registry: msgTypes
|
|
112
|
+
}
|
|
111
113
|
}
|
|
112
114
|
export default Module;
|
|
@@ -24,7 +24,10 @@ const defaultFee = {
|
|
|
24
24
|
amount: [],
|
|
25
25
|
gas: "200000",
|
|
26
26
|
};
|
|
27
|
-
export const txClient = ({ signer, prefix, addr } = {
|
|
27
|
+
export const txClient = ({ signer, prefix, addr } = {
|
|
28
|
+
addr: "http://localhost:26657",
|
|
29
|
+
prefix: "cosmos"
|
|
30
|
+
}) => {
|
|
28
31
|
return {};
|
|
29
32
|
};
|
|
30
33
|
export const queryClient = ({ addr: addr } = { addr: "http://localhost:1317" }) => {
|