coreum-js 2.6.8 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +345 -0
- package/dist/main/client/index.d.ts +31 -1
- package/dist/main/client/index.js +101 -3
- package/dist/main/coreum/index.d.ts +17 -235
- package/dist/main/coreum/index.js +1 -1
- package/dist/main/cosmos/index.d.ts +31 -766
- package/dist/main/cosmos/index.js +1 -1
- package/dist/main/index.d.ts +1 -0
- package/dist/main/index.js +15 -2
- package/dist/main/types/msgs.d.ts +672 -0
- package/dist/main/types/msgs.js +3 -0
- package/dist/main/types/signing.d.ts +6 -1
- package/dist/main/types/signing.js +1 -1
- package/dist/main/utils/wallet.d.ts +2 -0
- package/dist/main/utils/wallet.js +18 -2
- package/dist/main/wasm/v1/index.d.ts +15 -266
- package/dist/main/wasm/v1/index.js +17 -2
- package/dist/module/client/index.d.ts +31 -1
- package/dist/module/client/index.js +104 -5
- package/dist/module/coreum/index.d.ts +17 -235
- package/dist/module/coreum/index.js +1 -1
- package/dist/module/cosmos/index.d.ts +31 -766
- package/dist/module/cosmos/index.js +1 -1
- package/dist/module/index.d.ts +1 -0
- package/dist/module/index.js +2 -1
- package/dist/module/types/msgs.d.ts +672 -0
- package/dist/module/types/msgs.js +2 -0
- package/dist/module/types/signing.d.ts +6 -1
- package/dist/module/types/signing.js +1 -1
- package/dist/module/utils/wallet.d.ts +2 -0
- package/dist/module/utils/wallet.js +16 -1
- package/dist/module/wasm/v1/index.d.ts +15 -266
- package/dist/module/wasm/v1/index.js +16 -1
- package/package.json +2 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { coreumRegistry } from "../coreum";
|
|
2
|
+
import { cosmwasmRegistry } from "../wasm/v1";
|
|
2
3
|
import { setupFTExtension } from "../coreum/extensions/ft";
|
|
3
4
|
import { setupNFTExtension } from "../coreum/extensions/nft";
|
|
4
5
|
import { setupNFTBetaExtension } from "../coreum/extensions/nftbeta";
|
|
@@ -7,19 +8,21 @@ import { COREUM_CONFIG } from "../types/coreum";
|
|
|
7
8
|
import { QueryClientImpl as FeeModelClient } from "../coreum/feemodel/v1/query";
|
|
8
9
|
import { Registry, } from "@cosmjs/proto-signing";
|
|
9
10
|
import { Tendermint34Client, WebsocketClient } from "@cosmjs/tendermint-rpc";
|
|
10
|
-
import { ExtensionWallets, generateWalletFromMnemonic, } from "..";
|
|
11
|
-
import { GasPrice, QueryClient, calculateFee, createProtobufRpcClient, decodeCosmosSdkDecFromProto, defaultRegistryTypes, setupAuthExtension, setupFeegrantExtension, setupIbcExtension, setupMintExtension, setupStakingExtension, setupTxExtension, } from "@cosmjs/stargate";
|
|
11
|
+
import { ExtensionWallets, generateWalletFromMnemonic, generateMultisigFromPubkeys, } from "..";
|
|
12
|
+
import { GasPrice, QueryClient, StargateClient, calculateFee, createProtobufRpcClient, decodeCosmosSdkDecFromProto, defaultRegistryTypes, setupAuthExtension, setupFeegrantExtension, setupIbcExtension, setupMintExtension, setupStakingExtension, setupTxExtension, } from "@cosmjs/stargate";
|
|
12
13
|
import { setupBankExtension, setupGovExtension, setupDistributionExtension, } from "../cosmos/extensions";
|
|
13
14
|
import EventEmitter from "eventemitter3";
|
|
14
15
|
import { parseSubscriptionEvents } from "../utils/event";
|
|
15
16
|
import { cosmos } from "@cosmostation/extension-client";
|
|
16
17
|
import { SigningCosmWasmClient, setupWasmExtension, } from "@cosmjs/cosmwasm-stargate";
|
|
18
|
+
import BigNumber from "bignumber.js";
|
|
17
19
|
function isSigningClient(object) {
|
|
18
20
|
return "signAndBroadcast" in object;
|
|
19
21
|
}
|
|
20
22
|
export class Client {
|
|
21
23
|
_tmClient;
|
|
22
24
|
_queryClient;
|
|
25
|
+
_offlineSigner;
|
|
23
26
|
_wsClient;
|
|
24
27
|
_client;
|
|
25
28
|
_address;
|
|
@@ -53,6 +56,13 @@ export class Client {
|
|
|
53
56
|
get address() {
|
|
54
57
|
return this._address;
|
|
55
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Accessor to get the Stargate Client
|
|
61
|
+
* @returns A Stargate client or undefined if the connection hasn't been created
|
|
62
|
+
*/
|
|
63
|
+
get stargate() {
|
|
64
|
+
return this._client;
|
|
65
|
+
}
|
|
56
66
|
/**
|
|
57
67
|
* Initializes the connection to the Chain, without a signer. Just for querying purposes
|
|
58
68
|
*
|
|
@@ -62,6 +72,7 @@ export class Client {
|
|
|
62
72
|
*/
|
|
63
73
|
async connect(options) {
|
|
64
74
|
await this._initTendermintClient(this.config.chain_rpc_endpoint);
|
|
75
|
+
await this._createClient();
|
|
65
76
|
this._initQueryClient();
|
|
66
77
|
this._initFeeModel();
|
|
67
78
|
if (options?.withWS) {
|
|
@@ -133,11 +144,31 @@ export class Client {
|
|
|
133
144
|
const signer = this._client;
|
|
134
145
|
const gasPrice = await this._getGasPrice();
|
|
135
146
|
const gas_wanted = await signer.simulate(this._address, msgs, "");
|
|
147
|
+
const total_gas_wanted = new BigNumber(gas_wanted)
|
|
148
|
+
.multipliedBy(1.2)
|
|
149
|
+
.integerValue()
|
|
150
|
+
.toNumber();
|
|
136
151
|
return {
|
|
137
|
-
gas_wanted:
|
|
138
|
-
fee: calculateFee(
|
|
152
|
+
gas_wanted: total_gas_wanted,
|
|
153
|
+
fee: calculateFee(total_gas_wanted, gasPrice),
|
|
139
154
|
};
|
|
140
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
*
|
|
158
|
+
* @param transaction Transaction to be submitted
|
|
159
|
+
* @returns The response of the chain
|
|
160
|
+
*/
|
|
161
|
+
async broadcastTx(transaction, options) {
|
|
162
|
+
try {
|
|
163
|
+
return await this._client.broadcastTx(transaction, options?.timeoutMs || undefined, options?.pollIntervalMs || undefined);
|
|
164
|
+
}
|
|
165
|
+
catch (e) {
|
|
166
|
+
throw {
|
|
167
|
+
thrower: e.thrower || "broadcastTx",
|
|
168
|
+
error: e.error || e,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
}
|
|
141
172
|
/**
|
|
142
173
|
*
|
|
143
174
|
* @param msgs An array of messages for the Transaction
|
|
@@ -157,6 +188,32 @@ export class Client {
|
|
|
157
188
|
};
|
|
158
189
|
}
|
|
159
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
*
|
|
193
|
+
* @param msgs An array of messages for the Transaction
|
|
194
|
+
* @param memo An arbitrary string to add as Memo for the transaction
|
|
195
|
+
* @returns TxRaw object to be submitted to the chain
|
|
196
|
+
*/
|
|
197
|
+
async signTx(msgs, memo) {
|
|
198
|
+
try {
|
|
199
|
+
this._isSigningClientInit();
|
|
200
|
+
const signingClient = this._client;
|
|
201
|
+
const { accountNumber, sequence } = await this._client.getAccount(this.address);
|
|
202
|
+
const { fee } = await this.getTxFee(msgs);
|
|
203
|
+
const signerData = {
|
|
204
|
+
accountNumber,
|
|
205
|
+
sequence,
|
|
206
|
+
chainId: this.config.chain_id,
|
|
207
|
+
};
|
|
208
|
+
return await signingClient.sign(this.address, msgs, fee, memo || "", signerData);
|
|
209
|
+
}
|
|
210
|
+
catch (e) {
|
|
211
|
+
throw {
|
|
212
|
+
thrower: e.thrower || "addSignature",
|
|
213
|
+
error: e.error || e,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
}
|
|
160
217
|
/**
|
|
161
218
|
*
|
|
162
219
|
* @param event String describing the event to subscribe to.
|
|
@@ -205,6 +262,40 @@ export class Client {
|
|
|
205
262
|
};
|
|
206
263
|
}
|
|
207
264
|
}
|
|
265
|
+
/**
|
|
266
|
+
*
|
|
267
|
+
* @param addresses An array of addresses that should be added to the Multisig Account
|
|
268
|
+
* @param threshold The minimum amount of signatures required for the transaction to be valid
|
|
269
|
+
* @returns A MultisigAccount object
|
|
270
|
+
*/
|
|
271
|
+
async createMultisigAccount(addresses, threshold = 2) {
|
|
272
|
+
try {
|
|
273
|
+
if (addresses.length < 2)
|
|
274
|
+
throw {
|
|
275
|
+
thrower: "createMultisigAccount",
|
|
276
|
+
error: new Error("addresses param must be at least of length: 2"),
|
|
277
|
+
};
|
|
278
|
+
const pubkeys = [];
|
|
279
|
+
for (var i = 0; i < addresses.length; i++) {
|
|
280
|
+
const account = await this._client.getAccount(addresses[i]);
|
|
281
|
+
console.log(addresses[i] + " data => ", account);
|
|
282
|
+
if (!account || !account.pubkey)
|
|
283
|
+
throw {
|
|
284
|
+
thrower: "createMultisigAccount",
|
|
285
|
+
error: new Error(addresses[i] +
|
|
286
|
+
" has no pubkey on chain, this address will need to send a transaction to appear on chain."),
|
|
287
|
+
};
|
|
288
|
+
pubkeys.push(account.pubkey.value);
|
|
289
|
+
}
|
|
290
|
+
return generateMultisigFromPubkeys(pubkeys, threshold, this.config.chain_bech32_prefix);
|
|
291
|
+
}
|
|
292
|
+
catch (e) {
|
|
293
|
+
throw {
|
|
294
|
+
thrower: e.thrower || "createMultisigAccount",
|
|
295
|
+
error: e.error || e,
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
}
|
|
208
299
|
async _getGasPrice() {
|
|
209
300
|
const gasPriceMultiplier = 1.1;
|
|
210
301
|
// the param can be change via governance
|
|
@@ -234,12 +325,19 @@ export class Client {
|
|
|
234
325
|
}
|
|
235
326
|
async _initWsClient(wsEndpoint) {
|
|
236
327
|
this._wsClient = new WebsocketClient(wsEndpoint);
|
|
328
|
+
this.subscribeToEvent("tm.event='NewBlock'");
|
|
237
329
|
}
|
|
238
330
|
async _createClient(offlineSigner) {
|
|
239
331
|
try {
|
|
332
|
+
if (!offlineSigner) {
|
|
333
|
+
this._client = await StargateClient.create(this._tmClient);
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
240
336
|
const [{ address }] = await offlineSigner.getAccounts();
|
|
241
337
|
this._address = address;
|
|
242
338
|
const registry = Client.getRegistry();
|
|
339
|
+
// OfflineSigner
|
|
340
|
+
this._offlineSigner = offlineSigner;
|
|
243
341
|
// signing client
|
|
244
342
|
this._client = await SigningCosmWasmClient.connectWithSigner(this.config.chain_rpc_endpoint, offlineSigner, {
|
|
245
343
|
registry: registry,
|
|
@@ -306,8 +404,9 @@ export class Client {
|
|
|
306
404
|
let registryTypes = [
|
|
307
405
|
...defaultRegistryTypes,
|
|
308
406
|
...coreumRegistry,
|
|
407
|
+
...cosmwasmRegistry,
|
|
309
408
|
];
|
|
310
409
|
return new Registry(registryTypes);
|
|
311
410
|
}
|
|
312
411
|
}
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUNMLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxvQkFBb0IsR0FDckIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGFBQWEsRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxJQUFJLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hGLE9BQU8sRUFJTCxRQUFRLEdBQ1QsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0UsT0FBTyxFQUNMLGdCQUFnQixFQUdoQiwwQkFBMEIsR0FDM0IsTUFBTSxJQUFJLENBQUM7QUFDWixPQUFPLEVBRUwsUUFBUSxFQUNSLFdBQVcsRUFHWCxZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixnQkFBZ0IsR0FDakIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQiwwQkFBMEIsR0FDM0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLFlBQVksTUFB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
|
|
412
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFDTCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0QixXQUFXLEVBQ1gsb0JBQW9CLEdBQ3JCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxhQUFhLEVBQXVCLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsSUFBSSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRixPQUFPLEVBSUwsUUFBUSxHQUNULE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdFLE9BQU8sRUFDTCxnQkFBZ0IsRUFHaEIsMEJBQTBCLEVBQzFCLDJCQUEyQixHQUM1QixNQUFNLElBQUksQ0FBQztBQUNaLE9BQU8sRUFFTCxRQUFRLEVBQ1IsV0FBVyxFQUNYLGNBQWMsRUFDZCxZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixnQkFBZ0IsR0FDakIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQ0wsa0JBQWtCLEVB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
|
|
@@ -2,6 +2,7 @@ import { GeneratedType } from "@cosmjs/proto-signing";
|
|
|
2
2
|
import { MsgSend as NFTMsgSend } from "./nft/v1beta1/tx";
|
|
3
3
|
import { MsgIssueClass as NFTMsgIssueClass, MsgMint as NFTMsgMint, MsgAddToWhitelist as NFTMsgAddToWhitelist, MsgBurn as NFTMsgBurn, MsgRemoveFromWhitelist as NFTMsgRemoveFromWhitelist, MsgFreeze as NFTMsgFreeze, MsgUnfreeze as NFTMsgUnfreeze } from "./asset/nft/v1/tx";
|
|
4
4
|
import { MsgIssue as FTMsgIssue, MsgMint as FTMsgMint, MsgBurn as FTMsgBurn, MsgFreeze as FTMsgFreeze, MsgUnfreeze as FTMsgUnfreeze, MsgGloballyFreeze as FTMsgGloballyFreeze, MsgGloballyUnfreeze as FTMsgGloballyUnfreeze, MsgSetWhitelistedLimit as FTMsgSetWhitelistedLimit } from "./asset/ft/v1/tx";
|
|
5
|
+
import { FTMsgs, NFTMsgs } from "../types/msgs";
|
|
5
6
|
/** @internal */
|
|
6
7
|
export interface CoreumMessage {
|
|
7
8
|
typeUrl: string;
|
|
@@ -21,22 +22,7 @@ export declare namespace FT {
|
|
|
21
22
|
* @param object Represents the properties available for this MsgMint message.
|
|
22
23
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
23
24
|
*/
|
|
24
|
-
const Mint:
|
|
25
|
-
sender?: string;
|
|
26
|
-
coin?: {
|
|
27
|
-
denom?: string;
|
|
28
|
-
amount?: string;
|
|
29
|
-
};
|
|
30
|
-
} & {
|
|
31
|
-
sender?: string;
|
|
32
|
-
coin?: {
|
|
33
|
-
denom?: string;
|
|
34
|
-
amount?: string;
|
|
35
|
-
} & {
|
|
36
|
-
denom?: string;
|
|
37
|
-
amount?: string;
|
|
38
|
-
} & { [K in Exclude<keyof I["coin"], keyof import("../cosmos/base/v1beta1/coin").Coin>]: never; };
|
|
39
|
-
} & { [K_1 in Exclude<keyof I, keyof FTMsgMint>]: never; }>(object: I) => {
|
|
25
|
+
const Mint: (object: FTMsgs.MsgMint) => {
|
|
40
26
|
typeUrl: string;
|
|
41
27
|
value: FTMsgMint;
|
|
42
28
|
};
|
|
@@ -46,27 +32,7 @@ export declare namespace FT {
|
|
|
46
32
|
* @param object Represents the properties available for this MsgIssue message.
|
|
47
33
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
48
34
|
*/
|
|
49
|
-
const Issue:
|
|
50
|
-
issuer?: string;
|
|
51
|
-
symbol?: string;
|
|
52
|
-
subunit?: string;
|
|
53
|
-
precision?: number;
|
|
54
|
-
initialAmount?: string;
|
|
55
|
-
description?: string;
|
|
56
|
-
features?: import("./asset/ft/v1/token").Feature[];
|
|
57
|
-
burnRate?: string;
|
|
58
|
-
sendCommissionRate?: string;
|
|
59
|
-
} & {
|
|
60
|
-
issuer?: string;
|
|
61
|
-
symbol?: string;
|
|
62
|
-
subunit?: string;
|
|
63
|
-
precision?: number;
|
|
64
|
-
initialAmount?: string;
|
|
65
|
-
description?: string;
|
|
66
|
-
features?: import("./asset/ft/v1/token").Feature[] & import("./asset/ft/v1/token").Feature[] & { [K in Exclude<keyof I["features"], keyof import("./asset/ft/v1/token").Feature[]>]: never; };
|
|
67
|
-
burnRate?: string;
|
|
68
|
-
sendCommissionRate?: string;
|
|
69
|
-
} & { [K_1 in Exclude<keyof I, keyof FTMsgIssue>]: never; }>(object: I) => {
|
|
35
|
+
const Issue: (object: FTMsgs.MsgIssue) => {
|
|
70
36
|
typeUrl: string;
|
|
71
37
|
value: FTMsgIssue;
|
|
72
38
|
};
|
|
@@ -76,22 +42,7 @@ export declare namespace FT {
|
|
|
76
42
|
* @param object Represents the properties available for this MsgBurn message.
|
|
77
43
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
78
44
|
*/
|
|
79
|
-
const Burn:
|
|
80
|
-
sender?: string;
|
|
81
|
-
coin?: {
|
|
82
|
-
denom?: string;
|
|
83
|
-
amount?: string;
|
|
84
|
-
};
|
|
85
|
-
} & {
|
|
86
|
-
sender?: string;
|
|
87
|
-
coin?: {
|
|
88
|
-
denom?: string;
|
|
89
|
-
amount?: string;
|
|
90
|
-
} & {
|
|
91
|
-
denom?: string;
|
|
92
|
-
amount?: string;
|
|
93
|
-
} & { [K in Exclude<keyof I["coin"], keyof import("../cosmos/base/v1beta1/coin").Coin>]: never; };
|
|
94
|
-
} & { [K_1 in Exclude<keyof I, keyof FTMsgBurn>]: never; }>(object: I) => {
|
|
45
|
+
const Burn: (object: FTMsgs.MsgBurn) => {
|
|
95
46
|
typeUrl: string;
|
|
96
47
|
value: FTMsgBurn;
|
|
97
48
|
};
|
|
@@ -101,24 +52,7 @@ export declare namespace FT {
|
|
|
101
52
|
* @param object Represents the properties available for this MsgIssue message.
|
|
102
53
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
103
54
|
*/
|
|
104
|
-
const Freeze:
|
|
105
|
-
sender?: string;
|
|
106
|
-
account?: string;
|
|
107
|
-
coin?: {
|
|
108
|
-
denom?: string;
|
|
109
|
-
amount?: string;
|
|
110
|
-
};
|
|
111
|
-
} & {
|
|
112
|
-
sender?: string;
|
|
113
|
-
account?: string;
|
|
114
|
-
coin?: {
|
|
115
|
-
denom?: string;
|
|
116
|
-
amount?: string;
|
|
117
|
-
} & {
|
|
118
|
-
denom?: string;
|
|
119
|
-
amount?: string;
|
|
120
|
-
} & { [K in Exclude<keyof I["coin"], keyof import("../cosmos/base/v1beta1/coin").Coin>]: never; };
|
|
121
|
-
} & { [K_1 in Exclude<keyof I, keyof FTMsgFreeze>]: never; }>(object: I) => {
|
|
55
|
+
const Freeze: (object: FTMsgs.MsgFreeze) => {
|
|
122
56
|
typeUrl: string;
|
|
123
57
|
value: FTMsgFreeze;
|
|
124
58
|
};
|
|
@@ -128,13 +62,7 @@ export declare namespace FT {
|
|
|
128
62
|
* @param object Represents the properties available for this MsgGloballyFreeze message.
|
|
129
63
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
130
64
|
*/
|
|
131
|
-
const GloballyFreeze:
|
|
132
|
-
sender?: string;
|
|
133
|
-
denom?: string;
|
|
134
|
-
} & {
|
|
135
|
-
sender?: string;
|
|
136
|
-
denom?: string;
|
|
137
|
-
} & { [K in Exclude<keyof I, keyof FTMsgGloballyFreeze>]: never; }>(object: I) => {
|
|
65
|
+
const GloballyFreeze: (object: FTMsgs.MsgGloballyFreeze) => {
|
|
138
66
|
typeUrl: string;
|
|
139
67
|
value: FTMsgGloballyFreeze;
|
|
140
68
|
};
|
|
@@ -144,13 +72,7 @@ export declare namespace FT {
|
|
|
144
72
|
* @param object Represents the properties available for this MsgGloballyUnfreeze message.
|
|
145
73
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
146
74
|
*/
|
|
147
|
-
const GloballyUnfreeze:
|
|
148
|
-
sender?: string;
|
|
149
|
-
denom?: string;
|
|
150
|
-
} & {
|
|
151
|
-
sender?: string;
|
|
152
|
-
denom?: string;
|
|
153
|
-
} & { [K in Exclude<keyof I, keyof FTMsgGloballyUnfreeze>]: never; }>(object: I) => {
|
|
75
|
+
const GloballyUnfreeze: (object: FTMsgs.MsgGloballyUnfreeze) => {
|
|
154
76
|
typeUrl: string;
|
|
155
77
|
value: FTMsgGloballyUnfreeze;
|
|
156
78
|
};
|
|
@@ -160,24 +82,7 @@ export declare namespace FT {
|
|
|
160
82
|
* @param object Represents the properties available for this MsgUnfreeze message.
|
|
161
83
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
162
84
|
*/
|
|
163
|
-
const Unfreeze:
|
|
164
|
-
sender?: string;
|
|
165
|
-
account?: string;
|
|
166
|
-
coin?: {
|
|
167
|
-
denom?: string;
|
|
168
|
-
amount?: string;
|
|
169
|
-
};
|
|
170
|
-
} & {
|
|
171
|
-
sender?: string;
|
|
172
|
-
account?: string;
|
|
173
|
-
coin?: {
|
|
174
|
-
denom?: string;
|
|
175
|
-
amount?: string;
|
|
176
|
-
} & {
|
|
177
|
-
denom?: string;
|
|
178
|
-
amount?: string;
|
|
179
|
-
} & { [K in Exclude<keyof I["coin"], keyof import("../cosmos/base/v1beta1/coin").Coin>]: never; };
|
|
180
|
-
} & { [K_1 in Exclude<keyof I, keyof FTMsgUnfreeze>]: never; }>(object: I) => {
|
|
85
|
+
const Unfreeze: (object: FTMsgs.MsgUnfreeze) => {
|
|
181
86
|
typeUrl: string;
|
|
182
87
|
value: FTMsgUnfreeze;
|
|
183
88
|
};
|
|
@@ -187,24 +92,7 @@ export declare namespace FT {
|
|
|
187
92
|
* @param object Represents the properties available for this MsgSetWhitelistedLimit message.
|
|
188
93
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
189
94
|
*/
|
|
190
|
-
const SetWhitelistedLimit:
|
|
191
|
-
sender?: string;
|
|
192
|
-
account?: string;
|
|
193
|
-
coin?: {
|
|
194
|
-
denom?: string;
|
|
195
|
-
amount?: string;
|
|
196
|
-
};
|
|
197
|
-
} & {
|
|
198
|
-
sender?: string;
|
|
199
|
-
account?: string;
|
|
200
|
-
coin?: {
|
|
201
|
-
denom?: string;
|
|
202
|
-
amount?: string;
|
|
203
|
-
} & {
|
|
204
|
-
denom?: string;
|
|
205
|
-
amount?: string;
|
|
206
|
-
} & { [K in Exclude<keyof I["coin"], keyof import("../cosmos/base/v1beta1/coin").Coin>]: never; };
|
|
207
|
-
} & { [K_1 in Exclude<keyof I, keyof FTMsgSetWhitelistedLimit>]: never; }>(object: I) => {
|
|
95
|
+
const SetWhitelistedLimit: (object: FTMsgs.MsgSetWhitelistedLimit) => {
|
|
208
96
|
typeUrl: string;
|
|
209
97
|
value: FTMsgSetWhitelistedLimit;
|
|
210
98
|
};
|
|
@@ -219,30 +107,7 @@ export declare namespace NFT {
|
|
|
219
107
|
* @param object Represents the properties available for this MsgMint message.
|
|
220
108
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
221
109
|
*/
|
|
222
|
-
const Mint:
|
|
223
|
-
sender?: string;
|
|
224
|
-
classId?: string;
|
|
225
|
-
id?: string;
|
|
226
|
-
uri?: string;
|
|
227
|
-
uriHash?: string;
|
|
228
|
-
data?: {
|
|
229
|
-
typeUrl?: string;
|
|
230
|
-
value?: Uint8Array;
|
|
231
|
-
};
|
|
232
|
-
} & {
|
|
233
|
-
sender?: string;
|
|
234
|
-
classId?: string;
|
|
235
|
-
id?: string;
|
|
236
|
-
uri?: string;
|
|
237
|
-
uriHash?: string;
|
|
238
|
-
data?: {
|
|
239
|
-
typeUrl?: string;
|
|
240
|
-
value?: Uint8Array;
|
|
241
|
-
} & {
|
|
242
|
-
typeUrl?: string;
|
|
243
|
-
value?: Uint8Array;
|
|
244
|
-
} & { [K in Exclude<keyof I["data"], keyof import("../google/protobuf/any").Any>]: never; };
|
|
245
|
-
} & { [K_1 in Exclude<keyof I, keyof NFTMsgMint>]: never; }>(object: I) => {
|
|
110
|
+
const Mint: (object: NFTMsgs.MsgMint) => {
|
|
246
111
|
typeUrl: string;
|
|
247
112
|
value: NFTMsgMint;
|
|
248
113
|
};
|
|
@@ -252,17 +117,7 @@ export declare namespace NFT {
|
|
|
252
117
|
* @param object Represents the properties available for this MsgAddToWhitelist message.
|
|
253
118
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
254
119
|
*/
|
|
255
|
-
const AddToWhitelist:
|
|
256
|
-
sender?: string;
|
|
257
|
-
classId?: string;
|
|
258
|
-
id?: string;
|
|
259
|
-
account?: string;
|
|
260
|
-
} & {
|
|
261
|
-
sender?: string;
|
|
262
|
-
classId?: string;
|
|
263
|
-
id?: string;
|
|
264
|
-
account?: string;
|
|
265
|
-
} & { [K in Exclude<keyof I, keyof NFTMsgAddToWhitelist>]: never; }>(object: I) => {
|
|
120
|
+
const AddToWhitelist: (object: NFTMsgs.MsgAddToWhitelist) => {
|
|
266
121
|
typeUrl: string;
|
|
267
122
|
value: NFTMsgAddToWhitelist;
|
|
268
123
|
};
|
|
@@ -272,17 +127,7 @@ export declare namespace NFT {
|
|
|
272
127
|
* @param object Represents the properties available for this MsgRemoveFromWhitelist message.
|
|
273
128
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
274
129
|
*/
|
|
275
|
-
const RemoveFromWhitelist:
|
|
276
|
-
sender?: string;
|
|
277
|
-
classId?: string;
|
|
278
|
-
id?: string;
|
|
279
|
-
account?: string;
|
|
280
|
-
} & {
|
|
281
|
-
sender?: string;
|
|
282
|
-
classId?: string;
|
|
283
|
-
id?: string;
|
|
284
|
-
account?: string;
|
|
285
|
-
} & { [K in Exclude<keyof I, keyof NFTMsgRemoveFromWhitelist>]: never; }>(object: I) => {
|
|
130
|
+
const RemoveFromWhitelist: (object: NFTMsgs.MsgRemoveFromWhitelist) => {
|
|
286
131
|
typeUrl: string;
|
|
287
132
|
value: NFTMsgRemoveFromWhitelist;
|
|
288
133
|
};
|
|
@@ -292,15 +137,7 @@ export declare namespace NFT {
|
|
|
292
137
|
* @param object Represents the properties available for this MsgBurn message.
|
|
293
138
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
294
139
|
*/
|
|
295
|
-
const Burn:
|
|
296
|
-
sender?: string;
|
|
297
|
-
classId?: string;
|
|
298
|
-
id?: string;
|
|
299
|
-
} & {
|
|
300
|
-
sender?: string;
|
|
301
|
-
classId?: string;
|
|
302
|
-
id?: string;
|
|
303
|
-
} & { [K in Exclude<keyof I, keyof NFTMsgBurn>]: never; }>(object: I) => {
|
|
140
|
+
const Burn: (object: NFTMsgs.MsgBurn) => {
|
|
304
141
|
typeUrl: string;
|
|
305
142
|
value: NFTMsgBurn;
|
|
306
143
|
};
|
|
@@ -310,15 +147,7 @@ export declare namespace NFT {
|
|
|
310
147
|
* @param object Represents the properties available for this MsgFreeze message.
|
|
311
148
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
312
149
|
*/
|
|
313
|
-
const Freeze:
|
|
314
|
-
sender?: string;
|
|
315
|
-
classId?: string;
|
|
316
|
-
id?: string;
|
|
317
|
-
} & {
|
|
318
|
-
sender?: string;
|
|
319
|
-
classId?: string;
|
|
320
|
-
id?: string;
|
|
321
|
-
} & { [K in Exclude<keyof I, keyof NFTMsgFreeze>]: never; }>(object: I) => {
|
|
150
|
+
const Freeze: (object: NFTMsgs.MsgFreeze) => {
|
|
322
151
|
typeUrl: string;
|
|
323
152
|
value: NFTMsgFreeze;
|
|
324
153
|
};
|
|
@@ -328,15 +157,7 @@ export declare namespace NFT {
|
|
|
328
157
|
* @param object Represents the properties available for this MsgUnfreeze message.
|
|
329
158
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
330
159
|
*/
|
|
331
|
-
const Unfreeze:
|
|
332
|
-
sender?: string;
|
|
333
|
-
classId?: string;
|
|
334
|
-
id?: string;
|
|
335
|
-
} & {
|
|
336
|
-
sender?: string;
|
|
337
|
-
classId?: string;
|
|
338
|
-
id?: string;
|
|
339
|
-
} & { [K in Exclude<keyof I, keyof NFTMsgUnfreeze>]: never; }>(object: I) => {
|
|
160
|
+
const Unfreeze: (object: NFTMsgs.MsgUnfreeze) => {
|
|
340
161
|
typeUrl: string;
|
|
341
162
|
value: NFTMsgUnfreeze;
|
|
342
163
|
};
|
|
@@ -346,36 +167,7 @@ export declare namespace NFT {
|
|
|
346
167
|
* @param object Represents the properties available for this MsgIssueClass message.
|
|
347
168
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
348
169
|
*/
|
|
349
|
-
const IssueClass:
|
|
350
|
-
issuer?: string;
|
|
351
|
-
symbol?: string;
|
|
352
|
-
name?: string;
|
|
353
|
-
description?: string;
|
|
354
|
-
uri?: string;
|
|
355
|
-
uriHash?: string;
|
|
356
|
-
data?: {
|
|
357
|
-
typeUrl?: string;
|
|
358
|
-
value?: Uint8Array;
|
|
359
|
-
};
|
|
360
|
-
features?: import("./asset/nft/v1/nft").ClassFeature[];
|
|
361
|
-
royaltyRate?: string;
|
|
362
|
-
} & {
|
|
363
|
-
issuer?: string;
|
|
364
|
-
symbol?: string;
|
|
365
|
-
name?: string;
|
|
366
|
-
description?: string;
|
|
367
|
-
uri?: string;
|
|
368
|
-
uriHash?: string;
|
|
369
|
-
data?: {
|
|
370
|
-
typeUrl?: string;
|
|
371
|
-
value?: Uint8Array;
|
|
372
|
-
} & {
|
|
373
|
-
typeUrl?: string;
|
|
374
|
-
value?: Uint8Array;
|
|
375
|
-
} & { [K in Exclude<keyof I["data"], keyof import("../google/protobuf/any").Any>]: never; };
|
|
376
|
-
features?: import("./asset/nft/v1/nft").ClassFeature[] & import("./asset/nft/v1/nft").ClassFeature[] & { [K_1 in Exclude<keyof I["features"], keyof import("./asset/nft/v1/nft").ClassFeature[]>]: never; };
|
|
377
|
-
royaltyRate?: string;
|
|
378
|
-
} & { [K_2 in Exclude<keyof I, keyof NFTMsgIssueClass>]: never; }>(object: I) => {
|
|
170
|
+
const IssueClass: (object: NFTMsgIssueClass) => {
|
|
379
171
|
typeUrl: string;
|
|
380
172
|
value: NFTMsgIssueClass;
|
|
381
173
|
};
|
|
@@ -385,17 +177,7 @@ export declare namespace NFT {
|
|
|
385
177
|
* @param object Represents the properties available for this MsgSend message.
|
|
386
178
|
* @returns A Msg object with the typeUrl and value object for the proper message
|
|
387
179
|
*/
|
|
388
|
-
const Send:
|
|
389
|
-
classId?: string;
|
|
390
|
-
id?: string;
|
|
391
|
-
sender?: string;
|
|
392
|
-
receiver?: string;
|
|
393
|
-
} & {
|
|
394
|
-
classId?: string;
|
|
395
|
-
id?: string;
|
|
396
|
-
sender?: string;
|
|
397
|
-
receiver?: string;
|
|
398
|
-
} & { [K in Exclude<keyof I, keyof NFTMsgSend>]: never; }>(object: I) => {
|
|
180
|
+
const Send: (object: NFTMsgs.MsgSend) => {
|
|
399
181
|
typeUrl: string;
|
|
400
182
|
value: NFTMsgSend;
|
|
401
183
|
};
|
|
@@ -215,4 +215,4 @@ export var NFT;
|
|
|
215
215
|
};
|
|
216
216
|
};
|
|
217
217
|
})(NFT || (NFT = {}));
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZXVtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxJQUFJLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxhQUFhLElBQUksZ0JBQWdCLEVBQ2pDLE9BQU8sSUFBSSxVQUFVLEVBQ3JCLGlCQUFpQixJQUFJLG9CQUFvQixFQUN6QyxPQUFPLElBQUksVUFBVSxFQUNyQixzQkFBc0IsSUFBSSx5QkFBeUIsRUFDbkQsU0FBUyxJQUFJLFlBQVksRUFDekIsV0FBVyxJQUFJLGNBQWMsR0FDOUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQ0wsUUFBUSxJQUFJLFVBQVUsRUFDdEIsT0FBTyxJQUFJLFNBQVMsRUFDcEIsT0FBTyxJQUFJLFNBQVMsRUFDcEIsU0FBUyxJQUFJLFdBQVcsRUFDeEIsV0FBVyxJQUFJLGFBQWEsRUFDNUIsaUJBQWlCLElBQUksbUJBQW1CLEVBQ3hDLG1CQUFtQixJQUFJLHFCQUFxQixFQUM1QyxzQkFBc0IsSUFBSSx3QkFBd0IsR0FDbkQsTUFBTSxrQkFBa0IsQ0FBQztBQVMxQjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBMkM7SUFDcEUsR0FBRyxlQUFlO0lBQ2xCLEdBQUcsZ0JBQWdCO0lBQ25CLEdBQUcsZUFBZTtDQUNuQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLEtBQVcsRUFBRSxDQTRHbEI7QUE1R0QsV0FBaUIsRUFBRTtJQUNqQjs7Ozs7T0FLRztJQUNVLE9BQUksR0FBRyxVQUFVLE1BQXNCO1FBQ2xELE9BQU87WUFDTCxPQUFPLEVBQUUsNkJBQTZCO1lBQ3RD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
|