From 07e3bb10437aab14fd837fe33574743c9e36ff39 Mon Sep 17 00:00:00 2001 From: kpozdnikin Date: Fri, 18 Dec 2020 14:28:02 +0000 Subject: [PATCH] initialize contract by metadata test --- --- a/tests/src/contracts.test.ts +++ b/tests/src/contracts.test.ts @@ -1,13 +1,14 @@ import { expect } from "chai"; import usingApi from "./substrate/substrate-api"; import fs from "fs"; -import { Abi, BlueprintPromise, CodePromise } from "@polkadot/api-contract"; +import { Abi, BlueprintPromise, CodePromise, ContractPromise } from "@polkadot/api-contract"; import { IKeyringPair } from "@polkadot/types/types"; import { Keyring } from "@polkadot/api"; import { ApiTypes, SubmittableExtrinsic } from "@polkadot/api/types"; const value = 0; const gasLimit = 3000n * 1000000n; +const marketContractAddress = '5CYN9j3YvRkqxewoxeSvRbhAym4465C57uMmX5j4yz99L5H6'; function deployBlueprint(alice: IKeyringPair, code: CodePromise): Promise { return new Promise(async (resolve, reject) => { @@ -93,6 +94,16 @@ }); }); + it('Can initialize contract instance', async () => { + await usingApi(async (api) => { + const metadata = JSON.parse(fs.readFileSync('./src/flipper/metadata.json').toString('utf-8')); + const abi = new Abi(metadata); + const newContractInstance = new ContractPromise(api, abi, marketContractAddress); + expect(newContractInstance).to.have.property('address'); + expect(newContractInstance.address.toString()).to.equal(marketContractAddress); + }); + }); + it.skip('Can transfer balance using smart contract.', async () => { await usingApi(async api => { // const [alicesBalanceBefore, bobsBalanceBefore] = await getBalance(api, [alicesPublicKey, bobsPublicKey]); -- gitstuff