code: function readAssetInfo(conn, asset, handleAssetInfo){
  	var objAsset = assocCachedAssetInfos[asset];
  	if (objAsset)
  		return handleAssetInfo(objAsset);
  	conn.query(
  		"SELECT assets.*, main_chain_index, sequence, is_stable, address AS definer_address, unit AS asset \n\
  		FROM assets JOIN units USING(unit) JOIN unit_authors USING(unit) WHERE unit=?", 
  		[asset], 
  		function(rows){
  			if (rows.length > 1)
  				throw Error("more than one asset?");
  			if (rows.length === 0)
  				return handleAssetInfo(null);
  			var objAsset = rows[0];
  			if (objAsset.issue_condition)
  				objAsset.issue_condition = JSON.parse(objAsset.issue_condition);
  			if (objAsset.transfer_condition)
  				objAsset.transfer_condition = JSON.parse(objAsset.transfer_condition);
  			if (objAsset.is_stable) // cache only if stable
  				assocCachedAssetInfos[asset] = objAsset;
  			handleAssetInfo(objAsset);
  		}
  	);
  }
docs: _______________________________________________________________________________________________ Assets