text: class contractrunstate {
  
  ///(functions
  /*>>>>>>>>>>>>>>>>>>>>>>>>>>> ACCESS CONTROL: CONTRACT RUN STATE  <<<<<<<<<<<<<<<<<<<<<<<<<<*/
  
      static async isContractRunStateActive(data) {
  
          let result = await Blockchain.get({
                  config: DappLib.getConfig(),
                  contract: DappLib.DAPP_STATE_CONTRACT,
                  params: {
                      from: null
                  }
              },
              'isContractRunStateActive'
          );
          return {
              type: DappLib.DAPP_RESULT_BOOLEAN,
              label: 'Is Contract Run State Active',
              result: result.callData,
              hint: null
          }
      }
  
      static async setContractRunState(data) {
          let result = await Blockchain.post({
                  config: DappLib.getConfig(),
                  contract: DappLib.DAPP_STATE_CONTRACT,
                  params: {
                      from: null
                  }
              },
              'setContractRunState',
              data.mode
          );
          return {
              type: DappLib.DAPP_RESULT_TX_HASH,
              label: 'Transaction Hash',
              result: DappLib.getTransactionHash(result.callData),    
              hint: `Verify contract run state is ${data.mode ? 'active' : 'inactive'} by calling contract functions that use requireContractRunStateActive().`
          }
      }
  
      static async onContractRunStateChange(callback) {
          let params = {};
          DappLib.addEventHandler(DappLib.DAPP_STATE_CONTRACT_WS, 'ChangeContractRunState', params, callback);
      }
  
  ///)
  
  }