Update contract tests in CosmWasmClient
This commit is contained in:
parent
a22d0c1947
commit
ca2989eb5d
@ -406,7 +406,7 @@ describe("CosmWasmClient", () => {
|
||||
const [first] = result;
|
||||
expect(first).toEqual({
|
||||
id: 1,
|
||||
checksum: "b26861a6aa9858585ed905a590272735bd4fe8177c708940236224e8c9ff73ca",
|
||||
checksum: "aff8c8873d79d2153a8b9066a0683fec3c903669267eb806ffa831dcd4b3daae",
|
||||
source: undefined,
|
||||
builder: undefined,
|
||||
creator: faucet.address,
|
||||
@ -420,7 +420,7 @@ describe("CosmWasmClient", () => {
|
||||
const client = new CosmWasmClient(httpUrl);
|
||||
const result = await client.getCodeDetails(1);
|
||||
const checksum = new Sha256(result.wasm).digest();
|
||||
expect(checksum).toEqual(fromHex("b26861a6aa9858585ed905a590272735bd4fe8177c708940236224e8c9ff73ca"));
|
||||
expect(checksum).toEqual(fromHex("aff8c8873d79d2153a8b9066a0683fec3c903669267eb806ffa831dcd4b3daae"));
|
||||
});
|
||||
});
|
||||
|
||||
@ -432,65 +432,19 @@ describe("CosmWasmClient", () => {
|
||||
expect(result.length).toBeGreaterThanOrEqual(3);
|
||||
const [jade, hash, isa] = result;
|
||||
expect(hash).toEqual({
|
||||
address: "cosmos18vd8fpwxzck93qlwghaj6arh4p7c5n89uzcee5",
|
||||
codeId: 1,
|
||||
creator: faucet.address,
|
||||
initMsg: {
|
||||
decimals: 5,
|
||||
name: "Hash token",
|
||||
symbol: "HASH",
|
||||
initial_balances: [
|
||||
{
|
||||
address: faucet.address,
|
||||
amount: "11",
|
||||
},
|
||||
{
|
||||
address: unused.address,
|
||||
amount: "12812345",
|
||||
},
|
||||
{
|
||||
address: guest.address,
|
||||
amount: "22004000000",
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
expect(isa).toEqual({
|
||||
address: "cosmos1hqrdl6wstt8qzshwc6mrumpjk9338k0lr4dqxd",
|
||||
codeId: 1,
|
||||
creator: faucet.address,
|
||||
initMsg: {
|
||||
decimals: 0,
|
||||
name: "Isa Token",
|
||||
symbol: "ISA",
|
||||
initial_balances: [
|
||||
{
|
||||
address: faucet.address,
|
||||
amount: "999999999",
|
||||
},
|
||||
{
|
||||
address: unused.address,
|
||||
amount: "42",
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
expect(jade).toEqual({
|
||||
address: "cosmos18r5szma8hm93pvx6lwpjwyxruw27e0k5uw835c",
|
||||
codeId: 1,
|
||||
creator: faucet.address,
|
||||
initMsg: {
|
||||
decimals: 18,
|
||||
name: "Jade Token",
|
||||
symbol: "JADE",
|
||||
initial_balances: [
|
||||
{
|
||||
address: faucet.address,
|
||||
amount: "189189189000000000000000000", // 189189189 JADE
|
||||
},
|
||||
{
|
||||
address: guest.address,
|
||||
amount: "189500000000000000000", // 189.5 JADE
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -501,6 +455,7 @@ describe("CosmWasmClient", () => {
|
||||
const client = new CosmWasmClient(httpUrl);
|
||||
const hash = await client.getContract("cosmos18vd8fpwxzck93qlwghaj6arh4p7c5n89uzcee5");
|
||||
expect(hash).toEqual({
|
||||
address: "cosmos18vd8fpwxzck93qlwghaj6arh4p7c5n89uzcee5",
|
||||
codeId: 1,
|
||||
creator: faucet.address,
|
||||
initMsg: {
|
||||
|
||||
@ -64,10 +64,13 @@ export interface CodeDetails {
|
||||
}
|
||||
|
||||
export interface Contract {
|
||||
// TODO: add contract address (https://github.com/cosmwasm/wasmd/issues/75)
|
||||
readonly address: string;
|
||||
readonly codeId: number;
|
||||
/** Bech32 account address */
|
||||
readonly creator: string;
|
||||
}
|
||||
|
||||
export interface ContractDetails extends Contract {
|
||||
/** Argument passed on initialization of the contract */
|
||||
readonly initMsg: object;
|
||||
}
|
||||
@ -210,16 +213,17 @@ export class CosmWasmClient {
|
||||
|
||||
public async getContracts(codeId: number): Promise<readonly Contract[]> {
|
||||
const result = await this.restClient.listContractsByCodeId(codeId);
|
||||
return result.map(r => ({
|
||||
codeId: r.code_id,
|
||||
creator: r.creator,
|
||||
initMsg: r.init_msg,
|
||||
return result.map(entry => ({
|
||||
address: entry.address,
|
||||
codeId: entry.code_id,
|
||||
creator: entry.creator,
|
||||
}));
|
||||
}
|
||||
|
||||
public async getContract(address: string): Promise<Contract> {
|
||||
public async getContract(address: string): Promise<ContractDetails> {
|
||||
const result = await this.restClient.getContractInfo(address);
|
||||
return {
|
||||
address: result.address,
|
||||
codeId: result.code_id,
|
||||
creator: result.creator,
|
||||
initMsg: result.init_msg,
|
||||
|
||||
@ -134,6 +134,7 @@ export interface CodeInfo {
|
||||
}
|
||||
|
||||
export interface ContractInfo {
|
||||
readonly address: string;
|
||||
readonly code_id: number;
|
||||
/** Bech32 account address */
|
||||
readonly creator: string;
|
||||
|
||||
5
packages/sdk/types/cosmwasmclient.d.ts
vendored
5
packages/sdk/types/cosmwasmclient.d.ts
vendored
@ -39,9 +39,12 @@ export interface CodeDetails {
|
||||
readonly wasm: Uint8Array;
|
||||
}
|
||||
export interface Contract {
|
||||
readonly address: string;
|
||||
readonly codeId: number;
|
||||
/** Bech32 account address */
|
||||
readonly creator: string;
|
||||
}
|
||||
export interface ContractDetails extends Contract {
|
||||
/** Argument passed on initialization of the contract */
|
||||
readonly initMsg: object;
|
||||
}
|
||||
@ -73,7 +76,7 @@ export declare class CosmWasmClient {
|
||||
getCodes(): Promise<readonly Code[]>;
|
||||
getCodeDetails(codeId: number): Promise<CodeDetails>;
|
||||
getContracts(codeId: number): Promise<readonly Contract[]>;
|
||||
getContract(address: string): Promise<Contract>;
|
||||
getContract(address: string): Promise<ContractDetails>;
|
||||
/**
|
||||
* Returns the data at the key if present (raw contract dependent storage data)
|
||||
* or null if no data at this key.
|
||||
|
||||
1
packages/sdk/types/restclient.d.ts
vendored
1
packages/sdk/types/restclient.d.ts
vendored
@ -102,6 +102,7 @@ export interface CodeInfo {
|
||||
readonly builder?: string;
|
||||
}
|
||||
export interface ContractInfo {
|
||||
readonly address: string;
|
||||
readonly code_id: number;
|
||||
/** Bech32 account address */
|
||||
readonly creator: string;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user