UNPKG

xek-sdk

Version:

SDK for katana blockchain

61 lines (48 loc) 2.55 kB
'use strict'; const assert = require('assert'); const config = require('./config-test'); function sleep(ms){ return new Promise(resolve=>{ setTimeout(resolve,ms) }) } describe("7. Test revoke confirmation function",function(){ it("True case", async function(){ let required = 3; // new contract let resultDeploy = await config.myContract.deploy(config.owner1, config.passphraseOwner1, [[config.owner1,config.owner2,"9C9FAE22545172DADC668DA7F60E9CB617EE969B"], required]); console.log('resultDeploy:', resultDeploy); assert.equal(resultDeploy.success, true); assert.notEqual(resultDeploy.data, null); let contractAddr = resultDeploy.data; console.log('contractAddr:', contractAddr); await sleep(800); // owner1 confirm to transfer token for receiver let dataSubmitTx1 = config.myContract.getMethod("submitTransaction",[config.receiver, config.amount, []]); let res = await config.myContract.broadcastBurrowTx("submitTransaction", config.owner1, contractAddr, config.passphraseOwner1, dataSubmitTx1); console.log('res:', res); assert.equal(res.success, true); assert.notEqual(res.data, null); await sleep(800); // owner2 confirm tx let dataConfirmTx = config.myContract.getMethod("confirmTransaction",[0]); res = await config.myContract.broadcastBurrowTx("confirmTransaction", config.owner2, contractAddr, config.passphraseOwner2, dataConfirmTx); assert.equal(res.success, true); assert.notEqual(res.data, null); await sleep(800); // get confirm count should be equal 2 let getConfirmCount1 = config.myContract.getMethod("getConfirmationCount",[0]); let confirmCount1 = await config.myContract.broadcastBurrowTx("required",config.owner1,contractAddr,config.passphraseOwner1,getConfirmCount1); assert.deepEqual(confirmCount1,2); // owner revoke confirmation let dataRevokeConfirmation= config.myContract.getMethod("revokeConfirmation",[0]); res = await config.myContract.broadcastBurrowTx("revokeConfirmation", config.owner2, contractAddr, config.passphraseOwner2, dataRevokeConfirmation); assert.equal(res.success, true); assert.notEqual(res.data, null); await sleep(800); // get confirm count should be equal 1 let getConfirmCount2 = config.myContract.getMethod("getConfirmationCount",[0]); let confirmCount2 = await config.myContract.broadcastBurrowTx("required",config.owner1,contractAddr,config.passphraseOwner1,getConfirmCount2); assert.deepEqual(confirmCount2,1); }); });