code: function validateIndivisibleIssue(input, cb){
  	//	if (objAsset)
  	//		profiler2.start();
  		conn.query(
  			"SELECT count_coins FROM asset_denominations WHERE asset=? AND denomination=?", 
  			[payload.asset, denomination], 
  			function(rows){
  				if (rows.length === 0)
  					return cb("invalid denomination: "+denomination);
  				if (rows.length > 1)
  					throw Error("more than one record per denomination?");
  				var denomInfo = rows[0];
  				if (denomInfo.count_coins === null){ // uncapped
  					if (input.amount % denomination !== 0)
  						return cb("issue amount must be multiple of denomination");
  				}
  				else{
  					if (input.amount !== denomination * denomInfo.count_coins)
  						return cb("wrong size of issue of denomination "+denomination);
  				}
  			//	if (objAsset)
  			//		profiler2.stop('validateIndivisibleIssue');
  				cb();
  			}
  		);
  	}
docs: same for both public and private