github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/js/src/test/contract-event.test.ts (about)

     1  import { compile } from '../contracts/compile';
     2  import { ContractEvent, getAddress } from '../contracts/contract';
     3  import { client } from './test';
     4  
     5  describe('Nested contract event emission', function () {
     6    it('#38', async () => {
     7      const source = `
     8        pragma solidity >=0.0.0;
     9        contract Contract {
    10            event Event();
    11  
    12            function announce() public {
    13                emit Event();
    14            }
    15        }
    16      `;
    17      const contract = compile(source, 'Contract');
    18      const instance: any = await contract.deploy(client);
    19      const event = instance.Event as ContractEvent;
    20      const stream = event.at(getAddress(instance), function (error, result) {
    21        if (error) {
    22          throw error;
    23        } else {
    24          stream.cancel();
    25        }
    26        instance.announce();
    27      });
    28    });
    29  });