diff --git a/package-lock.json b/package-lock.json index 0533657..fd960bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@terran-one/cw-simulate", - "version": "2.6.0", + "version": "2.6.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@terran-one/cw-simulate", - "version": "2.6.0", + "version": "2.6.2", "license": "MIT", "dependencies": { "@cosmjs/amino": "^0.28.13", diff --git a/package.json b/package.json index 4160bff..91f2aa3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@terran-one/cw-simulate", - "version": "2.6.1", + "version": "2.6.2", "description": "Mock blockchain environment for simulating CosmWasm interactions", "main": "dist/index.js", "typings": "dist/index.d.ts", diff --git a/src/modules/bank.spec.ts b/src/modules/bank.spec.ts index a22ff3b..e2257a9 100644 --- a/src/modules/bank.spec.ts +++ b/src/modules/bank.spec.ts @@ -180,4 +180,19 @@ describe('BankModule', () => { ], }); }); + it('handle delete', () => { + // Arrange + const bank = chain.bank; + bank.setBalance('alice', [{denom: 'foo', amount: '1000'}]); + bank.setBalance('bob', [{denom: 'fizz', amount: '900'}]); + + // Act + bank.deleteBalance('bob'); + + // Assert + expect(bank.getBalance('alice')).toBeDefined(); + expect(bank.getBalances()).toEqual(Map([ + ['alice', [{denom: 'foo', amount: '1000'}]] + ])); + }); }); diff --git a/src/modules/bank.ts b/src/modules/bank.ts index d882cff..3bfb606 100644 --- a/src/modules/bank.ts +++ b/src/modules/bank.ts @@ -120,6 +120,11 @@ export class BankModule { public getBalances() { return (this.chain.store.getIn(['bank', 'balances'], Map([])) as Map); } + + public deleteBalance(address:string) { + this.chain.store = this.chain.store.deleteIn( ['bank', 'balances', address]); + + } public async handleMsg( sender: string,